[Android逆向]DEX自解析重构技术:小萌新一枚,知识可能总结不到位的,还望海涵。
1、DexHunter介绍
2、DexHunter使用方法与注意
3、DexHunter源码详细分析
/dalvik/vm/native/dalvik_system_DexFile.cpp
https://github.com/zyq8709/DexHunter
https://github.com/kesuki/DexHunter
如果你想脱壳一个APP,在运行APP之前,你需要把“dexname”这个文件推入到手机的“/data/”文件夹下。在"dexname"的第一行是特征字符串(参照"slide.pptx").第二行是目标APP所在的数据路径(例如,/data/data/com.example.seventyfour.tencenttest/)。dexname文本必须是linux/Unix的风格形式,如果在windows下输入,则需要用winhex修改换行符的十六进制。你可以使用"logcat"命令获得log日志来判断壳是否已经脱下。一旦完成,生成的"whole.dex"文件就是想要的结果。
特征字符串:
360 /data/data/XXX/.jiagu/classes.dex
Ali /data/data/XXX/files/libmobisecy1.zip
Baidu /data/data/XXX/.1/classes.jar
Bangcle /data/data/XXX/.cache/classes.jar
Tencent /data/app/XXX-1.apk (/data/app/XXX-2.apk)
ijiami /data/data/XXX/cache/.
注意,他本身的系统img是4.4.3,如果想做到版本通用,只需要单单替换system.img就行。一定不能把他原版的img直接文件夹替换,那样模拟器会直接死翘翘。