Eine .wasm-Binärdatei ist nicht zum direkten Lesen gedacht — sie kann aber in WAT, WebAssemblys lesbares Textformat, umgewandelt und strukturell über den bloßen Instruktionsstrom hinaus analysiert werden. Der WASM-Decompiler tut beides, vollständig im Browser.
Seien wir klar, was das ist und was nicht. Dieses Tool stellt nicht den ursprünglichen Rust-, C- oder C++-Quellcode wieder her — diese Information ist verloren, sobald der Compiler WASM erzeugt. Was es präzise wiederherstellt:
- Vollständige WAT-Disassemblierung, erzeugt von
wabt(dem WebAssembly Binary Toolkit), mit angewendeten Debug-Namen, sofern das Modul einen "name"-Abschnitt trägt. - Einen Aufruf-Graph, erstellt durch Durchlaufen des rohen Bytecodes jeder Funktion nach
call- undcall_indirect-Instruktionen — nicht aus dem WAT-Text erraten. Eincall_indirectzeigt, welche Funktionstyp-Signatur er anspricht, nie eine erratene konkrete Funktion, da das reale Ziel erst zur Laufzeit aufgelöst wird — das ist eine strukturelle Tatsache über den Code, keine Einschränkung dieses Tools. - Kontrollfluss-Form pro Funktion: maximale Block/Loop/If-Verschachtelungstiefe sowie Anzahl jedes Typs, was einen groben Eindruck der strukturellen Komplexität einer Funktion gibt, ohne einen vollständigen Kontrollflussgraph zu benötigen.
- Eine evidenzbasierte Toolchain-Vermutung — "wahrscheinlich Rust", "wahrscheinlich Emscripten (C/C++)" oder "wahrscheinlich AssemblyScript" — basierend auf realen, überprüfbaren Belegen: Rusts gemangelte Symbolpräfixe, Emscriptens charakteristische Laufzeit-Importe (
emscripten_*,__cxa_*,__wasm_call_ctors), oder AssemblyScripts~lib/-Standardbibliothekspfade, gefunden in den Datensegmenten des Moduls. Das Tool zeigt immer die konkreten gefundenen Belege und formuliert das Ergebnis als "wahrscheinlich" — nie als Gewissheit, nie als Vermutung ohne Substanz.
Eine Funktion, deren Bytecode eine Instruktion außerhalb des modellierten Opcode-Satzes des Tools verwendet (SIMD, Atomics, Bulk-Memory-Operationen), wird als "teilweise Disassemblierung" markiert, statt stillschweigend als vollständig dargestellt zu werden — Ehrlichkeit über die Grenzen der Analyse zählt mehr als ein ordentliches Ergebnis.
Nützlich, um die Struktur eines Drittanbieter-.wasm-Moduls zu prüfen, zu verstehen, wie sich seine Funktionen gegenseitig aufrufen, oder sich vor einer tieferen Analyse einen ersten Eindruck von einer unbekannten Binärdatei zu verschaffen.
Tiny Online Tools







