SCRIBE: Practical Static Binary Patching via Binary-Aware Recompilation of Decompiled Code
Han Dai, Soumyakant Priyadarshan, Abdullah Imran, Ruoyu Wang, Antonio Bianchi

TL;DR
SCRIBE is a framework that enables reliable binary patching by repairing decompiler inaccuracies through binary-aware recompilation, even without source code or manual binary editing.
Contribution
It introduces a novel binary-aware recompilation approach that repairs semantic inaccuracies in decompiled code, improving patching success without source code.
Findings
Resolved 81% of incorrect functions from Hex-Rays decompiler
Patched 13 out of 14 real-world CVEs without source code
Achieved 100% patching success in user study with SCRIBE
Abstract
When source code or the original toolchain is unavailable, patching binaries is difficult because it requires editing low-level assembly code directly. As an alternative, one can decompile the binary, apply the patch at the source level, and then recompile the modified code. However, as this paper demonstrates, this workflow is hindered by pervasive syntactic and semantic inaccuracies in the output of modern decompilers, many of which prior work has overlooked. To address these challenges, we present SCRIBE, a patching framework that handles syntactic and semantic issues in decompiled code, improving both recompilation success and correctness. SCRIBE's novel "binary-aware" recompilation approach repairs semantic inaccuracies in decompiler output by leveraging information extracted directly from the original binary. In our evaluation, SCRIBE resolved approximately 81% of previously…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
