[发明专利]文件保护方法、装置、计算设备及计算机存储介质有效
申请号: | 201711455859.1 | 申请日: | 2017-12-28 |
公开(公告)号: | CN108182358B | 公开(公告)日: | 2020-09-29 |
发明(设计)人: | 汪德嘉;华保健;邵根波;赵迪;刘庆川 | 申请(专利权)人: | 江苏通付盾信息安全技术有限公司 |
主分类号: | G06F21/54 | 分类号: | G06F21/54 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 215000 江苏省苏州市工业*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 文件 保护 方法 装置 计算 设备 计算机 存储 介质 | ||
1.一种文件保护方法,其特征在于,包括:
生成与原程序文件中待保护指令相对应的第一抽象语法树;
保存所述第一抽象语法树中的至少一条待处理指令的运行环境,得到保存环境后的第二抽象语法树;
对所述第二抽象语法树中的至少一条待处理指令进行混淆处理,得到混淆处理后的第三抽象语法树;
恢复所述第三抽象语法树中的至少一条待处理指令的运行环境,得到恢复环境后的第三抽象语法树;
生成与所述第三抽象语法树相对应的程序文件;
其中,所述对所述第二抽象语法树中的至少一条待处理指令进行混淆处理,得到混淆处理后的第三抽象语法树进一步包括:对所述第二抽象语法树中的至少一条待处理指令中的每一条待处理指令添加混淆指令,以改变与所述待处理指令对应的变量值和/或寄存器中的变量值,得到混淆处理后的第三抽象语法树。
2.根据权利要求1所述的文件保护方法,其特征在于,所述生成与原程序文件中待保护指令相对应的第一抽象语法树进一步包括:
对所述原程序文件中的待保护指令进行反编译处理,得到反编译结果;
根据所述反编译结果,生成与待保护指令相对应的第一抽象语法树。
3.根据权利要求1所述的文件保护方法,其特征在于,所述保存所述第一抽象语法树中的至少一条待处理指令的运行环境进一步包括:
确定所述第一抽象语法树中的至少一条待处理指令所在的寄存器;
保存所述寄存器中的变量值。
4.根据权利要求1-3任一项所述的文件保护方法,其特征在于,所述对所述第二抽象语法树中的至少一条待处理指令进行混淆处理,得到混淆处理后的第三抽象语法树进一步包括:
对所述第二抽象语法树中的至少一条待处理指令中的每一条待处理指令添加控制转移指令。
5.根据权利要求1-3任一项所述的文件保护方法,其特征在于,在对所述第二抽象语法树中的至少一条待处理指令进行混淆处理,得到混淆处理后的第三抽象语法树之后,所述方法还包括:
针对所述第三抽象语法树中的至少一条待处理指令中的每一条待处理指令,生成与所述待处理指令相对应的私钥以及与所述私钥相映射的加密代码;利用所述私钥与所述加密代码,对所述待处理指令进行加密处理,得到与所述待处理指令相对应的指令加密密文。
6.根据权利要求5所述的文件保护方法,其特征在于,在所述生成与所述待处理指令相对应的私钥以及与所述私钥相映射的加密代码之后,所述方法还包括:
生成与所述私钥相对应的公钥以及与所述公钥相映射的解密代码,其中,所述公钥和所述解密代码用于对所述指令加密密文进行解密处理。
7.根据权利要求1-3任一项所述的文件保护方法,其特征在于,在生成与所述第三抽象语法树相对应的程序文件之后,所述方法进一步包括:
对与所述第三抽象语法树相对应的程序文件中的控制转移指令的执行逻辑进行修复处理。
8.根据权利要求7所述的文件保护方法,其特征在于,所述对与所述第三抽象语法树相对应的程序文件中的控制转移指令的执行逻辑进行修复处理进一步包括:
检测与所述第三抽象语法树相对应的程序文件中是否存在控制转移指令;
若是,则对与所述第三抽象语法树相对应的程序文件中的控制转移指令进行分析,得到所述控制转移指令的本身地址和与所述控制转移指令相对应的本身跳转地址,并将所述本身跳转地址确定为控制转移指令目标虚地址;
计算所述控制转移指令目标虚地址和所述控制转移指令的本身地址之间的偏移量;
将所述偏移量作为所述控制转移指令的操作数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏通付盾信息安全技术有限公司,未经江苏通付盾信息安全技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711455859.1/1.html,转载请声明来源钻瓜专利网。