Frida01 - 开发和调试环境搭建

使用虚拟机打造调试环境

推荐使用虚拟机而不是真机,其原因有:

  1. 虚拟机可以创建快照

  2. 虚拟机有良好的跨平台特性,可以随时将完整的学习和工作环境整体打包,在各种环境中进行部署和迁移。以 vmware 162.5 为例:

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

总的来说,三大平台都是支持的,不过一般有 Windows 就足够了,一些其他的逆向工具,比如 IDA等都是 windows下好搞一些。

而且,最重要的是,vmware几乎是免费的,因为它有免费的批量激活密钥,都不用破解,下图是我的激活效果:

虚拟机里面安装系统

我们需要编译 aosp,肯定要使用 ubuntu 系统,而且最好是 Ubuntu 16.04 LTS。Ubuntu 也是一个使用比较广泛的发行版了,遇到问题也比较容易搜得到。

还有一个选择就是 Kali Linux,它自带 Vmware 镜像版本。而且与Ubuntu师出同门,所以用它来编译 aosp 也是不错的。Kali Linux预装了许多渗透测试软件,包括MetasploitBurpSuitesqlmapnmap 、以及Cobalt Strike等,是一整套开箱即用的专业渗透测试工具箱。

Kali Linux最新版本的默认ShellZshZsh虽然方便,但其并不兼容且不能运行诸多编译系统,我们应该回退到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 的安装看项目文档即可。

刷机

在手机硬件的考虑上,首先优选谷歌的“亲儿子”:NexusPixel系列,我有一台 Pixel,可以考虑刷 android 8.1系统。

具体可以看这篇文章,没啥技术含量,照着搞就行了:https://github.com/r0ysue/AndroidSecurityStudy/blob/master/FRIDA/A01/README.md

Frida开发环境

目前最新正确的Frida环境搭建方法:

  1. git clonehttps://github.com/oleavr/frida-agent-example.git

  2. cd frida-agent-example/

  3. npm install (不要apt install npm)

  4. 使用VSCode等IDE打开此工程,在agent下编写typescript,会有智能提示。

  5. npm run watch会监控代码修改自动编译生成js文件

  6. 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,省略了一些步骤。

参考文档

  1. https://www.bilibili.com/video/BV1qQ4y1R7wW/?vd_source=daa7af818c9b26306059ce9999d79697

  2. https://github.com/r0ysue/AndroidSecurityStudy

  • 24
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值