关于ide:10-天-5-千-Star21-岁本科生给程序员开发的十六进制编辑器

119次阅读

共计 1630 个字符,预计需要花费 5 分钟才能阅读完成。

【导语】:ImHex 是一款界面好看的十六进制编辑器,次要面向逆向工程师和程序员。如果你喜爱暗黑系编辑器,那它应该是你的菜。

ImHex 最近在 GitHub 上十分炽热,上架五天就播种了 2.5k Star,十天 5k Star。

开发者介绍

ImHex 的开发者是 WerWolv,往年 21 岁,是一个瑞士的电子工程本科大二在读学生。他着迷于嵌入式零碎,底层编码,ARM 微控制器开发,操作系统以及主机自制软件和定制固件。

我的项目地址 + 源码

https://github.com/WerWolv/ImHex

示例图

性能特点

  • 功能性十六进制视图

    • 字节
    • 十六进制字符串
    • C, C++, C#, Rust, Python, Java \& JavaScript 数组
    • ASCII-Art 十六进制视图
    • HTML 自蕴含 div
    • 字节修补
    • 补丁治理
    • 字节复制性能
    • 字符串和 16 进制查找
    • 黑白高亮显示
    • 从结尾、尾部以及以后光标地位跳转
  • 自定义类 C ++ 模式的语言,用于解析突出显示文件内容

    • 基于 MIME 类型的主动加载
    • 数组、指针、构造,共用体,枚举,位域,应用申明,大小端反对
    • 有用的错误信息,语法高亮和谬误标记
  • 数据导入

    • Base64 文件
    • IPS 和 IPS32 补丁
  • 数据导出

    • IPS 和 IPS32 补丁
  • 数据查看器容许将数据解析为多种类型(小端和大端)
  • 反对大文件疾速、高校载入
  • 字符串查找

    • 字符串复制
    • demangled 字符串复制
  • 反对文件 hash

    • 反对自定义初始值和多项式的 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 位, 32 位, 64 位)
    • owerPC (32 bit, 64 bit)
    • Sparc
    • SystemZ
    • XCore
    • M68K
    • TMS320C64X
    • M680X
    • Ethereum
  • 书签

    • 区域突出显示
    • 正文
  • 数据分析

    • 基于文件解析器和 MIME 类型的数据库的文件 magic
    • 字节分布图
    • 熵图
    • 最大熵和均匀熵
    • 加密 / 压缩文件检测
  • 帮忙工具

    • Itanium 和 MSVC demangler
    • ASCII 码表
    • 正则表达式替换
    • 数学表达式求值器(计算器)
    • 十六进制色彩选取器
  • 模式语言和数学计算内置速查表
  • 在深夜应用时不会毁掉你的视网膜

编译

你的编译工具要兼容 C ++ 20,比方 GCC 10.2.0。更重要的是,要想编译 ImHex,你还须要下列的依赖:

  • GLFW3
  • libmagic, libgnurx, libtre, libintl, libiconv
  • libcrypto
  • capstone
  • libLLVMDemangle
  • nlohmann json
  • Python 3

以上所有的依赖装置脚本,能够在上面的链接中找到,次要反对 Arch Linux、Fedora、Debian/Ubuntu 和、或 MSYS2:https://github.com/WerWolv/Im…

装置完以上的依赖后,执行如下命令,构建 ImHex:

mkdir build  
cd build  
cmake ..  
make -j  

在 macOS 下构建 ImHex,可应用上面的命令:

brew bundle --no-lock --file dist/Brewfile  
mkdir build  
cd build  
CC=$(brew --prefix llvm)/bin/clang CXX=$(brew --prefix llvm)/bin/clang++ PKG_CONFIG_PATH="$(brew --prefix openssl)/lib/pkgconfig":"$(brew --prefix)/lib/pkgconfig" cmake ..  
make -j  

喜爱的敌人,能够试一下。

开源前哨 日常分享热门、乏味和实用的开源我的项目。参加保护 10 万 + Star 的开源技术资源库,包含:Python、Java、C/C++、Go、JS、CSS、Node.js、PHP、.NET 等。

正文完
 0