[发明专利]基于随机混淆的多样化编译方法及系统在审
申请号: | 202310476638.1 | 申请日: | 2023-04-27 |
公开(公告)号: | CN116627421A | 公开(公告)日: | 2023-08-22 |
发明(设计)人: | 王俊超;庞建民;陈迎超;岳峰;黄舒成;周鑫 | 申请(专利权)人: | 中国人民解放军战略支援部队信息工程大学 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F21/14;G06F7/58 |
代理公司: | 郑州大通专利商标代理有限公司 41111 | 代理人: | 周艳巧 |
地址: | 450000 河*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 随机 混淆 多样化 编译 方法 系统 | ||
1.一种基于随机混淆的多样化编译方法,其特征在于,包含:
获取待多样化数据文件;
遍历待多样化数据文件程序的函数,从预设混淆方案库中随机选取混淆方案并通过编译器对函数进行代码混淆,以生成程序功能等价执行体,直至遍历完待多样化数据文件中所有程序函数;
获取待多样化数据文件各程序功能等价执行体编译文件并输出。
2.根据权利要求1所述的基于随机混淆的多样化编译方法,其特征在于,待多样化数据为利用编程语言编写的多个源代码文件或单个源代码文件。
3.根据权利要求1所述的基于随机混淆的多样化编译方法,其特征在于,从预设混淆方案库中随机选取混淆方案并通过编译器对函数进行代码混淆,包含:
首先,利用随机数生成器生成用于选取混淆方案的随机数;
然后,依据随机数从预设混淆库中选取混淆方案,利用选取的混淆方案并通过编译器对函数进行代码混淆。
4.根据权利要求1所述的基于随机混淆的多样化编译方法,其特征在于,预设混淆方案库由多个用于程序保护的代码混淆方案组成。
5.根据权利要求1或4所述的基于随机混淆的多样化编译方法,其特征在于,预设混淆方案库包含:控制流混淆方案、控制流平展混淆方案、基本块切分混淆方案、指令替换混淆方案和字符串加密混淆方案。
6.根据权利要求1所述的基于随机混淆的多样化编译方法,其特征在于,从预设混淆方案库中随机选取混淆方案并通过编译器对函数进行代码混淆,还包含:设置代码混淆次数,依据代码混淆次数来完成当前程序函数的多次代码混淆。
7.根据权利要求6所述的基于随机混淆的多样化编译方法,其特征在于,通过编译器对函数进行代码混淆中,基于LLVM框架在中间表示阶段通过增加编译器命令参数来在函数级别对代码进行随机混淆,其中,增加编译器命令参数通过添加随机混淆pass文件来完成。
8.一种基于随机混淆的多样化编译系统,其特征在于,包含:数据获取模块、数据编译模块和数据输出模块,其中,
数据获取模块,用于获取待多样化数据文件;
数据编译模块,用于通过遍历待多样化数据文件中程序函数,从预设混淆方案库中随机选取函数的混淆方案并通过编译器对函数进行代码混淆,以生成程序功能等价执行体,直至遍历完待多样化数据文件中所有程序函数;
数据输出模块,用于获取待多样化数据文件各程序功能等价执行体编译文件并输出。
9.一种电子设备,其特征在于,包括存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1~7任一项所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1~7任一项所述的方法步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军战略支援部队信息工程大学,未经中国人民解放军战略支援部队信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310476638.1/1.html,转载请声明来源钻瓜专利网。