【NB团队】安卓脱壳机的实现原理

[复制链接]
查看256 | 回复0 | 2022-11-14 08:22:40 | 显示全部楼层 |阅读模式
前言

脱取一二初代壳的时候,可以利用objection通过内存搜索Dex文件的关键特征来进行一个dump,也可以通过hook来进行一个脱取以及通过ida动态下断点的方法。网上经常有编译好的系统镜像,通过刷机可以打造出一个脱壳机,今天主要是针对这些网上的脱壳机子的原理进行一个分析。关键点就是找到最终操作dex文件的函数部分。

正文

这里是找到网上脱壳虚拟机的代码,这里是修改了Dalvik虚拟机的系统函数,进行了重编译,定位dexFileParse函数,可以看到传参是dex数据内容以及长度,因此脱壳机利用pid进程号进行一个命名文件,然后直接写入文件,直接修改了安卓虚拟机的源码,然后编译,就造成了当执行到这里的时候,会直接写入。(如列图2)

另一种脱壳机子的写法也是一样,主要是定位到最后的dex数据操作函数。(如列图3和4)


(列图5)还是一样

(列图6)一样

总结:基本上脱壳机的写法大同小异,所以不管用什么都是一样的,不用纠结于哪个好,能脱壳就行。
aaaa
村长黑科技是专业提供项目资源的服务的村长黑科技平台,如合购网赚项目、引流推广软件、软件程序开发等项目就选村长黑科技平台,参与或发布项目定制各种软件就来村长黑科技平台
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则