Disassembly as Weighted Interval Scheduling with Learned Weights
IEEE Symposium on Security and Privacy (S&P), 2025

Main:5 Pages
4 Figures
7 Tables
Appendix:12 Pages
Abstract
Disassembly is the first step of a variety of binary analysis and transformation techniques, such as reverse engineering, or binary rewriting. Recent disassembly approaches consist of three phases: an exploration phase, that overapproximates the binary's code; an analysis phase, that assigns weights to candidate instructions or basic blocks; and a conflict resolution phase, that downselects the final set of instructions. We present a disassembly algorithm that generalizes this pattern for a wide range of architectures, namely x86, x64, arm32, and aarch64. Our algorithm presents a novel conflict resolution method that reduces disassembly to weighted interval scheduling.
View on arXivComments on this paper
