リバースエンジニア向けの多機能バイナリエディター

ImHex のアイコン

ImHex

ダウンロード支援

バージョン
1.36.2
更新日
2024/12/28
対応 OS
Windows 7 以降, macOS 11 以降, Linux (Ubuntu, Fedora, RHEL/AlmaLinux, Arch Linux)
言語
日本語
価格
無料
提供元

オープンソースで開発されているバイナリエディターです。

  • バイトデータのコピー、編集、貼り付けなどのデータ編集
  • 選択データを様々なタイプのデータ表示(リトルエンディアン/ビッグエンディアン)を行うデータインスペクタ
  • キーワードや正規表現、16進数の検索
  • ブックマークした位置へ素早くアクセスするブックマーク、好みのテーマへ変更できるテーマ

その他、様々な便利な機能を搭載している魅力的なソフトです。

ImHex の使い方

ダウンロード と インストール

  1. 提供元サイトへアクセスし、ページをスクロールして「Download for Windows」ボタンの上にマウスカーソルを乗せて表示される「MSI Installer」リンクをクリックしてダウンロードします。
    USB メモリー等で持ち運べるポータブル版を利用する場合は、「Download for Windows」ボタンの上にマウスカーソルを乗せて表示される「Portable」リンクをクリックしてダウンロードします。
    ※ Mac 版、Linux 版をダウンロードする場合はそれぞれのボタンをクリックしてダウンロードします。
  2. ダウンロードしたセットアップファイル(imhex-1.36.2-Windows-x86_64.msi)からインストールします。
    ImHex - インストール

    ImHex - インストール

使い方

初期設定

スタートメニューから「ImHex」⇒「ImHex」とクリックして起動します。

初めに「Question」ウィンドウが表示されます。
ImHex のサーバーとの通信を許可しますか?

これにより、自動更新チェックや、以下に示すような非常に限定された使用統計のアップロードが可能になります。
また、クラッシュログの提出のみを選択することもできます。
すべての情報は私たちのサーバーで処理され、第三者に提供されることはありません。
これらの選択は設定でいつでも変更することができます。
初期設定 - 本ソフトのサーバーへのデータ通信について許可/拒否

初期設定 - 本ソフトのサーバーへのデータ通信について許可/拒否



使用統計情報のアップロードや、自動更新チェックなどを行いたい場合は「Allow(許可)」ボタンをクリックします。
※ クラッシュログの提出のみを行う場合は「Just crash logs(クラッシュログのみ)」ボタン、許可しない場合は「Deny(拒否)」ボタンをクリックします。
※ 「Data that will be shared(共有されるデータ)」をクリックすると、共有されるデータ内容が表示されます。
  • Random ID … ランダム ID
  • ImHex Version … ImHex バージョン
  • Operating System … オペレーティングシステム

続けて「Tip of the Day(今日のヒント)」ウィンドウが表示されます。
今後ヒントが不要な場合は「Don't show again(二度と表示しない)」にチェックを入れて「Close」ボタンをクリックします。
ツールチップ表示

ツールチップ表示



日本語化手順

  1. メニューバーから「Extras」⇒「Settings」とクリックします。
    「Extras」⇒「Settings」

    「Extras」⇒「Settings」

  2. 「Settings」ウィンドウが表示されるので、画面上部の「Interface」タブをクリックします。
  3. 「Interface」タブ画面が表示されたら「English (United States)」プルダウンをクリックして「Japanese (Japan)」をクリックすると日本語化されます。
    「Settings」画面 - 「Interface」タブ画面から「Japanese」を選択

    「Settings」画面 - 「Interface」タブ画面から「Japanese」を選択

    日本語表示に

    日本語表示に


フォントを変更する
  1. 「設定」ウィンドウ画面上部の「フォント」タブをクリックします。
  2. 「フォント」タブ画面が表示されたらフォルダーアイコンをクリックしてフォントファイル(TTF/OTF)を選択するか、パスを直接入力します。
    ※ Windows 11 の場合、本ソフト経由ではフォントファイルの Fonts フォルダー「C:\Windows\Fonts」内容が表示されないようです。エクスプローラーで Fonts フォルダーを開き、プロパティ画面(セキュリティタブなど)からパスをコピーして直接貼り付けて設定できます。
    フォントのパスをコピペ

    フォントのパスをコピペ

  3. フォントサイズなどをスライダーを動かして調整します。
    ※ フォントサイズを 16 くらいにしておくとちょうどよいかもしれません。後からでも「フォント」タブ画面から調整可能です。
    「設定」画面 - 「フォント」タブ画面からフォントやフォントサイズを変更

    「設定」画面 - 「フォント」タブ画面からフォントやフォントサイズを変更

  4. 画面右上の「×」をクリックすると「変更を反映させるには、ImHex の再起動が必要です。今すぐ再起動しますか?」ウィンドウが表示されるので「はい」ボタンをクリックします。
    ※ 本ソフトが終了して再起動しない場合は、スタートメニューから本ソフトを起動します。
    フォントの変更を反映するには本ソフトの再起動が必要

    フォントの変更を反映するには本ソフトの再起動が必要

  5. 本ソフトが起動するとフォントが変更されていることを確認できます。
    日本語化したメイン画面

    日本語化したメイン画面


