Accurate Disassembly of Complex Binaries Without Use of Compiler Metadata

6Citations
Citations of this article
5Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Accurate disassembly of stripped binaries is the first step in binary analysis, instrumentation and reverse engineering. Complex instruction sets such as the x86 pose major challenges in this context because it is very difficult to distinguish between code and embedded data. To make progress, many recent approaches have either made optimistic assumptions (e.g., absence of embedded data) or relied on additional compiler-generated metadata (e.g., relocation info and/or exception handling metadata). Unfortunately, many complex binaries do contain embedded data, while lacking the additional metadata needed by these techniques. We therefore present a novel approach for accurate disassembly that uses statistical properties of data to detect code, and behavioral properties of code to flag data. We present new static analysis and data-driven probabilistic techniques that are then combined using a prioritized error correction algorithm to achieve results that are 3× to 4× more accurate than the best previous results.

Cite

CITATION STYLE

APA

Priyadarshan, S., Nguyen, H., & Sekar, R. (2024). Accurate Disassembly of Complex Binaries Without Use of Compiler Metadata. In International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS (Vol. 4, pp. 1–18). Association for Computing Machinery. https://doi.org/10.1145/3623278.3624766

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free