摘要:
针对控制流混淆会引入额外开销的问题,提出一种利用垃圾代码进行控制流混淆的算法。将分支垃圾代码算法和循环垃圾代码算法相结合,并引入Hash函数以限制代码的插入操作,从而控制代码长度的增长,降低程序分析的精确度,抵抗篡改攻击。实验结果表明,该算法能有效防御逆向工程攻击。
关键词:
垃圾代码,
代码混淆,
控制流混淆,
Hash函数,
伪指令
Abstract:
Aiming at the problem that it will cause extra costs when introducing control flow obfuscation, this paper puts forward to make use of the 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, so the accuracy of the program analysis is decreased greatly and the tamper attack is hard to attain its purpose.It implements part of the algorithm and analyze its efficiency. Experimental results show that the algorithm can effectively prevent reverse engineering attacks.
Key words:
garbage code,
code obfuscation,
control flow obfuscation,
Hash function,
pseudoinstruction
中图分类号:
杨乐, 周强强, 薛锦云. 基于垃圾代码的控制流混淆算法[J]. 计算机工程, 2011, 37(12): 23-25.
YANG Le, ZHOU Jiang-Jiang, XUE Jin-Yun. Control Flow Obfuscation Algorithm Based on Garbage Code[J]. Computer Engineering, 2011, 37(12): 23-25.