[发明专利]一种基于Windows平台软件的保护方法及装置有效
| 申请号: | 202011220107.9 | 申请日: | 2020-11-05 |
| 公开(公告)号: | CN112035803B | 公开(公告)日: | 2021-03-19 |
| 发明(设计)人: | 刘加勇;刘仟丰 | 申请(专利权)人: | 北京华云安信息技术有限公司 |
| 主分类号: | G06F21/14 | 分类号: | G06F21/14;G06F21/60 |
| 代理公司: | 北京华专卓海知识产权代理事务所(普通合伙) 11664 | 代理人: | 王一 |
| 地址: | 100094 北京市海淀*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 windows 平台 软件 保护 方法 装置 | ||
本发明的实施例提供了一种基于Windows平台软件的保护方法及装置。所述方法包括对目标程序进行加壳处理,生成加壳后的程序文件;响应于密码输入指令,对所述加壳后的程序文件进行反调试判断,如果当前程序正在被调试,则退出程序;否则,通过执行所述加壳后的程序文件对目标程序进行执行。以此方式,可以有效地对抗破解者对软件目标程序代码的破解,有利于保护软件核心原代码不被破解和外泄。
技术领域
本发明的实施例一般涉及软件加密领域,并且更具体地,涉及一种基于Windows平台软件的保护方法及装置。
背景技术
软件产品的复制相当容易,非法用户在未经许可下对软件进行复制和使用,严重损害了软件开发部门的经济利益和软件版权,对计算机软件的发展造成不利的影响。因而从技术上采取一定的防范措施就尤显重要。
目前,软件保护技术主要包括软件加密和硬件加密两种方法,例如基于软件的加密壳保护和基于硬件的加密锁保护。用硬件保护是一种较为安全的技术,但由于成本过高,目前主流的还是使用软件壳的形式来保护软件。软件壳主要分为两种:
加密壳,主要用加密算法对程序代码进行加密保护,常见的加密壳有:VMP壳、ASProtecct壳 以及Themida壳等。
压缩壳,主要用压缩算法对程序进行压缩,减少程序大小,常见的压缩壳有:UPX壳、NPack壳以及ASPack壳等。
市面上虽有大量现成的软件壳,但是这些已经被透彻研究,很容易被破解,甚至出现一些一键脱壳工具,例如:unaspack、unpecompact以及caspr等。同时,在软件保护领域中,目前尚未有国密在其中的利用,本方法正是将国密SM4算法和国密SM3算法结合使用,使得软件更加安全可靠,促进国密算法在软件保护领域中的运用。
发明内容
根据本发明的实施例,提供了一种基于Windows平台软件的保护方案。
在本发明的第一方面,提供了一种基于Windows平台软件的保护方法。该方法包括:
对目标程序进行加壳处理,生成加壳后的程序文件;
响应于密码输入指令,对所述加壳后的程序文件进行反调试判断,如果当前程序正在被调试,则退出程序;否则,通过执行所述加壳后的程序文件对目标程序进行执行。
进一步地,所述通过加壳器对目标程序进行加壳处理,包括:
判断目标程序文件是否为PE文件,如果是,则对目标程序代码段进行压缩;否则结束;
将压缩后的目标程序代码段进行加密处理,得到加密后的目标程序代码段;
将壳程序的代码段复制到所述目标程序代码段的尾部,得到加入壳程序的目标程序;
将所述加入壳程序的目标程序的程序入口点设置到壳程序,并保存目标程序的入口点;
通过配置目标程序中的数据目录表,对导入表进行处理;
将壳程序的重定位表中,每一项数据均修改为基于EXE程序默认加载基址的数据。
进一步地,所述加密处理,包括:
使用国密SM4算法对压缩后的目标程序代码段进行加密,其中,通过国密SM3算法计算密钥的哈希值,并保存在程序中。
进一步地,所述通过配置目标程序中的数据目录表,对导入表进行处理,包括:
将目标程序的数据目录表中的导入表虚拟地址偏移项和导入表虚拟地址大小项设置为0,得到修改后的导入表;
设置一内存空间,将修改后的导入表导入所述内存空间,并删除原导入表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京华云安信息技术有限公司,未经北京华云安信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011220107.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:采气井口装置及采气井
- 下一篇:道路监控方法、系统和电子设备





