基于同余方程和改进的压扁控制流的混淆算法
2017-09-03黄章进顾乃杰
计算机应用 2017年6期
关键词:程序
王 岩,黄章进,顾乃杰
(1.中国科学技术大学 计算机科学与技术学院,合肥 230027; 2.中国科学技术大学 安徽省计算与通信重点实验室,合肥 230027; 3.中国科学技术大学 先进技术研究院,合肥 230027)
基于同余方程和改进的压扁控制流的混淆算法
王 岩1,2,3,黄章进1,2,3*,顾乃杰1,2,3
(1.中国科学技术大学 计算机科学与技术学院,合肥 230027; 2.中国科学技术大学 安徽省计算与通信重点实验室,合肥 230027; 3.中国科学技术大学 先进技术研究院,合肥 230027)
(*通信作者电子邮箱zhuang@ustc.edu.cn)
针对现有控制流混淆算法的混淆结果单一的问题,提出了一种基于同余方程和改进的压扁控制流混淆算法。首先,使用密钥和一组同余方程来生成源代码的基本块中需要使用的不透明谓词;其次,基于Logistic混沌映射提出了一种新的N态不透明谓词构造算法,并将其应用到现有的压扁控制流算法中,对现有的压扁控制流算法进行改进;最后,将上述两个对源码进行混淆的算法结合,以此来增加源代码中控制流的复杂度,使其更难被破解。与现有的基于混沌不透明谓词的压扁控制流算法相比,所提混淆算法使混淆后代码的防篡改攻击时间平均提高了22%以上,总圈复杂度平均提高了34%以上。实验结果表明,所提算法能够保证混淆后程序执行结果的正确性并且具有很高的圈复杂度,能够有效地抵抗静态攻击和动态攻击。
代码混淆;N态不透明谓词;同余方程;压扁控制流算法
0 引言
近年来随着软件技术的飞速发展,软件代码的安全保护越来越引起人们的重视。……
登录APP查看全文
