期刊文献+

可执行代码简化中间表示的设计与实现

Design and implementation of simple intermediate representations for executable code
下载PDF
导出
摘要 为了保证可执行代码分析的简洁性和严密性,设计并实现了一种简化汇编语言中间表示(SAIR)。根据汇编指令的特点,给出SAIR的语法并详细描述了SAIR的结构化操作语义。对汇编指令进行分类,设计了中间语言翻译字典以建立汇编指令与SAIR的映射关系。通过中间语言翻译字典实现反汇编代码向SAIR的转化,得到SAIR。最后,给出汇编代码转化SAIR的实例。实验结果表明,设计并实现的SAIR可读性强,易于理解,可有效地提高可执行代码的分析效率。 To ensure simplicity and stringentness of analyzing executable code,a design method of a simple assembly language inter-mediate representation(SAIR) for executable code is presented.Firstly,according to the characteristic of the assembly language in-structions,SAIRs’ syntactic is given and its structural operational semantics is described in detail.Then,the assembly instructions are classified and the mapping relation of assembly code with the SAIR is established.The assembly code may simplify into SAIR through the mapping relations.Finally,the example of an assembly code transform into SAIR is given.The presented SAIR avoids the complexity of various CPU instruction systems and their addressing mechanisms and does not concern details related with target platforms.SAIR enjoys good readability,which means easily comprehensible and improved analysis efficiency.
出处 《计算机工程与设计》 CSCD 北大核心 2010年第12期2880-2882,2886,共4页 Computer Engineering and Design
基金 国家863高技术研究发展计划基金项目(2007AA01Z483) 河南省科技创新基金项目(082102210011)
关键词 反汇编代码 中间表示 结构化操作语义 形式语义 抽象表示 reverse assembled code intermediate representation structural operational semantics formal semantics abstract presentation
  • 相关文献

参考文献8

  • 1Balakrishnan G,Reps T.Analyzing memory accesses in x86 executables[C].Barcelona,Spain:Proc Int Conf on Compiler Construction(CC),2004:5-23.
  • 2Balakrishnan G,Gruian R,Reps T,et al.CodeSurfer/x86-A platform for analyzing x86 executables[C].Edinburgh,Scotland:Proc Int Conf on Compiler Construction(CC),2005:250-254.
  • 3DataRescue.Hex-rays[EB/OL].http://www.hex-rays.com/,2009.
  • 4Cristina Cifuentes,Mike van Emmerik,Norman Ramsey,et al.The university of queensland binary translator(UQBT)framework[EB/OL].http://experimentalstuff.com/Technologies/uqbt/uqbt.pdf,2001.
  • 5Emmerik M V.Static single assignment for decompilation[D].University of Queensland,2007.
  • 6Mike Van Emmerik.Boomerang[EB/OL].http://boomerang.sourceforge.net/,2006.
  • 7陈凯明,刘宗田,任传胜.逆编译中面向用户的中间语言设计和实现[J].小型微型计算机系统,2002,23(10):1173-1176. 被引量:4
  • 8秦青文,王戟,孙旭光,梅文华.基于IDA-Pro的软件逆向分析方法[J].计算机工程,2008,34(22):86-88. 被引量:4

二级参考文献15

  • 1Program Transformation Wiki. Program Transformation[EB/OL]. (2005-09-10). http://www.program- transformation.org.
  • 2Allen F E, Cogke J. A Program Data Flow Analysis Procedure[J]. Communications of the ACM, 1976, 19(3): 137-147.
  • 3Cifuentes C. Reverse Compilation Techniques[D]. Queensland, Australia: Queensland University of Technology, 1994.
  • 4Data Rescue. IDA Pro Disassembler[EB/OL]. (2006-10-20). http:// www.datarescue.com/idabase.
  • 5刘宗田 朱逸芬.符于执行技术在68000C反编译程序中的应用[J].计算机学报,1988,6:631-637.
  • 6陈凯明 刘宗田.逆编译中按特征恢复数据类型[J].计算机研究与发展,2001,(38):209-213.
  • 7Cifuentes,C.Interprocedural data flow decompilation[J].Journal of Programming Languages,1996,4(2):77~99
  • 8Breuer,P.T*,Bowen,J.P*.Decompilation:the enumerationof types and grammars[J].ACM Transaction on Programming Languages and Systems,1994,16(5):1613~1647
  • 9刘宗田.C语言反编译系统DECLER[J].微电子学与计算机,1997,14(5):1-3. 被引量:5
  • 10赵蕾,王开铸.C反编译控制流恢复的形式描述及算法[J].计算机学报,1998,21(1):87-91. 被引量:8

共引文献6

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

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