[发明专利]一种基于对抗逆向的程序加固方法及装置在审
申请号: | 201810450815.8 | 申请日: | 2018-05-11 |
公开(公告)号: | CN108647500A | 公开(公告)日: | 2018-10-12 |
发明(设计)人: | 黄绍莽;潘剑 | 申请(专利权)人: | 北京奇虎科技有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14;G06F21/12 |
代理公司: | 北京华沛德权律师事务所 11302 | 代理人: | 房德权 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 程序加固 软件产品 对抗 软件开发技术 可执行程序 源程序文件 用户编辑 工程师 指令 创建 应用 | ||
1.一种基于对抗逆向的程序加固方法,其特征在于,包括:
在用户编辑的源程序文件中创建一个以上不可达分支;
在所述一个以上不可达分支的每个不可达分支中添加对抗逆向指令,得到新的程序;
生成与所述新的程序对应的可执行程序文件。
2.如权利要求1所述的基于对抗逆向的程序加固方法,其特征在于,所述在用户编辑的源程序文件中创建一个以上不可达分支,包括:
从所述源程序文件确定一个以上的分支插入位置;
在每个所述分支插入位置添加所述不可达分支。
3.如权利要求2所述的基于对抗逆向的程序加固方法,其特征在于,所述从所述源程序文件确定一个以上的分支插入位置,包括:
从所述源程序文件随机确定一个分支插入位置或者多个分散的分支插入位置。
4.如权利要求1所述的基于对抗逆向的程序加固方法,其特征在于,所述在用户编辑的源程序文件中创建一个以上不可达分支,包括:
从所述源程序文件确定一个以上的目标代码段;
变换每个所述目标代码段,获得包括可达分支和所述不可达分支的新指令段,其中,对应的目标代码段携带在所述新指令段的可达分支中。
5.如权利要求4所述的基于对抗逆向的程序加固方法,其特征在于,所述从所述源程序文件确定一个以上的目标代码段,包括:
从所述源程序文件随机确定一个目标代码段或者多个分散的目标代码段。
6.如权利要求3或5所述的基于对抗逆向的程序加固方法,其特征在于,所述在所述一个以上不可达分支的每个不可达分支中添加对抗逆向指令,包括:
在每个所述不可达分支中添加非指令数据。
7.如权利要求3或5所述的基于对抗逆向的程序加固方法,其特征在于,所述在所述一个以上不可达分支的每个不可达分支中添加对抗逆向指令,包括:
识别每个所述不可达分支所在的位置;
在每个所述可不达分支中添加与该不可达分支所在的位置相匹配的对抗逆向指令。
8.一种基于对抗逆向的程序加固装置,其特征在于,包括:
分支创建单元,用于在用户编辑的源程序文件中创建一个以上不可达分支;
指令添加单元,用于在所述一个以上不可达分支的每个不可达分支中添加对抗逆向指令,得到新的程序;
程序文件生成单元,用于生成与所述新的程序对应的可执行程序文件。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7中任一项所述的步骤。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-7中任一项所述的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司,未经北京奇虎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810450815.8/1.html,转载请声明来源钻瓜专利网。