DexHunter学习笔记记录2

来源:互联网 发布:解放战争胜利原因知乎 编辑:程序博客网 时间:2024/06/05 20:31
From:http://bbs.pediy.com/showthread.php?t=203776

之前做了一个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都比它快,我草。

0 0
原创粉丝点击