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

计算机工程 ›› 2010, Vol. 36 ›› Issue (15): 46-48. doi: 10.3969/j.issn.1000-3428.2010.15.016

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

二进制补丁比对中的指令归一化算法

沈亚楠1,2,赵荣彩1,王小芹2,任 华2,刘振华2,张新宇2,李鹏飞3   

  1. (1. 解放军信息工程大学信息工程学院,郑州 450001;2. 北京北方计算中心,北京 100091;3. 中国科学院软件所,北京 100090)
  • 出版日期:2010-08-05 发布日期:2010-08-25
  • 作者简介:沈亚楠(1980-),男,硕士,主研方向:软件安全;赵荣彩,教授、博士生导师;王小芹,高级工程师、硕士;任 华、 刘振华,工程师、硕士;张新宇,高级工程师、博士;李鹏飞,博士
  • 基金资助:
    国家部委基金资助项目;国家自然科学基金资助项目(60603017)

Instruction Normalization Algorithm in Binary Patch Comparison

SHEN Ya-nan1,2, ZHAO Rong-cai1, WANG Xiao-qin2, REN Hua2, LIU Zhen-hua2, ZHANG Xin-yu2, LI Peng-fei3   

  1. (1. Information Engineering College, PLA Information Engineering University, Zhengzhou 450001; 2. Beijing North Computer Center, Beijing 100091; 3. Institute of Software, Chinese Academy of Sciences, Beijing 100090)
  • Online:2010-08-05 Published:2010-08-25

摘要: 针对软件二进制补丁分析过程,提出一种指令归一化算法,用于判别补丁前后的相应基本块内指令是否发生重排序。与常用的小素数法相比,该算法不受基本块内指令条数的限制,不会导致差异信息漏报,且效率较高、效果良好。初步实验证明,该算法减少了人工分析差异信息的工作量,可以帮助逆向分析人员快速定位软件差异。

关键词: 软件补丁比对, 指令重排列, 小素数法, 指令归一化

Abstract: Aiming at the analyzing process of software binary patch, this paper proposes an instruction normalization algorithm to distinguish whether the corresponding basic blocks are reordered. Compared with the normally small prime algorithm, this algorithm is not limited to instruction numbers and does not fail to report the difference information. It has high efficiency and good effect. Initial experiments show that this algorithm can reduce the manual work to analyze difference information and help reverse engineering person quickly locate software difference.

Key words: software patch comparison, instruction reordering, small prime algorithm, instruction normalization

中图分类号: