[发明专利]一种保护可执行文件的方法及系统有效
申请号: | 201210384792.8 | 申请日: | 2012-10-11 |
公开(公告)号: | CN102890758A | 公开(公告)日: | 2013-01-23 |
发明(设计)人: | 孙吉平;韩勇 | 申请(专利权)人: | 北京深思洛克软件技术股份有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 王民盛;王丽琴 |
地址: | 100086 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 保护 可执行文件 方法 系统 | ||
1.一种保护可执行文件的方法,其特征在于,包括:
A、获取原始文件的输入表、入口点函数和资源数据,通过加密算法对输入表、入口点函数和资源数据进行加密后存入软件保护装置,清除原始文件中的输入表、入口点函数和资源数据,并构建新的输入表;新构建的输入表只包含装载动态链接库的函数和获取函数地址的函数;
B、将新构建的输入表、文件运行模块、数据存取模块和解密模块注入到所述原始文件中,构建成为镜像文件;
C、镜像文件运行时,文件运行模块将镜像文件中的输入表中的输入地址表替换为中转模块的地址;
D、文件运行模块通过数据存取模块从文件保护装置中取出加密后的入口点函数;
E、解密模块对入口点函数进行解密并执行解密后的入口点函数,执行完毕后跳转到镜像文件继续执行。
2.根据权利要求1所述的方法,其特征在于,该方法进一步包括:
文件运行模块对原始文件中的资源相关函数进行挂钩,将资源相关函数转向到自定义的资源处理函数;
镜像文件调用资源相关函数时,挂钩后的自定义资源处理函数从文件保护装置内取出加密后的资源数据,解密后,返回解密后的资源数据。
3.根据权利要求1所述的方法,其特征在于,步骤E之后进一步包括:如果要调用应用程序接口,中转模块通过数据存取模块从文件保护装置内取出该应用程序接口对应的函数名称和所在动态链接库,中转模块通过解密模块解密函数所在的动态链接库名称及函数名称,根据解密后的动态链接库名称及函数名称获取函数地址,然后跳转到所述函数地址继续执行。
4.根据权利要求1所述的方法,其特征在于,所述加密算法为对称加密算法或者非对称算法。
5.根据权利要求1所述的方法,其特征在于,步骤A所述清除原始文件中的入口点函数进一步包括:将入口点函数用无效字符填充。
6.一种保护可执行文件的系统,其特征在于,包括输入表分析模块、入口点分析模块、资源分析模块、加密模块、数据存取模块、解密模块、文件运行模块、文件链接模块、中转模块和软件保护装置;
软件保护装置用于存储密钥,以及存储来自数据存取模块的加密后的数据;
所述输入表分析模块,用于分析需要被保护的原始文件的输入表,将原始文件的输入表输出至加密模块,清空原始文件中输入表的内容;
所述入口点分析模块,用于分析原始文件的入口点函数,将入口点函数的二进制代码输出至加密模块,将原始文件中的入口点函数清空;
所述资源分析模块,用于分析原始文件的资源数据,将文件的资源数据输出至加密模块,将原始文件的资源数据清空;
所述加密模块,用于对原始文件的数据进行加密,通过加密算法对输入表、入口点函数、资源数据进行加密,加密用的密钥通过与软件保护装置协商获得;
所述数据存取模块,用于将加密后的数据存入软件保护装置或者从软件保护装置中取出已保存的加密后的数据;
所述解密模块,负责对从软件保护装置内取出的加密后的数据进行解密;
所述文件运行模块,用于在镜像文件运行时,将镜像文件中的的输入表中的输入地址表地址替换为中转模块地址;
所述文件链接模块,用于构建新的输入表,新构建的输入表只包含装载动态链接库的函数和获取函数地址的函数;以及用于将新构建的输入表、数据存取模块、解密模块、中转模块及文件运行模块注入到原始文件,构建成为镜像文件;
所述中转模块,用于在被调用时通过数据存取模块将加密后的输入表从软件保护装置中取出,通过解密模块对输入表解密,中转模块执行解密后的输入表中的函数。
7.根据权利要求6所述的系统,其特征在于,文件运行模块进一步用于对原始文件中的资源相关函数进行挂钩,将资源相关函数转向到自定义的资源处理函数;镜像文件调用资源相关函数时,挂钩后的自定义资源处理函数从文件保护装置内取出加密后的资源数据送入解密模块进行解密;解密后,返回解密后的资源数据。
8.根据权利要求6所述的系统,其特征在于,所述中转模块进一步用于调用数据存取模块从文件保护装置内取出函数所在的动态链接库名称和函数名称,通过解密模块对函数所在的动态链接库名称和函数进行解密,获取函数地址,跳转到获取函数地址处继续执行。
9.根据权利要求6所述的系统,其特征在于,所述加密算法为对称加密算法或者非对称算法。
10.根据权利要求6所述的系统,其特征在于,所述入口点分析模块进一步用于将原始文件中的入口点函数用无效字符填充。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京深思洛克软件技术股份有限公司,未经北京深思洛克软件技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210384792.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:车辆的后部行李箱结构
- 下一篇:一种圆形牙板的制作工艺及其制作模具