期刊文献+

一种基于重定位信息的二次反汇编算法 被引量:5

A Relocation Information-based Revisited Method for Disassembly
下载PDF
导出
摘要 反汇编技术是静态分析二进制程序的基础,目前广为采用的反汇编算法是线性扫描和递归行进算法。前者无法正确处理代码段中嵌入数据的情况,后者则必须解决间接跳转目的地址的预测问题。本文介绍了这两种算法的原理,分析了其存在的问题,并利用二进制文件中的重定位信息对它们进行了优化。将优化后的两种方法结合起来,给出了一种新颖的二次反汇编算法,这种算法能够捕获反汇编过程中出错的情况,从而控制错误传播,并使得基于反汇编代码的应用可以针对出错情况进行相应的处理。 Binary disassembly routines form a fundamental component of software systems that statically analyze or modify executable programs. Linear Sweep algorithm and Rrecursive Traversal are two popular methods used by many systems that analyze or modify executable file. The former has the disadvantage that any data that is embedded in the instruction stream is misinterpreted while the latter has difficulty in dealing with indirect jumps. This article examines these two algorithms and illustrates their shortcomings. Relocation Information is used to improve them. A novel revisited method is given by combining the two improved algorithm which can detect situations where the disassembly may be incorrect and limit the extent of such disassembly errors.
出处 《计算机科学》 CSCD 北大核心 2007年第7期284-287,292,共5页 Computer Science
关键词 反汇编 二进制代码 线性扫描算法 递归行进算法 Disassembly, Binary, Linear sweep, Recursive traversal
  • 相关文献

参考文献8

  • 1GNU Project - Free Software Foundation, objdump, GNU Manuals Online. http://www.gnu. org/manual/binutils-2. 10. 1/html chapter/binutils4. html.
  • 2Larus J R, Ball T. Rewriting Executable Files to Measure Program Behavior. Software-Practice and Experience, 1994, 24 (2) 197-218 1994.
  • 3Larus J R, Schnarr E. EEL: Machine-Independent Executable Editing. In: Proc. SIGPLAN'95 Conference on Program-ming Language Design and Implementation, June 1995. 291-300
  • 4Cifuentes C, Van Emmerik M, Ung D, et al. Preliminary Experiences with the UQBT Binary Translation Framework. In: Proc. Workshop on Binary Translation, Oct. 1999
  • 5Theiling H. Extracting Safe and Precise Control Flow from Binaries. In:Proceedings of the 7th Conference on Real-Time Computing Systems and Applications, Dec. 2000
  • 6Cifuentes C,Gough K J. Decompilation of Binary Programs. Software-Practice and Experience, 1995, 25 (9)
  • 7Cifuentes C, Van Emmerik M. Recovery of Jump Table Case Statements from Binary Code. In:Proceedings of the Inter national Workshop on Program Comprehension, May 1999
  • 8De Sutter B,De Bus B,De Bosschere K,et al. On the Static Analysis of Indirect Control Transfers in Binaries. In: Proc. International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA), 2000

同被引文献37

引证文献5

二级引证文献13

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部