笔者今年换掉了服役N年的旧手机,新手机12G的RAM,比自用的本子内存都大,如果只是玩游戏感觉不能完全发挥出全部机能,但又因为怕影响日常使用没有进行root,经过一番折腾,发现即使不root也不影响把它变成一款测试利器,有同类需求的可以参考此文。

安卓虚拟机

移动应用测试肯定是需要一个root环境,很多人选择用安卓模拟器,笔者为了使用WSL2启用了Hyper-V,导致与绝大多数的安卓模拟器冲突,从此告别安卓模拟器。笔者也尝试用了VirtualXposed、太极等免root的Xposed框架,发现兼容性不是太好,app容易闪退崩溃。后来发现安卓平台也有虚拟机,目前共有VMOS、光速虚拟机、X8沙箱三款产品。其中VMOS分普通版和Pro版,Pro版非会员支持选择ROM,也可以导入网友提供的ROM,其他虚拟机皆内置ROM无法修改。

经过笔者一番测试,对比如下

VMOS VMOS PRO 光速虚拟机 X8沙箱
内存占用 186MB 233MB 188MB 181MB
提供root 提供 提供 提供 提供
提供XP 提供 提供 不支持 提供
提供Play 提供 提供 提供
程序兼容
安卓版本 5.1.1 5.1.1 / 7.1.2 7.1.2 5.1.1
是否含广告 视频广告
权限要求 电话、位置、相机、录音、存储 电话、位置、存储、录音、 存储

综合来说,光速虚拟机最快,干净无广告,遗憾的是目前版本不支持xposed框架,VMOS Pro自带rom兼容性比较差,使用酷安网友提供的ROM兼容性较好,而且关闭所有应用权限也不影响虚拟机使用,很不错。

想一下手机里跑个虚拟的安卓系统,带root环境且与本机隔离,简直是移动测试的最佳方式。

下图是笔者四个虚拟机同时小窗开启的,独立互不冲突,加起来内存占用可能还不到1G,毫无压力。

Kali Nethunter

官方文档提供一种NetHunter Rootless的方式,即免root安装,同样也是支持KeX的,所以可以实现下图的效果,外接显示器获得完整的桌面体验。

与其他版本的Nethunter差别参见下图,能够实现绝大部分功能。

Feature NetHunter Rootless NetHunter Lite NetHunter
App Store Yes Yes Yes
Kali cli Yes Yes Yes
All Kali packages Yes Yes Yes
KeX Yes Yes Yes
Metasploit w/o DB Yes Yes Yes
Metasploit with DB No Yes Yes
NetHunter App No Yes Yes
Requires TWRP No Yes Yes
Requires Root No No Yes
WiFi Injection No No Yes
HID attacks No No Yes

主要原理基于Termux+Kex实现的,Termux真的是一款神器,一款不需要Root的神器,具体介绍参见国光前辈的文章https://www.freebuf.com/geek/170510.html

NethunterRootless安装方法可以参考官方文档https://www.kali.org/docs/nethunter/nethunter-rootless/

建议termux通过f-droid下载https://f-droid.org/packages/com.termux/

实际效果如下图,具体就不展开讲了,国光大佬那篇文章写的很详细

题外话,wsl2现在也支持kex了,效果如下图,美滋滋!https://www.kali.org/docs/wsl/win-kex/

Docker环境

虚拟的安卓有了,虚拟的kali有了,想搭靶机了,能不能有个Docker呢,答案是肯定的!

虽然Termux很强大,可以安装各种linux,但基于termux版linux还是不能运行Docker,需要Termux上装Qemu虚拟机,Qemu装alpine linux,这个时候才是原汁原味的x86 linux。

这种套娃的操作可能会劝退不少人,幸运的是有人把Termux+Qemu+Alpine整合好了,名为alpine-term,开箱即用,安装一个apk打开就是配置完全的alpine linux,项目地址为:https://github.com/xeffyr/alpine-term/releases

你需要做的只是手动装一个docker

#更新apk软件源apk update#安装dockerapk add docker#使docker开机启动rc-update add docker#开启docker服务service docker start#后台启动setsid containerdsetsid dockerd

内置用户alpine初始配置存在一些限制,可以使用sudo -s 切换root用户操作。

docker起来后还需要手动配置下Qemu的网络映射,在termux导航栏选择QEMU,执行以下操作添加端口映射。

#映射手机10022端口到虚拟机22端口(qemu)hostfwd_add tcp::10022-:22#删除到10022的端口映射(qemu)hostfwd_remove tcp::10022#查看端口映射和网络连接(qemu)info usernet

详细帮助文档参见https://xeffyr.github.io/alpine-term/docs/help.html

代理抓包

最后推荐一个移动端的抓包工具HttpCanary,支持HTTP、HTTPS、HTTP2和WebSocket等多种协议。基于NetBare框架的虚拟网关-拦截器设计,可以非常方便的对单个app进行抓包、修改、重放等操作。完全脱离电脑对某个app进行抓包分析。详细使用可参考作者写的系列文章https://juejin.im/post/6844903745562607624

结束

