リバースエンジニア向けの多機能バイナリエディター
ImHex
- 海外
- 日本語○
- 寄付歓迎
- 対応OS:
- Windows 7 以降, macOS 11 以降, Linux (Ubuntu, Fedora, RHEL/AlmaLinux, Arch Linux)
- バージョン:
- 1.33.2(2024/03/23)
- 価格:
- 無料
オープンソースで開発されているバイナリエディターです。
- バイトデータのコピー、編集、貼り付けなどのデータ編集
- 選択データを様々なタイプのデータ表示(リトルエンディアン/ビッグエンディアン)を行うデータインスペクタ
- キーワードや正規表現、16進数の検索
- ブックマークした位置へ素早くアクセスするブックマーク、好みのテーマへ変更できるテーマ
その他、様々な便利な機能を搭載している魅力的なソフトです。
- 提供元:
- WerWolv
ImHex の使い方
ダウンロード
- 提供元サイトへアクセスし、ページをスクロールして「Download for Windows」ボタンの上にマウスカーソルを乗せて表示される「MSI Installer」リンクをクリックしてダウンロードします。
※ USB メモリー等で持ち運べるポータブル版を利用する場合は、「Download for Windows」ボタンの上にマウスカーソルを乗せて表示される「Portable」リンクをクリックしてダウンロードします。
※ Mac 版、Linux 版をダウンロードする場合はそれぞれのボタンをクリックしてダウンロードします。 - ダウンロードしたセットアップファイル(imhex-1.33.2-Windows-x86_64.msi)からインストールします。
ImHex - インストール
使い方
初期設定
スタートメニューから「ImHex」⇒「ImHex」とクリックして起動します。初めに「Question」ウィンドウが表示されます。
ImHex のサーバーとの通信を許可しますか?
これにより、自動更新チェックや、以下に示すような非常に限定された使用統計のアップロードが可能になります。
また、クラッシュログの提出のみを選択することもできます。
すべての情報は私たちのサーバーで処理され、第三者に提供されることはありません。
これらの選択は設定でいつでも変更することができます。
初期設定 - 本ソフトのサーバーへのデータ通信について許可/拒否
使用統計情報のアップロードや、自動更新チェックなどを行いたい場合は「Allow(許可)」ボタンをクリックします。
※ クラッシュログの提出のみを行う場合は「Just crash logs(クラッシュログのみ)」ボタン、許可しない場合は「Deny(拒否)」ボタンをクリックします。
※ 「Data that will be shared(共有されるデータ)」をクリックすると、共有されるデータ内容が表示されます。
※ 「Data that will be shared(共有されるデータ)」をクリックすると、共有されるデータ内容が表示されます。
- Random ID … ランダム ID
- ImHex Version … ImHex バージョン
- Operating System … オペレーティングシステム
続けて「Tip of the Day(今日のヒント)」ウィンドウが表示されます。
今後ヒントが不要な場合は「Don't show again(二度と表示しない)」にチェックを入れて「Close」ボタンをクリックします。
ツールチップ表示
日本語化手順
- メニューバーから「Extras」⇒「Settings」とクリックします。
「Extras」⇒「Settings」
- 「Settings」ウィンドウが表示されるので、画面上部の「Interface」タブをクリックします。
- 「Interface」タブ画面が表示されたら「English (United States)」プルダウンをクリックして「Japanese (Japan)」をクリックすると日本語化されます。
フォントを変更する
- 「設定」ウィンドウ画面上部の「フォント」タブをクリックします。
- 「フォント」タブ画面が表示されたらフォルダーアイコンをクリックしてフォントファイル(TTF/OTF)を選択するか、パスを直接入力します。
※ Windows 11 の場合、本ソフト経由ではフォントファイルの Fonts フォルダー「C:\Windows\Fonts」内容が表示されないようです。エクスプローラーで Fonts フォルダーを開き、プロパティ画面(セキュリティタブなど)からパスをコピーして直接貼り付けて設定できます。 - フォントサイズなどをスライダーを動かして調整します。
※ フォントサイズを 16 くらいにしておくとちょうどよいかもしれません。後からでも「フォント」タブ画面から調整可能です。 - 画面右上の「×」をクリックすると「変更を反映させるには、ImHex の再起動が必要です。今すぐ再起動しますか?」ウィンドウが表示されるので「はい」ボタンをクリックします。
※ 本ソフトが終了して再起動しない場合は、スタートメニューから本ソフトを起動します。フォントの変更を反映するには本ソフトの再起動が必要
- 本ソフトが起動するとフォントが変更されていることを確認できます。
基本的な機能
本ソフトに開きたいファイルをドラッグ&ドロップするか、メニューバーから「ファイル」⇒「ファイルを開く」とクリックしてファイルを選択してファイルを開きます。デフォルトで表示されるウィンドウは次の通り。
※ 表示するウィンドウについてはメニューバー「表示」から表示/非表示の切り替えが可能です。
- Hex エディタ
バイナリデータの表示、編集、分析を行います。
- バイトをダブルクリックすると編集モードに入り、編集可能です。
※ 編集されたバイトは赤色文字になります。
※ Ctrl + C キー、Ctrl + V キーなどのコピペに対応しています。 - 右クリックメニュー「~としてコピー」から、選択したバイトのフォーマットされた表現(ASCII String、C 配列、C++配列、Java 配列、C#配列、Python 配列、JavaScript 配列、Go 配列、Swift 配列…など)をクリップボードにコピーできます。
- ドラッグで範囲を選択して右クリックメニューから「Open selection view」とクリックすると、現在選択されているバイトが新しいタブに分割表示されます。
※ 新しいタブに表示されたバイトを編集すると、元のタブのバイトにも反映されます。
- バイトをダブルクリックすると編集モードに入り、編集可能です。
- データインスペクタ
バイトを様々なエンコーディング(リトル・エンディアンとビッグ・エンディアン))へ迅速にデコードして表示します。 - パターンデータ
パターンエディタ に記述されたソースコードによって生成されたすべてのパターンを、パターンデータで視覚化します。 - パターンエディタ
パターン言語のソースコードを記述して実行します。
※ パターン言語は、本ソフト用に開発された C++ と Rust からインスピレーションを得たカスタム・スクリプト言語です。
※ パターン言語について詳しくは ImHex ドキュメント - Pattern Editor をご参照ください。 - データプロセッサ
ノードベースのビジュアルデータプリプロセッサ。
※ データプロセッサについて詳しくは ImHex ドキュメント - Data Processor をご参照ください。 - ブックマーク
Hex エディタ のバイトの右クリックメニュー「ブックマークを作成」からブックマークを作成し、すばやくアクセスできるようにします。 - 検索
データ全体または選択範囲や領域を検索して、特定の制約に一致するバイトシーケンスを見つけることができます。
※ 検索について詳しくは ImHex ドキュメント - Find をご参照ください。 - ハッシュ
複数の異なるハッシュアルゴリズムをすべて独自のカスタム設定でインスタンス化し、それらを使用して選択したバイト領域を自動的にハッシュすることができます。
Hex エディタ
「Hex エディタ」画面左下の各アイコンから表示方法を変更できます。-
16進数を大文字表記
16進数の大文字表記/小文字表記の切り替え
ゼロをグレーアウト/解除の切り替え
ASCII の表示/非表示を切り替え
「Hex エディタ」画面右下の「データ表示方式」プルダウンから表示方法を変更できます。
- 16進数( 8 bits)
- 16進数(16 bits)
- 16進数(32 bits)
- 16進数(64 bits)
- 符号なし整数型( 8 bits)
- 符号なし整数型(16 bits)
- 符号なし整数型(32 bits)
- 符号なし整数型(64 bits)
- 浮動小数点(16 bits)
- 浮動小数点(32 bits)
- 浮動小数点(64 bits)
- RGBA8
- HexII
- Binary
検索
画面右に表示している「検索」からデータ全体 / 選択範囲 / 領域 の検索が可能です。各タブをクリックして検索が可能です。
- Strings … 文字数、大文字、小文字、数字、アンダースコア、記号、半角スペースなど
- ASCII … 文字列検索
- 正規表現
- 16進数
- 数値
機能一覧
本ソフトでは下記の機能が提供されています。- 特徴的な 16 進ビュー
- バイトパッチング
- パッチ管理
- バイトを機能としてコピー
・バイト
・16 進文字列
・C、C++、C#、Rust、Python、Java、JavaScript 配列
・アスキーアートの 16 進ビュー
・HTML 自己完結型 div - 文字列と 16 進数の検索
- カラフルなハイライト
- 開始、終了、および現在のカーソル位置から移動
- ファイルのコンテンツを解析して強調表示するためのカスタム C++ のようなパターン言語
- MIME タイプに基づいた自動読み込み
- 配列、ポインタ、構造体、共用体、列挙型、ビットフィールド、名前空間、リトルエンディアンとビッグエンディアンのサポート、条件文など。
- 便利なエラー メッセージ、構文の強調表示、エラー マーキング
- 深夜のセッションで使用しても網膜を焼き切ることはありません
- デフォルトではダークモードですが、ライトモードも利用可能です
- データのインポート
- Base64 ファイル
- IPS および IPS32 パッチ
- データのエクスポート
- IPS および IPS32 パッチ
- データ・インスペクターにより、さまざまなタイプのデータ (リトル・エンディアンとビッグ・エンディアン) を解釈できるようになります。
- 高速かつ効率的なロードによる巨大なファイルのサポート
- 文字列検索
- 文字列のコピー
- 分解された文字列のコピー
- ファイルハッシュのサポート
- カスタム初期値と多項式を使用した CRC16 および CRC32
- MD4、MD5
- SHA-1、SHA-224、SHA-256、SHA-384、SHA-512
- 多くのアーキテクチャをサポートする逆アセンブラー (Capstone のフロントエンド)
- ARM32 (ARM、親指、Cortex-M、AArch32)
- ARM64
- MIPS (MIPS32、MIPS64、MIPS32R6、マイクロ)
- x86 (16 ビット、32 ビット、64 ビット)
- PowerPC (32 ビット、64 ビット)
- スパーク
- IBM SystemZ
- xコア
- M68K
- TMS320C64X
- M680X
- イーサリアム
- RISC-V
- Webアセンブリ
- MOS65XX
- バークレーパケットフィルター
- ブックマーク
- 領域の強調表示
- コメント
- データアナライザー
- ファイルマジックベースのファイルパーサーとMIMEタイプデータベース
- バイト分布グラフ
- エントロピーグラフ
- 最高および平均のエントロピー
- 暗号化/圧縮ファイルの検出
- 内蔵コンテンツストア
- データベース内で見つかったすべてのファイルを ImHex 内から直接ダウンロードします
- Yara ルールのサポート
- 公式 yara ルールを使用してファイルの脆弱性を迅速にスキャンします
- 便利なツール
- Itanium および MSVC デマングラー
- アスキーテーブル
- 正規表現置換子
- 数式評価器(電卓)
- 16 進数のカラーピッカー
- ベースコンバータ
- UNIX 権限計算ツール
- ウィキペディアの用語定義ファインダー
- ファイルユーティリティ
・ファイルスプリッター
・ファイルコンバイナ
・ファイルシュレッダー
テーマを変更する
- メニューバーから「Extras」⇒「設定」とクリックします。
「Extras」⇒「設定」
- 「設定」画面が表示されるので画面上部の「UI」タブをクリックします。
- 「UI」タブ画面が表示されたら「Dark」プルダウンをクリックして任意のテーマ名をクリックして選択します。
ここでは「Light」をクリックした後、画面右上の「×」をクリックします。 - 「Light」テーマが適用されます。
テーマをダウンロードする
テーマをダウンロードして別のテーマを適用できます。- GitHub の ImHex-Patters ページへアクセスし、ページをスクロールして一番下の「Themes」項目から任意のテーマをダウンロードできます。
※ 例えば「Visual Studio Dark」テーマをダウンロードする場合、「Themes/vs_dark.json」リンクをクリックし、表示されたページ右上のダウンロードアイコンをクリックしてダウンロードします。 - ダウンロードしたテーマファイルを本ソフトの「Themes」フォルダーにコピーします。
※ 「Visual Studio Dark」テーマであれば、ダウンロードした「vs_dark.json」ファイルを本ソフトの「Themes」フォルダー(C:\Program Files\ImHex\themes)へコピーします。 - 本ソフトを再起動し、「設定」画面の「UI」タブ画面を表示するとダウンロードしたテーマ名が表示されてテーマを適用できるようになります。
更新履歴
Version 1.33.2 (2024/03/22)
- 改善点
- ImHex が Linux で再び適切に低電力モードに入るようになりました
- Unifont 文字がネイティブ サイズでロードされるようになり、欧文文字のように鮮明になります。
- スプラッシュ画面が奇妙に拡大縮小されなくなりました
- 詳細データ情報セクションで結果が得られなかった場合のヒントを追加しました
- バグの修正
- libyara へのリンクを修正しました。これにより、AUR バージョンが起動しなくなったなどの問題が解決されるはずです。
- Windows の自動アップデータに関する問題を修正しました
- ビュープロバイダーがプロジェクトファイルに正しく保存されない問題を修正
- ブックマーク領域を変更するとハイライトが正しく更新されない問題を修正
- 最初のポップアップで「拒否」を選択したときにクラッシュアップロード設定が正しく無効にならない問題を修正しました。
- データインスペクターと配列オプションとしてコピーに関するカスタムベースアドレスの問題を修正しました。
- 高度なデータ情報が正しく表示されない問題を修正
- 右クリックすると選択範囲が削除されることがある問題を修正
- 選択範囲をファイルにエクスポートする際の無限ループを修正しました
- ログファイルに記録される制御文字を修正
- 開けないファイルを開いたときのクラッシュを修正しました
- パターンランゲージ
- 仮想ファイル システムに関するさまざまな問題を修正しました
- データ解凍関数がデータ全体を抽出しない問題を修正しました。
Version 1.33.1 (2024/03/03)
- 改善点
- メインスレッドでスローされた例外から回復する機能の向上
- フレームレンダリングアルゴリズムを大幅に改善
- ImHex は、大量の CPU と GPU パワーを使用しなくなりました (特に Linux 上で!)。
- ウィンドウのサイズを変更しても、16 進エディターのミニマップ行が一定のサイズのままになるようになりました。
- プロジェクトをロードする際のエラー処理の改善
- バグの修正
- コマンドラインまたは「プログラムから開く」を使用してプロジェクトファイルを開いたときに、通常のファイルのように開かれる問題を修正しました。
- 情報ビューの詳細情報セクションで yara ルールが正しく読み取られない問題を修正しました。
- 読み取り専用プロバイダーを開いているときに「インポート」メニューが無効にならなくなりました。
- すべてのプロバイダーに対して表示される読み取り専用情報トーストを修正しました
- ハッシュ ビューで CRC を計算しようとしたときのクラッシュを修正しました
- MIME タイプに基づく自動パターン読み込みが機能しなくなった問題を修正しました。
- ファイルのサイズを変更したり、ファイル内にバイトを挿入すると、その後すべてのデータが失われる問題を修正しました
- ImHex がフォーカスされていないときにアイテムをクリックすると機能しない問題を修正
- コンテンツ ストアから複数のアイテムを一度にダウンロードするときにまれに発生するクラッシュを修正しました
- パターンランゲージ
- import ステートメントを使用してインポートされたテンプレート タイプが正しく動作しない問題を修正しました。
- バリデーターでの無限再帰によるクラッシュを修正しました
Version 1.33.0 (2024/02/26)
- 追加
- すべてのメインメニューエントリにきれいなアイコンが表示されるようになりました
- マイヤーズの差分アルゴリズムを差分ビューに追加しました
- このアルゴリズムは、挿入と削除、および変更を表示できます。
- Malcat のメンテナーに多大な感謝を!
- ツールバーアイコンをカスタマイズするオプションを追加しました
- ImHex を初めて起動するときの、非常に改善されたすぐに使用できるエクスペリエンスを追加しました。
- 多くの新しいハッシュ アルゴリズムを追加
- これには、基本的な合計チェックサム、Snefru、Haval、さまざまな SHA バージョン、Kecchak、RIPEMD、多くの CRC プリセットなどが含まれます。
- データ情報ビューを大幅に改善しました
- セクションのオンとオフを切り替えられるようになりました
- 複数の連結されたファイルがある場合、マジック情報に複数のエントリが含まれるようになりました。
- Digram および Layered 分布グラフのパフォーマンスが大幅に向上しました
- 実行可能ファイルのコンパイラ、プログラミング言語などを検出するためにファイルに対して実行される yara ルールが組み込まれています。
- パターンエディターを大幅に改善
- どうもありがとうございました@paxcut
- これにより、検索と置換のサポート、強調表示の改善、その他多くの小さな機能が追加されます。
- ヘックスエディターにミニマップを追加しました
- これは、16 進エディターのフッターにあるマップ アイコンをクリックすると有効になります。
- そのアイコンを右クリックすると、設定オプションもあります
- 16 進エディターのハイライトからパターンに直接ジャンプするオプション Edit -> Jump to -> Pattern を追加しました
- パターン データ ビューでパターンをクリックすると、パターン エディターの定義にジャンプするようになりました。
- 設定にフォントピッカーを追加しました
- 16 進エディター上にマウスを置いたときに親パターン領域をハイライトするオプションを追加しました。
- 他の文字列エンコーディングとエンディアンの検索のサポートが追加されました。どうもありがとうございました@PerikiyoXD
- ファイルを ImHex にドラッグするときに、きれいなドラッグ アンド ドロップ オーバーレイを追加しました
- パターン言語による仮想ファイル システムのサポートを追加しました
- ImHex を常に他のウィンドウの前面に表示するオプションを追加しました
- 全画面モードで ImHex を使用するオプションを追加しました
- コマンド パレットを介して他のプロバイダーに切り替えるためのサポートが追加されました
- プロバイダー タブが 1 つしかない場合でも、常にすべてのプロバイダー タブを表示する設定を追加しました。
- 選択範囲をファイルにエクスポートするオプションを追加しました
- パターンデータビューにコメント欄を追加しました。テーブルのヘッダーを右クリックして選択することで有効にできます。
- ボーダーレスウィンドウモードをオフにするオプションを追加しました
- 検索ビューの結果をファイルにエクスポートするオプションを追加しました
- ヘッダーのコマンド パレット ボタンを無効にするオプションを追加しました
- ファイル選択ポップアップに検索バーを追加しました
- 複数のファイルを一度に開くためのサポートを追加しました
- macOS の「右クリック -> プログラムから開く」オプションのサポートを追加しました
- 改善点
- ImHex は、ファイルをメモリにマッピングする代わりに、Atomic File I/O を使用するようになりました。
- これにより、特定のファイルを開けなかったり、ネットワークドライブ上のファイルが正常に動作しなかったりするさまざまな問題が解決されます。
- macOS M1 ビルドの実行には macOS 14.0 ではなく macOS 12.1 のみが必要になりました
- ブックマークの移動には ImGui のネイティブのドラッグ アンド ドロップ機能が使用されるようになりました
- プロバイダー間でのパターン言語ソース コードの同期がより適切に機能するようになりました。
- マルチバイト値を持たないカスタム エンコーディングは、選択するとすぐに表示されるようになりました。
- macOS ビルドではカスタム タイトルバーが使用されるようになりました
- メイン ウィンドウがフォーカスを失った場合、ImHex ウィンドウのフォーカスが適切に解除されるようになりました。
- ImHex がバックグラウンドにあるときにカーソルが点滅することはもうありません。
- 16 進エディターの編集モードで個々の文字を上書きする機能が大幅に向上しました。
- Web バージョンの ImHex でコピーと貼り付けが正しく機能するようになりました。どうもありがとうございました@exsilium
- 検索ポップアップがその内容を記憶するようになりました
- 復元するものが何もない場合、クラッシュ復元ポップアップは表示されなくなりました
- 同じファイルを複数回開くことはできなくなりました
- ImHex は、ファイルをメモリにマッピングする代わりに、Atomic File I/O を使用するようになりました。
- バグの修正
- macOS ビルドの署名の問題を修正しました
- CTRL + S でバイトの赤いハイライトが削除されない問題を修正
- [編集] -> [ジャンプ] オプションのアドレス バインド チェックを修正しました
- 十分なスペースがある場合でもメニュー バーがハンバーガー メニューに折りたたまれる問題を修正
- RGBA8 データ プロセッサ ノードが出力バッファを正しく設定しない問題を修正
- 情報ビューのプロバイダー情報が修正され、分析されたプロバイダーに関する情報ではなく、現在のプロバイダーに関する情報が常に表示されました。
- Windows で特定のウィンドウ管理ツールを使用する場合の問題を修正しました
- ファイル引数を指定して ImHex を起動するときのクラッシュを修正しました
- 多すぎる 16 進エディタ行を使用しようとした場合のクラッシュを修正しました
- Linux のネイティブ テーマの検出を修正しました。おかげで@iTrooz
- ワークスペースが正しく保存されないことがある問題を修正しました
- デフォルトのマジックデータベースが正しくバンドルされていなかった問題を修正しました
- 非常に古い設定ファイルをロードする際のクラッシュを修正しました
- 基になるデータが変更されたときにデータ インスペクターが正しく更新されない問題を修正しました。
- ハッシュ ビューで無効なハッシュ パラメーターを指定した場合のクラッシュを修正しました。
- 追加のフォルダー パスが構成ファイルから正しくロードされない問題を修正しました。
- データインスペクターが時々 2 つのマイナス記号を表示する問題を修正
- ゼロ以外のベースアドレスに関するさまざまな問題を修正しました
- パターンランゲージ
- …(省略)
ユーザーレビュー
-
まだレビューが投稿されていません。
このソフトの最初のレビューを書いてみませんか?