すべてのWebAssemblyモジュールには境界があります。ホスト環境からインポートするものと、ホストが呼び出せるようにエクスポートするものです。その境界にこそ興味深い問いがあります — このモジュールは実行に何を必要とし、何を公開しているのか。WASM インポート/エクスポート ビジュアライザーは、その境界をブラウザ内で明確に示します。
.wasmファイルをドロップすると、他のWebAssemblyツール群と同じバイト単位で正確なパーサーがインポートセクションとエクスポートセクションを解析し、次のことを行います。
- インポートを名前空間(
env、wasi_snapshot_preview1、JSグルーコードの名前空間など)ごとにグループ化し、モジュールの型セクションから各インポート関数の実際のパラメータ/戻り値のシグネチャを解決します。 - エクスポートを種類(関数、メモリ、テーブル、グローバル)ごとにグループ化し、インポート関数が最も低い関数インデックスを占めることを正しく考慮しながら、エクスポート関数のシグネチャも同様に解決します。
- 両方を左右に並べて表示 — インポートは左、エクスポートは右 — ホスト/モジュール間の契約全体を一目で把握できます。
インポートの名前空間やフィールド名から実際に検証可能な手がかりが得られる場合、ツールは根拠に基づいた控えめな注記を追加します。たとえばwasi_snapshot_preview1をWASI向けビルドの可能性が高いと認識したり、emscripten_*/__cxa_*系のインポート群をEmscriptenのC/C++ランタイムのグルーコードの可能性が高いと認識したりします。これらの注記は常に実際に一致したインポート名を示し、「可能性が高い」という表現にとどめ、断定はしません — このツールは実際のバイナリデータを読み取るのであって、見えないものを推測することはありません。
サードパーティの.wasmファイルを実行する前に実際の依存関係を理解したり、2つのビルドのホスト表面を比較したり、異常に大きなインポート表面を見つけたり、WebAssemblyモジュールが環境とどう対話するかを学ぶのに役立ちます。
Tiny Online Tools







