21 歲理工男開源的這個編輯器火遍全球附面試資源
來自:機器之心
最近在 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-python
安裝完這些庫之後,執行以下命令來構建 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
附:網盤整理面試開發筆記,必看內容。
連結: https://pan.baidu.com/s/11NwCNq4WOWMpUFi9gQHYtQ 提取碼: vsau
到此這篇關於21 歲理工男開源的這個編輯器火遍全球的文章就介紹到這了,更多相關開源編輯器內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!