[发明专利]一种代码混淆方法、装置、电子设备及存储介质在审
申请号: | 202210016432.6 | 申请日: | 2022-01-07 |
公开(公告)号: | CN114357390A | 公开(公告)日: | 2022-04-15 |
发明(设计)人: | 马涛;吴璇;刘加瑞 | 申请(专利权)人: | 北京华云安软件有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 北京超凡宏宇专利代理事务所(特殊普通合伙) 11463 | 代理人: | 彭星 |
地址: | 100094 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 代码 混淆 方法 装置 电子设备 存储 介质 | ||
本申请提供了一种代码混淆方法、装置、电子设备及存储介质,该方法包括:本申请针对所述原始代码中的待替换常量,根据预设的加密替换表中加密单元格的内容和顺序,从所述加密替换表中,获取不同数量的待选替换方法;按照预设针对所述待选替换方法的选取方法,从所述待选替换方法中,选出目标替换方法;按照所述目标替换方法,对所述原始代码中的待替换常量进行替换处理,得到替换后的混淆代码;运行替换后的所述混淆代码,以隐藏所述原始代码。本申请根据加密替换表设置多个待选替换方案,对于原始代码中的不同常量可以使用不同待选替换方案进行替换,即使通过多次替换之后的运行,也不易从中得到替换的规律,大大提升了原始代码的安全性。
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种代码混淆方法、装置、电子设备及存储介质。
背景技术
代码混淆(Obfuscated code)亦称花指令,是将计算机程序的代码,转换成一种功能上等价,但是难于阅读和理解的形式的行为。比如改写成单个字母,或是简短的无意义字母组合,甚至改写成符号,使得阅读的人无法根据名字猜测其用途。重写代码中的部分逻辑,将其变成功能上等价,但是更难理解的形式。程序编译生成的代码进行代码混淆,增加代码被反汇编,代码逻辑被解读的难度。提高代码算法被破解的安全性。
现有技术中对代码进行等价替换时,仅仅进行简单的替换,且替换方式固定,已不能满足对于代码安全性的要求。
发明内容
有鉴于此,本申请的目的在于提供一种代码混淆方法、装置、电子设备及存储介质,根据加密替换表设置多个待选替换方案,对于原始代码中的不同常量可以使用不同待选替换方案进行替换,即使通过多次替换之后的运行,也不易从中得到替换的规律,大大提升了原始代码的安全性。
第一方面,本申请实施例提供了一种代码混淆方法,所述方法包括:
针对所述原始代码中的待替换常量,根据预设的加密替换表中加密单元格的内容和顺序,从所述加密替换表中,获取不同数量的待选替换方法;
按照预设针对所述待选替换方法的选取方法,从所述待选替换方法中,选出目标替换方法;
按照所述目标替换方法,对所述原始代码中的待替换常量进行替换处理,得到替换后的混淆代码;
运行替换后的所述混淆代码,以隐藏所述原始代码。
在本申请一些技术方案中,上述方法通过以下方式得到所述加密替换表:
建立包括预设数量初始单元格的初始替换表;所述初始单元格中设置有以下至少之一:数字、字符、函数、运算符号;
从加密算法库中的多个待选加密算法中,选取目标待选加密算法;
使用所述目标待选加密算法对所述初始替换表进行加密处理,得到包含加密单元格的所述加密替换表。
在本申请一些技术方案中,上述针对所述原始代码中的待替换常量,根据预设的加密替换表中加密单元格的内容和顺序,从所述加密替换表中,获取不同数量的待选替换方法,包括:
针对所述原始代码中的待替换常量,对所述加密替换表中的至少一个所述加密单元格进行排列组合,得到多个待选表达式,并计算每个所述待选表达式的计算结果;
根据每个所述待选表达式的计算结果,从所述待选表达式中,选择所述计算结果与所述待选替换常量等价的目标待选表达式;
根据所述目标待选表达式,设定所述待选替换方法。
在本申请一些技术方案中,上述根据所述目标待选表达式,设定所述待选替换方法,包括:
根据所述目标待选表达式对应加密单元格的内容,替换所述待替换常量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京华云安软件有限公司,未经北京华云安软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210016432.6/2.html,转载请声明来源钻瓜专利网。