-
-
[原创] 某类抽取加固APP的脱壳与修复
-
发表于:
2020-3-31 00:46
11291
-
写在前面
APP来自看雪安卓2w班3月份题目,题目主要关键点在于dex的dump和恢复,但是实际上由于这个APP的壳保护较弱,实际上如果脱壳点时机稍微晚一点,就可以完全dump下来,也不需要修复。不过为了应对其他无法完整dump下来的APP,解题时还是采用了较为一般的方法。
使用至少两种方法完成对dex的dump和修复
选取脱壳点
这里选取我之前总结的调用图中的DexFileVerifier::Verify
和DexFileVerifier
以及OpenFile
函数与DexFile::DexFile
函数作为脱壳点,
在函数中插入以下dump dex的代码
编译源码,刷机,
刷机成功后,安装并给予应用存储权限,然后运行app,并在sdcard目录下使用grep
命令过滤dex,最终得到脱壳后的文件如下
dump下来之后就是修复,使用FART确认是否有抽取的dex,
上fart.py
,然后一一分析想要分析的方法
最终修复效果
我自己写了一个脚本,关键代码如下
这个脚本是实现的抽取壳中空间不变的情况,使用方法和完整代码见here,程序个人完成,如果有bug,欢迎指摘。最终修复效果如下:
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
最后于 2020-4-1 12:00
被Simp1er编辑
,原因: