- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第21章EXE加密
第21 章 EXE 加密
EXE 加密是软件保护范畴的一种技术,通过对指定的 PE 文件进行加密,可以增加逆向分
析代码的难度,在一定程度上保护软件代码的安全。
EXE 加密技术经常用于对软件的加壳处理,通过 PE 分析软件对加密后的 PE 文件进行分
析 只能看到与补丁代码有关的信息 原始的 PE 文件相关信息被隐藏 同时 如果在 EXE
, , ; ,
补丁代码中使用一些技巧 也能有效地增加 PE 反调试的难度 达到保护软件的目的
, , 。
21.1 基本思路
加密一个 PE 文件的基本思路如下:
步骤1 由补丁工具完成对目标 PE 文件数据目录表的修改,并将原始数据目录表的内容
转移到补丁代码中。
步骤2 由补丁工具完成对目标 PE 文件节区数据的加密。
步骤3 由补丁工具设置目标 PE 文件入口地址指向补丁代码。
步骤4 由补丁代码完成对目标 PE 文件数据目录表的还原。
步骤5 由补丁代码完成对目标 PE 文件
目标PE 文件头部 原始值 不改变
( , )
节区数据的解密。
步骤6 由补丁代码完成对目标PE 文件
导入表中动态链接库的动态加载。
数据目录表 全部清零
( )
步骤7 由补丁代码完成对目标 PE 文件
IAT 的修正。
加密以后的目标文件结构如图 21-1 所示。
如图所示,由于加密以后的数据目录表 节 1 加密
( )
被清零 通过结构分析工具 如 PEInfo 查
, ( )
看目标 PE 文件时,数据目录表中注册的数
节 2 加密
( )
据类型都不会显示,原始数据目录表会被补
丁工具转移到补丁代码中。除数据目录表、
…
SizeOfImage、最 后 一 节 的 SizeOfRawData、
函数入口地址AddressOfEntryPoint 外,目标
节 n 加密
( )
PE 文件的头部数据基本保持不变。目标PE
文件的节区数据全部被加密保存,但节区数据
补丁代码 包含目标 PE 文件原始的数据目录表内容
( )
的长度不变,补丁代码被选择附加到目标 PE
文件的最后一节中。
图 21-1 加密以后的目标 PE 文件结构
第21 章 EXE 加密 577
21.2 加密算法
加密算法是 EXE 加密的核心
文档评论(0)