ImHex - 🔍 リバースエンジニア、プログラマー、および午前3時に作業するときに網膜を大切にする人々のためのHexエディター。

(🔍 A Hex Editor for Reverse Engineers, Programmers and people who value their retinas when working at 3 AM.)

Created at: 2020-11-10 22:27:00
Language: C++
License: GPL-2.0

リバースエンジニア、プログラマー、および午前3時に作業するときに網膜を大切にする人々のためのHexエディター。

「ビルド」ワークフローのステータス 不和サーバー 合計ダウンロード数

サポート

私の作品が気に入ったら、GitHub Sponsors、Patreon、またはPayPalで私をサポートすることを検討してください。どうもありがとうございます!

GitHub の寄付ボタン パトレオン寄付ボタン PayPal寄付ボタン

スクリーンショット

16進エディタ、パターン、データ情報 ブックマーク、逆アセンブラ、データプロセッサ

顔立ち

  • 特徴ある六角表示
    • バイトパッチ
    • パッチ管理
    • バイトを機能としてコピー
      • バイト
      • 六角ストリング
      • C, C++, C#, Rust, Python, Java & JavaScript array
      • ASCII アート ヘックス ビュー
      • 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, Thumb, Cortex-M, AArch32)
    • ARM64
    • MIPS (MIPS32, MIPS64, MIPS32R6, Micro)
    • x86 (16 ビット、32 ビット、64 ビット)
    • PowerPC (32-ビット, 64-ビット)
    • スパーク
    • IBM SystemZ
    • xコア
    • M68K
    • TMS320C64X
    • M680X
    • イーサリアム
    • RISC-V
    • ウェブアセンブリ
    • モス65XX
    • バークレーパケットフィルタ
  • ブックマーク
    • 地域の強調表示
    • コメント
  • データアナライザー
    • ファイルマジックベースのファイルパーサーとMIMEタイプデータベース
    • バイト分布グラフ
    • エントロピーグラフ
    • 最高エントロピーと平均エントロピー
    • 暗号化/圧縮ファイルの検出
  • 組み込みコンテンツ・ストア
    • データベースで見つかったすべてのファイルをImHex内から直接ダウンロードします
  • ヤラルールのサポート
    • 公式のヤラルールでファイルの脆弱性をすばやくスキャンする
  • 便利なツール
    • Itanium および MSVC デマングラ
    • アスキーテーブル
    • 正規表現置換
    • 数式エバリュエーター (電卓)
    • 16 進カラー ピッカー
    • ベースコンバータ
    • UNIX 権限計算ツール
    • アノンファイルファイルアップロードツール
    • ウィキペディアの用語定義ファインダー
    • ファイルユーティリティ
      • ファイルスプリッター
      • ファイル結合器
      • ファイルシュレッダ

パターン言語

パターン言語は、ImHex用に開発された完全にカスタムプログラミング言語です。 Cのような構文で構造とデータ型を定義し、それらを使用してファイルの内容を解析および強調表示できます。

データベース

フォーマットパターン、ライブラリ、マジック、定数ファイルについては、ImHex-Patternsリポジトリを確認してください。

そこにもあなた自身のファイルをPRしてください!

必要条件

ImHexを使用するには、次の最小システム要件を満たす必要があります。

  • OS: Windows 7 以上、macOS 10.15 (Catalina) 以上、「Modern」Linux (Ubuntu 22.04、Fedora Stable/Rawhide、Arch Linux には公式パッケージがあり、他のディストリビューションでは AppImage を使用できます)
  • CPU: x86_64 (64 ビット)
  • GPU: OpenGL 3.0 以上 (インテル HD グラフィックスではなく専用 GPU が望ましい)
  • RAM:512MB、より複雑な分析にはさらに多くのものが必要になる場合があります
  • ストレージ: 100MB

装着

ImHexのインストール方法に関する情報は、インストールガイドに記載されています

コンパイル

任意のプラットフォームでImHexをコンパイルするには、C ++ 23以降をサポートするバージョンでGCC(またはClang)が必要です。 macOSでは、ClangはいくつかのObjCコードをコンパイルするためにも必要です。 すべてのリリースは、利用可能な最新のGCCを使用してビルドされています。

多くの依存関係はサブモジュールを使用してリポジトリにバンドルされているため、必ずを使用してクローンを作成してくださいオプション。 バンドルされていないすべての依存関係は、フォルダーにある依存関係インストーラー スクリプトを使用してインストールできます。

--recurse-submodules
/dist

詳細については、コンパイルガイドを参照してください。

プラグイン開発

ImHex用のプラグインを開発するには、次の2つのテンプレートプロジェクトのいずれかを使用して開始します。その後、libimhex全体、ImHex APIおよびコンテンツレジストリにアクセスして、ImHexと対話したり、新しいコンテンツを追加したりできます。

クレジット

貢献

  • ImHexをMacOSに移植し、開発中の支援をしてくれたメアリー
  • ImHexにMSIインストーラサポートを追加するためのロブラブラ
  • jam1garnerとraytwoがプラグインに Rust サポートを追加するのを手伝ってくれました
  • Mailaenderfor ImHex を Flathub に
  • iTroozは、リリースパッケージと GitHub Action ランナーに関連する多くの改善を行いました。
  • 私が素晴らしい会話をしたDiscordまたはGitHubで問題を報告した他のすべての人:)

依存 関係

  • インターフェイス全体を構築するために使用される素晴らしい親愛なるImGuiをocornutに感謝します
    • このプロジェクトのベースとして使用されたヘックスエディタービューについてもocornutに感謝します。
    • BalazsJakoのおかげで、パターン言語構文の強調表示に使用される信じられないほどのImGuiColorTextEditを使用します
  • プロジェクトファイルに使用されるjsonライブラリを提供してくれたnlohmannに感謝します
  • 分解窓のベースであるキャップストーンのaquynhに感謝します
  • フォーマットとロギングを非常に良くするlibfmtライブラリを提供してくれたvitautに感謝します
  • ダウンロードしたストアアセットの抽出に使用されるmicrotarのrxiに感謝します
  • ネイティブファイルダイアログ拡張のためのbtzyに感謝します
  • xdgpp の danyspin97 に感謝します
  • ImHexでライブラリが使用されている他のすべてのグループや組織に感謝します