首页
论坛
课程
招聘
[原创]一个基于xposed和inline hook的一代壳脱壳工具
2017-7-2 10:15 22058

[原创]一个基于xposed和inline hook的一代壳脱壳工具

2017-7-2 10:15
22058

1. 我为啥要写这个工具

虽然一代壳比较古老了,但是市面上还是比较多。用ida脱的话有点累。然后我就写了个xposed插件,来快速的帮我们完成脱壳。(这种方法比较省事,不用去修改系统什么的,也不用动态调试)

开始没有在android6.0上测试,那会只有android5.0和android5.1上面可以运行,后面根据jwchen119大佬的建议去 http://bbs.pediy.com/thread-218782.htm 抄了一段6.0上面的代码,在6.0上面也可以正常运行了。

2. 原理

原理就是去hook libart.so里面的art::DexFile::OpenMemory,然后再把内存中的dex写到文件中去。就是这么简单,最主要的就是hook的时机,大部分的壳都是在attachBaseContext这个方法里面去完成代码的解密。所以呢,我们就去hook Application的attach方法,在这个方法执行之前,将我们的动态库加载起来,动态库里面实现的就是对art::DexFile::OpenMemory方法的劫持。这样的话在他解密代码前art::DexFile::OpenMemory就已经被我们给控制了,所以就可以为所欲为了。这里要感谢ele7enxxh提供的Android-Inline-Hook来让我可以对native层的hook。

3. 需要怎么改才能脱抽类壳

放上来那个可以脱抽类那个apk我把hook的包名写固定了,我先删了,后面再放上来

4. 怎么使用的

首先下载libhook.so和xposed插件的apk文件,然后把libhook.so放到/data/local/tmp下面,并且改权限为777.然后安装xposed插件,重启并且激活插件。之后去xposed插件的界面里面去勾选需要脱壳的apk。选好之后干掉你要脱壳的应用的进程,然后重新打开你需要脱壳的应用的进程,脱壳成功的话就会在/data/data/应用包名 下生产脱下的dex文件


5. 源码

https://github.com/smartdone/dexdump



[培训] 优秀毕业生寄语:恭喜id咸鱼炒白菜拿到远超3W月薪的offer,《安卓高级研修班》火热招生!!!

上传的附件:
收藏
点赞0
打赏
分享
最新回复 (39)
雪    币: 631
活跃值: 活跃值 (508)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
huluxia 活跃值 2017-7-2 10:27
2
0
学习了,顶
雪    币: 578
活跃值: 活跃值 (251)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
Rprop 活跃值 2017-7-2 11:48
3
0
可以配合VirtualApp,  这样免ROOT脱掉
雪    币: 3496
活跃值: 活跃值 (512)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
smartdon 活跃值 1 2017-7-2 12:51
4
0
rrrfff 可以配合VirtualApp, 这样免ROOT脱掉
那个以前搞过,但是有些app他会启动不起来
雪    币: 204
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
懒鸟小学生 活跃值 2017-7-2 13:01
5
0
学习了
雪    币: 214
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
诗函 活跃值 2017-7-2 17:07
6
0

感谢分享,现在会脱壳,抽类壳修复起来好繁琐

