功能强劲的hex编辑器Imhex发布V1.38版本,更好的模式编辑器,新的数据源,保存编辑模式 - 实践

https://github.com/WerWolv/ImHex/releases/tag/v1.38.0

开机动画

Cortex-M内核的bin逆向:

elf解析:


**功能特性**
- 新增多款数据源
- UDP 数据源:可显示指定端口接收的 UDP 数据包
- SSH 数据源:利用 SSH 连接远程主机,并使用 SSH/SFTP 读取材料
(支持经过网络实时检查远程主机内存,例如通过打开 `/dev/mem` 实现)
- 模式编辑器大幅优化(特别感谢 @paxcut)
- 模式编辑器现支持 PatternLanguage 语法高亮
- 光标靠近括号时自动高亮匹配括号
- 支持在外部编辑器中打开模式文件,修改后 ImHex 将实时同步更新
- 输入括号与引号时自动补全闭合符号
- 现可通过点击行号切换断点
- 修复多项滚动条与滚动显示问题
- 新增与更新语言支持
- 新增法语翻译(感谢 @antigeky)
- 新增波兰语翻译(感谢 @Shadow775711)
- 新增乌克兰语翻译(感谢 @RutarAndriy)
- 更新简体中文翻译(感谢 @only9464)
- 现支撑自动匹配环境语言,若未适配则回退至英文
- 新增多项数据检视器行类型
- 自定义编码字符串行:支持按指定字符编码快捷解码选中内容
- fp24(24 位浮点数)数据行
- bfloat 数据行
- 可配置的定点数数据行
- 新增保存编辑器模式与简化版模式编辑器
- 为模式添加 `[[hex::editor_export]]` 属性后,其内容将在“模式数据视图”的新标签页中显示
- 支撑以简化形式展示部分字段并直接编辑
- 可利用 ImHex 模式语言创建游戏存档编辑器
- 依据命令行选项 `imhex --save-editor <pattern_file>` 可仅加载简化版存档编辑器界面
- 网页版可凭借在 URL 后添加 `?save-editor=<gist_id>` 实现相同功能(需将模式文件上传至 GitHub Gist)
- 命令面板新增“跳转到”功能,支持快速定位至指定偏移地址
- 材料检视器新增“跳转到首/尾元素”按钮
- 十六进制编辑器视图新增显示扩展/不可打印 ASCII 字符的选项
- 自动更新功能全面升级
- 支持夜间版本更新
- 协助稳定版与夜间版通道切换
- 命令面板新增打开/聚焦特定视图的选项
- 新增跳过大段重复字节值的机制
- 所有工具均加入命令面板以便快速访问
- 新增 Markdown 渲染器
- “关于”页面的更新日志现采用 Markdown 渲染
- 书签注释现帮助 Markdown 格式
- 新增材料信息命令行选项
- 通过 `imhex --file-info <文件路径>` 可直接查看文件信息(无需打开文件)
- 若材料适配模式,将自动加载并显示额外信息(通过调用模式的 `get_data_description` 函数返回 Markdown 文本)
- 该信息同时会在“信息信息视图”中显示
- 十六进制编辑器右键菜单新增“按编码解码”选项,帮助快速按指定字符编码解码选中字节
- 现可通过点击十六进制编辑器中的 Yara 匹配结果直接跳转对应位置
- Intel Hex 与 Motorola SREC 数据源新增区域侧边栏列表(感谢 @sonorousfreq)
- 差异对比视图新增跳转至上一处/下一处差异的键盘快捷键(感谢 @Zman350x)
- 标题栏新增交互式帮助按钮,点击可查看界面元素说明
- 新增 RGBA8 与 RGB565 格式的缩略图可视化工具
- 缩略图新增基于字节值幅度着色单元格的选项
- 模式内容视图的右键菜单新增“复制并编辑”选项
- 将原有的“常量视图”替换为“查找视图”中的常量搜索功能
- 可搜索预定义的常用常量(如 CRC 多项式)
- 支持通过 JSON 文件扩展常量列表
- 优化改进
- 启动速度显著提升(实测从数秒缩短至约 60 毫秒)
- 内存占用大幅降低(空闲时从超过 200MB 降至约 60MB)
- 界面图标全面更新
- 现支持在 32 位 Windows 系统编译运行(需使用 MSVC 自行编译)
- 界面多处进行简化与现代风格重构
- 主菜单选项会根据当前聚焦的视图自动更新(例如“打开”功能将适配对应视图)
- 新增子像素字体抗锯齿(特别感谢 @paxcut),文本显现更清晰(尤其在低分辨率屏幕)
- 字体选择器协助实时预览,列表中的字体名称会以对应字体显示
- 帧率限制更精准,减少睡眠唤醒频率;播放动画时自动放宽限制以保证流畅度
- 所有依赖库更新至最新版本
- 模式导入弹窗显现速度优化(感谢 @shewitt-au)
- 改进缓存数据源(如 GDB 数据源)的数据实时性与稳定性
- GDB 数据源现兼容不帮助 NoAckMode 的服务器(例如可连接运行 Atmosphere 的 Nintendo Switch)
- TTY 控制台视图界面重构,新增设置选项示意图
- macOS 中点击关闭按钮时将关闭当前数据源,再次在欢迎界面点击才会完全退出程序
- 插件设置页现支持单独禁用插件
- “数据提供器”统一更名为“数据源”以更准确反映其功能
- 十六进制编辑器设置现支持保存
- 多数版本内置启动脚本,可加入 PATH 环境变量以命令行快速启动 ImHex
- 二进制模式中现支持整数字面量(例如 `12 34 ?? u32le(123)`)
- 哈希计算改为后台线程执行,避免界面卡顿
- 错误修复
- 修复部分成就每次启动时重复触发的问题
- 修复在反汇编视图未开启时使用“编辑 → 反汇编选中内容”导致的崩溃
- 模式编辑器中的模式导入操作现协助撤销
- 修复模式素材视图的多项崩溃问题(排序、筛选等效果更稳定)
- 修复 `--reset-settings` 命令行选项无效的难题
- 修复查找视图中搜索负数异常的问题
- 修复 Wayland 下退出工具时的崩溃问题
- 修复空 Intel Hex/Motorola SRec 文件显示为 1 字节长度的问题
- 修复工具栏项目重排序异常的困难
- 修复 Windows 中“在资源管理器中打开文件”特性异常
- 修复自动备份在首次备份后未正常创建的问题(感谢 @paxcut)
- 后台线程崩溃时现可正常处理而非静默退出
- 发布产物
- 新增 Windows/Linux ARM64 版本
- 新增 Linux Snap 包
- 新增 Linux Flatpak 包
- 新增 Fedora 43 RPM 包
- 新增 Ubuntu 24.04 DEB 包
- 模式语言
- 大幅增强模板支持(特别感谢 @AkiSakurai)
- 支持嵌套模板
- 模板作用域逻辑更合理
(注:若曾利用模板,可能需调整模式代码。模板参数的作用域现为模板实例化位置,而非变量使用位置,因此不再需要 `parent` 前缀)
- `sizeof(SomeType)` 现可正确处理指针类型
- 原仅支持主区块的多数函数现承受多区块识别
- 条件表达式现支持短路求值
- 修复属性错误导致的多次崩溃问题
- 模式后处理速度显著提升
- 浮点数字面量解析不再受系统区域设置影响
- 修复通过引用传递的模式参数名称意外改变的问题

posted @ 2026-01-27 22:04  clnchanpin  阅读(6)  评论(0)    收藏  举报