首页
社区
课程
招聘
[原创]一个基于xposed和inline hook的一代壳脱壳工具
发表于: 2017-7-2 10:15 25410

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

2017-7-2 10:15
25410

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. 怎么使用的


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 1
支持
分享
最新回复 (39)
雪    币: 1696
活跃值: (2297)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
学习了,顶
2017-7-2 10:27
0
雪    币: 878
活跃值: (496)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
可以配合VirtualApp,  这样免ROOT脱掉
2017-7-2 11:48
0
雪    币: 3549
活跃值: (941)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
4
rrrfff 可以配合VirtualApp, 这样免ROOT脱掉
那个以前搞过,但是有些app他会启动不起来
2017-7-2 12:51
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
学习了
2017-7-2 13:01
0
雪    币: 214
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6

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

2017-7-2 17:07
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
大佬,多谢分享。
2017-7-2 22:03
0
雪    币: 1037
活跃值: (1780)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
楼主能不能提供个样本,我这里测试脱不掉
2017-7-3 09:40
0
雪    币: 225
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
请问如何判断是几代壳?
2017-7-3 09:50
0
雪    币: 3549
活跃值: (941)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
10
wooyunking 楼主能不能提供个样本,我这里测试脱不掉
这个附件只能传8m,所以测试例子没传上来,我只试过360和爱加密的壳,360的壳是一代整体加固那种(native的oncreate不能恢复),然后爱加密的是二代抽类的壳。
2017-7-3 23:34
0
雪    币: 9479
活跃值: (757)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
winrar可以将rar压缩成多个,可以用winrar处理下附件apk。
2017-7-4 02:13
0
雪    币: 289
活跃值: (77)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
谢谢分享,学习了
2017-7-4 07:53
0
雪    币: 360
活跃值: (84)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
13
感觉有点麻烦了  ...
2017-7-10 21:44
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
E/DEX_DUMP(  2168):  Error:  unable  to  find  the  Symbol  :  _ZN3art7DexFile10OpenMemoryEPKhjRKNSt3__112basic_stringIcNS3_11cha
r_traitsIcEENS3_9allocatorIcEEEEjPNS_6MemMapEPKNS_10OatDexFileEPS9_
2017-7-24 12:19
0
雪    币: 62
活跃值: (101)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
这个是需要32位arm么?  64位骁龙820+安卓6.0打开程序没有显示脱壳程序列表
2017-7-26 19:17
0
雪    币: 208
活跃值: (119)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
android  4.4.2      锤子OS3.6    已经root      Xp已装。依旧是无法脱掉,而且没有任何提示
2017-7-31 12:08
0
雪    币: 268
活跃值: (3238)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
17
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的。。怎么提示是一个节权限呢
2017-8-1 15:55
0
雪    币: 268
活跃值: (3238)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
18
知道原因了,,setenforce  0是这个保护问题,,以前常常早就去掉。。换了个新手机忘记了
2017-8-1 17:05
1
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
friendkill 这个是需要32位arm么? 64位骁龙820+安卓6.0打开程序没有显示脱壳程序列表
和你一样,小米5安卓6打开没程序列表
2017-8-21 09:52
0
雪    币: 562
活跃值: (4347)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
20
mancong android 4.4.2 锤子OS3.6 已经root Xp已装。依旧是无法脱掉,而且没有任何提示
手机要api  21版本以上xposed要支持art模式才可以,手机脱壳时要在art模式下
2017-9-15 17:27
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
實測  sdk25  無法使用  具體還沒抓  logcat
2017-9-20 21:28
0
雪    币: 17
活跃值: (891)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
下载试用一下吧
2017-9-20 21:59
0
雪    币: 139
活跃值: (235)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
rrrfff 可以配合VirtualApp, 这样免ROOT脱掉
VirtualApp  的兼容性还有待提升,有部分应用会闪退或黑屏
2017-9-22 15:14
0
雪    币: 14855
活跃值: (6083)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
smartdon 这个附件只能传8m,所以测试例子没传上来,我只试过360和爱加密的壳,360的壳是一代整体加固那种(native的oncreate不能恢复),然后爱加密的是二代抽类的壳。
爱加密二代抽类壳是不是代码还原后在原地址执行?现在的爱加密抽类好像还原后不在原地址执行而是map到其他地址执行.
2017-9-26 09:26
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
加载不出要脱壳的app
2018-2-24 16:15
0
游客
登录 | 注册 方可回帖
返回
//