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

Dex加壳解壳原理(3)

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

信息保存,当外壳程序执行完的时候,这些寄存器信息将被回复,同时源程序入口将被设置为真正的入口地址。

2) 解密原程序各个被加密的区。在加壳程序运行过程中,原程序的各个区都会被加密,这些加密后的区段完全失去了原来的信息结构,使得不仅不能被反编译,也无法被加载执行。在壳程序执行的过程中,壳程序根据加密规则,选用相应的解密算法对被加密的各个区在内存中进行解密,并且解密后的数据存放在原来的位置,这样在壳程序执行完成后,原程序己经在内存中被解密并恢复。内存中此时存储的是可被执行的程序源码。

3) 初始化IAT信息表。在程序正常执行的过程中,加载器实现对IAT的填写。在系统执行被加密的程序时,由于外壳程序会先被执行,则外壳程序在执行过程中会新建自己的IAT输入表,并且让加载器指向该新建的输入表。当外壳程序运行完后,外壳程序要修改原并填写原输入表,同时修改加载器的指向,使源程序被加载并执行。

4) 壳交出控制权。

Dex加密保护

Dex文件是对Java源码编译生成的全部class文件进行合并而产生的文件。 该文件主要包括文件头、魔术字段、检验码字段、SHA-1签名字段、map—off字段、stringjds—size/off字段等。文件头:文件头主要包括校验和以及其他结构的偏移地地和长度信息。

魔数字段:魔数字段是4字节的dex文件标识符,对dex文件进行标识是它的主要作用。

检验码字段:该字段主要用来对文件的完整性进行检测。

SHA-1签名字段:20字节码的该签名字段主要是为了实现校验的唯一性。

map_off字段:该字段中保存的是map的开始位置。通过该字段,可以方便快速的定位到map数据。

striiig_ids__size/off字段:这两个字段是字符串标识字段,源文件编译后的字符串信息都存储在这两个字段中。

安卓程序中采用RC4算法作为对dex文件进行加密的工程算法。RC4是Rob Rivest在1987年设计的密钢长度可变的流加密算法。它加解密使用相同的密钥,

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

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