Tiny Online Tools logoTiny Online Toolssearch搜索工具…grid_view全部工具
首页chevron_right逆向工程工具chevron_rightWASM 反编译器WASM 反编译器

WASM 反编译器

将 WebAssembly 二进制文件转换为可读的 WAT 文本,提供按函数的调用图、控制流结构,以及尽力而为的工具链推测。

upload_file

点击浏览 或将文件拖放到这里

拖入 .wasm 文件以反编译

接受格式:.wasm

相似工具

WASM 二进制浏览器

WASM 二进制浏览器

浏览 WebAssembly 模块的段、函数、导入、导出、内存、表和全局变量,精确到字节的偏移量和大小。

WASM 导入/导出可视化工具

WASM 导入/导出可视化工具

并排查看 WebAssembly 模块从宿主环境需要什么、又提供了什么,按命名空间分组展示。

WASM 体积分析器

WASM 体积分析器

找出哪些函数和数据段占据了 WebAssembly 模块的主要体积,提供精确的排序明细和可视化矩形树图。

WASM 反混淆解码器

WASM 反混淆解码器

对 WebAssembly 二进制文件中的 Rust 和 C++ 符号名称进行反混淆(demangle),支持单个输入或整文件批量扫描。

通用二进制检查器

通用二进制检查器

上传任意二进制文件,自动判断它是 ELF、PE、Mach-O 还是 WebAssembly,并在浏览器中查看真实摘要。

高斯泼溅裁剪

高斯泼溅裁剪

用可在 3D 视图中看到的选框框选高斯泼溅场景的一部分,实时显示框内数量,只导出这一块区域。

音频转换器

音频转换器

将音频文件(MP3、OGG、AAC、FLAC)转换为 WAV,并支持自定义采样率以及单声道/立体声选项。

apps

更多工具

浏览我们完整的免费在线工具集合。

.wasm 二进制文件本不是给人直接阅读的——但它可以被转换为 WAT(WebAssembly 的可读文本格式),并在指令流之外进行结构化分析。WASM 反编译器在浏览器中完全本地地完成这两件事。

先说清楚这个工具是什么、不是什么。 本工具不会恢复原始的 Rust、C 或 C++ 源代码——一旦编译器生成 WASM,那些信息就已经丢失了。它能够准确恢复的是:

  • 完整的 WAT 反汇编,由 wabt(WebAssembly Binary Toolkit)生成,若模块带有 "name" 段则应用调试名称。
  • 调用图,通过遍历每个函数的原始字节码寻找 callcall_indirect 指令构建而成——而不是从 WAT 文本中猜测。call_indirect 显示它所针对的函数类型签名,而绝不会显示一个猜测出的具体函数,因为真正的目标只有在运行时才能确定——这是代码本身的结构性事实,而不是本工具的局限。
  • 每个函数的控制流结构:block/loop/if 的最大嵌套深度,以及各自的数量,无需完整的控制流图就能大致了解一个函数的结构复杂度。
  • 基于证据的尽力而为的工具链推测——"很可能是 Rust"、"很可能是 Emscripten(C/C++)"或"很可能是 AssemblyScript"——都基于真实、可核实的证据:Rust 的名称修饰前缀、Emscripten 典型的运行时导入(emscripten_*__cxa_*__wasm_call_ctors),或在模块数据段中找到的 AssemblyScript 标准库路径字符串 ~lib/。工具始终展示它找到的具体证据,并将结果表述为"很可能"——绝不断言确定,也绝不做毫无依据的猜测。

若某个函数的字节码使用了超出本工具建模范围的指令(SIMD、原子操作、批量内存操作),会被标记为"部分反汇编",而不是悄悄当作完整结果展示——对分析局限性的诚实比整洁的结果更重要。

适用于审计第三方 .wasm 模块的结构、理解其函数间如何相互调用,或在深入分析之前先对陌生的二进制文件有个初步了解。