第一范文网 - 专业文章范例文档资料分享平台

Dex加壳解壳原理(8)

来源:用户分享 时间:2021-06-02 本文由怪那旧人 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

程序的.第一时间运行,应该使其在各组件启动前运行,只有在组件启动前,脱壳程序完成对原程序数据的解密及加载,才能使原程序正常加载并被执行。在应用启动时,作为系统下文的Application会被系统最先调用,是开发者开发的程序的执行入口点。因此,可以迪过修改AndroidMainfest.xml中关于Application 配罝。实现脱壳程序的最先运行。

(2) 原程序在股壳程序运行完后被第一时间运行

为了保证脱壳程序被第一时间运行,AndroidMainfest.xml配置文件中的Application被修改为脱壳程序的Application,修改后,原程序的Application彼全部替换,程序逻辑被改变。为了保证原程序逻辑及执行过程不被改变,应该在脱先程序运行完后,第一时间将Application对象换回原程序的。通过在AndroidMainfest.xml文件中配置原有Applicaiton类信息来达到想要的目的。

(3) 实现通过DexClassLoader对apk代码的动态加载

在Android系统中,DexclassLoader加载的类是没有组件生命周期的,也就 是说即使DexClassLoader通过对APK的动态加载完成了对组件类的加载,当系统启动该组件时,还会出现加载类失败的异常。通过查看Android源代码可知组件类的加载是由另一个ClassLoader来完成的。DexCIassLoader和系统组件ClassLoader并不存在关系,系统组件ClassLoader当然找不到由DexCiassLoader加载的类,如果把系统组件ClassLoader的parent修改成DexCIassLoader,最终可以实现对apk代码的动态加载。

(4) 保证解壳后的资源文件被代码动态引用

代码默认引用的资源文件在最外层的解壳程序中,因此需要增加系统的资源加载路径来实现对解壳后APK文件资源的加载。

上面的过程可以保证外壳程序被先执行,在外壳程序被执行的过程中,实现对源文件的解密,配置文件的修改等信息。这样在外壳程序提出时,原程序将会被正常加载执行。具体外壳程序进行脱壳,原文件解密及配置文件修改过程下图:

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新人文社科Dex加壳解壳原理(8)全文阅读和word下载服务。

Dex加壳解壳原理(8).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1195656.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top