狂攬2500星,開源十六進制編輯器登頂GitHub熱榜

來源:機器之心

本文約1200字,建議閱讀5分鐘

本文爲你介紹 GitHub 上最火的項目:十六進制編輯器。

最近在 GitHub 上最火的項目是一個對視力友好的十六進制編輯器,它上線僅 5 天就收穫了 2500 star,最近 24 小時漲了 1600 star 量。

十六進制編輯器是用於編輯單個字節數據的軟件應用程序,主要由程序員或系統管理員使用。

常規文本編輯器和十六進制編輯器之間的區別在於常規編輯器表示文件的邏輯內容,而十六進制編輯器表示文件的物理內容。十六進制編輯器可以讓你以十六進制的形式查看或編輯文件的二進制數據,並用較爲友好的界面來編輯二進制數據。對於需要處理二進制數據的用戶,它非常受歡迎,例如使用十六進制編輯器可以更改遊戲中的部分設置。

常用的十六進制編輯器有 Bless Hex Editor、GNOME Hex Editor、Okteta 等。和大多數編輯器一樣,人們對於十六進制編輯器的要求包括功能強大、可定製性、界面美觀。近日,GitHub 上開源了一款名爲 ImHex 的十六進制編輯器,上線 5 天,狂攬 2500 star。

項目地址:

https://github.com/WerWolv/ImHex

十六進制編輯器 ImHex

項目作者在 readme 文件中首先介紹了 ImHex 編輯器實現的功能特性。

特徵

  • 十六進制視圖

  • 字節補丁

  • 補丁管理

  • 複製字節作爲特徵

  • 字節

  • 十六進制字符串

  • C、C++、 c#、 Rust、Python、Java 和 JavaScript 數組

  • ASCII-Art 十六進制視圖

  • HTML 自包含 div

  • 字符串和十六進制搜索

  • 彩色高亮顯示

  • 從開始、結束以及當前光標位置 goto

  • 類似於 C++ 的自定義語言,用於突出顯示文件內容

  • 基於 MIME 類型的自動加載

  • 數組、指針、結構,共用體,枚舉,位段,使用聲明,大小端支持

  • 有用的 error 信息,語法高亮顯示和 error 標記

  • 數據導入

  • Base64 文件

  • IPS 和 IPS32 補丁

  • 數據導出

  • IPS 和 IPS32 補丁

  • 數據 Exporting

  • 數據檢查器允許將數據解析爲多種類型(小端和大端)

  • 支持並能快速有效地加載大型文件

  • 字符串搜索

  • 複製字符串

  • 複製 demangled 字符串

  • 文件哈希支持

  • 具有自定義初始值和多項式的 CRC16 和 CRC32

  • MD4, MD5

  • SHA-1, SHA-224, SHA-256, SHA-384, SHA-512

  • 支持多種架構的反彙編器

  • ARM32 (ARM, Thumb, Cortex-M, aarch32)

  • ARM64

  • MIPS (MIPS32, MIPS64, MIPS32R6, Micro)

  • x86 (16 bit, 32 bit, 64 bit)

  • PowerPC (32 bit, 64 bit)

  • Sparc

  • SystemZ

  • XCore

  • M68K

  • TMS320C64X

  • M680X

  • Ethereum

  • 自定義視圖

  • 區域突出顯示

  • 註釋

  • 數據分析

  • 基於文件解析器和 MIME 類型的數據庫的 file magic

  • 字節分佈圖

  • 熵圖

  • 最大熵和平均熵

  • 加密 / 壓縮文件檢測

  • 實用工具

  • Itanium 和 MSVC demangler

  • ASCII 表

  • 正則表達式替換

  • 數學表達式評估器(計算器)

  • 十六進制顏色選擇器

  • 爲模式語言和數學評估內置速查表

  • 在深夜使用時對視網膜友好

界面美觀

每款編輯器都有自己的風格,越來越多的開發者青睞於黑色背景、彩色高亮顯示的界面風格,ImHex 就是如此:

編譯

假設你在 Windows 或者 Arch Linux 中使用 mingw,需要兼容 C++20 的編輯器(例如 GCC 10.2.0)來編譯 ImHex。編譯 ImHex 需要的庫都可以在 pacman 包中找到,如下所示

GLFW3                                             ( (sudo) pacman -S glfw )
libmagic, libgnurx, libtre, libintl, libiconv     ( (sudo) pacman -S file )
libcrypto                                         ( (sudo) pacman -S openssl )
capstone                                          ( (sudo) pacman -S capstone )
libLLVMDemangle                                   ( (sudo) pacman -S llvm llvm-libs )
nlohmann json                                     ( (sudo) pacman -S nlohmann-json )
Python3                                           ( (sudo) pacman -S python3 )


All in one for Arch Linux: sudo pacman -S glfw file openssl capstone llvm llvm-libs nlohmann-json python3
All in one for Fedora: sudo dnf install cmake gcc-c++ capstone-devel glfw-devel glm-devel json-devel llvm-devel mesa-libGL-devel openssl-devel python-devel
All in one for MinGW: pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-cmake mingw-w64-x86_64-make mingw-w64-x86_64-capstone mingw-w64-x86_64-glfw mingw-w64-x86_64-glm mingw-w64-x86_64-file mingw-w64-x86_64-llvm mingw-w64-x86_64-nlohmann-json mingw-w64-x86_64-openssl mingw-w64-x86_64-polly mingw-w64-x86_64-pytho

安裝完這些庫之後,運行以下命令來構建 ImHex:

mkdir build
cd build
cmake ..
make -j

該項目的作者 WerWolv 來自瑞士,今年僅 21 歲,是一名在讀本科生。

參考鏈接:

https://zhuanlan.zhihu.com/p/59119723

https://www.howtoing.com/best-hex-editors-for-linux

編輯:於騰凱

校對:林亦霖

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章