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バイナリ内のRustおよびC++のシンボル名を、1つずつまたはファイル全体で一括してデマングルします。

WASMサイズアナライザー

WASMサイズアナライザー

WebAssemblyモジュールのサイズを支配している関数やデータセグメントを、正確なソート済み内訳と視覚的なツリーマップで特定します。

WASMバイナリエクスプローラー

WASMバイナリエクスプローラー

WebAssemblyモジュールのセクション、関数、インポート、エクスポート、メモリ、テーブル、グローバルを正確なバイトオフセットとサイズで閲覧します。

PDF 結合

PDF 結合

複数の PDF ファイルをブラウザで素早く安全に一つのドキュメントに結合します。

HTML 圧縮ツール

HTML 圧縮ツール

コメント、空白、冗長な属性を削除して HTML を圧縮します。

動画ミラーツール

動画ミラーツール

動画ミラーツールはブラウザ上で録画を水平または垂直に反転するためのツールです。公開、授業、デモ、日常の動画・音声整理をすばやくプライベートに行えます。

apps

もっと見る

無料オンラインツールの全コレクションを見る。

.wasmバイナリは直接読むためのものではありませんが、WebAssemblyの読みやすいテキスト形式であるWATに変換し、命令の流れを超えて構造的に解析することができます。WASM デコンパイラーはその両方をブラウザ内だけで行います。

このツールが何であり、何でないかをはっきりさせておきます。 このツールは元のRust、C、C++のソースコードを復元するものではありません — その情報はコンパイラがWASMを生成した時点で失われています。正確に復元できるのは次のものです。

  • 完全なWAT逆アセンブルwabt(WebAssembly Binary Toolkit)によって生成され、モジュールに"name"セクションがある場合はデバッグ名が適用されます。
  • 呼び出しグラフ — WATテキストから推測するのではなく、各関数の実際のバイトコードを走査してcallcall_indirect命令を見つけて構築します。call_indirectはどの関数型シグネチャを対象とするかを示しますが、推測した具体的な関数は決して示しません。実際の呼び出し先は実行時にしか解決されないためです — これはこのツールの限界ではなく、コードの構造的な事実です。
  • 関数ごとの制御フローの形状 — block/loop/ifの最大ネスト深度とそれぞれの数を示し、完全な制御フローグラフを必要とせずに関数の構造的な複雑さをおおまかに把握できます。
  • 根拠に基づくベストエフォートのツールチェーン推定 — 「Rustの可能性が高い」「Emscripten(C/C++)の可能性が高い」「AssemblyScriptの可能性が高い」など、実際に検証可能な根拠に基づきます:Rustのマングルされたシンボルの接頭辞、Emscripten特有のランタイムインポート(emscripten_*__cxa_*__wasm_call_ctors)、あるいはモジュールのデータセグメントに見つかるAssemblyScriptの標準ライブラリパス文字列~lib/などです。ツールは常に見つかった具体的な根拠を示し、結果を「可能性が高い」と表現します — 断定することも、根拠のない推測をすることもありません。

このツールがモデル化しているオペコード範囲外の命令(SIMD、アトミック、バルクメモリ操作など)を使う関数は、黙って完全なものとして表示するのではなく、「部分的な逆アセンブル」としてマークされます — 整った結果よりも、解析の限界について正直であることを重視しています。

サードパーティの.wasmモジュールの構造を監査したり、関数同士がどう呼び合っているかを理解したり、より深い解析の前に見知らぬバイナリを最初に読み解いたりするのに役立ちます。