基于混沌不透明谓词的压扁控制流混淆算法研究

需积分: 0 0 下载量 76 浏览量 更新于2024-08-03 收藏 399KB PDF 举报
本文主要探讨了一种创新的压扁控制流混淆算法,该算法名为"一种基于混沌不透明谓词的压扁控制流算法"。这项研究由吴伟民、林水明和林志毅三位作者在广东工业大学计算机学院完成,发表于2015年5月的《计算机科学》杂志第42卷第5期。压扁控制流混淆是软件安全领域的一种关键技术,旨在使程序的控制流程难以理解和逆向工程,从而提高代码的可保护性。 算法的核心贡献在于引入了一种新颖的构造方法,即利用Arnoldcat二维混沌映射来构建N状态的不透明谓词。Arnoldcat是一种著名的混沌系统,其特性使得它能够产生复杂而不可预测的行为,这对于混淆算法而言是非常理想的。通过混沌映射,算法能够在保持程序逻辑正确性的前提下,对全局索引变量进行有效地改造,从而增强混淆后的程序对抗逆向工程的难度。 论文还开发了一个基于此算法的JavaScript脚本混淆系统。这个系统展示了混沌不透明谓词在实际混淆过程中的应用,能够将JavaScript代码进行深度混淆,使得原代码的结构和逻辑变得难以解读。静态分析和动态分析被用来验证算法的正确性和有效性,即在混淆前后,程序的功能保持不变,但其内部结构已发生显著变化,这正是混淆算法追求的目标。 关键词包括Arnoldcat二维混沌映射、N状态不透明谓词、压扁控制流算法以及JavaScript。这些关键词表明了研究的焦点集中在混沌理论与密码学的交叉领域,以及其在Web脚本混淆技术中的实际应用。这项工作提供了一种潜在的增强软件安全的方法,对于理解和提升现代应用程序的安全性具有重要意义。