
このプロジェクトは、軽量でありながら便利なツールを開発することを目的として生まれました。その理由は、既存の16進エディタにはいくつかの異なる制限があるためです(例:依存関係が多すぎる、16進カラーリング機能がないなど)。

このプロジェクトは qhexedit2、capstone、keystone エンジンに基づいています。将来的に新機能が追加される可能性があり、PR を歓迎します。
CTRL + F]CTRL + B]CTRL + C および CTRL + V]CTRL + Space]Delete または CTRL + D]CTRL + Z および CTRL + Y]CTRL + S]CTRL + G]INS]CTRL + N]CTRL + T]F5]F1]F2]F3]F4]F4]CTRL + Up/Down または CTRL + -/+)Fhexは起動時に、ハイライトする文字列またはバイトのリストと、一致箇所の近くに追加するコメント/ラベルを含むJSON形式の設定ファイル(~/fhex/config.json から)を読み込むことができます。
例:
{
"PatternMatching":
[
{
"string" : "://www.",
"color" : "rgba(250,200,200,50)",
"message" : "Found url"
},
{
"bytes" : "414243",
"color" : "rgba(250,200,200,50)",
"message" : "Found ABC"
}
]
}
パターンマッチングを有効にするには CTRL + P を押します
最後に、Fhexはすべての結果参照を含むオフセットリストも表示します。
注: コメント付きラベルはウィンドウが最大化されている場合にのみ追加されます。ラベルが正しく表示されない場合は、パターンマッチングを再度実行してみてください。
Fhexはロードされたバイナリファイルをチャート化する機能を持っています(注: プロジェクトをコンパイルするには、システムに qt5-charts がインストールされている必要があります)。
y軸の範囲は0から255(16進数で0x0から0xff、つまりバイト値)です。x軸の範囲は0からファイルサイズまでです。
チャートはバイナリファイルのバイト値をプロットし、関連するセクションのみに注目できます。例えば、バイナリファイル内にヌルバイトで埋め尽くされた領域がある場合、チャートから簡単に検出できます。
このプロジェクトには以下の依存関係があります:qt5-charts(debian/ubuntu ではパッケージ libqt5charts5-dev)、capstone(オプション)、keystone(オプション)。
Linuxでは、ldconfig -p | grep -i qt5charts で必須ライブラリがあるか確認できます。
FhexはデフォルトでMINIMALプロファイルでコンパイルされます。つまり、capstoneとkeystoneは含まれません。fhex.pro から関連行を削除してこのオプションを変更できます。
Linux上でFhexをビルドするには、以下のコマンドを実行します:
mkdir build
cd build
qmake ..
make -j$(nproc)
GPL-3