An Abstract Interpretation-Based Framework for Control Flow Reconstruction from Binaries

作者: Johannes Kinder , Florian Zuleger , Helmut Veith

DOI: 10.1007/978-3-540-93900-9_19

关键词: Indirect branchCompilerAlgorithmControl flow graphComputer scienceDomain (software engineering)Theoretical computer scienceControl flow analysisAbstract interpretationControl flowData-flow analysis

摘要: Due to indirect branch instructions, analyses on executables commonly suffer from the problem that a complete control flow graph of program is not available. Data analysis has been proposed before statically determine targets in many cases, yet generic strategy without assumptions compiler idioms or debug information lacking. We have devised an abstract interpretation-based framework for low level programs with jumps which safely combines pluggable domain notion partial graphs. Using our framework, we are able show reconstruction algorithm disassembly tool Jakstab produces most precise overapproximation respect used domain.

参考文章(21)
Saumya Debray, Gregory Andrews, Matthew Legendre, Benjamin Schwarz, PLTO: A Link-Time Optimizer for the Intel IA-32 Architecture ,(2007)
Christian Ferdinand, Reinhold Heckmann, Marc Langenbach, Florian Martin, Michael Schmidt, Henrik Theiling, Stephan Thesing, Reinhard Wilhelm, Reliable and Precise WCET Determination for a Real-Life Processor embedded software. pp. 469- 485 ,(2001) , 10.1007/3-540-45449-7_32
Johannes Kinder, Helmut Veith, Jakstab: A Static Analysis Platform for Binaries computer aided verification. pp. 423- 427 ,(2008) , 10.1007/978-3-540-70545-1_40
Flemming Nielson, Chris Hankin, Hanne R. Nielson, Principles of program analysis ,(1999)
Gogul Balakrishnan, Thomas Reps, Analyzing Memory Accesses in x86 Executables compiler construction. pp. 5- 23 ,(2006) , 10.1007/978-3-540-24723-4_2
C. Cifuentes, M. Van Emmerik, Recovery of jump table case statements from binary code workshop on program comprehension. pp. 192- 199 ,(1999) , 10.1109/WPC.1999.777758
C. Cifuentes, M. Van Emmerik, UQBT: adaptable binary translation at low cost Computer. ,vol. 33, pp. 60- 66 ,(2000) , 10.1109/2.825697
Daniel Kästner, Stephan Wilhelm, Generic control flow reconstruction from assembly code Proceedings of the joint conference on Languages, compilers and tools for embedded systems software and compilers for embedded systems - LCTES/SCOPES '02. ,vol. 37, pp. 46- 55 ,(2002) , 10.1145/513829.513839
Laune C. Harris, Barton P. Miller, Practical analysis of stripped binary code ACM SIGARCH Computer Architecture News. ,vol. 33, pp. 63- 68 ,(2005) , 10.1145/1127577.1127590
Pohua P. Chang, Scott A. Mahlke, William Y. Chen, Wen-Mei W. Hwu, Profile-guided automatic inline expansion for C programs Software - Practice and Experience. ,vol. 22, pp. 349- 369 ,(1992) , 10.1002/SPE.4380220502