脱取一二初代壳的时候,可以利用objection通过内存搜索Dex文件的关键特征来进行一个dump,也可以通过hook来进行一个脱取以及通过ida动态下断点的方法。网上经常有编译好的系统镜像,通过刷机可以打造出一个脱壳机,今天主要是针对这些网上的脱壳机子的原理进行一个分析。关键点就是找到最终操作dex文件的函数部分。
这里是找到网上脱壳虚拟机的代码,这里是修改了Dalvik虚拟机的系统函数,进行了重编译,定位dexFileParse函数,可以看到传参是dex数据内容以及长度,因此脱壳机利用pid进程号进行一个命名文件,然后直接写入文件,直接修改了安卓虚拟机的源码,然后编译,就造成了当执行到这里的时候,会直接写入。
另一种脱壳机子的写法也是一样,主要是定位到最后的dex数据操作函数。
这里也是一样。
一样