摘要
控制流混淆用于混淆程序的运行流程,从而防止对软件的逆向工程,但通常混淆后的程序在代码量以及执行时间方面都有较大增长.针对不透明谓词难抵挡动态攻击这一弱点,提出了利用"垃圾代码"进行控制流混淆的思路,采用分支垃圾代码和循环垃圾代码算法相结合,并引入了Hash函数以限制代码的插入操作,从而控制代码长度的增长.实验结果表明,该混淆算法能够有效地控制混淆转换带来的性能过载,同时能够有效地防止逆向工程攻击.
Control code obfuscation is intended to prevent malicious reverse engineering of software by masking the program control flow. But the file size and execution time often increase intensively. Because the opaque predicate is difficult to resist the dynamic attacks, the article put forward to make use of "garbage code" to carry out the control flow confusion. The branch garbage code and circulation the garbage code are used in the method and a hash function is introduced here to control the number of insert operation. Our experiments show that aided with the method, ob- fuscation is done efficiently with moderate increases in code size, execution times, while making the obfuscated code resilient to a variety of reverse engineering attacks.
出处
《微电子学与计算机》
CSCD
北大核心
2011年第4期127-130,共4页
Microelectronics & Computer
基金
国家自然科学基金项目(60963013
69983003)
关键词
垃圾代码
代码混淆
控制流
逆向工程
garbage code
code obfuscation
control flow
reverse engineering