4 ポイント 投稿者 GN⁺ 2024-06-30 | 1件のコメント | WhatsAppで共有

リバースエンジニア、プログラマー、そして午前3時に作業する人のためのHexエディタ

サポート

  • GitHub Sponsors、Patreon、PayPalで支援可能

スクリーンショット

  • 追加のスクリーンショットを提供

機能

豊富なHexビュー

  • バイトのパッチ適用、パッチ管理、無制限のUndo/Redo
  • さまざまな形式でバイトをコピー
  • シンプルな文字列およびHex検索
  • 先頭、末尾、現在のカーソル位置へ移動
  • 多彩なハイライト表示
  • さまざまなデータ型で表示
  • ASCIIおよびカスタムエンコーディングでデータをデコード
  • ページデータ表示

C++ライクなパターン言語

  • MIMEタイプおよびマジック値ベースの自動読み込み
  • さまざまなデータ型の可視化をサポート
  • 有用なエラーメッセージ、構文ハイライト、エラー表示

テーマ対応

  • ナイトモードを標準搭載、カスタムカラーとスタイルに対応
  • カスタムフォント対応

データのインポートとエクスポート

  • Base64ファイル、IPSおよびIPS32パッチ、Markdownレポート

データインスペクタ

  • さまざまな型としてデータを解釈
  • バイトのコピーと修正
  • 新しいデータ型の追加に対応

ノードベースのデータ前処理

  • データの修正、復号、デコード
  • カスタムノードの追加に対応

多様なデータソースの読み込み

  • ローカルファイル、Rawディスク、GDBサーバー、Intel HexおよびMotorola SRECデータ、プロセスメモリ

データ検索

  • ファイル全体または選択範囲を検索
  • 文字列抽出、シーケンス検索、正規表現検索、バイナリパターン、数値検索

データハッシュ対応

  • さまざまなアルゴリズムを利用可能
  • 特定領域および任意文字列のハッシュ化

差分比較対応

  • 異なるデータソースを比較
  • 差分のハイライト表示とテーブルビュー

統合ディスアセンブラ

  • Capstoneが対応するすべてのアーキテクチャをサポート

ブックマーク

  • カスタム名と色に対応
  • ブックマーク領域のハイライト表示とブックマークへの移動

データアナライザおよび可視化ツール

  • ファイルマジックベースのファイルパーサーおよびMIMEタイプデータベース
  • バイト種別分布グラフ、エントロピーグラフ

YARAルール対応

  • 公式YARAルールでファイルをスキャン
  • 一致箇所のハイライト表示と一致箇所への移動

便利なツール

  • 各種デマングラ、ASCIIテーブル、正規表現置換ツール、数式評価器、グラフ計算機、カラーピッカー、基数変換器、バイトスワッパー、UNIX権限計算機、Wikipedia用語定義検索、ファイルユーティリティ、IEEE754 Floatビジュアライザ、TCPクライアント/サーバー、ユークリッドアルゴリズム計算機

内蔵コンテンツの更新

  • データベースからファイルをダウンロード

モダンなインターフェース

  • マルチワークスペースとカスタムレイアウトに対応
  • 分離可能なウィンドウ

簡単に始められる

  • 多言語対応、初心者向け簡易モード、充実したドキュメント、データベース内の多数のサンプルファイル、インタラクティブチュートリアル

パターン言語

  • Cライクな構文で構造体とデータ型を定義
  • ファイル内容の解析とハイライト表示

データベース

  • フォーマットパターン、ライブラリ、マジックファイルおよび定数ファイル

要件

  • GPUが必要で、OpenGL 3.0対応が必要
  • Windows、macOS、Linux対応

インストール

  • インストールガイドを参照

コンパイル

  • GCCまたはClangが必要、C++23以上に対応

コントリビュート

  • コントリビューションガイドを参照

プラグイン開発

  • テンプレートプロジェクトを使用

クレジット

  • 主な貢献者および使用ライブラリへの謝辞

ライセンス

  • 大部分はGPLv2-onlyライセンス、一部はLGPLv2.1ライセンス

GN⁺の意見

  • ImHexはリバースエンジニアリングおよびプログラミング作業に非常に有用なツール。特に、さまざまなデータ型を可視化して分析できる機能が優れている。
  • ナイトモードのようなユーザーフレンドリーな機能があり、長時間の作業でも目の疲れを軽減できる。
  • 多様なデータソースとの互換性により、さまざまな環境で活用できる。
  • 類似機能を持つ他のツールとしては、HxD、010 Editorなどがある。
  • 新しい技術やオープンソースを採用する際は、その技術の長所と短所を十分に考慮する必要がある。たとえばImHexでは、GPU対応が必須である。

1件のコメント

 
GN⁺ 2024-06-30
Hacker Newsのコメント
  • ImHexはこれまで使った中で最高のヘックスエディタ

    • ファイルテンプレート機能により、既知のファイル形式のセクションを自動で強調表示する
    • 選択したバイト列を複数のデータ型として同時に解釈して表示できる
    • 大容量ファイルでは他のエディタよりはるかに高速
    • 欠点として、imguiベースのUIにときどきバグがある
  • このエディタでASCIIバイトをCP437グリフとして表示する方法があるのか気になる

    • DOSではこの方法でバイナリファイルを読んでいて、16進値よりグリフのほうを速く読める
    • 非表示文字をドットで示す方式ではあまり多くの情報が得られない
  • ImHexを試してみたが、複雑すぎた

    • macOSでは今でもHex Fiendのほうを好む
    • シンプルで高速で、欲しい機能を備えている
    • Windowsではまだ完璧な「シンプルな」ヘックスエディタを見つけられていない
  • パターン言語が非常に便利で、学習にも大いに役立つ

    • このプログラムが大好き
  • ImHexは一般にOpenGL 3.0をサポートするGPUを必要とする

    • なぜヘックスエディタにOpenGLが必要なのか気になる
    • OpenGLが必要な理由があるのか、それとも単に見た目のためなのか気になる
  • ImHexは良さそう

    • 010 Editorのワイルドカード検索機能を使っているが、ImHexにもその機能がある
    • さらに多くの機能を提供しているようなので、試してみるつもり
  • コンピュータ文化のこの領域がとても好き

    • リバースエンジニアリング、カーネルモジュールの作成、動作原理の解明、設計されていない機能の実行など
    • しかし、これを合法的に行える方法はほとんどなく、多くの時間と仲間の助けが必要になる
  • このプロジェクトはとても素晴らしい

    • PhilipsスマートウォッチのROMをいじって大いに楽しんだ
    • Rustに似た組み込みDSLがあり、メモリ管理なしでも非常に軽量
    • これにより、バイナリストリームから構造化データを可視化して抽出できる
    • コードを書かずに簡単な計算を行えるビジュアルエディタもある
    • 試した当時はやや未完成に感じた
    • DSLでコードを書くほうが、より直感的で簡単だった
  • 当面は010 Editorを使い続ける予定

    • これまで使ったヘックスエディタの中で最も驚くべきエディタ
    • 新しいプロジェクトで使われているGUIフレームワーク(Dear ImGui)が好きではない
    • これは小さな画面とウィンドウマネージャのない組み込みシステム向けで、デスクトップ環境ではUI統合の不足により違和感のある体験になる
  • このプロジェクトはかなりクールに見える

    • ヘックスエディタをプロジェクトとして開発するのが良いアイデアなのか気になる
    • シンプルなヘックスエディタ自体は難しくないが、ファイル形式の解析など練習できる余地が多い
    • リバースエンジニアリングツールを開発する余地も大いにある