Backward-Bounded DSE: Targeting Infeasibility Questions on Obfuscated Codes
Sébastien Bardin, Robin David, Jean-Yves Marion
Abstract
Software deobfuscation is a crucial activity in security analysis and especially in malware analysis. While standard static and dynamic approaches suffer from well-known shortcomings, Dynamic Symbolic Execution (DSE) has recently been proposed as an interesting alternative, more robust than static analysis and more complete than dynamic analysis. Yet, DSE addresses only certain kinds of questions encountered by a reverser, namely feasibility questions. Many issues arising during reverse, e.g., detecting protection schemes such as opaque predicates, fall into the category of infeasibility questions. We present Backward-Bounded DSE, a generic, precise, efficient and robust method for solving infeasibility questions. We demonstrate the benefit of the method for opaque predicates and call stack tampering, and give some insight for its usage for some other protection schemes. Especially, the technique has successfully been used on state-of-the-art packers as well as on the government-grade X-Tunnel malware -allowing its entire deobfuscation. Backward-Bounded DSE does not supersede existing DSE approaches, but rather complements them by addressing infeasibility questions in a scalable and precise manner. Following this line, we propose sparse disassembly, a combination of Backward-Bounded DSE and static disassembly able to enlarge dynamic disassembly in a guaranteed way, hence getting the best of dynamic and static disassembly. This work paves the way for robust, efficient and precise disassembly tools for heavily-obfuscated binaries. BB-DSE × ( ‡) ( †): follow only a few traces ( † †): very limited reasoning abilities ( ‡): can have false positive and false negative, yet very low in practice
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 6393d3fb-2f6c-44e4-a264-8662feee5b10Cited by top-tier papers9
- Binsec/Rel: Efficient Relational Symbolic Execution for Constant-Time at Binary-LevelLesly-Ann Daniel, Sébastien Bardin, Tamara RezkS&P 2020 · 76 citations
- VMHunt: A Verifiable Approach to Partially-Virtualized Binary Code SimplificationDongpeng Xu, Jiang Ming, Yu Fu, Dinghao WuCCS 2018 · 60 citations
- MBA-Blast: Unveiling and Simplifying Mixed Boolean-Arithmetic ObfuscationBinbin Liu, Junfu Shen, Jiang Ming, Qilong Zheng et al.USENIX Security 2021 · 37 citations
- Search-Based Local Black-Box Deobfuscation: Understand, Improve and MitigateGrégoire Menguy, Sébastien Bardin, Richard Bonichon, Cauim de Souza LimaCCS 2021 · 15 citations
- Augmenting Search-based Program Synthesis with Local Inference Rules to Improve Black-box DeobfuscationVidal Attias, Nicolas Bellec, Grégoire Menguy, Sébastien Bardin et al.CCS 2025
Related papers
- Analyzing Bytes: Pre-Disassembly Static Binary AnalysisHuan Nguyen, Soumyakant Priyadarshan, Chencheng Jiang, R. SekarPLDI 2026
- Obfuscation-Resilient Executable Payload Extraction From Packed MalwareBinlin Cheng, Jiang Ming, Erika A. Leal, Haotian Zhang et al.USENIX Security 2021 · 29 citations
- AntiFuzz: Impeding Fuzzing Audits of Binary ExecutablesEmre Güler, Cornelius Aschermann, Ali Abbasi, Thorsten HolzUSENIX Security 2019 · 34 citations
- Disa: Accurate Learning-based Static Disassembly with AttentionsPeicheng Wang, Monika Santra, Mingyu Liu, Cong Sun et al.CCS 2025
- Loki: Hardening Code Obfuscation Against Automated AttacksMoritz Schloegel, Tim Blazytko, Moritz Contag, Cornelius Aschermann et al.USENIX Security 2022
