heh - ターミナル上のHexエディタ
プロジェクト概要
heh はRustで書かれた軽量なターミナルHexエディタです。名前はHexadecimal(十六進数)から取られており、シンプルで覚えやすい名称です。
ターミナル環境でバイナリファイルを扱う際、hehは直感的なTUIインターフェースを提供し、バイトレベルの正確な編集をサポートします。リモートサーバーやコンテナ内でバイナリデータを素早く確認・修正する必要がある場合、GUIツールよりも便利です。
主な機能
- ターミナルネイティブ体験: Ratatuiベースのスムーズなインターフェース
- 正確な編集: nibble(4ビット)レベルのバイト編集に対応
- クロスプラットフォーム: Linux、macOS、Windowsをサポート
- 軽量・高速: Rust実装、リソース消費が少ない
- MITライセンス: 自由に使用・修正可能
使用シーン
- 組み込み開発: ファームウェアファイル構造の素早い確認
- リバースエンジニアリング: バイナリファイル形式の分析
- データ復旧: 破損したファイルヘッダーの修復
- プロトコルデバッグ: ネットワークキャプチャのバイナリ内容確認
インストール方法
# cargoでインストール
cargo install heh
# またはパッケージマネージャー経由
# Arch Linux: yay -S heh
# macOS ( Homebrew ): brew install heh
クイックスタート
# ファイルを開く
heh firmware.bin
# ショートカットキー
# q - 終了
# 方向キー - 移動
# Enter - 編集モード
# Ctrl+S - 保存
技術的な見どころ
hehのコード構造は明確で、Rustで実用的なTUIアプリを構築する方法を示しています:
- Ratatui を使用したターミナルレンダリング
- 適切なモジュール分離(入力処理、レンダリング、ファイル操作を分離)
- 優れたエラーハンドリングとユーザーへのフィードバック
ターミナルUI開発を学びたいRust開発者にとって、hehは良い参考プロジェクトです。
まとめ
hehはターミナル環境でのバイナリ編集ツールの欠落を埋めます。Hex Fiendや010 Editorほど機能は充実していませんが、日常的なバイナリファイルの確認や簡単な編集には十分です。ターミナルでよく作業する場合、hehはツールボックスに加える価値があります。
プロジェクト情報
- GitHub: https://github.com/ndd7xv/heh
- Stars: 496 | Forks: 18
- 言語: Rust | ライセンス: MIT
- 最終更新: 2026年3月