作者投稿和查稿 主编审稿 专家审稿 编委审稿 远程编辑

计算机工程 ›› 2011, Vol. 37 ›› Issue (12): 23-25. doi: 10.3969/j.issn.1000-3428.2011.12.008

• 软件技术与数据库 • 上一篇    下一篇

基于垃圾代码的控制流混淆算法

杨 乐 1,2,周强强 1,薛锦云 3   

  1. (1. 江西农业大学计算机与信息工程学院,南昌 330045;2. 江西省高等学校农业信息技术重点实验室,南昌 330045;3. 江西省高校软件科学技术中心,南昌 330022)
  • 收稿日期:2010-12-14 出版日期:2011-06-20 发布日期:2011-06-20
  • 作者简介:杨 乐(1979-),男,讲师、硕士,主研方向:软件形式化与自动化,农业信息技术;周强强,讲师、硕士;薛锦云,教授、博士生导师
  • 基金资助:

    科技部国际科技合作基金资助项目(2008DFA11940)

Control Flow Obfuscation Algorithm Based on Garbage Code

YANG Le 1,2, ZHOU Qiang-qiang 1, XUE Jin-yun 3   

  1. (1. College of Computer and Information Engineering, Jiangxi Agricultural University, Nanchang 330045, China; 2. College and Universities in Jiangxi Province Key Laboratory of Agricultural Information Technology, Nanchang 330045, China;3. Center of Software Science and Technology Colleges and Universities of Jiangxi Province, Nanchang 330022, China)
  • Received:2010-12-14 Online:2011-06-20 Published:2011-06-20

摘要:

针对控制流混淆会引入额外开销的问题,提出一种利用垃圾代码进行控制流混淆的算法。将分支垃圾代码算法和循环垃圾代码算法相结合,并引入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

中图分类号: