使用虚拟机打造调试环境
推荐使用虚拟机而不是真机,其原因有:
-
虚拟机可以创建快照
-
虚拟机有良好的跨平台特性,可以随时将完整的学习和工作环境整体打包,在各种环境中进行部署和迁移。以 vmware 162.5 为例:

Windows与Linux都是支持的,不过 mac 的话,是另一个产品系列:

总的来说,三大平台都是支持的,不过一般有 Windows 就足够了,一些其他的逆向工具,比如 IDA等都是 windows下好搞一些。
而且,最重要的是,vmware几乎是免费的,因为它有免费的批量激活密钥,都不用破解,下图是我的激活效果:

虚拟机里面安装系统
我们需要编译 aosp,肯定要使用 ubuntu 系统,而且最好是 Ubuntu 16.04 LTS。Ubuntu 也是一个使用比较广泛的发行版了,遇到问题也比较容易搜得到。
还有一个选择就是 Kali Linux,它自带 Vmware 镜像版本。而且与Ubuntu师出同门,所以用它来编译 aosp 也是不错的。Kali Linux预装了许多渗透测试软件,包括Metasploit、BurpSuite、sqlmap、nmap 、以及Cobalt Strike等,是一整套开箱即用的专业渗透测试工具箱。
Kali Linux最新版本的默认Shell是Zsh,Zsh虽然方便,但其并不兼容且不能运行诸多编译系统,我们应该回退到bash。
kali 整合打包地址:链接:https://pan.quark.cn/s/2347210fc28a
实用小工具
-
htop,可以动态查看当前活跃的,占用高的进程
-
jnettop,流量查看工具,可以查看下载与安装进度。
PyEnv 切换 Frida 版本
Frida 版本非常多,升级很快,很多两三年前的代码已经无法跑在最新的Frida上,我们需要一种工具,可以在电脑上安装多个python环境,顺便在每个python 里都安装一个Frida,这样同时可以装上较老版本的Frida和最新版的Frida,自由切换。
github上就有这样的工具:pyenv

通过命令行的切换,可以随时切换 python 版本,以及 python 对应的 pip 与 frida 版本。
pyenv 的安装看项目文档即可。
刷机
在手机硬件的考虑上,首先优选谷歌的“亲儿子”:Nexus和Pixel系列,我有一台 Pixel,可以考虑刷 android 8.1系统。
具体可以看这篇文章,没啥技术含量,照着搞就行了:https://github.com/r0ysue/AndroidSecurityStudy/blob/master/FRIDA/A01/README.md
Frida开发环境
目前最新正确的Frida环境搭建方法:
-
git clonehttps://github.com/oleavr/frida-agent-example.git
-
cd frida-agent-example/
-
npm install (不要apt install npm)
-
使用VSCode等IDE打开此工程,在agent下编写typescript,会有智能提示。
-
npm run watch会监控代码修改自动编译生成js文件
-
frida -U -f com.example.android --no-pause -I _agent.js
安装 frida-server
想要使用基于特定frida版本的objection,只需先安装好特定版本的frida和frida- tools(github的release 里面有对应好的,不过似乎从 16.x 版本后开始 frida-tools 在另外一个仓库了???),再去objection的release里找那个日期之后一点点的版本。
比如以frida 12.8.0版本举例:
pip install frida==12.8.0
pip install frida-tools==5.3.0
pip install objection==1.8.4
按照这个顺序,在装objection的时候,就会直接Requirement already satisfied, 不会再去下载新的frida来安装了。
如果先安装了 objection,objection在安装时会自动的安装 frida 与 frida-tools。
Frida-server自定义名称、端口与链接
frida-server -l 0.0.0.0:6666
// 地址可以使用 wifi adb 查看
frida-ps -H 192.168.1.102:6666
frida -H 192.168.1.102:6666 -f com.android.settings -l script.js
objection -N -h 192.168.1.102 -p 6666 -g com.android.settings explore
通过这种方式,不需要使用 adb,省略了一些步骤。
参考文档
-
https://www.bilibili.com/video/BV1qQ4y1R7wW/?vd_source=daa7af818c9b26306059ce9999d79697
-
https://github.com/r0ysue/AndroidSecurityStudy
本文介绍了如何通过虚拟机(如VMware)创建稳定且可移植的开发环境,推荐Ubuntu和KaliLinux用于AOSP编译。重点讲解了如何在Windows、Linux和Mac上使用Frida进行逆向工程,并提供了Frida版本管理、刷机教程和Frida-server配置方法。
5523

被折叠的 条评论
为什么被折叠?



