[发明专利]一种可执行程序加壳保护方法有效
申请号: | 201210019323.6 | 申请日: | 2012-01-20 |
公开(公告)号: | CN102609666A | 公开(公告)日: | 2012-07-25 |
发明(设计)人: | 陆舟;于华章 | 申请(专利权)人: | 飞天诚信科技股份有限公司 |
主分类号: | G06F21/22 | 分类号: | G06F21/22 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 可执行 程序 保护 方法 | ||
1.一种可执行程序加壳保护方法,其特征是:包括以下步骤,
步骤101:将打好补丁的外壳目标文件添加到可执行程序文件的尾部形成目标可执行程序文件;
步骤102:对所述目标可执行程序文件的文件头进行修改形成修改后的目标可执行程序文件;
所述修改包括在所述文件头加入一条段命令来描述所述打好补丁的外壳目标文件和密钥设备驱动程序模块,以及修改在所述文件头的命令项找到的线程状态命令和预设段命令;
步骤103:遍历所述修改后的目标可执行程序文件,找到执行代码段,用第一密钥对所述执行代码段进行第一次加密,并用加密结果替换所述修改后的目标可执行程序文件中的执行代码段,得到第一次加密后的目标可执行程序文件;
步骤104:将包含密钥设备驱动和加解密算法的密钥设备驱动程序模块添加到所述第一次加密后的目标可执行程序文件的执行代码段的尾部形成新的第一次加密后的目标可执行程序文件;
步骤105:构建外壳程序文件模型,并根据所述新的第一次加密后的目标可执行程序文件将所述外壳程序文件模型构建形成外壳程序;
步骤106:调用所述密钥设备驱动程序模块中的加密算法,利用第二密钥对所述外壳程序中的所述新的第一次加密后的目标可执行程序文件进行第二次加密,用第二次加密后的目标可执行程序文件替换所述外壳程序中的所述新的第一加密后的目标可执行程序文件,构成第二次加密后的外壳程序;
步骤107:修改所述第二次加密后的外壳程序的文件头的内容,获得修改后的外壳程序;
步骤108:完成加壳,保存所述修改后的外壳程序。
2.根据权利要求1所述的一种可执行程序加壳保护方法,其特征是:步骤101所述外壳目标文件打补丁的过程包括,将所述外壳目标文件载入内存,将密钥设备驱动程序模块的基本信息添加到所述外壳目标文件的数据段中,将第一随机数作为种子码添加到所述外壳目标文件的数据段中,将密钥设备参数添加到所述外壳目标文件的数据段中。
3.根据权利要求2所述的一种可执行程序加壳保护方法,其特征是:所述密钥设备驱动程序模块的基本信息包含驱动程序地址、驱动程序大小,所述密钥设备参数包含密钥设备的硬件ID、用户密码和密钥设备的轮询间隔。
4.根据权利要求1所述的一种可执行程序加壳保护方法,其特征是:步骤102所述修改在所述文件头的命令项找到的线程状态命令和预设段命令具体为,从所述线程状态命令获取程序原始入口点,并将所述程序原始入口点写入所述预设段命令;将所述预设段命令的入口点写入所述线程状态命令。
5.根据权利要求1所述的一种可执行程序加壳保护方法,其特征是:步骤103所述第一密钥是通过以下方式获取的:计算机向密钥设备发送第一随机数,所述密钥设备返回第一密钥。
6.根据权利要求1所述的一种可执行程序加壳保护方法,其特征是:步骤105所述外壳程序文件模型的文件头的设置如下:写入段命令和线程状态命令,标志位设置为不需要附加动态连接器,写入的所述段命令的长度设置为第一长度,所述第一长度等于所述新的第一次加密后的目标可执行程序文件的长度。
7.根据权利要求1所述的一种可执行程序加壳保护方法,其特征是:步骤105所述构建形成外壳程序的过程为:从所述外壳程序文件模型中提取出代码段进行处理,然后将所述新的第一次加密后的目标可执行程序文件添加到处理后的所述代码段的尾部一起构成所述外壳程序的代码段;所述处理包括,将第二随机数作为第二密钥添加到代码段的数据中,将待加密文件即所述新的第一次加密后的目标可执行程序文件的文件偏移和文件长度添加到代码段的数据中,将代码段中的数据与代码之间的空隙用随机数进行填充。
8.根据权利要求7所述的一种可执行程序加壳保护方法,其特征是:所述步骤107具体为,遍历所述第二次加密后的外壳程序的文件头,找到段命令,获取所述第二次加密后的目标可执行程序文件的长度并记为第二长度,将所述外壳程序中的段命令的长度设置为第二长度。
9.根据权利要求1所述的一种可执行程序加壳保护方法,其特征是:所述第一次加密和所述第二次加密采用同一对称算法加密,或者采用不同的对称算法加密。
10.根据权利要求1所述的一种可执行程序加壳保护方法,其特征是:所述可执行程序文件是i386或x64格式文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于飞天诚信科技股份有限公司,未经飞天诚信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210019323.6/1.html,转载请声明来源钻瓜专利网。