Fhex首頁、文檔和下載- 全功能十六進制編輯器- 程式开发

Fhex 是一款全功能的十六進制編輯器,兼容Linux/Windows/MacOS

Fhex 誕生的目的是開發一個輕量級但有用的工具,因為現有的十六進制編輯器有一些不同的局限性(例如依賴性太多,缺少十六進制著色功能等)。

該項目基於qhexedit2、capstone 和keystone 引擎。

特徵

  • 塊加載器- 用於僅加載大文件的一部分而不會耗盡內存(使用alt + 左/右箭頭在塊之間移動)。請注意,在塊模式下,所有操作(例如搜索)僅適用於當前塊,除了文件保存(保存整個文件)。但是,每次編輯一個塊時,請在移動到另一個塊之前保存它,否則將丟失更改。
  • 搜索和替換(支持UTF-8、十六進制、正則表達式、反向搜索)[ CTRL + F]
  • 彩色輸出(空格、ASCII 字符、0xFF、UTF-8 和NULL 字節有不同的顏色)
  • 將選定的字節解釋為整數、長整型、無符號長整型 [ CTRL + B]
  • 複製並粘貼 [CTRL + C和 CTRL + V]
  • 複製選定的unicode 字符 [ CTRL + Space]
  • 將所有選定字節 [DeleteCTRL + D]歸零
  • 撤消和重做 [CTRL + ZCTRL + Y]
  • 拖放(提示:拖放兩個文件以區分它們)
  • 覆蓋同一個文件或創建一個新文件 [ CTRL + S]
  • 轉到偏移量 [ CTRL + G]
  • 支持插入模式以插入新字節而不是覆蓋現有字節 [ INS]
  • 創建新實例 [ CTRL + N]
  • 所選文本的基本文本查看器 [ CTRL + T]
  • 重新加載當前文件 [ F5]
  • 在字節級別比較兩個不同的文件
  • 可瀏覽的二進製圖表(詳見後文)[ F1]
  • 十六進制- 十進制數轉換器 [ F2]
  • 十六進製字符串轉義符(例如從010203 到\x01\x02\x03)[ F3]
  • 模式匹配引擎(詳見後文)
  • 基於Capstone Engine [ F4]的分解器
  • 基於Keystone 引擎的彙編程序 [ F4]
  • 縮小/放大字節視圖(CTRL + Up/DownCTRL + -/+

模式匹配引擎

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 之間(十六進制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)

#Fhex首頁文檔和下載 #全功能十六進制編輯器 #程式开发

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *