[发明专利]一种可执行文件的保护方法和装置在审
申请号: | 201711304325.9 | 申请日: | 2017-12-11 |
公开(公告)号: | CN107944233A | 公开(公告)日: | 2018-04-20 |
发明(设计)人: | 孙吉平;朱庆芬 | 申请(专利权)人: | 北京深思数盾科技股份有限公司 |
主分类号: | G06F21/12 | 分类号: | G06F21/12;G06F21/62 |
代理公司: | 北京德琦知识产权代理有限公司11018 | 代理人: | 孙清然,王琦 |
地址: | 100193 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 可执行文件 保护 方法 装置 | ||
技术领域
本发明涉及软件保护技术,特别是涉及一种可执行文件的保护方法和装置。
背景技术
软件作为一种特殊的产品,由于其数字化的特征,从问世起就一直遭受盗版的困扰。盗版的存在不仅给软件开发者造成了巨大的损失,也极大的阻碍了整个软件行业的发展。
目前的软件保护方式通常是对被保护的程序代码进行处理,以阻止非法用户对程序代码的反编译。例如,加壳作为一种软件保护方式,是将被保护的程序代码转换为虚拟机代码。程序运行时,虚拟机将模拟程序执行,进入和离开虚拟机都有高级代码混淆。该种软件保护方式,通过将虚拟机配合代码混淆可以达到很好的保护效果,尤其是开发者的私有逻辑,同时,采用高级混淆可充分干扰静态分析,并且应用程序的解压缩含有动态密码,可以让一切自动脱壳工具失效,有效的阻止.Net、PE程序的直接反编译。
上述软件保护方式虽然能可以较大程度地阻止软件的非法使用,但是在实际应用中,仍存在数据泄露及破坏的问题。
发明内容
有鉴于此,本发明的主要目的在于提供一种可执行文件的保护方法和装置,可以提高软件的安全性。
为了达到上述目的,本发明提出的技术方案为:
一种可执行文件的保护方法,包括:
获取可执行文件的附加数据;
利用预设的加密代码段对所述附加数据进行加密;
将预设的挂钩代码段、所述加密代码段和预设的解密代码段,作为壳代码增加至所述可执行文件中,利用经过所述加密的附加数据替换所述可执行文件中的附加数据;
其中,所述挂钩代码段用于在所述可执行文件启动时,利用所述解密代码段对文件中的附加数据进行解密,利用解密后的附加数据替换所启动的可执行文件中的附加数据,在所述可执行文件退出时,利用所述加密代码段对所述附加数据进行加密,利用加密后的附加数据替换所退出的可执行文件中的附加数据。
较佳地,所述加密代码段通过调用预设的保护装置对所述附加数据进行加密。
较佳地,所述保护装置为精锐5加密锁。
较佳地,所述获取可执行文件的附加数据包括:
确定所述可执行文件中最后一个区块表的文件偏移和区块表的文件大小;
根据所述文件偏移和区块表的文件大小,计算所述附加数据的起始地址;
读取从所述起始地址开始到文件末尾的文件数据,得到所述附加数据。
本发明还提供了一种可执行文件的保护装置,包括:
附加数据获取单元,用于获取可执行文件的附加数据;
附加数据处理单元,用于利用预设的加密代码段对所述附加数据进行加密;
文件保护单元,用于将预设的挂钩代码段、所述加密代码段和预设的解密代码段,作为壳代码增加至所述可执行文件中,利用经过所述加密的附加数据替换所述可执行文件中的附加数据;其中,所述挂钩代码段用于在所述可执行文件启动时,利用所述解密代码段对文件中的附加数据进行解密,利用解密后的附加数据替换所启动的可执行文件中的附加数据,在所述可执行文件退出时,利用所述加密代码段对所述附加数据进行加密,利用加密后的附加数据替换所退出的可执行文件中的附加数据。
较佳地,所述加密代码段通过调用预设的保护装置对所述附加数据进行加密。
较佳地,所述保护装置为精锐5加密锁。
较佳地,所述附加数据获取单元,用于确定所述可执行文件中最后一个区块表的文件偏移和区块表的文件大小;根据所述文件偏移和区块表的文件大小,计算所述附加数据的起始地址;读取从所述起始地址开始到文件末尾的文件数据,得到所述附加数据。
综上所述,本发明提出的可执行文件的保护方法和装置,将对可执行文件中的附加数据进行加密保护处理,经过保护后的可执行文件运行时,需要先利用壳代码对附加数据进行解密,运行结束时再对附加数据进行加密,如此,可以增加可执行文件的反编译和分析的难度,从而可以大大提高软件的安全性。
附图说明
图1为本发明实施例的方法流程示意图;
图2为Windows系统的PE文件结构示意图;
图3为本发明实施例的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京深思数盾科技股份有限公司,未经北京深思数盾科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711304325.9/2.html,转载请声明来源钻瓜专利网。