[发明专利]一种代码保护方法、装置、计算机设备和存储介质在审
申请号: | 201910212434.0 | 申请日: | 2019-03-20 |
公开(公告)号: | CN109948309A | 公开(公告)日: | 2019-06-28 |
发明(设计)人: | 付蒙 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | G06F21/14 | 分类号: | G06F21/14;G06F8/72 |
代理公司: | 北京华仲龙腾专利代理事务所(普通合伙) 11548 | 代理人: | 李静 |
地址: | 710071*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 软件代码 伪随机数 不透明 谓词 代码保护 计算机设备 变量依赖 存储介质 代码混淆 软件保护 生成算法 运算 混淆 | ||
本发明适用于软件保护技术领域,尤其涉及一种代码保护方法、装置、计算机设备和存储介质。所述方法包括以下步骤:获取软件代码,确定所述软件代码中的变量依赖关系;将所述变量依赖关系中的代码变量进行伪随机数生成运算,得到代码伪随机数;根据所述代码伪随机数构造不透明谓词,并将所述不透明谓词插入所述软件代码中,得到所述软件代码对应的软件混淆代码,以保护所述软件代码。本发明利用伪随机数生成算法构造出更复杂的不透明谓词,最后将不透明谓词安全地插入到软件代码中,进一步提高了代码混淆的强度,加强了代码保护的安全性。
技术领域
本发明属于软件保护技术领域,尤其涉及一种代码保护方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术和移动终端技术的迅速发展,软件开发者利用各种技术编写了各式各样功能的应用软件程序,给人们的工作和生活提供了大大的便利,人们对这些程序的依赖程度也越来越高。但与此同时,软件程序也容易遭受恶意攻击。攻击者通过对软件程序进行逆向分析、篡改和盗版,不仅损害了开发者的合法权益,还会严重危害用户的隐私和财产安全。因此为了抵抗恶意攻击,许多软件开发者利用代码混淆来保护软件代码。
目前,现有的代码混淆技术通常只是在保留软件程序原来功能的情况下,对软件程序代码进行一系列的修改和变换,安全性还不够高,攻击者可以利用许多逆向分析技术对混淆后的代码进行自动化分析,还原代码原始的控制逻辑,进而破解软件代码。
可见,现有技术中的代码混淆技术仅是对软件代码的简单的修改和变换,安全性能不足,无法满足日益提高的网络安全需求。
发明内容
本发明实施例的目的在于提供一种代码保护方法,旨在解决现有技术中的代码混淆技术仅是对软件代码的简单的修改和变换,安全性能不足,无法满足日益提高的网络安全需求的问题。
本发明实施例是这样实现的,一种代码保护方法,所述方法包括:
获取软件代码,确定所述软件代码中的变量依赖关系;
将所述变量依赖关系中的代码变量进行伪随机数生成运算,得到代码伪随机数;
根据所述代码伪随机数构造不透明谓词,并将所述不透明谓词插入所述软件代码中,得到所述软件代码对应的软件混淆代码,以保护所述软件代码。
本发明实施例的另一目的在于提供一种代码保护装置,所述装置包括:
变量依赖关系分析模块,用于获取软件代码,确定所述软件代码中的变量依赖关系;
伪随机数生成模块,用于将所述变量依赖关系中的代码变量进行伪随机数生成运算,得到代码伪随机数;
谓词插入模块,用于根据所述代码伪随机数构造不透明谓词,并将所述不透明谓词插入所述软件代码中,得到所述软件代码对应的软件混淆代码,以保护所述软件代码。
本发明实施例的另一目的在于提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行本发明实施例中所述代码保护方法的步骤。
本发明实施例的另一目的在于提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行本发明实施例中所述代码保护方法的步骤。
本发明利用软件代码的变量作为伪随机数生成算法的种子,在软件运行时驱动伪随机数生成算法产生伪随机数;再通过对伪随机数进行各种位操作,构造出更复杂的不透明谓词;最后将不透明谓词安全地插入到软件代码中,进一步提高了代码混淆的强度,加强了代码保护的安全性。
附图说明
图1为本发明实施例提供的代码保护方法的流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910212434.0/2.html,转载请声明来源钻瓜专利网。