期刊文献+

反编译中数据类型自动重构技术研究 被引量:1

Automatic Data Type Reconstruction in Decompilation
下载PDF
导出
摘要 类型重构作为反编译的关键问题,对程序的可读性及可理解性具有重要的作用。给出了汇编基础上数据类型自动重构的算法。对于简单类型,通过基于格的类型属性操作,用迭代算法来实现类型恢复;对于复杂类型,通过构建标记等价类来恢复结构化类型的框架,而后通过收集框架内可访问的偏移集合并利用简单类型恢复的算法对偏移对象类型进行恢复,从而推导出复杂结构类型。该算法是目前正在开发的类型重构工具的关键技术,它不仅能够准确地重构简单类型,而且能够准确地解析复杂类型,且准确率较高。 As one of the most significant modules of decompilation,data type reconstruction has an important role in readability and intelligibility.This paper proposed an algorithm for automatic type reconstruction from assembly code obtained from the MinGW GCC 3.4.5 compiler.The basic types are reconstructed using an iterative algorithm,which uses a lattice over the types' properties.The composite types' skeletons are recovered by establishing label equivalence classes,and the member variables by constructing the set of offsets for each composite type.The algorithm is the essential part of the tool being developed by authors,which not only reconstructs the basic type exactly,but also makes an active research into the hot issue aimed by all researchers currently and it has a favorable outcome.
出处 《计算机科学》 CSCD 北大核心 2012年第5期133-136,共4页 Computer Science
基金 国家"863"计划基金(2007AA01Z483) 河南省科技攻关(092101210503)资助
关键词 反编译 类型重构 类型依赖方程 等价类 Decompilation Type reconstruction Type dependence equation Equivalence class
  • 相关文献

参考文献6

  • 1陈凯明,刘宗田.反编译研究现状及其进展[J].计算机科学,2001,28(5):113-115. 被引量:8
  • 2肖海,陈平,茅兵,谢立.基于运行时类型分析的整形漏洞二进制检测和定位系统[J].计算机科学,2011,38(1):140-144. 被引量:3
  • 3Lin Z, Zhang X, Xu D. Automatic reverse engineering of data structures from binary execution[C]// Proceedings of the Net work and Distributed System Security Symposium. 2010.
  • 4Cifuentes C. Reverse Compilation Techniques, Queensland Uni- versity of Technology[D]. Department of Computer Science,July 1994.
  • 5Mycroft A. Type-Based Decompilation[C]//Proceedings of the 8th European Symposium on Programming Languages and Sys terns. March 1999: 208-223.
  • 6Emmerik M V. Static Single Assignment for Decompilation[D]. Queensland: The University of Queensland, 2007.

二级参考文献25

  • 1Nethercote N, Seward J. Valgrind: A framework for heavy weight dynamic binary instrumentation[C]//Proceedings of PLDI 2007. San Diego, California, USA,June 2007.
  • 2Molnar D A,Wagner D. Catchconv:Symbolic execution and run time type inference for integer conversion errors[C]//Proceedings of EECS. 2007.
  • 3Brumley D, Chiueh Tzi-cker, et al. RICH: Automatically Protecting Against Integer-based Vulnerabilities[C]///Proceedings of the 14th Annual Network and Distributed System Security. Symposium (NDSS07). 2007.
  • 4Vulnerability Type Distributions in CEV[EB/OL]. http://eve. mitre, org/docs/vuln trends/vuln trends, pdf, 2007.
  • 5Wojtczuk R. UQBTng: a tool capable of automatically finding in teger overflows in Win32 binaries. November 2005.
  • 6Cifuentes C, et al. UQBT[EB/OL]. http://www.itee. uq. edu. au/. cristina/uqbt, html.
  • 7Necula G C, MePeak S, Weimer W. CCured:type safe retrofitting of legacy cocle[C]//Proceectings of the Symposiurn on Prin ciples of Programming Languages. 2002.
  • 8Jim T, Morrisett G, Grossman D, et al. Cyclone: A safe dialect of c[C]//USENIX Annual Technical Conference. 2002.
  • 9Seward J, Nethercote N. Using valgrind to detect undefined value errors with bit precision[C]//Proceedings of the USENIX05 Annual Technical Conference. Anaheim, California, USA, April 2005.
  • 10Howard M. Integer overflow and operator:: new[EB/OL], ht tp://btogs.msdn.com/michael howard/archive/2005/12/06/ 500629. aspx,Dec, 2006.

共引文献9

同被引文献15

  • 1Lin Zhi-qiang.Reverse engineering of data structures from binary[D].West Lafayette:Purdue University,2011.
  • 2Van Emmerik M.Single Static Assignment for Decompilation[D].Queensland:University of Queensland,2006.
  • 3Ding Wei,Gu Zhi-ming,Gao Feng.Reconstruction of data type in obfuscated binary programs[C]∥16th International Confe-rence on Advanced Communication Technology.PyeongChang,South Korea,2014:393-369.
  • 4Balakrishnan G,Reps T.WYSINWYX:What you see is notwhat you execute[J].ACM Transactions on Programming Languages And Systems,2010,32(6):202-213.
  • 5Balakrishnan G,Reps T.DIVINE:discovering variables in executables[C]∥Proceedings of the 8th International Conference on Verification,Model Checking,and Abstract Interpretation.Nice,France,2007:1-28.
  • 6Anand K,Elwazeer K,Kotha A,et al.An accurate stack memory abstraction and symbolic analysis framework for executables[C]∥29th IEEE International Conference on Software Maintenance.Eindhoven,Netherland,2013:90-99.
  • 7Cousot P,Cousot R.Interpretation:A unified lattice model for static analysis[C]∥Proceedings of the 4th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages.New York,USA 1977:238-252.
  • 8Brumley D,Jager I,Avgerinos T,et al.BAP:A binary analysis platform[C]∥23rd International Conference on Computer Aided Verification.Snowbird,UT,USA,2011:463-469.
  • 9Lee J,Avgerinos T,Brumley D.TIE:Principled Reverse Engi-neering of Types in Binary Programs[C]∥Proceedings of the Network and Distributed System Security Symposium.San Diego,USA,2011:session 5.
  • 10Song D,Brumley D,Yin Heng,et al.BitBlaze:A new approach to computer security via binary analysis[C]∥4th International Conference on Information Systems Security.Hyderabad,India,2008:1-25.

引证文献1

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

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