paper

Disassembly as Weighted Interval Scheduling with Learned Weights

arXiv:2505.01536

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.

Accepted for publication at the 46th IEEE Symposium on Security and Privacy

Disassembly as Weighted Interval Scheduling with Learned Weights · wovepaper