一个基于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次下载)
- 一个基于xposed和inline hook的一代壳脱壳工具
- ART模式下基于Xposed Hook开发脱壳工具
- 基于dalvik模式下的Xposed Hook开发的某加固脱壳工具
- 基于Xposed的一个简单Hook
- 基于Xposed的一款脱壳神器ZjDroid工具原理解析
- 基于Xposed的一款脱壳神器ZjDroid工具原理解析
- Android中Xposed框架篇---基于Xposed的一款脱壳神器ZjDroid工具原理解析
- inline hook和SDDT hook的区别
- IAT HOOK、EAT HOOK和Inline Hook
- 安卓逆向之基于Xposed-ZjDroid脱壳
- 安卓逆向之基于Xposed-ZjDroid脱壳
- 一个关于脱壳和加壳的问题
- 通用的inline hook,
- Hook框架xposed的简单demo
- Hook框架xposed的简单demo
- xposed hook框架的使用(一)
- xposed hook框架的使用(二)
- inline hook和IDT hook结合
- React Native 页面间传值总结
- 628. Maximum Product of Three Numbers
- Android逆向工程 实践篇 二
- Android实战一:更换头像
- 草根学Python(七) 迭代器和生成器
- 一个基于xposed和inline hook的一代壳脱壳工具
- 组织机构同步和人员同步
- java多线程协作(使用Condition)
- Andriod从网络上读入文件
- Kotlin-28.类型检查和转换(Type Cast)
- ES简介
- 组合模式
- 类里含有静态初始化对象的执行过程和顺序
- 位运算