论文部分内容阅读
控制流混淆用于混淆程序的运行流程,从而防止对软件的逆向工程,但通常混淆后的程序在代码量以及执行时间方面都有较大增长。提出了随机插入混淆策略,采用分支插入算法和循环条件插入算法相结合,并引入了随机函数以限制代码的插入操作,从而控制代码长度的增长。使用BCEL设计并实现了基于Java字节码的控制流混淆转换工具,能够实现Java字节码的迭代混淆,且混淆结果具有一定的不可再现性。实验结果表明,该策略能够有效地控制混淆转换带来的性能过载,同时能够有效地防止逆向工程攻击。