リバースエンジニアリングを始めたばかりの方やバイナリを編集する必要がある方にとって、16進エディタの選択は少し面倒かもしれません。定番のものから高機能なもの、時代遅れのもの、そしてインストール不要で問題を解決できるウェブベースの代替ツールまで、様々な選択肢があります。ここでは、Linux、Windows、クロスプラットフォームアプリケーションに関する最も関連性の高い情報、オンラインツール、コマンドラインユーティリティを網羅した、完全かつ最新のガイドをご紹介します。
オンラインフォーラムでは、「初心者向けの最適な16進エディタはどれですか?」といった質問や、「リストは何年も同じことの繰り返しだ」といったコメントを今でも見かけます。幸いなことに、現在では、今でも通用するベテランエディタと最新の選択肢が共存しています。GitHub上のimhexのような最近のプロジェクトも言及されていますが、場合によっては公開されている情報が少ないこともあります。以下では、主要な代替エディタをすべてレビューし、それぞれがどのようなシナリオに最適かを見ていきます。
16 進エディターとは何ですか? また、何に使用されますか?
16進エディタは、バイナリデータを低レベルで開いて変更するためのソフトウェアです。バイトを直接操作し、内容を明確に定義された領域に表示します。左側にオフセットまたはアドレス、中央に16進数値、右側にその文字表現(ASCIIなど)が表示されます。これにより、ファイルを破損することなく値を変更したり、小さなパッチを作成したり、構造を調べたり、デバイスセクターを分析したりすることができます。
これらのエディタは、デバッグ、データ復旧、フォレンジック、ファイルフォーマット、そしてもちろんリバースエンジニアリングにおいて一般的に使用されています。中には、パターンマッチング、バイナリ比較、構造テンプレート、デバイス(ディスク、リムーバブルドライブ)やプロセスメモリの編集といった高度な機能を備えたものもあります。
Linux 用のエディター
Linuxは、シンプルなグラフィカルインターフェースから大容量ファイル用のツール、強力なコンソールユーティリティまで、幅広い選択肢を提供しています。ここでは、特に注目すべきオプションとその長所をご紹介します。
GHex (GNOME):GNOME環境でよく使われるエディタです。16進数とASCII形式でデータを表示し、バイトを選択することで10進数と8進数を表示できます。検索と置換、複数レベルの元に戻す/やり直し、複数のドキュメントやビューを開くための設定可能なMDI方式を備えています。GNOME環境での統合性とシンプルさを求めるユーザーに最適です。
Okteta (KDE):KHexEditの後継で、バイトレベルの編集用に設計されています。値と文字を列形式で表示し、表示プロファイルに対応しており、2進数、8進数、10進数、16進数をサポートしています。以前のリストでは、HTTP、FTP、またはfish経由でリモートファイルを開く機能も紹介されており、ネットワーク環境で非常に便利な機能です。
Bless:高速でカスタマイズ可能なGTKベースのデスクトップ用16進エディタ。大容量ファイル、効率的なアンドゥ/リドゥ機能、複数タブ、プラグインシステムに対応しています。複数のバイナリを同時に扱う場合や、拡張性を重視する場合に最適な選択肢です。
wxHexEditor:リバースエンジニアリングを念頭に、大容量ファイルやデバイス向けに設計されています。数エクサバイト規模のファイルも処理でき、ディスクを開いてセクターを編集したり、複数のファイルを比較・操作したりできます。リソース消費量が少なく、Linux、Windows、macOSで動作しますが、しばらく大きなアップデートは行われていません。
Hexedit(コンソール):定番のターミナルエディタです。16進数とASCII文字を表示し、高速なナビゲーションと直接編集が可能です。より包括的な解説では、キーストロークマクロ、カラースキーム、EBCDICサポート、ブックマーク、変更履歴の追跡、データ型(日付、浮動小数点数、整数)を解釈するための幅広いデータインスペクタなどの高度な機能について言及されています。SSH経由やサーバー上での作業に非常に便利です。
Hexcurse :ncursesをベースにC言語で記述されています。高速なファイル編集、16進数/ASCII切り替え、クイックショートカット、行ごとの文字数カウントなどのカウンター機能を提供します。キーボード操作が容易で、正確な編集が可能です。
Dhex :ncursesエディタの一つで、バイナリファイルを比較するためのdiffモードという大きな利点があります。ベースアドレスを様々な形式(バイナリ、10進数、8進数、16進数)で定義でき、検索レジスタやブックマークファイルを使用し、2つのファイルを呼び出すことで比較を実行できます。大文字と小文字は区別されます。
Hexer : vi/vimスタイルのコマンドライン編集、多段階アンドゥ、変更履歴を記録するための一時的な.hexerファイルを備えたマルチバッファエディタです。ブロックデバイスの編集には対応していませんが、高度なカスタマイズが可能で、「コマンドモード」のワークフローを好むユーザーにとって強力なツールです。
Vim + xxd : Vim は xxd を利用してバイナリを編集できます。`:%!xxd` は 16 進ダンプに変換し、`:%!xxd -r` は元のバイナリに戻します。読み書き時にバッファを 16 進モードで処理するフックを使用すれば、このプロセスを自動化できます。Vim をメインのエディタとして使用していて、ツールを切り替えたくない場合に最適です。
Emacs(hexlモード):hexlモードは、バッファをアドレス、バイト列、ASCIIコードを含む16進数表示に変換します。状態を失うことなく終了および復帰が可能で、hexlify-buffer、検索、編集などのユーティリティをEmacs本来の柔軟性で利用できます。
Jeex:GTK+をベースにした、無料のオープンソースソフトウェアです。16進数での編集・表示に加え、文字列抽出、ブックマーク機能、文字頻度分析、複数のフォーマット(2進数、8進数、10進数、16進数)での作業が可能です。シンプルで機能的なインターフェースを備えています。
Fileobj:viスタイルのncursesインターフェースを備えたPythonで記述されています。挿入、置換、削除、元に戻す/やり直し、切り取り/貼り付け、ビジュアル選択、部分的なバッファ読み込み、C構造体へのバイナリマッピングをサポートしています。大きなファイル全体を読み込むことなく、特定の部分を編集するのに最適です。
Joe(16進数モード):ヘルプ機能を内蔵した「モードフリー」のテキストエディタです。16進数モードに入るには、`joe -hex path/to/file` を実行してください。WordStar /Turbo Cスタイルのショートカットキーを備え、設定変更が可能で、通常のレポジトリ(apt/yum)から入手できます。
VBdiff : 2つのファイルを開いて並列に比較するバイナリビューア/差分ツールで、大容量ファイル向けに設計されています。サブモジュールを使用して構築されており、バイトの挿入や削除があっても同期を維持するため、堅牢な差分表示を実現します。
HexCmp:バイナリ比較と16進数編集を1つのアプリに統合。ファイルの表示部分でリアルタイムに比較を実行し、同期スクロール、情報パネル、カラーハイライト表示機能を備えています。ブロックベースのナビゲーションにより、最大約4GBの大容量ファイルも処理できます。
010 エディター:バイナリテンプレートのリファレンスです。バイト列のみを表示するのではなく、テンプレートを使用して階層構造を解析することで、複雑なフォーマットの理解を容易にします。50GBを超える大容量ファイル、スクリプト、無制限の元に戻す機能、プロセスメモリの編集、および複数のファイル形式(C/C++、Unicode/UTF-8、XML/HTML、テキストなど)をサポートしています。
Binary Ninja :グラフィカルな表示と改良されたPEアナライザーを備えた、リバースエンジニアリングに特化したツールです。シンボル名の変更、グラフからの構造体型の指定、Pythonライブラリを活用した自動化などが可能です。従来の16進エディタとは異なりますが、単なるバイト列のダンプにとどまらない分析が必要な場合に役立ちます。
Kaitai Struct:バイナリ形式(ファイルまたはネットワークストリーム)を記述するための宣言型言語。.ksyファイルを作成してコンパイルすると、ビューアが形式のデバッグ、データの解析、エンディアン処理を行います。パーサーの生成や、16進エディタと併用することで複雑な構造を理解するのに非常に役立ちます。
MadEdit-Mod :ドラッグ&ドロップ、ハイライト表示、トリプルクリック選択、開いているすべてのドキュメントの検索、高度なカラムモード機能など、インターフェースの改善を取り入れた、16進数モード搭載のエディタ。
Hexinator:高度なユーザー向けに設計された強力なツールです。分析エンジンを使用してバイナリファイルを詳細に解析し、再利用可能な文法を作成し、メモ機能を提供し、テキストまたはXML形式でエクスポートできます。複雑な分析タスクに最適なツールです。
Windows 用のエディター
Windows環境で作業する場合、最も基本的で軽量なものから、有料版のあるプロフェッショナル向けツールまで、非常に成熟した選択肢が数多くあります。
- 利点: 無料、高い互換性、10 進数と 8 進数の編集機能があり、スペイン語で利用できます。
- 短所: 関連する異議は指摘されていない 参照した情報源では。
BitEdit9 : 16進数、10進数、2進数、8進数に対応した無料の代替ソフトです。Windows 2000以降に対応しており、スペイン語にも翻訳されていますが、長年更新されておらず、ソースによってローカライズにばらつきがあることが指摘されています。
- 気に入った点: マルチベースのサポート、無料、翻訳が利用可能。
- 気に入らない点: 更新頻度が低く、一部のビルドで言語の問題がある。
WinVi:オープンソースソフトウェア。16進数に加えて、ASCII、DOS、EBCDIC、UTF-8、UTF-16に対応。ファイルの結合が可能で、強力な文字列検索機能も備えています。Windows 2000からWindows 11まで対応していますが、最近のアップデートはありません。無料版で、クラシックなインターフェースを採用しており、スペイン語には対応していません。
- 利点: 無料、複数のエンコード、ファイルの結合などの実用的なユーティリティ。
- デメリット: インターフェースが古く、スペイン語にローカライズされていない。
Catch22 HexEdit:最大の特長は、最大ファイルサイズが16エクサバイト( NTFSの理論上の限界)まで対応できる点です。16進数、8進数、10進数、2進数の編集、比較、印刷、複数ファイル処理機能を備えています。32ビット版と64ビット版があり、Windows 2000以降に対応しています。ただし、インターフェースは古く、翻訳されていません。
- 気に入った点: 巨大なファイルを処理でき、32/64 ビット バージョンがあります。
- 気に入らない点: インターフェースが時代遅れで、翻訳がない。
無料のHex Editor Neo:無料版と有料版があります。非常に高速で、変更履歴、バイナリクリップボード、元に戻す機能、高度な検索機能、最大1TBのファイルを開く機能などを備えていると宣伝されています。ポータブル版も利用可能です。無料版は一部の機能が欠けており、スペイン語には対応していません。
- 気に入っている点: 移植性、パフォーマンス、巨大なファイルの管理。
- 気に入らない点: 高度な機能は有料版のみで、スペイン語はサポートされていません。
LopeEdit ProとUltraEditは、プログラマー向けのテキストエディタで、16進数モードを搭載しています。LopeEditはタブ、構文ハイライト、便利なパネル(FTP、プロジェクト、コンソール、ASCIIテーブル)などを追加し、UltraEditはオートコンプリート、複数編集、FTP、16進数編集など、その他多くのツールを提供します。既にコード編集にこれらのエディタを使用しており、組み込みの16進数モードが必要な場合は、魅力的な選択肢となるでしょう。
クロスプラットフォームエディター
wxHexEditorと010 Editorは、この分野で優れた性能を発揮します。wxHexEditorは無料で、非常に大きなファイルやデバイスにも対応できる高い機能を備えています。一方、010 Editorはバイナリテンプレート、スクリプト作成、メモリ編集機能を提供し、非常に大きなファイルでも優れたパフォーマンスを発揮します。予算やニーズに応じて、どちらか一方がより適しているでしょう。
コンソールビューアとユーティリティ
迅速な分析作業やスクリプトへの統合には、コンソールユーティリティは非常に役立ちます。
hexyl:ASCIIバイト、非ASCIIバイト、NULL、スペースなどを色分けして表示するターミナルビューアです。ダンプの可読性を向上させ、カウントや詳細なテキスト表現を表示します。編集機能はありませんが、ビューアとしては非常に便利です。
xxd :ファイルを16進数にダンプし、その16進数ダンプからバイナリを再構築するツール。検索やパイプラインに最適で、Vimのワークフローにも統合されています。
ウェブ上で16進数を編集する
何もインストールしたくない場合は、オンラインオプションを使えば、時折の編集も簡単に行えます。
HexEd.it :スペイン語に翻訳された、高度に設定可能なインターフェース。表示するデータ型、文字セット、1行あたりのバイト数を選択でき、16進数だけでなく、8進数、線形、2進数も表示できます。Ctrl+F、変更の保存、新規ファイルの作成、複数ファイルの同時開きにも対応しています。
オンラインHexエディタ:シンプルながら便利な機能が満載。強力な検索機能、ハッシュ計算機、様々な形式でのバイト順表示、大容量ファイル対応(制限なし)などを備えています。無料、英語対応。
便利なカタログとリポジトリ
cdlibre.org のカタログの「ユーティリティ > 16 進エディタ」には、Frhed 1.6.0、Hexplorer 2.6、wxMEdit 3.2が掲載されています。クリーンなダウンロードとインストール手順(例えば、wxMEdit はインストール不要で、解凍して実行するだけ)を確認できる便利なリソースです。最終更新日: 2025 年 9 月 14 日。
その期間には、「2025年9月1日以降に追加された新しいプログラム:なし」および「2025年9月1日以降に更新されたプログラム:なし」と表示されます。最近の変更はありませんが、ビルドやドキュメントを探すための優れたインデックスとして機能します。
始めたばかりの方へのヒント
初心者で手軽なものを探しているなら、 Linux ではGHex または Oktetaから始めてみてください。Windows では、分かりやすいインターフェースと翻訳機能を備えた HxD が安心です。ターミナルがお好みなら、ビューアとして hexyl、変換ツールとして xxd を使えば、日々の作業がずっと楽になります。
バイナリを比較するには、Dhex(diffモード)またはVBdiffを検討してください。リバースエンジニアリングに重点を置く場合は、010 Editor(テンプレート)、Binary Ninja、またはKaitai Structを使用して構造を記述し、フォーマットを分析するとさらに高度な作業が可能になります。また、時折編集するだけであれば、スペイン語で利用できる非常に包括的なWebツールであるHexEd.itがお勧めです。
「現代的な」代替手段はどうでしょうか?一部のスレッドではImHexが最近の選択肢として挙げられていますが、私たちが調べた情報源には比較検討できる文献はまだあまりありません。実験的な試みをしたいのであれば試してみるのも悪くはありませんが、上記の方法はほぼあらゆる作業において確固たる基盤を提供します。
上記すべてを踏まえると、 HxDやGHexといった定番ツールから、VBdiffやHexCmpといったニッチなツール、巨大ファイル処理に特化したwxHexEditorやCatch22、テンプレートや分析機能を備えた高度なスイート(010 Editor、Kaitai、Binary Ninja)まで、エコシステムの全体像を把握できます。プラットフォーム、比較機能の必要性、ファイルサイズ、インストール不要のオンライン編集を重視するかどうかなどに基づいて選択してください。
バイトの世界とテクノロジー全般についての情熱的なライター。私は執筆を通じて自分の知識を共有するのが大好きです。このブログでは、ガジェット、ソフトウェア、ハードウェア、技術トレンドなどについて最も興味深いことをすべて紹介します。私の目標は、シンプルで楽しい方法でデジタル世界をナビゲートできるよう支援することです。
