初步使用frida hook的python和Js代码
https://frida.re/docs/examples/android/
frida hook与xposed类似,都是用于hook安卓系统对应的进程。
配置需要Hook的机器
建议使用模拟器 https://www.yeshen.com/ ,安装夜神模拟器中的android 7。低版本安卓系统会导致有些应用运行不了。
不建议root手机开始,root手机流程复杂会耽误很多时间,在后续hook能力提高很多后再使用真正的硬件设备。
安装frida
配置python,使用3.x以上的python,如果你使用2.x的,那么在环境变量中path替换成3.x即可;替换内容就是python安装地址。
pip安装frida
pip3 install frida
即可,这个过程会非常慢(下载慢和安装慢)。解决下载慢,需要将pip下载镜像换成国内清华源镜像
在C:\Users\xxxx\目录下新建pip 文件夹,然后在pip文件内新建 pip.ini 文件,文件内容填入
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
这个过程执行完成后,进行 pip3 install frida
速度会提高很多。注意:这个过程可能出现错误,根据它提示的错误下载对应的依赖。
pip安装frida-tools
pip install frida-tools
查看手机型号,下载系统对应版本的 frida-server
adb shell getprop ro.product.cpu.abi
可能你的连接设备有很多,需要执行adb devices,然后根据设备号执行如下命令
adb -s 设备号 shell getprop ro.product.cpu.abi
知道手机型号后 https://github.com/frida/frida/releases 下载frida-server;注意不要选择错了。下载完成后需要解压,解压后是个可执行文件,需要把它推送到安卓机器上去。
推送到安卓机上
adb push frida-server-12.2.27-android-arm64 /data/local/tmp/frida-server
,推送到手机上同理需要选择设备号 adb -s 设备号 xxxxx
进入安卓设备执行刚刚推送上去的可执行文件
,执行完毕后为运行状态。
adb shell
su
cd /data/local/tmp
chmod 755 frida-server
./frida-server
保留此窗口 shell,以保证服务运行,关闭该shell 或者停止ctrl+c 则服务关闭。接下来的操作可另起shell 或该步骤命令另起 shell 执行。
执行如下命令,验证frida是否安装成功
$> frida-ps -U
PID Name
----- ----------------------------------------
4275 com.android.keyguard
4629 com.android.phone
5182 com.android.contacts:cacheservice
...
执行frida -U -f com.xxx.xxx 进行连接,选择一个进程,等待一段时间则进入该应用
使用现在的例子
初步使用frida hook的python和Js代码
https://frida.re/docs/examples/android/