首先要安装好 python 环境
安装 frida 和 工具包
pip install frida frida-tools
查看版本: frida --version
16.4.8
然后到 github 上下载对应 server ( 和frida 的版本一致 16.4.8)
Releases · frida/frida (github.com)
查看手机或者模拟器的 CPU 型号和架构
adb shell getprop ro.product.cpu.abi
输出: x86
所以需要下载 x86
下载速度慢可以使用镜像
在cmd 中输入
adb push C:\Users\86151\Desktop\frida-server-16.4.8-android-x86 /data/local/tmp/
命令解释:就是将刚才的文件解压后放到 /data/local/tmp/ 里面
adb push : 固定命令
C:\Users\86151\Desktop\frida-server-16.4.8-android-x86
文件的绝对路径(可以直接将文件拖拽到cmd中,不要有中文)
/data/local/tmp/ :模拟器的位置
放好之后也可以查看是否有这个文件
进入模拟器: adb shell
切换权限:su
进入目录: cd /data/local/tmp
查看: ls
可以看到在里面了
修改文件权限:
在cmd 进入到目录 使用命令修改
chmod 777 frida-server-16.4.8-android-x86
修改之后查看权限
ls -l frida-server-16.4.8-android-x86
然后运行这个文件
./frida-server-16.4.8-android-x86
然后 cmd 就保留着
重新打开一个 cmd 端口 输入
frida-ps -U
可以看到很多模拟器或真机上的app
端口转发
adb forward tcp:27042 tcp:27042
adb forward tcp:27043 tcp:27043
遇到的问题:
frida.ServerNotRunningError: unable to connect to remote frida-server
没有进行端口转发
解决方法: 需要将所有打开的 frida 关闭
./frida-server-16.4.8-android-x86 直接关掉 cmd 窗口,cttl + c 没用
关掉模拟器
然后重启模拟器-----打开CMD 窗口执行 :
adb forward tcp:27042 tcp:27042
adb forward tcp:27043 tcp:27043
最后在打开 ./frida-server-16.4.8-android-x86
frida.TransportError: connection closed
这个是说进程没关闭
两种方法: 一种是通过
frida-ps -U
可以看到 ./frida-server-16.4.8-android-x86 的进程号
kill -9 进程号
再重新启动
第二种: 直接关闭 cmd 重新启动
frida.ProcessNotFoundError: unable to find process with name 'com.germey.appbasic1
这里说包名找不到,但是可以肯定的是包名没有错
查看程序信息:
import frida rdev = frida.get_remote_device() f_app = rdev.get_frontmost_application() print(f_app)
改成 PID 传入就可以了