无标题.png (35.64 KB, 下载次数: 0)
下载附件
2022-2-25 12:38 上传
主要参考 windy_ll 大神的《frida入门总结》
小白避坑原则第一条:所有软件一定从官网下载原版!!!(其中的心酸就不细说了。。。)
1.Python+Frida安装
按照原帖第1步下载安装,没有问题。继续安装frida。
开始-运行-cmd,输入命令pip install frida 然后“ Running setup.py install for frida ...”这里就卡住了,卡了半小时还不动。。。
1.png (30.02 KB, 下载次数: 0)
下载附件
2022-2-25 12:08 上传
解决办法:手动安装frida,官方下载地址:https://pypi.org/project/frida/#files,下载最新的frida-15.1.17.tar.gz,解压得到frida-15.1.17.tar,再解压得到frida-15.1.17文件夹,进入文件夹,地址栏输入cmd回车,输入命令“python setup.py install”。提示“ please download it manually to C:\Users\Administrator/frida-15.1.17-py3.10-win-amd64.egg”。(网速好也可能自动下载,省略后面步骤)
2.png (20.23 KB, 下载次数: 0)
下载附件
2022-2-25 12:09 上传
根据提示回刚才的网页下载frida-15.1.17-py3.10-win-amd64.egg,放到“C:\Users\Administrator”。命令行中再输入命令“python setup.py install”,安装完成没有问题。
2.安装frida-tools
(原帖第3步),命令行输入“pip install frida-tools”,自动完成。网速慢的话可以开5到6个cmd同时运行。
3.安装frida-sever到雷电模拟器
打开雷电模拟器,下载adb调试工具(也可以到雷电模拟器安装目录里),地址栏输入cmd回车,
输入命令“adb.exe kill-server”(连不上的时候就运行该命令,很好用。),
再输入命令“adb.exe devices”就可以看到5554的设备。(雷电模拟器是自动连接的,其他模拟器要用类似“adb connect 127.0.0.1:5555”的命令连接)
3.png (26.1 KB, 下载次数: 0)
下载附件
2022-2-25 12:09 上传
继续输入命令“adb shell”,“getprop ro.product.cpu.abi”,“exit”。显示X86。
4.png (28.1 KB, 下载次数: 0)
下载附件
2022-2-25 12:09 上传
按照原帖第4步,但是下载的是‘frida-server-15.1.17-android-x86.xz’,解压出最里面的‘frida-server-15.1.17-android-x86’文件放到adb.exe所在文件夹,地址栏输入cmd回车,输入命令“adb push frida-server-15.1.17-android-x86 /data/local/tmp”等一会就完成了。继续输入命令“adb shell”,“su”,“cd /data/local/tmp”,“chmod 777 frida-server-15.1.17-android-x86”,“./frida-server-15.1.17-android-x86”,然后没有反应了。。。
5.png (44.83 KB, 下载次数: 0)
下载附件
2022-2-25 12:09 上传
不要关闭这个窗口,另开个cmd,继续原帖第6步。(“frida-ps -U”列举出来设备上的所有进程“frida-ps -Ua”列举出来设备上的所有应用程序)
4.调试HOOK
下载原帖中的附件,我们用fridajava.apk和fridajava.py来测试,模拟器中安装fridajava.apk并打开。
5.安装PyCharm
PyCharm是主流的python编辑器了,官方地址:https://www.jetbrains.com/pycharm/download/#section=windows ,下载右边的Community版本。安装运行都很顺利。
汉化方法:点击file-settings-plugins,中上位置搜索框chinese,找到chinese(simplified)的那个安装重启。
把附件的‘fridajava.py’代码贴到PyCharm中运行,显示未找到'frida'模块。。。
6.png (50.29 KB, 下载次数: 0)
下载附件
2022-2-25 12:09 上传
解决方法:放弃python,没错从入门到放弃就是这么迅速。。。因为折腾半天还是各种错误,Python实在搞不定。卸载删除PyCharm。
6.继续调试HOOK
Frida既然是python + java的框架,能不能绕过Python直接用java呢?当然是可以的。参照https://www.52pojie.cn/thread-1566183-1-1.html帖子中的一段代码“frida -U -n com.yensbcyabet.cmsnaygeste:plugin -l 1.js --no-pause”。根据fridajava.py中代码改成下列Java代码,保存为'1.js'.
[Java] 纯文本查看 复制代码
Java.perform(function () {
var MainActivity = Java.use('com.example.testfrida.MainActivity');
MainActivity.testFrida.implementation = function () {
console.log('Statr! Hook!');
return 'Change String!'
};
});
'1.js'所在目录地址栏输入CMD,回车,输入命令“frida -U -n com.example.testfrida -l 1.js --no-pause”显示错误‘unable to find process with name 'com.example.testfrida'’,
7.png (35.16 KB, 下载次数: 0)
下载附件
2022-2-25 12:09 上传
百度到一个办法可以用PID来替代名字执行代码,执行命令”frida-ps -Ua“看到testfrida的PID为2503,执行命令“frida -U -p 2503 -l 1.js --no-pause”,雷电模拟器里点击按钮,确实HOOK成功了。
8.png (57.46 KB, 下载次数: 0)
下载附件
2022-2-25 12:09 上传
但是用PID的话每次打开都不一样,需要修改。
还有一种方法使用命令“frida -U -f com.example.testfrida --no-pause”,“%exec 1.js”先找到进程再执行脚本,也成功了,而且不用改命令。
经历各种错误和失败,总算是运行Frida且HOOK成功了。
希望此贴能对初学者有点用处。
关于上面的各种坑希望大神给解答下。
后续填坑:
Python+Frida+雷电模拟器 新手入坑记录2