2009 16th Working Conference on Reverse Engineering Static Detection of Disassembly Errors Lille, France October 13-October 16 ISBN: 978-0-7695-3867-9
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/WCRE.2009.16
Static disassembly is a crucial first step in reverse engineering executable files, and there is a considerable body of work in reverse-engineering of binaries, as well as areas such as semantics-based security analysis, that assumes that the input executable has been correctly disassembled. However, disassembly errors, e.g., arising from binary obfuscations, can render this assumption invalid. This work describes a machine-learning-based approach, using decision trees, for statically identifying possible errors in a static disassembly; such potential errors may then be examined more closely, e.g., using dynamic analyses. Experimental results using a variety of input executables indicate that our approach performs well, correctly identifying most disassembly errors with relatively few false positives.
Index Terms:
disassembly, reverse engineering, binary analysis, machine learning
Citation:
Nithya Krishnamoorthy, Saumya Debray, Keith Fligg, "Static Detection of Disassembly Errors," wcre, pp.259-268, 2009 16th Working Conference on Reverse Engineering, 2009 Usage of this product signifies your acceptance of the Terms of Use. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||