基本的な機能

本ソフトに開きたいファイルをドラッグ&ドロップするか、メニューバーから「ファイル」⇒「ファイルを開く」とクリックしてファイルを選択してファイルを開きます。
Exe ファイルの読み込み

Exe ファイルの読み込み



デフォルトで表示されるウィンドウは次の通り。
※ 表示するウィンドウについてはメニューバー「表示」から表示/非表示の切り替えが可能です。
  • 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進数の大文字表記/小文字表記の切り替え

    16進数の大文字表記/小文字表記の切り替え

    ゼロをグレーアウト
    ゼロをグレーアウト/解除の切り替え

    ゼロをグレーアウト/解除の切り替え

    ASCII を表示
    ASCII の表示/非表示を切り替え

    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
データ表示方式 - 16進数(16 bits)

データ表示方式 - 16進数(16 bits)

データ表示方式 - 符号なし整数型(8 bits)

データ表示方式 - 符号なし整数型(8 bits)

データ表示方式 - 浮動小数点数(16 bits)

データ表示方式 - 浮動小数点数(16 bits)

データ表示方式 - Binary

データ表示方式 - Binary



検索
画面右に表示している「検索」からデータ全体 / 選択範囲 / 領域 の検索が可能です。
各タブをクリックして検索が可能です。
  • Strings … 文字数、大文字、小文字、数字、アンダースコア、記号、半角スペースなど
  • ASCII … 文字列検索
  • 正規表現
  • 16進数
  • 数値
画面右の「検索」ビューにてキーワード「This」を検索

画面右の「検索」ビューにてキーワード「This」を検索



機能一覧
本ソフトでは下記の機能が提供されています。
  • 特徴的な 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 権限計算ツール
    • ウィキペディアの用語定義ファインダー
    • ファイルユーティリティ
      ・ファイルスプリッター
      ・ファイルコンバイナ
      ・ファイルシュレッダー
ImHex - GitHub より。その他機能の詳細については ImHex ドキュメントをご参照ください。

テーマを変更する
  1. メニューバーから「Extras」⇒「設定」とクリックします。
    「Extras」⇒「設定」

    「Extras」⇒「設定」

  2. 「設定」画面が表示されるので画面上部の「UI」タブをクリックします。
  3. 「UI」タブ画面が表示されたら「Dark」プルダウンをクリックして任意のテーマ名をクリックして選択します。
    ここでは「Light」をクリックした後、画面右上の「×」をクリックします。
    「設定」画面 - 「UI」タブ画面からカラーテーマを選択

    「設定」画面 - 「UI」タブ画面からカラーテーマを選択

  4. 「Light」テーマが適用されます。
    Light テーマの表示

    Light テーマの表示


テーマをダウンロードする
テーマをダウンロードして別のテーマを適用できます。
  1. GitHub の ImHex-Patters ページへアクセスし、ページをスクロールして一番下の「Themes」項目から任意のテーマをダウンロードできます。
    ※ 例えば「Visual Studio Dark」テーマをダウンロードする場合、「Themes/vs_dark.json」リンクをクリックし、表示されたページ右上のダウンロードアイコンをクリックしてダウンロードします。
  2. ダウンロードしたテーマファイルを本ソフトの「Themes」フォルダーにコピーします。
    ※ 「Visual Studio Dark」テーマであれば、ダウンロードした「vs_dark.json」ファイルを本ソフトの「Themes」フォルダー(C:\Program Files\ImHex\themes)へコピーします。
  3. 本ソフトを再起動し、「設定」画面の「UI」タブ画面を表示するとダウンロードしたテーマ名が表示されてテーマを適用できるようになります。
    インストールしたテーマの表示(Visual Studio (Dark))

    インストールしたテーマの表示(Visual Studio (Dark))


更新履歴

Version 1.36.2
(2024/12/29)
  • スタートアップの修正
    • このリリースは、ImHex を初めて起動したときの起動時のクラッシュを修正したことを除いて、v1.36.1 と同じです。

Version 1.36.1
(2024/12/28)
  • 改善点
    • アップデート後、コンテンツストアからダウンロードされたすべてのアイテムも更新されるようになりました
    • メニューバーをクリックしてコマンドパレットを閉じることができるようになりました
  • バグ修正
    • ショートカットが機能しないさまざまな問題を修正しました
      • このバージョンにアップデートすると、カスタマイズしたショートカットがすべてデフォルトに強制的にリセットされ、この問題が解決されます。
      • これは一度だけ行われます。後でショートカットを再度カスタマイズできます。
    • ALT GR を CTRL + ALT にマッピングしたキーボードレイアウトで CTRL キーが時々動かなくなる問題を修正しました。
      • これはパターンエディタでパターンを書くときに最も顕著でした
    • インタラクティブチュートリアルのハイライトが正しく機能しなくなる問題を修正しました
    • ウェブ版からのファイルの保存が正しく機能しない問題を修正しました
    • ウェブ版の実績が正しく保存されない問題を修正
    • バイトを逆アセンブルするときに発生するクラッシュを修正しました
    • ウィンドウのサイズを変更するときに時々クラッシュする問題を修正しました
    • 「--reset-settings」サブコマンドの説明を修正しました
    • ブックマークの説明テキストエディタのレンダリングの問題を修正しました

