EXE・DLL・ELF を VS Code で解析する
ELF Viewer & PE Viewer を入れて .exe、.dll、.so、.dylib などをクリックすると、ヘッダー、セクション、インポート、エクスポート、シンボルが VS Code の中に表示されます。表示、Hex タブ、フィールドツリー、フィルタとコピーはすべて無料で、上限もサインインもありません。Zovo Pro(USD 19 の買い切り)では 2 つのバイナリの比較、JSON や C ヘッダーへの構造の書き出し、フォルダ内の全バイナリからの名前検索が加わり、それぞれ 3 回まで無料で試せます。
無料、MIT ライセンス。 Extension ID zovo.zovo-elf-pe-viewer.
VS Code での手順
- Marketplace から ELF Viewer & PE Viewer をインストールします。Ctrl+P (macOS では Cmd+P) を押して
ext install zovo.zovo-elf-pe-viewerを実行しても入ります。 .exe、.dll、.sys、.so、.dylib、.elf、.koなどのファイルをクリックします。拡張子のない Linux や macOS の実行ファイルと.oファイルは、右クリックして「Open in ELF & PE Viewer」を選びます。- 最初に概要が表示され、アーキテクチャ、種類、エントリポイント、リンクされたライブラリ、ASLR、DEP、Control Flow Guard などのセキュリティフラグ、署名、build ID、PDB パスを確認できます。
- タブを切り替えて詳細を見ます。ELF ではセクション、セグメント、バージョン付きのインポート、
.symtabと.dynsymのシンボル、動的セクション、notes が、PE では DOS、COFF、オプションヘッダー、名前と序数によるインポート、遅延ロードインポート、フォワーダー付きエクスポート、リソース、.NET ランタイムの情報が見られます。 - どの表もフィルタ、列ごとの並べ替え、タブ区切りテキストでのコピーができます。セクションやセグメントの
bytesリンクをクリックすると Hex タブが開き、該当するバイトに印が付きます。 - ユニバーサルバイナリでは、上部で arm64 や x86_64 などのアーキテクチャを選んで切り替えます。
Cursor、Windsurf、VSCodium の場合
これらのエディターは Open VSX から拡張機能を入れます。Extensions ビュー (Ctrl+Shift+X) で zovo.zovo-elf-pe-viewer を検索して Install を押してください。Open VSX のページは zovo/zovo-elf-pe-viewer です。あとは VS Code と同じ手順で使えます。
無料でできること
ELF(32/64 ビット、リトルエンディアンとビッグエンディアン)、PE32 と PE32+、Mach-O(32/64 ビットとユニバーサルバイナリ)の表示は、ヘッダー、セクション、セグメント、インポート、エクスポート、シンボル、Hex 表示、フィールドツリー、フィルタ、コピーまですべて無料で、上限もサインインもありません。readelf や objdump などの外部ツールは不要です。解析は時間とメモリの上限付きの別スレッドで行われ、バイナリに書き込むことはなく、ネットワーク通信やテレメトリもありません。
Zovo Pro で追加されるもの
Compare two binaries は 2 つのビルドを比べ、変わったヘッダーフィールドと、追加または削除されたセクション、ライブラリ、インポート、エクスポートを一覧にします。DLL の新旧ビルドで何が変わったかを、2 つの画面の表を見比べずに確かめられます。ほかに、構造を JSON または C ヘッダー(表ごとに 1 つの struct と const 配列)で書き出す Export structure と、フォルダ内のすべてのバイナリからシンボル、インポート、ライブラリ名をテキストか /regex/ で探す Find a symbol or import in a folder があります。JSON と C ヘッダーの書き出しは 1 つのツールとして数えます。
Compare two binaries の使い方
- エクスプローラーで比較元のファイルを右クリックし、「Compare two binaries (Pro)」を選びます。コマンドパレットの「ELF & PE Viewer: Compare two binaries (Pro)」からも始められます。
- 表示されるダイアログで比較相手のファイルを選び、「Compare」をクリックします。
Compare two binaries はライセンスなしで 3 回まで使えます。ファイルを開いたときにポップアップが出たり、残り日数が表示されたりすることはありません。
Zovo Pro は USD 19 の買い切りです。サブスクリプションではなく、すべての Zovo 拡張機能の Pro ツールが使えるようになります。カード (Stripe) で支払うと、次のページにライセンスキーが表示されます。VS Code のコマンドパレットで "Enter Zovo Pro license key" を実行し、キーを貼り付けてください。キーはネットワークを使わずに手元のパソコンで確認されます。
5 人までのチーム向けは USD 59 の買い切りで、カードで支払えます。ルールと Pro ツールの一覧は Zovo Pro のページ (英語) にあります。
できないこと
- 逆アセンブルはできません。バイナリの編集やパッチもできません。
- 静的ライブラリ(
.a)、Java のクラスファイル、WebAssembly、DEX ファイルは読めません。 - 各表は 100,000 行まで、読み込みは 10 秒で止まります。その場合はビューアにそう表示されます。
- リモートや仮想ファイルシステム上のファイルは 256 MB まで読み込みます。
よくある質問
無料で使えますか?
はい。すべての表示機能は無料で、上限もサインインもありません。構造の書き出し、2 つのバイナリの比較、フォルダ内の検索の 3 つが Zovo Pro のツールで、それぞれ 3 回まで無料で試せます。試用は結果が出たときだけ数えます。
Cursor でも使えますか?
はい。Cursor、Windsurf、VSCodium で動きます。Cursor は Open VSX から拡張機能をインストールするので、拡張機能ビューで zovo.zovo-elf-pe-viewer を検索してください。
.o ファイルをクリックしても開かないのはなぜですか?
.o と .bundle は既定では関連付けられていません。右クリックの「Open in ELF & PE Viewer」か、Open With... の「ELF & PE Viewer (any file)」で開いてください。
すべての機能と設定は ELF Viewer & PE Viewer のページ (英語) にあります。
ほかのガイド
- VS Code で音声ファイルを再生・解析する
- HTML・JSX・Vue のタグを対で自動リネームする
- Claude Code と Codex の履歴を VS Code で読む
- DXF 図面を VS Code で表示する
- VS Code で SQLite データベースを編集する
- VS Code でフォントファイルをプレビューする
拡張機能のバージョン 0.1.3 で確認しました (2026-11-12)。