最近在 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 编辑器实现的功能特性。
特征
-
字符串和十六进制搜索
-
彩色高亮显示
-
从开始、结束以及当前光标位置 goto
-
数据
Exporting
-
数据检查器允许将数据解析为多种类型(小端和大端)
-
支持并能快速有效地加载大型文件
-
字符串搜索
-
具有自定义初始值和多项式的 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
-
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
-![](http://mmbiz.qpic.cn/mmbiz_jpg/rO1ibUkmNGMkP9orMSdw4BcrQp9pupgrO0FF0TPYKXcHJ1wUOGhpicb52ic3I8sZuJr19QXbOFUBrmzYDm3HqgalA/640?wx_fmt=jpeg)
欢迎关注Python之禅