杨乐, 曾凡兴, 何火娇, 王兴宇. 一种基于垃圾代码的混淆算法研究[J]. 微电子学与计算机, 2011, 28(4): 127-130.
引用本文: 杨乐, 曾凡兴, 何火娇, 王兴宇. 一种基于垃圾代码的混淆算法研究[J]. 微电子学与计算机, 2011, 28(4): 127-130.
YANG Le, CENG Fan-xing, HE Huo-jiao, WANG Xing-yu. Research of Obfuscating Algorithms Based on the Garbage Code[J]. Microelectronics & Computer, 2011, 28(4): 127-130.
Citation: YANG Le, CENG Fan-xing, HE Huo-jiao, WANG Xing-yu. Research of Obfuscating Algorithms Based on the Garbage Code[J]. Microelectronics & Computer, 2011, 28(4): 127-130.

一种基于垃圾代码的混淆算法研究

Research of Obfuscating Algorithms Based on the Garbage Code

  • 摘要: 控制流混淆用于混淆程序的运行流程,从而防止对软件的逆向工程,但通常混淆后的程序在代码量以及执行时间方面都有较大增长.针对不透明谓词难抵挡动态攻击这一弱点,提出了利用"垃圾代码"进行控制流混淆的思路,采用分支垃圾代码和循环垃圾代码算法相结合,并引入了Hash函数以限制代码的插入操作,从而控制代码长度的增长.实验结果表明,该混淆算法能够有效地控制混淆转换带来的性能过载,同时能够有效地防止逆向工程攻击.

     

    Abstract: 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, obfuscation is done efficiently with moderate increases in code size, execution times, while making the obfuscated code resilient to a variety of reverse engineering attacks.

     

/

返回文章
返回