一个基于xposed和inline hook的一代壳脱壳工具

来源:互联网 发布:js获取网页源代码 编辑:程序博客网 时间:2024/05/18 02:51

转:http://bbs.pediy.com/thread-218936.htm

1. 我为啥要写这个工具

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

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. 需要怎么改才能脱抽类壳

略。(你现在都能够hook native层和java层了,那你就可以为所欲为了)

4. 怎么使用的

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



5. 源码

https://github.com/smartdone/dexdump

上传的附件:

  •  app-debug.apk (1.40MB,32次下载)
  •  libhook.so (25.40kb,17次下载)

原创粉丝点击