首页
论坛
专栏
课程

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

2019-6-12 15:14 9378

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

2019-6-12 15:14
9378

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出来了




[公告]安全服务和外包项目请将项目需求发到看雪企服平台:https://qifu.kanxue.com

最后于 2019-6-17 10:16 被guoqiangck编辑 ,原因:
最新回复 (27)
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
支持
nottoobad 2019-8-23 16:48
15
0
guoqiangck 这个是类抽取加固了,要在apk运行时dump出inscode然后patch到你dump出的dex文件里面,这样就不会nop了,运行了哪些类才能dump出哪些类的inscode
"要在apk运行时dump出inscode"
这个怎么弄呀?
xhyeax 2019-8-31 23:03
16
0
dump出code_item然后修复?
guoqiangck 2019-9-2 11:25
17
0
nottoobad "要在apk运行时dump出inscode" 这个怎么弄呀?
Android4.4 Dalvik模式在dalvik/vm/oo/Resolve.cpp中dvmResolveClass函数可以dump出inscode
最后于 2019-9-4 11:29 被guoqiangck编辑 ,原因:
guoqiangck 2019-9-2 11:26
18
0
xhyeax dump出code_item然后修复?
dump出inscode还要自己patch到脱出的dex中
xhyeax 2019-9-3 18:48
19
0
guoqiangck Android4.4 ART模式在dalvik/vm/oo/Resolve.cpp中dvmResolveClass函数可以dump出inscode
这个只能通过修改系统源码来实现吗?
guoqiangck 2019-9-4 11:23
20
0
xhyeax 这个只能通过修改系统源码来实现吗?
修改系统源码比较方便吧,因为数据是按结构体封装的,hook的话就C或C++支持好一点吧,其他的语言得自己按照内存布局取数据
guoqiangck 2019-9-4 11:28
21
0
guoqiangck 修改系统源码比较方便吧,因为数据是按结构体封装的,hook的话就C或C++支持好一点吧,其他的语言得自己按照内存布局取数据
我说的这个得运行到的代码才能dump,没运行过的不行,你看下这个大佬的方案吧,主动调用的脱壳方案,https://bbs.pediy.com/thread-252630.htm
echohello 2019-9-4 14:13
22
0
太强了
岸边那一抹雪 2019-9-17 09:43
23
0
出个视频就完美了
TonyLMY 2019-9-19 14:00
24
0
最新乐固壳好像只能脱出壳的代码,是改变了策略吗
guoqiangck 2019-9-20 13:45
25
0
TonyLMY 最新乐固壳好像只能脱出壳的代码,是改变了策略吗
有可能,我没有试过乐固的加固,你能发个样本吗
TonyLMY 2019-9-21 14:46
26
0
可以试试这个
最后于 2019-9-21 14:47 被TonyLMY编辑 ,原因:
TonyLMY 2019-9-21 14:47
27
0
                                       
最后于 2019-9-21 22:13 被TonyLMY编辑 ,原因:
guoqiangck 2019-9-23 09:21
28
0
TonyLMY 可以试试这个
没看到附件,你最好用5.1以上的系统,使用ART模式运行的,正常就算加固都能脱出抽取了方法的dex
游客
登录 | 注册 方可回帖
返回