Version 1.36.0
(2024/12/24)
  • 特徴
    • データプロセッサにループノードを追加しました
      • これにより、より複雑なデータ処理が可能になります
    • Linuxのシステムフォントの列挙をサポートしました。@ColinKinloch
    • 16 進エディタのパターンホバーツールチップに親へのオフセットが表示されるようになりました。
    • パターンエディタが大幅に改善されました。@paxcut
      • このエディターは他のエディターとよく似ています
      • 改善点が多すぎてすべてをリストすることはできません。ぜひご自身でお試しください。
    • IEEE 754 ツールに1/4精度オプションを追加しました
    • 16 進エディタビューにカスタマイズ可能なセグメントセパレーターを追加しました
    • 大きなエントロピーの低下や急上昇が検出されたデータ情報ビューに注釈を追加しました
    • 逆アセンブラビューにエクスポートオプションを追加しました。@BioTheWolff
    • 編集メニューに「選択範囲を分解」オプションを追加しました
    • 逆アセンブラにイメージベースアドレスとイメージロードアドレスオプションを追加しました
    • 16 進エディタビューに文字列を貼り付けるオプションを追加しました
  • 改善点
    • さまざまなビューの外観と操作性を改善し、近代化しました
    • アンダースコアで始まらない識別子でもデマングルが正しく機能するようになりました
    • データプロセッサがバックグラウンドで実行されるようになったため、UI がフリーズしなくなりました。
    • 差分ビューのテーブルのサイズを変更できるようになりました
    • 差分ビューで差分をクリックすると、メインの 16 進エディタビューで同じ領域が選択されるようになりました。
    • 16 進エディターでパターンの上にマウスを移動しても、場合によってはフレーム レートが低下しなくなりました。
    • パターンの説明がパターン受け入れポップアップに表示されるようになりました
    • stderr は完全に抑制されなくなりました
    • インライン ビジュアライザーをカスタム データ インスペクター行で使用できるようになりました
    • 3D ビジュアライザーのエラー処理の改善
    • さまざまなメニュー項目の命名とショートカット表示の改善
    • コマンドパレットの結果(計算機など)をクリックすると、その結果がパレット入力に戻されるようになりました。
    • ImGui を最新バージョンに更新しました
  • バグ修正
    • ImHex は、サーバー接続が無効になっている場合、起動時に API への接続を試行しなくなりました。
    • プロセス データ プロバイダーで無効なデータ領域が表示されている場合、ログにエラー メッセージが大量に表示されなくなりました。
    • 3D ビジュアライザーのテクスチャが正しくレンダリングされない問題を修正しました
    • 大きなデータ領域をハッシュする際の問題を修正
    • パターンのソート中に ImHex がクラッシュする可能性のある複数の競合状態を修正しました。
    • 再起動後に実績がリセットされなくなりました
    • ハッシュビューの CRC64 パラメータが32ビットに制限されていた問題を修正しました
    • macOS で CMD ではなく CTRL を使用するショートカットの問題を修正しました
    • 挿入モードを使用してファイルの先頭にバイトを挿入すると正しく機能しない問題を修正しました
  • パターン言語
    • さまざまな新しい組み込み型を追加しました
      • JSON 文字列をデコードするための hex::type::Json やバイトを逆アセンブルするための hex::type::Instruction などの型。
    • 既存のパターンを他のパターンにインポートするオプションを追加しました。
      • たとえば、import * from elf as ELF; を使用して、ELF データをデコードしたい場所に ELF 型を配置できます。
    • lz4 解凍のサポートを追加しました
    • パターンの形式で、OtherType として再解釈式を追加しました。
      • 両側のサイズが同じ場合、パターンのビットは OtherType 型として解釈されます
    • パターンのカラー パレットを変更し、現在のパレットの進行状況をリセットする関数を追加しました
    • 評価が完了した後のパターンの処理が大幅に高速化されました
    • ビットマップ ビジュアライザーでインデックス付きカラーマップを処理できるようになりました。 @paxcut に感謝します
    • [[fixed_size]] 属性を追加して、型の最小サイズを固定値に設定するか、型がこの値よりも大きくなるとエラーをスローするようにしました
    • 列挙型は使用のたびに評価されなくなりました
    • 123_literal または "Test"_literal(1, 2, 3) の形式でユーザー定義リテラルを追加しました
    • ファイルが別のファイルによってインポートされるときに定義される IMPORTED マクロを追加しました
    • さまざまなプリプロセッサとレクサーの改善。@paxcut に感謝します

ユーザーレビュー

  • まだレビューが投稿されていません。
    このソフトの最初のレビューを書いてみませんか?