Frida是个轻量级别的hook框架,核心是用C编写的,可以将JS注入到目标进程中,在进程中JS可以完全访问内存,挂钩函数,甚至调用进程内的本机函数来执行。
Frida安装
windows安装客户端
安装frida
pip3 install frida
安装frida-tools
pip3 install frida-tools
查看frida版本frida --version
比如14.1.3,下面下载服务端有用到
手机中安装Frida服务端
查看手机cpu
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| 安装到mumu模拟器 找到mumu安装目录下的MuMu\emulator\nemu\vmonitor\bin目录
1,连接到模拟 adb connect 127.0.0.1:7555
2,查看连接的设备 adb devices
3,进入shell adb shell
4,查看cpu版本 getprop ro.product.cpu.abi
|
下载服务端文件:https://github.com/frida/frida/releases
通过Frida的版本及手机CUP网民应该下载:frida-server-14.1.3-android-x86.xz
解压上传到手机里面
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| 1、本地文件名修改为frida-serverx86后,上传到手机/data/local/tmp下面 adb push frida-serverx86 /data/local/tmp
2、端口转发 adb forward tcp:27042 tcp:27042 adb forward tcp:27043 tcp:27043
3、进入shell对frida赋权限并启动 root@x86:/ # su root@x86:/ # cd /data/local/tmp root@x86:/ # chmod 755 frida-serverx86 root@x86:/ # ./frida-serverx86
4、另起新窗口查看是否成功 frida-ps -U
|
新建hook脚本test.js
1 2 3 4 5 6 7 8 9 10
| setImmediate(function() { Interceptor.attach(Module.findExportByName("libc.so" , "open"), { onEnter: function(args) { console.log("open() called!") }, onLeave:function(retval){ } }); });
|
执行命令
frida -U -f com.android.browser -l test.js --no-pause
参考文献: