由于在 Android 逆向中偶尔能用到 DexClassLoader, 而且一代壳的加壳与脱壳也有其影子一直对 DexClassLoader 的细节不太清楚,所以抽时间看看,画了个图
先简要介绍一下大概流程:
如何加载,要告诉各个文件的属性
这时启动加载
我们在使用 DexClassLoader 时,特别是脱壳时,应用基本都是第一次启动,一般都会跳转到优化方向如果要成功脱壳,则需要 Dex 存在于内存中,所以定位的脱壳点就在将 Dex 进行分配内存映射完成后,并能够成功获取相应参数,如地址、大小等帮助我们成功 dump 出原 DEX
这仅仅是我的理解,如有错误,请大佬们不吝赐教
如果不清晰,已放附件
[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界