Python+Frida+雷电模拟器 新手入坑记录2
本帖最后由 spcspcspcspcspc 于 2022-2-28 12:02 编辑上一篇《Python+Frida+雷电模拟器 新手入坑记录》中Frida艰难的HOOK到了,这几天又研究了留下的几个坑,来分享一下。
1.PyCharm 未找到'frida'模块
左上角打开'文件-设置',点击'项目-Python解释器',右边的软件包没有frida,点上面的‘+’。
搜索‘frida’,选中,安装软件包。注意版本要对应。再运行就不会提示找不到'frida'模块了。
2.unable to connect to remote frida-server
这个相对简单,连接不上frida-server,打开模拟器,打开CMD,依次运行下列命令:
adb kill-server 结束服务
adb start-server 开始服务
adb connect 127.0.0.1:7555 (MUMU模拟器需用该命令,雷电自动连接不需要)
adb devices 列出连接的设备
adb forward tcp:27042 tcp:27042 转发端口27042
adb forward tcp:27043 tcp:27043 转发端口27043
frida-ps -R 获取远程设备进程
一定要转发端口,‘frida-ps -U’能获取但是‘frida-ps -R’获取不到就是没转发端口。
3.远程主机强迫关闭了一个现有的连接。
这个问题困扰我很长时间,后来看到《Frida Hook和Xposed Hook 再搞Crackme》,按照帖子中步骤走了一遍,居然运行‘frida-ps -R’成功了。
主要发现命令‘./frida-server-15.1.17-android-x86 &’中多了个'&'符号。
后来操作一会不知怎得又显示”远程主机强迫关闭了一个现有的连接“。。。重启电脑再来一遍,又成功了。
多次实验发现了问题,每次重启模拟器都要重开CMD运行下列命令:
adb shell
cd /data/local/tmp/
./frida-server-15.1.17-android-x86 &
保持这个CMD不要关闭,再开一个CMD运行上一步中的连接命令。应该就好了。
‘frida-ps -R’能运行成功,那么PyCharm中就没有问题了。
如果还是不行可能是’Windows上的ADB服务器的TCP端口转发不超过64个连接‘的问题,我发了一个求助帖https://www.52pojie.cn/thread-1593572-1-1.html,可以用这个修改版的ADB工具试试。
4.unable to find process with name 'com.example.testfrida'
教程中是使用包名来定位,但是我测试的版本不行,改成testfrida就行了,程序第20行改为
process = frida.get_remote_device().attach('testfrida')
就正常运行了,应该是通过APP名称来定位。
至此,坑基本填完。
-yuy- 发表于 2022-3-4 10:33
./frida-server-15.1.17-android-x86 &
这个&是让程序放入后台执行,放入后台的话就看不到程序执行信息了 ...
./frida-server-15.1.17-android-x86我执行这一命令时报错
aosp:/data/local/tmp # ./frida-server-15.1.17-android-x86
/system/bin/sh: ./frida-server-15.1.17-android-x86: can't execute: Is a directory,求大佬解决一下
klbengbeng 发表于 2022-3-8 12:59
具体怎么解决哪?adb push也成功了就是运行Frida服务就报错
还不行 你就把frida-server-15.1.17-android-x86改个名 如‘frida15117’ 再试试下列命令:
adb push frida15117/data/local/tmp/
adb shell
su
cd /data/local/tmp/
./frida15117
最近也遇到,多谢分享!! 大佬能不能把雷电的录屏模块提取出来? Python写得东西可以转APP? 不明觉厉 过来学习一下。
感谢分享思路 学习一下,很好的思路 感谢大佬分享 学习了。