实操了一下,分享步骤
1.需要Python环境,确定自己电脑上安装了几个Python版本防止Pip错乱,最好给Python配置环境变量
2.用Pip命令安装frida和frida-tools,安装成功后在终端直接敲frida就应该可以输出一些介绍
3.找一个root过的手机或者root状态的模拟器,最好是真机,能省去很多疑难杂症
4.手机通过USB线连接电脑,打开开发者模式,有的手机需要打开root开关
5.adb devices 看看手机连好了吗
6.adb root 看看手机当前是root状态吗
7.adb shell 后看看出现的输入提示符是$还是#,#的话说明你当前是root权限进入shell,否则执行su,申请一下root权限,注意手机上此时可能有授权弹框需要点击
8.此时应该处于root 模式下的shell了,输入提示符为#
10.frida-server开头文件 frida-server-15.1.1-android-arm64.xz 64位还是32位不确定可以挨个下载试试,需要xz解压得到frida-server-15.1.1-android-arm64
11.adb push D:/frida/frida-server-15.1.1-android-arm64 /data/local/tmp 将frida手机端推送到手机上
12.adb shell
13.$ su
14.# cd /data/local/tmp
15.# ls 看看在不在这里
16.# chmod 777 frida-server-15.1.1-android-arm64 给权限
17.# ./frida-server-15.1.1-android-arm64 直接运行,正常的话,光标会卡在下一行,表明frida在手机端启动成功了,此时这个终端就这样了,不要动了
18.打开一个新的终端
19.直接在终端执行firda-ps -U会将此时手机上的所有进程显示出来
20.找到你需要脱壳的进程的包名,也就是说需要脱壳的App需要提前安装到手机上并启动进入到首页
21.然后做端口转发,这是必须的,将手机端的端口映射到电脑上
adb forward tcp:27042 tcp:27042
adb forward tcp:27043 tcp:27043
22.至此firda在手机和电脑双端就部署好了
24.我用第二个脚本得到的dex jdui无法识别
25.然后尝试第三个脚本,成功在手机指定位置输出dex,然后将这些dex移到电脑上,然后把这些dex,改名,改成classes.dex,classes2.dex。。。类似这种格式,然后全体打包成一个zip,然后用jdui打开这个zip,自动就能把这些dex转成Java类了
frida -U -f 包名 -l D:\frida\dexDump.js