1、以frida为例:
frida是一款代码插桩工具,它可以向windows,macOS,Linux,iOS,Android等平台的原生应用中注射自定义的JavaScript和python代码片段,使用python和javascrip进行hook模块的开发。
(1)准备一台已Root手机,连接至PC/Mac;
(2)在PC/Mac上安装Python 2.7或Python 3.6,并安装frida和frida-tools:
pip install frida pip install frida-tools pip list|find "frida" //列出已经安装的指定包
(3)从 https://github.com/frida/frida/releases 下载对应的frida-server, 解压后使用adb向目标手机推送frida-server:
adb push frida-server /data/local/tmp adb push frida-server-12.2.30 /data/local/tmp
(4)在手机上运行Frida Server,同时启动目标App:
$adb shell su $su $cd /data/local/tmp/ $chmod 755 /data/local/tmp/frida-server $ adb shell su -c "/data/local/tmp/frida-server" ./frida-server-12.2.30 //笔记本连接用这个//笔记本上运行如下命令: pip search frida frida -version //笔记本上查看安装的frida版本,要与手机上的frida-server版本一样才能正常连接
5)windows下面启动命令行,输入以下命令进行注入尝试:
直接执行frida一键运行脚本.bat,可以执下列大多数的命令。
@ECHO OFF IF EXIST tmp DEL tmp ECHO su >>tmp ECHO cd /data/local/tmp >>tmp ECHO ./frida-server-12.2.30 >>tmp adb forward tcp:27042 tcp:27042 adb forward tcp:27043 tcp:27043 adb shell <tmp
frida-ps -U
frida-ps -Uai
frida-ps -R //测试frida环境,如果出现android手机的进程列表说明搭建成功
//目标App包名,如好空气:
frida-trace -U -i "recv*" -i "read*" com.home.www.uHomeHaierGoodAir
ps -e|grep var //手机上运行查找所有正在运行的进程
(6)观察Frida是否能成功注入,并且获取recv api相关的数据。
(7)请调用目录下的各个py脚本实现不同的功能。
ps -e|grep var //手机上运行查找所有正在运行的进程