这孤单的滋味,我慢慢体会
我使用的python版本是3.9
据说使用python3.6装frida比较简单
pip安装模块:
1 | pip install frida |
不翻墙的话安装会比较慢,可以使用离线安装方式
直接安装 frida-tools 模块,默认自动会安装 frida 模块
安装好后,在系统 cmd 执行 frida --version 命令,如果有版本信息就是安装成功了
如果出现报错,或者是 failed to create process ,如下
打开 python 路径下的 scripts 文件夹,找到 frida-script.py 文件

直接将第一行删除(因为我们的用户名是中文,乱码导致报错)

删除后运行正常

然后下载 ADB 工具
1 | Windows版本:https://dl.google.com/android/repository/platform-tools-latest-windows.zip |
将文件下载下来,解压缩到自定义目录,并将目录添加到系统环境变量

然后 cmd 运行 adb --version
显示版本信息就代表安装成功

ADB基础命令
Android开启调试模式等..
1 | adb连接命令:adb connect ip:port |
使用 adb devices 命令列出当前和计算机连接的Android设备或者模拟器

device 是设备连接状态
设备连接状态结果可能有四种:
offline连接异常device连接正常unknown没有识别设备unauthorized未经授权
unauthorized 是因为Android端还未接受RSA密钥,接收后状态就为 device ,如下

查看设备连接状态:adb get-state
这条命令只会显示当前设备的状态

进入Android的shell模式命令:adb shell
下载跟电脑版本一样的Android端 frida
项目地址:https://github.com/frida/frida/releases/

把文件下载下来解压,然后使用adb push命令将文件上传到安卓 /data/local/tmp 目录下
1 | adb push C:\\Users\\梅川库子\\desktop\\frida-server-15.1.2-android-x86_64 /data/local/tmp |

然后进入Android的 /data/local/tmp 目录给 frida 文件加上 777 权限

后面启动 frida 需要 root 权限,得先获取手机的 root 权限
我这里使用的mumu模拟器的adb,默认就是root权限(mumu模拟器默认端口7555)

然后运行 frida

运行了之后使用 frida-ps -U 查看Android进程,如果有,则代表 Frida 已经连接成功

然后我们把app运行起来,通过 frida-ps -U 找到进程
使用 FRIDA-DEXDump 工具来脱壳
项目地址:https://github.com/hluwa/FRIDA-DEXDump
脚本参数:-n 指定进程名称;-p 指定pid
如果app处于手机顶层状态,直接运行 python main.py 即可脱壳

adb 命令查看Activity信息:adb shell dumpsys activity top | find "ACTIVITY"
使用 Jadx 工具打开 dump 下来的 dex 文件
如果没找到,就把app卸载重新安装,然后再重新尝试
项目地址:https://github.com/skylot/jadx/releases
