[发明专利]一种防止二进制文件被反编译的方法和装置有效
申请号: | 201310450080.6 | 申请日: | 2013-09-27 |
公开(公告)号: | CN104517044B | 公开(公告)日: | 2019-02-26 |
发明(设计)人: | 韩景维 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 董文倩;褚敏 |
地址: | 518044 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种防止二进制文件被反编译的方法和装置,以较为简单的方式增强二进制程序的安全性。所述方法包括:查找二进制文件中待修改函数的执行入口;从所述待修改函数的执行入口开始,确定在所述待修改函数中的执行顺序需要更改的若干指令;更改所述确定的若干指令在所述待修改函数中的执行顺序,将所述待修改函数变成指令的执行顺序打乱的函数。由于二进制文件对应的指令的执行顺序被扰乱后,大大提高了对该二进制文件反编译的难度,因此,本发明实施例提供的方法能够采用比较简单的方式有效防止二进制文件被反编译,从而提高了软件产品的安全性。 | ||
搜索关键词: | 一种 防止 二进制文件 反编译 方法 装置 | ||
【主权项】:
1.一种防止二进制文件被反编译的方法,其特征在于,所述方法包括:查找二进制文件中待修改函数的执行入口;从所述待修改函数的执行入口开始,遍历所述待修改函数中的指令,在遍历的指令Ck访问的数据为关键数据Dk的情况下,则确定所述指令Ck为在所述待修改函数中的执行顺序需要更改的若干指令;若在所述待修改函数中的执行顺序需要更改的若干指令之间预留地址空间较大,而函数自身包含的访问数据指令较少,则在所述预留地址空间处填充垃圾指令,其中,所述垃圾指令包括随机产生的语句和/或跳转随机位置的语句;更改所述确定的若干指令在所述待修改函数中的执行顺序,将所述待修改函数变成指令的执行顺序打乱的函数包括:将所述关键数据Dk存入软件保护器并从所述待修改函数中清除所述关键数据Dk;在存放所述指令Ck的地址Ack1处注入关键数据访问指令,所述关键数据访问指令执行后用于从所述软件保护器中读取所述关键数据Dk。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310450080.6/,转载请声明来源钻瓜专利网。