  WebAssembly (abbreviated Wasm) has emerged as a cornerstone of web
development, offering a compact binary format that allows high-performance
applications to run at near-native speeds in web browsers. Despite its
advantages, Wasm's binary nature presents significant challenges for developers
and researchers, particularly regarding readability when debugging or analyzing
web applications. Therefore, effective decompilation becomes crucial.
Unfortunately, traditional decompilers often struggle with producing readable
outputs. While some large language model (LLM)-based decompilers have shown
good compatibility with general binary files, they still face specific
challenges when dealing with Wasm.
  In this paper, we introduce a novel approach, WaDec, which is the first use
of a fine-tuned LLM to interpret and decompile Wasm binary code into a
higher-level, more comprehensible source code representation. The LLM was
meticulously fine-tuned using a specialized dataset of wat-c code snippets,
employing self-supervised learning techniques. This enables WaDec to
effectively decompile not only complete wat functions but also finer-grained
wat code snippets. Our experiments demonstrate that WaDec markedly outperforms
current state-of-the-art tools, offering substantial improvements across
several metrics. It achieves a code inflation rate of only 3.34%, a dramatic
97% reduction compared to the state-of-the-art's 116.94%. Unlike baselines'
output that cannot be directly compiled or executed, WaDec maintains a
recompilability rate of 52.11%, a re-execution rate of 43.55%, and an output
consistency of 27.15%. Additionally, it significantly exceeds state-of-the-art
performance in AST edit distance by 185%, cyclomatic complexity by 8%, and
cosine similarity by 41%, achieving an average code similarity above 50%.
