首页
论坛
专栏
课程

[原创]Frida-Apk-Unpage 脱壳工具

2019-6-12 15:14 6034

[原创]Frida-Apk-Unpage 脱壳工具

2019-6-12 15:14
6034

APK常规加固脱壳脚本(测试过某60的免费版和商业版)

对于类抽取需要另外Dump出每个类的Inscode然后Patch到脱出Dex文件上,不然Dex文件每个方法都是空的


参考

dstmath的frida-unpack   https://github.com/dstmath/frida-unpack

xiaokangpwn的Frida-Android-unpack    https://github.com/xiaokanghub/Frida-Android-unpack


对于dstmath和xiaokanghub的做了一些改进吧,适配了各Android版本,我自己测试过Android4.4 Android5.1 Android6.0 Android7.1


Frida对于Android4.4系统的兼容性不好,经常会导致系统重启,我用的是frida-server-12.4.5版本,这个版本还算稳定;这个工具对于Android4.4的脱壳不是很有效,我测试过某60就不能脱,只能dump出odex文件,某加密可以脱壳,其他的大家去测试下吧


使用方法

命令行执行: frida -U -f com.xxx.xxx -l dexDump.js --no-pause

脱出的Dex文件在 /data/data/应用包名/目录下


代码 

GitHub: https://github.com/GuoQiang1993/Frida-Apk-Unpack


其他

其实我之前脱壳是通过修改系统源码的,修改 art/runtime/dex_file.cc的 DexFile构造函数,这个比较类似吧,不用修改源码了

修改源码Dump: https://www.freebuf.com/articles/terminal/166307.html


Android4.4也可以通过修改dalvik/libdex/DexFile.cpp的dexFileParse函数或者dalvik/vm/DvmDex.cpp的dvmDexFileOpenPartial函数,增加dump代码就能把Dex文件dump出来了




[招聘]欢迎市场人员加入看雪学院团队!

最后于 2019-6-17 10:16 被guoqiangck编辑 ,原因:
最新回复 (13)
junkboy 2019-6-12 19:06
2
0
支持
xianhuimin 2019-6-14 10:11
3
0
Dump出每个类的Inscode然后Patch到脱出Dex文件,有支持这个?
guoqiangck 2019-6-14 10:16
4
0
xianhuimin Dump出每个类的Inscode然后Patch到脱出Dex文件,有支持这个?
没有哦,这个只是支持dump dex文件,那个需要另外处理
xiaokangpwn 2019-6-14 23:41
5
0
perfect
sogohere 2019-6-15 09:55
6
0
支持下
deluser 2019-6-17 09:28
7
0
dump出的结果拖到jeb里面就可以看了吗
guoqiangck 2019-6-17 09:36
8
0
deluser dump出的结果拖到jeb里面就可以看了吗
可以的,dump出来的dex文件,可以拖到jeb里面或者jadx里面看到代码的
sogohere 2019-6-17 15:44
9
0
没法还原抽进native层的代码 
guoqiangck 2019-6-17 18:51
10
0
sogohere 没法还原抽进native层的代码
是的,只能dump内存中的dex文件,像Java2c,类抽取这种都是没办法的
kinglinzi 2019-6-20 08:58
11
0
厉害
yshell 2019-7-5 03:03
12
0
 360免费版测试脱壳成功,乐固测试方法里面没有内容全是nop,不知道是不是我使用方式有问题
guoqiangck 2019-7-5 09:33
13
0
yshell 360免费版测试脱壳成功,乐固测试方法里面没有内容全是nop,不知道是不是我使用方式有问题
这个是类抽取加固了,要在apk运行时dump出inscode然后patch到你dump出的dex文件里面,这样就不会nop了,运行了哪些类才能dump出哪些类的inscode
bitian 2019-7-5 11:12
14
0
支持
游客
登录 | 注册 方可回帖
返回