到这里本文就结束了,希望能起到抛砖引玉的效果,如果你还有更好用的移动平台安全工具,欢迎在评论区补充。

精彩推荐

websocket 压力测试_打造最强移动测试平台相关推荐

  1. canoco5冗余分析步骤_打造高性能的大数据分析平台

    大数据时代,大数据的应用与挖掘,大数据的分析和决策,大数据在经济社会的运行轨道上发挥着愈来愈重要的作用.对于大数据分析,现在好多互联网金融公司和传统的商业银行.证券基金公司都非常看重.个个都想在大数据 ...

  2. 什么是端到端训练测试_为什么端到端测试对您的团队很重要

    什么是端到端训练测试 by Phong Huynh 由Phong Huynh 为什么端到端测试对您的团队很重要 (Why End-to-End Testing is Important for You ...

  3. 左右声道测试_小说:少年参加测试,直接挑战十只狗恐兽,众人见了惊呼:SS级...

    穿过那个奇怪的走廊,韩意将那个队长给他的卡交给了走廊尽头转角边上的与刚才那几个人穿着一样,十六七岁左右,一脸浓妆,身材那是该挺的挺,该翘的翘,在加上那一抹媚笑,让整个看起来有些不伦不类的女子. 原本对 ...

  4. ddr老化测试_塑胶类材料老化测试(Aging Test )常用的测试标准

    材料或者产品的老化目前已经越来越被关注,在日常生活中我们也会经常会碰到,一些涂料在户外使用过程中出现变色.起泡.粉化之类的现象:一些家电外壳如空调的白色外壳,使用一段时间会变黄,同时性能也变差,很容易 ...

  5. 整机压力测试_加湿器防水检测仪防水测试与气密性检测是怎么做的

    加湿器是用来增加空气湿度的一种电子产品,因此需要整体密封以实现很好的防水,防水等级一般在IPX6以上(一般有IP56.IP66.IP67.IP68). 因而气密性防水检测仪是加湿器在生产制造流程中一种 ...

  6. 随心测试_软测基础_005 测试人员工作内容

    接上篇:清楚了_测试人员的工作职责范围,那每项测试活动的具体工作内容有哪些呢? Q1:如何理解测试工程师的工作内容? A1:SX的观点:综合一体化 现如今互联网行业高速发展,每一项IT职业的工作职责与 ...

  7. a/b测试_如何进行A / B测试?

    a/b测试 The idea of A/B testing is to present different content to different variants (user groups), g ...

  8. nightwatch测试_使用Nightwatch和Express测试内容安全策略标头

    nightwatch测试 My team has recently started implementing CSP on our website. As we started building ou ...

  9. mysql ndb 测试_.部署MYSQL集群 --测试

    最近把MYSQL集群给研究了下,并做了一个测试,且成功了!现在总结如下: 一.规划好节点 MGM:192.168.79.135 NDB1:192.168.1.79.136 NDB2:192.168.1 ...

最新文章

  1. python发邮件11002_【python发送zabbix报警邮件,SSL版本】mailman.py
  2. 8影像计算ndvi landsat_使用GDAL读取遥感影像的信息
  3. 数据结构——基于 Dijsktra 算法的最短路径求解
  4. 算法前戏 递归 二分查找 列表查找
  5. HashMap底层理解(下)
  6. 【Flink】Flink 1.12.2 Task的调度 源码
  7. MySQL8安装,初始化,登录和修改密码
  8. chrome浏览器无法登录印象笔记
  9. CSDN情感倾向分析API——功能测试——全流程演示
  10. 用户计算机MAC地址在哪看,电脑mac地址查询_mac地址怎么查-太平洋IT百科
  11. 针对ABCmouse的Xadmin管理端使用探究手册
  12. WebView网页打不开原因之一(及自己遇到的一些WebView问题记录)
  13. java给excel填充数据_使用poi操作Excel的处理工具类自动解析填充数据
  14. Java实现 蓝桥杯VIP 算法提高 分苹果
  15. 700m信号测试软件,5G(NR)中同步信号的测量(SS-RSRP)
  16. 基于Transformer的数字子母翻译
  17. 微信小程序复制对象json
  18. 中国雅虎——长在阿里巴巴脸上的青春痘
  19. JQ获取元素的父子兄弟级
  20. 基于thinkphp的wms进销存源码

热门文章

  1. 【译】微型ORM:PetaPoco
  2. 计算机网络——物理层传输介质
  3. 分层结构,协议,接口,服务
  4. java ant war包_java利用Ant脚本生成war包全过程
  5. linux安装-bin.rpm,Linux离线安装jdk,bin、rpm和tar.gz三种方式及配置jdk环境变量
  6. 计算虚拟化涉及的关键技术有哪几项_都开始商用了 5G的这些关键技术还不知道?...
  7. jmeter 不同场景 比例_在JMeter测试中如何根据业务场景来控制运行比例
  8. python随机生成一个日期_Python中随机生成未来一个月内的一个随机的日期时间
  9. usb转232线驱动_为什么越来越多人用USB,却不用RS232?USB有什么好?
  10. msdn画圆弧函数_精确之美——用TikZ画硬盘示意图