随笔
ARMv7(我的小米3/4)是32位的
linux命令 & 表示任务在后台执行。
python3\Scripts被自动加入路径
python3被自动加入路径
frida原理
Frida可以“将你自己的JavaScript代码片段或代码库注入到Windows,MACOS,Linux, iOS,Android和QNX 的本地应用中”。多平台可注非常强大,重点研究。
具体过程实现未看…之后记得看看源码
frida安装
只看官方:https://www.frida.re/docs/home/
前提:
- python 3
- ptyhon自带的pip
运行pip install frida即可
为了调试android需要下载frida-server对应android上的。adb push并777运行之
使用
frida的运行依靠py脚本,其核心用c写的,注入代码为js。
基本用法为编写python脚本实现输入,里面提供的一些工具也是py脚本+js代码注入写出的。因此可参考api写出自己的工具。
注入用js的api:https://www.frida.re/docs/javascript-api/
针对android多看它的java部分。https://www.frida.re/docs/javascript-api/#java
还有非常多功能,比如dump等
一般分析流程
- 反编译apk,分析代码寻找hook点。
- 编写js代码,调用类的方法或者替换。
- 在python中执行即可。
hook已知地址函数
|
|
调用已知地址函数
|
|
分配字符串
|
|
目标往py发送数据
|
|
py与目标交互
|
|
目标为android时py脚本写法
|
|
在hook了的函数中调用原函数
这样可以实现调用前后hook,但具体this与implementation执行法未知
所含快速脚本工具
Frida CLI
一个命令行窗口模式的交互工具
开始分析android的chrom:
frida -U -f com.android.chrome
即可通过交互分析
frida-ps
用于显示进程
frida-ps -U USB接口的设备
frida-trace
frida-trace是一个动态跟踪函数调用的工具。
frida-trace -U -i open com.android.chrome
在当前目录生成handlers文件内含js脚本用于注入指定函数
frida-discover
frida-discover是一个用于发现程序内部函数的工具,可以使用frida-trace来追踪内部函数。