摘要
在对现有的DEX加固技术和脱壳技术进行系统学习和研究的基础上,提出和实现了一种基于Android ART虚拟机(VM)的DEX脱壳方案。该方案能够从加固的Android应用中还原出原始DEX文件,其核心思想是将静态插桩和模拟运行技术相结合,以通用的方式实现零知识有效脱壳。首先,在ART虚拟机的解释器里插入监测代码来定位脱壳点;然后,在内存中进行模拟运行,解析相应的结构体指针,得到原始DEX文件数据在内存中的位置;最后,收集这些数据,并按照DEX文件的格式对这些数据进行重组,恢复出应用程序的原始DEX文件,实现脱壳。实验结果表明,所提出的基于ART虚拟机的DEX自动化脱壳方案在引入较小启动延迟的情况下,能够很好地实现对加壳的DEX文件的零知识脱壳。
- 单位