Skip to content
Book Open access

NotDec: WebAssembly Decompilation With Inter-Procedural Type Recovery

Apr 2026 · Proceedings of the 2026 IEEE/ACM 48th International Conference on Software Engineering · pp. 3813-3824 · 0 citations · 42 references
Computer Science

TL;DR

NotDec extends the WebAssembly type checking algorithm to lift bytecode into an SSA‑based IR, applies the inter-procedural type recovery algorithm Retypd with pointer and numeric value differentiation methods to recover complex data structures, and leverages Memory SSA alongside semantics‑preserving structured control‑flow analysis to emit readable, semantically consistent C code.

Abstract

With WebAssembly widely supported in browsers, containers, IoT devices, and serverless platforms and increasingly adopted as a universal low‑level bytecode standard, auditing its hidden vulnerabilities and malicious intentions has become critical. Decompiling existing WebAssembly modules can help security researchers and end users understand binary behavior, but current tools suffer from verbose result, poor readability, and limited type recovery. We present NotDec, an advanced WebAssembly decompilation framework. NotDec extends the WebAssembly type checking algorithm to lift bytecode into an SSA‑based IR, applies the inter-procedural type recovery algorithm Retypd with pointer and numeric value differentiation methods to recover complex data structures, and leverages Memory SSA alongside semantics‑preserving structured control‑flow analysis to emit readable, semantically consistent C code. NotDec achieves 100% recompilation success rate on all 5,241 Juliet samples and all Howard dataset programs, significantly outperforming baselines including Ghidra (45.95% success rate). On type recovery accuracy, NotDec recovers 85.33% of struct member accesses in real-world programs, vastly exceeding Ghidra’s 9.24%. While the full inter-procedural version faces scalability challenges on large binaries, the intra-procedural variant \({{\rm\small {NOTDEC}}}_F\) demonstrates superior efficiency, consuming less than half of Ghidra’s memory and up to 97% less execution time on unoptimized binaries.

Read PDF

Similar papers

Open access Oct 2026

E2WR: An Effective and Efficient Reduction Framework for WebAssembly Binaries

WebAssembly (Wasm) is a prominent programming language enabling high-performance execution across diverse computing environments. However, bugs in Wasm runtimes, which execute Wasm binaries, can lead to severe security breaches and system failures. Manually debugging Wasm binaries that trigger such runtime bugs is exce...

Shi-Yao Zhou, Ning-Yu He, David Lo et al. · 0 citations
Open access 2026

A Systematic LLM-Based Procedure for the Deobfuscation of WebAssembly: Benchmark and Security Evaluation

This paper investigates the capability of large language models (LLMs) to perform automated Wasm deobfuscation and introduces a three-tier evaluation hierarchy for assessing deobfuscation quality, consisting of syntax correctness, execution validity, and semantic similarity.

Sebeom Cheon, Jin-Ho Jung, Sangkyun Lee · 0 citations
Book Open access Oct 2026

ReSEDA: Automatic and Precise Program-Level ReDoS Triage via Interprocedural Taint Analysis and Agentic Exploit Generation

Regular expressions (regexes) are widely used in computer science, particularly in web services. However, Regular Expression Denial-of-Service (ReDoS) has become a growing security threat. ReDoS is an asymmetric Denial-of-Service attack that exploits the super-linear runtime behavior of regex engines. However, existing...

Rong-Chen Li, Wei-Hao Su, Cheng-Yao Peng et al. · 0 citations
Preprint Sep 2026

Dynamic Conformance Testing of WebGPU Through Specification-Driven Mutation

LANTERN, a specification-guided dynamic conformance testing framework that mutates CTS tests using constraints extracted from the WebGPU specification, is introduced, demonstrating that syntactically seeded, semantics-aware mutation of conformance tests provides a way to uncover browser bugs during WebGPU testing.

Mahya Samdaliri, Zhi-Hao Yao, Kasthuri Jayarajah · 0 citations
Open access Oct 2026

CLASScanner: Efficient C++ Class Recovery from Binaries Driven by Object Flow Graphs

C++ class recovery is fundamental to reverse engineering, serving as a basis for critical downstream tasks such as vulnerability analysis, malware comprehension, and decompiler output optimization. Existing approaches face several challenges, including dependency on virtual function tables and a lack of support for non...

Jia-Min Wang, Gong-Ming Wang, Song-Tao Yang et al. · 0 citations
Preprint Sep 2026

CPyGraph: A Version-Aware Static Analysis Framework for Native CPython Bytecode

CPyGraph, a C++ framework for package-level analysis of native CPython bytecode, is presented, a C++ framework for package-level analysis of native CPython bytecode that matches PyCG on its 112-program call-graph benchmark.

Bai-Hong Chen, Wen Li · 0 citations

We use cookies to run the site and, with your consent, for analytics and to show ads. See our Cookie Policy.