DexHunter学习笔记记录2
来源:互联网 发布:解放战争胜利原因知乎 编辑:程序博客网 时间:2024/06/05 20:31
之前做了一个Android dex的通用脱壳器,主要思想是以AOP的模式对运行时ART和DVM进行定制,附件中是在HITCON上演讲的ppt。
源码地址:https://github.com/zyq8709/DexHunter
代码较挫,大家可以看看,有兴趣的可以继续在上边改一改:)。
github上有一段demo视频和相关的样本,大家有兴趣也可以试试。
测试了国内主流的6款在线加固服务,可以正常脱下来。有其他的样本的也可以试试,发现问题的话请联系我。
为了方便大家阅读,我把对运行时的关键修改摘了出来。class_linker.txt 是对ART的修改,dalvik_system_DexFile.txt是对DVM的修改。
demo视频下载:http://pan.baidu.com/s/1o6Mjwim 密码:x1ay
因为那个视频是H264编码的MP4,所以可能比较挑播放器,大家可以换着试试,比如kmplayer等。
我传了一份到优酷,视频地址:http://v.youku.com/v_show/id_XMTMyNDc4OTQwMA==.html
ps:有兴趣继续在上边进一步开发的话,可以联系我,大家一块打造一个更好开源的工具。
pps: 有朋友反馈脱壳时会崩溃,我在github上也有说明,主要是最新的加固会hook掉libc里边的一些函数导致崩溃。所以在脱最新的加固时请不要使用提供的镜像,麻烦自己先修改源码把fwrite等libc调用替换为直接的系统调用。
from : http://www.52pojie.cn/thread-409916-1-1.html
很久以前,zyqqyz在看雪上面发了一个非常强大的Android通用脱壳机。我总想着某天来写写该如何使用这个东东。。结果就一直拖到今天了。唉,拖延症不能忍。。
首先,是原帖链接: http://bbs.pediy.com/showthread.php?t=203776&highlight=dexHunter
下面是GitHub的链接: https://github.com/zyq8709/DexHunter
这个其实是基于android-4.4.3_r1.1 (KTU84M) 魔改而成rom,在脱壳方面显得十分强大,当然,有兴趣的话可以自行下载相关代码进行编译。不过对于我们这种小白来说其实只要知道怎么用就可以了。
GitHub上提供了一个已经修改好的rom了。可以直接下载下来在AVD中打开使用。
最为简单的安装方法便是在SDK Manager中下载 API 19,armV7的rom,然后直接用GitHub中的rom替换掉相关的img,就可以用AVD来安装了。当然,其实只要手动配置一些config.ini与hardware-qemu.ini就可以直接调用的了。具体的修改方法可以自行对照着修改,不难的。下面就直接来说一下脱壳流程。
①安装目标apk文件
②编写脱壳文件 dexname。
这个dexname的由两行组成,格式如下:
(line1):future string -> 需要脱壳的dex文件路径
(line2):tgt's data path -> 脱壳apk程序的data目录
(line3):null
比如说示例的apk文件中的dexname文件组成如下:
/data/data/com.example.seventyfour.tencenttest/files/libmobisecy1.zip
/data/data/com.example.seventyfour.tencenttest/
③推送 dexname 文件到 /data/dexname 中。
④打开程序。
相当简单的流程,成功了的话,将会在 app的data目录下看到whole.dex文件,这个就是拖好的odex文件了。使用backsmail -x 指令就可以进行正常的反编译了。
PS:windows下dexname的编写时必定出问题的。需要写完后用WinHex等工具修改一下dexname文件,把换行符的 0D 0A 修改为 0A,这样才能正常地被系统读取,然后脱壳,否则,看到的就只是GOT IT TIME OUT的错误提示了。
PS2:新版的壳hook了fwrite等函数,所以用这个提供的system.img打开程序就报错。这个需要手动编译一下源码,把hook过的相关函数给取消掉。这个只能自己手动了。
PS3:下面也符了一个视频来说明脱壳流程,不过实际上GitHub上也是有的,恐怕这个只能算是多此一举了。
PS4:windows上的AVD果然卡如狗,我用VirtualBox开Ubuntu里面在挂AVD都比它快,我草。
- DexHunter学习笔记记录2
- DexHunter学习笔记记录
- DexHunter--2
- DexHunter
- 分析Dexhunter
- java4android学习记录笔记
- linux 学习记录笔记
- android学习笔记记录
- 学习笔记记录
- 学习笔记快速记录
- Linux学习笔记记录
- java学习记录笔记
- jquery 学习笔记记录
- Python学习笔记记录
- Android --学习笔记记录
- mybatis 学习笔记 记录
- 学习笔记开始记录
- tcpdump学习笔记记录
- leetCode_ Surrounded Regions(BFS)
- 增加eclipse的运行内存
- 机器学习的10大基础算法
- storm ack机制//
- 并发之阻塞队列&线程池
- DexHunter学习笔记记录2
- [SC] OpenService 失败:1060指定的服务未安装
- iOS8 Size Classes的理解与使用
- 检测新版本,PullToRefreshListView刷新,加载
- Java用正则表达式判断输入的电话号码格式是否正确
- Acm 寻找最大数(三)
- hdu4587 TWO NODES 求割点
- 作业
- /bin/bash^M: 坏的解释器: 没有那个文件或目录