雪    币: 0
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
menglinmm 活跃值 2017-7-2 22:03
7
0
大佬,多谢分享。
雪    币: 538
活跃值: 活跃值 (427)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wooyunking 活跃值 2017-7-3 09:40
8
0
楼主能不能提供个样本,我这里测试脱不掉
雪    币: 225
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
弹棉花师傅 活跃值 2017-7-3 09:50
9
0
请问如何判断是几代壳?
雪    币: 3496
活跃值: 活跃值 (512)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
smartdon 活跃值 1 2017-7-3 23:34
10
0
wooyunking 楼主能不能提供个样本,我这里测试脱不掉
这个附件只能传8m,所以测试例子没传上来,我只试过360和爱加密的壳,360的壳是一代整体加固那种(native的oncreate不能恢复),然后爱加密的是二代抽类的壳。
雪    币: 8737
活跃值: 活跃值 (423)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
无边 活跃值 2017-7-4 02:13
11
0
winrar可以将rar压缩成多个,可以用winrar处理下附件apk。
雪    币: 289
活跃值: 活跃值 (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zhuangbx 活跃值 2017-7-4 07:53
12
0
谢谢分享,学习了
雪    币: 356
活跃值: 活跃值 (17)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
Caln 活跃值 2 2017-7-10 21:44
13
0
感觉有点麻烦了  ...
雪    币: 3
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ljphhj 活跃值 2017-7-24 12:19
14
0
E/DEX_DUMP(  2168):  Error:  unable  to  find  the  Symbol  :  _ZN3art7DexFile10OpenMemoryEPKhjRKNSt3__112basic_stringIcNS3_11cha
r_traitsIcEENS3_9allocatorIcEEEEjPNS_6MemMapEPKNS_10OatDexFileEPS9_
雪    币: 62
活跃值: 活跃值 (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
friendkill 活跃值 2017-7-26 19:17
15
0
这个是需要32位arm么?  64位骁龙820+安卓6.0打开程序没有显示脱壳程序列表
雪    币: 230
活跃值: 活跃值 (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
mancong 活跃值 2017-7-31 12:08
16
0
android  4.4.2      锤子OS3.6    已经root      Xp已装。依旧是无法脱掉,而且没有任何提示
雪    币: 462
活跃值: 活跃值 (630)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
gtict 活跃值 2017-8-1 15:55
17
0
08-01  15:51:40.347:  E/Xposed(28813):  java.lang.UnsatisfiedLinkError:  dlopen  failed:  couldn't  map  "/data/local/tmp/libhook.so"  segment  1:  Permission  denied
文件打不开,,权限也加了,,系统也重新挂载了。手机系统是5.0的。。怎么提示是一个节权限呢
雪    币: 462
活跃值: 活跃值 (630)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
gtict 活跃值 2017-8-1 17:05
18
1
知道原因了,,setenforce  0是这个保护问题,,以前常常早就去掉。。换了个新手机忘记了
雪    币: 1
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
龙之战士 活跃值 2017-8-21 09:52
19
0
friendkill 这个是需要32位arm么? 64位骁龙820+安卓6.0打开程序没有显示脱壳程序列表
和你一样,小米5安卓6打开没程序列表
雪    币: 97
活跃值: 活跃值 (1089)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
龙飞雪 活跃值 2017-9-15 17:27
20
0
mancong android 4.4.2 锤子OS3.6 已经root Xp已装。依旧是无法脱掉,而且没有任何提示
手机要api  21版本以上xposed要支持art模式才可以,手机脱壳时要在art模式下
雪    币: 1
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
jwchen陳 活跃值 2017-9-20 21:28
21
0
實測  sdk25  無法使用  具體還沒抓  logcat
雪    币: 24
活跃值: 活跃值 (276)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
amwpecel 活跃值 2017-9-20 21:59
22
0
下载试用一下吧
雪    币: 134
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Mattermon 活跃值 2017-9-22 15:14
23
0
rrrfff 可以配合VirtualApp, 这样免ROOT脱掉
VirtualApp  的兼容性还有待提升,有部分应用会闪退或黑屏
雪    币: 8273
活跃值: 活跃值 (1148)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tDasm 活跃值 2017-9-26 09:26
24
0
smartdon 这个附件只能传8m,所以测试例子没传上来,我只试过360和爱加密的壳,360的壳是一代整体加固那种(native的oncreate不能恢复),然后爱加密的是二代抽类的壳。
爱加密二代抽类壳是不是代码还原后在原地址执行?现在的爱加密抽类好像还原后不在原地址执行而是map到其他地址执行.
雪    币: 3
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wapjia 活跃值 2018-2-24 16:15
25
0
加载不出要脱壳的app
游客
登录 | 注册 方可回帖
返回