Reproduce “Disa: Accurate Learning-based Static Disassembly with Attentions” on OpenResearch
Turn your favorite coding agents into research agents that review literature, develop hypotheses, and run experiments.
Universal app for Apple silicon and Intel. Requires macOS 11 or later.
About this paper
Peicheng Wang, Monika Santra, Mingyu Liu, Cong Sun, Dongrui Zeng, Gang Tan
Disa introduces a deep learning framework for accurate static disassembly and memory block boundary identification in x86-64 binaries. The approach leverages a multi-task transformer model trained on superset instructions, leading to improved robustness against obfuscation and more precise Control Flow Graph generation through better resolution of indirect call targets.
Key insights
- Superset disassembly converts the complex binary parsing problem into a more tractable instruction classification problem, ensuring no true instructions are missed.
- A transformer-encoder architecture can effectively learn high-level semantic patterns from instruction sequences to identify function entries and true instructions.
- Memory block boundary information, crucial for accurate CFGs, can be inferred by classifying 'block-boundary-related instructions' using deep learning, followed by a post-classification value tracking analysis.
Summary by alphaXiv.
Tip: change arxiv.org to autoarxiv.org in any arXiv abstract link to open the paper here.