2023 · Conference paper
Decompiling x86 Deep Neural Network Executables
BTD (Bin to DNN) decompiles stripped 64-bit x86 executables emitted by deep-learning compilers into model specifications: operator types, network topology, dimensions and parameters. A learned classifier labels disassembled functions as DNN operators, Intel Pin dynamic analysis chains them, and taint-reduced, trace-based symbolic execution with per-operator patterns recovers dimensions and parameter layouts. The authors rebuild recovered models in PyTorch and recompile them to compare behaviour with the original executable.
Scope and limitations
Evaluated only on 64-bit x86 executables from TVM v0.7, v0.8 and v0.9.dev (-O0 and -O3), three Glow snapshots from 2020–2022 and NNFusion v0.2/v0.3; GPU, accelerator and other-architecture executables are discussed, not decompiled. It assumes flawless disassembly and function recovery (IDA Pro 7.5 in the paper) and known compilation provenance, and dimension/parameter patterns are hand-designed per operator: 22 of 36 ONNX operators needing such patterns are covered, excluding quantized operators such as QLinearConv. The authors report correct specifications for 59 of 65 executables from seven CV models and FastText; one TVM -O3 ResNet18 Conv layout required manual fixing with ground truth, and NNFusion compiled only its own VGG11. Recompiled behaviour is compared on 100 ImageNet images or 50 crafted FastText inputs, not proven for all inputs. Obfuscated executables were not evaluated.
Why it fits this collection
Extends decompilation beyond C/C++ programs to compiled machine-learning models, recovering a rebuildable high-level specification from optimized native code.
Publication and review details
- Venue
- USENIX Security 2023
- Status
- Conference paper
- Publication / posting date
- August 2023
- Date source
- The BibTeX on the USENIX presentation page gives August 2023 for the 32nd USENIX Security Symposium proceedings. Month precision is retained; the August 9–11 symposium dates are not substituted for a publication day, and the 2022 arXiv dates belong to the extended preprint.
- First arXiv submission
- October 3, 2022
- arXiv
- 2210.01075
- Reviewed arXiv version
- v2
The USENIX presentation-page BibTeX establishes the five-author order, proceedings title, pages 7357–7374 and August 2023. arXiv v2 (2022-10-04; v1 2022-10-03) is the authors' 25-page extended version, which the 19-page final paper cites for omitted details; figures in this record follow the final paper. The final PDF's usenixsecurity23- name is outside the reviewed USENIX identity profile, so publication identity rests on the arXiv ID. The paper-linked monkbai/DNN-decompiler snapshot reviewed at commit 33227a0 (2026-03-13) carries HKUST's Academic Software License, which limits use to academic or nonprofit research and directs commercial users to the institution; GitHub reports no SPDX license. README prerequisites include Ubuntu 18.04, Python 3.6.9+, PyTorch 1.9+, Intel Pin 3.14 and optionally IDA Pro 7.5, which is commercial and not included; disassembly outputs are supplied instead. The authors report more than a week of single-threaded trace logging and nearly 1 TB of storage for the full evaluation, so the artifact ships filtered traces via a Docker image and Dropbox/Zenodo archives. Zenodo dataset DOI 10.5281/zenodo.7219867 (CC BY 4.0) identifies the artifact, not the paper. The README's 63-executable evaluation covers TVM and Glow only, omitting the paper's two NNFusion builds, and reports Available, Functional and Reproduced badges. No archives, executables or models were downloaded, and no upstream code or experiments were run.
Sources reviewed
Source review only; experiments were not rerun for this collection. Cite the original authors using the linked paper or BibTeX.
Primary sources
- https://www.usenix.org/conference/usenixsecurity23/presentation/liu-zhibo
- https://www.usenix.org/system/files/usenixsecurity23-liu-zhibo.pdf
- https://arxiv.org/abs/2210.01075
- https://arxiv.org/pdf/2210.01075v2
- README.md GitHub · monkbai/DNN-decompiler · Revision 33227a0
- LICENSE GitHub · monkbai/DNN-decompiler · Revision 33227a0
- COPYING GitHub · monkbai/DNN-decompiler · Revision 33227a0
- https://zenodo.org/records/7219867