[发明专利]软件的保护方法及装置有效
| 申请号: | 201911051546.9 | 申请日: | 2019-10-31 |
| 公开(公告)号: | CN110764782B | 公开(公告)日: | 2021-01-26 |
| 发明(设计)人: | 周成 | 申请(专利权)人: | 贵阳动视云科技有限公司 |
| 主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F21/60;G06F9/445 |
| 代理公司: | 北京名华博信知识产权代理有限公司 11453 | 代理人: | 李冬梅 |
| 地址: | 550000 贵州省贵阳市贵阳国家高新技*** | 国省代码: | 贵州;52 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 软件 保护 方法 装置 | ||
本文是关于一种软件的保护方法及装置,软件的保护方法包括:遍历软件内的文件,确定需保护的目标文件,所述目标文件包括可执行文件和资源文件中的一种或两种;按预设格式编译所述目标文件,对编译后的文件压缩加密后,生成加密文件;通过文件加载器加载所述加密文件,并在内存中对所述加密文件进行解密解压缩后,解析所述编译后的文件。通过本文提供的方法,可以实现将多个不同类型的文件同时进行保护,通过文件加载器将文件加载到内存中进行解密解压缩,降低文件被破解的风险,同时不影响文件的正常的使用。
技术领域
本文涉及文件加密,尤其涉及软件的保护方法及装置。
背景技术
相关技术中,一般使用外壳保护技术保护文件,用户通过执行外壳程序,把原来的程序在内存中解开压缩,并把控制权交换给解开后的真正的程序,由于一切工作都是在内存中运行,用户根本不知道其运行过程,并且对执行速度没有什么影响。如果在外壳程序中加入对软件锁或钥匙盘的验证部分,它就是我们所说的外壳保护,对文件起到保护作用,尤其是对软件的核心代码进行加密保护,以防其他人破解或窃取程序源代码。
但外壳保护技术只能针对EXE,DLL,SYS等类型的文件进行保护,而且通常只能保护一个文件。
发明内容
为克服相关技术中存在的问题,本文提供一种软件的保护方法及装置。
根据本文的第一方面,提供一种软件的保护方法,包括:
遍历软件内的文件,确定需保护的目标文件,所述目标文件包括可执行文件和资源文件中的一种或两种;
按预设格式编译所述目标文件,对编译后的文件压缩加密后,生成加密文件;
通过文件加载器加载所述加密文件,并在内存中对所述加密文件进行解密解压缩后,解析所述编译后的文件。
所述按预设格式编译所述目标文件包括:
按预设的文件结构编译所述目标文件,所述文件结构包括:加密标识,文件类型标识,文件的第一哈希值,文件大小,文件内容。
所述对编译后的文件压缩加密包括:
当所述目标文件为资源文件,将所述编译后的文件压缩并加密;
当所述目标文件为可执行文件,将所述编译后的文件的可压缩区段合并后,对合并后的区段压缩并加密。
当所述目标文件为资源文件,所述文件的第一哈希值为所述编译后的文件的哈希值;
当所述目标文件为可执行文件,所述文件的第一哈希值为所述合并后的区段的哈希值。
所述通过文件加载器加载所述加密文件,并在内存中对所述加密文件进行解密解压缩后,解析所述编译后的文件包括:
通过预先制作的文件加载器,将所述加密文件加载到内存;
在内存中对所述加密文件进行解密解压缩,恢复为编译后的文件;
计算编译后的文件的第二哈希值;
在所述第二哈希值与所述第一哈希值一致时,在内存中解析所述编译后的文件。
根据本文的另一方面,提供一种软件的保护装置,包括:
遍历模块,用于遍历软件内的文件,确定需保护的目标文件,所述目标文件包括可执行文件和资源文件中的一种或两种;
编译模块,用于按预设格式编译所述目标文件,对编译后的文件压缩加密后,生成加密文件;
加载模块,用于通过文件加载器加载所述加密文件,并在内存中对所述加密文件进行解密解压缩后,解析所述编译后的文件。
所述编译模块编译所述目标文件包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贵阳动视云科技有限公司,未经贵阳动视云科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911051546.9/2.html,转载请声明来源钻瓜专利网。





