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

Dex加壳解壳原理(2)

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

ELF文件加壳技术

软件的壳一般运行在原始程序的外面,用来保护程序,在对原始程序加壳的过程中,原始程序的入口地址等信息被保存,在外壳运行的过程中,外壳程序会动态的修改任务的入口地址等信息,外壳程序结束后,原始层序开始执行,一般对原始程序加壳时,原始程序首先被加密,在运行外壳程序的时候,外壳程序会对原始程序进行动态的内存解密,使得原始程序恢复其来了的面貌。

只有经过解密后的原始程序才能正常执行。在解密的过程中,外壳程序会对原始程序解密密码或者解密密钥进行验证,只有在密码或者密钥正确的时候才对原始程序解密,后则外壳程序退出这样的安全性和机密性等信息将会的到保护。由于加壳程序在运行过程中,是以整体的形式被加载到内存中,在内存中进行解密的,这种内存解密机制确保无临时文件生成,无原始程序还原等特性,因此可以实现对原始程序更好的保护。

软件加壳实际上是对原始程序及外壳程序进行合并的一个过程,加壳过程实现对原始程序的压缩加密等处理,同时将外壳程序添加到原始程序的开始或末尾,在合并过程中,原始程序的入口被保存,整个程序的入口被改成了外壳程序的入口。这样就可以保证在运行的时候,外壳程序会先被执行,在外壳程序执行的过程中,进行各种保护验证及信息查询,只有验证等信息正确的时候,外壳程序才会对原始程序进行解密还原等处理,并读取保存的原始程序入口,将整个程序的入口改为原始程序的入口,确保在外壳程序退出时原始程序被执行。

软件的加壳实际上是由外壳程序和加壳程序两部分构成的,外壳程序是运行在原始程序外面的代码段,在执行时,该部分代码段会先被执行。加壳程序是将 外壳程序和原始程序合并成代码。在加壳程序中,不仅要完成对文件的合并,文件结构的修改等功能,还要完成对原始程序的加密等功能。经过加壳后,程序将变成由外壳程序,原始程序及解密密钥等共同组成的程序段。

在外壳程序中,不仅要提供对原始程序文件提取、解密等功能,还要实现内存解密、解密后数据填回等功能,同时外壳程序还要实现对程序入口地址修改,控制权转意等功能。这样在外壳程序运行时,才能保证对原始程序进行正确的处理并保证原始程序可被执行。

常见的外壳加载过程分为四步:

1) 保存原程序的入口参数。外壳程序执行前,会读取各个寄存器的信息并将这些

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

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