一个自由的强大免费的十六进制编辑器,基于 QT C++ 进行开发,作者是寂静的羽夏。

如有 Bug, 欢迎反馈到 Github 上,如果你访问这有困难的话,也可以反馈到 Gitee 上。如果实在不行,可以通过我的 博客园 上公告栏的任意一种联系方式来告诉我。不过我还是希望你反馈到 Github 上方便我写递交注释的。

开源不易,也欢迎赞助或者参与代码和文档贡献,我默认会将您放入鸣谢标签的内容进行鸣谢。

许可证:GNU 通用公共许可证 第 3 版


软件界面


大家好啊,历时快两个月,目前该软件的 v2.1.0 已正式发布,它在 v2.0.0 基础上做了大量修复和增强,测试更加充分一些。较为详细的更改如下:

注意事项

  • 历史记录不兼容,请清空原有的历史纪录以避免出现问题
  • 原有的插件已经完全不兼容

文件编辑

  • 移除对区域文件的支持
  • 移除对驱动器打开的支持
  • 新增工作区转化功能
  • 优化新建文件逻辑
  • 修复新建文件导出之后被标记为已保存的问题
  • 修复新建文件保存没有正确更新状态
  • 修复工作区的保存和导出问题
  • 修复工作区加载颜色标注问题
  • 新增文件设备驱动插件打开
  • 移除十六进制编辑页中故障的字符串非 ASCII 解码
  • 增加文字解码的多选区支持
  • 修复填充字节和填充空字节只填充一个字节的问题
  • 增加多选区的支持
  • 元数据编辑机制改为选区模式机制
  • 修复文件切换导致文件状态(如撤销)不正确的问题
  • 修复克隆文件的机制缺陷问题
  • 重构文件搜索显示,修复文字编码修改搜索不应用的问题
  • 数值标签页内新增字符串片段显示
  • 修改书签的可视化
  • 修复书签在每行第一个可视化问题
  • 书签可以通过选区删除
  • 修复文件历史记录在打开文件不自动记录的问题
  • 修复在超出 int 表示范围的地址修改字节得到的结果不对的问题

插件系统

  • 重构插件元数据,使其充分发挥作用,能够正确描述插件信息
  • 修复插件系统函数因未注册导致调用无响应
  • 增加/移除/调整 API 接口以方便维护和扩展
  • 修复脚本注册失败导致脚本引擎无法可用的问题
  • 修复脚本注册类型转化不正确导致的崩溃或非正确值返回
  • 增加脚本注册的校验,以阻止错误的注册
  • 新增非安全脚本函数注册,充分拓展脚本功能
  • 新增脚本枚举注册
  • 更改修复插件编辑组件的注册方式
  • 修复插件编辑组件的 API 无作用的问题
  • 新增文件设备驱动插件支持
  • 插件的文件操作为可撤销操作

脚本系统

  • 现在脚本数组可以使用数组样式编写,比如原先必须只能用 array<int>现在可以 int[]
  • 增强代码填充功能,修复代码填充问题,支持关键字、已注册类成员和方法填充(变量的类型填充需自己确认)
  • 优化重构代码函数提示
  • 重构脚本控制台机制
  • 移除冗余无效的脚本片段管理器
  • 移除几乎无用的断点指示器
  • 优化文件保存的变化指示
  • 修复代码格式化撤销崩溃的问题
  • 修复死循环代码导致程序无响应
  • 实现脚本编辑器原本未实现的只读和引号/括号匹配填充
  • 修复脚本编辑器因重绘导致的崩溃
  • 修复脚本编辑器的光标移动问题
  • 优化调试器和调试体验
  • 编译的预处理器能够正确的处理 pragma 语句
  • 修复脚本控制台能被全选清空的问题
  • 增加 assert 和 assert_x 断言功能
  • 可视化组件脚本支持鼠标单击和双击事件
  • 颜色类支持通过名称来构造
  • 移除不兼容的第三方 Json 绑定,使用 QT 的 Json 处理类作为绑定
  • 修复文件类的兼容性崩溃,仅保留读取功能
  • 修复调用第三方命令函数导致的软件卡死,移除危险的命令
  • 现在宏的功能已可以正常使用,可以通过宏判断拓展或者某些功能可以正常使用。
  • 修复因代码格式化导致断点丢失和自动滚动到行首
  • 优化代码编辑器编辑体验,处于调试状态的脚本将不可编辑
  • 修复官方脚本字典类不支持无符号数的缺陷

用户交互

  • 更换打开文件系列图标
  • Ribbon 菜单下拉菜单提示
  • 增大空白填充让 UI 显得不那么拘谨难看
  • 启动窗体有了边界
  • 新增可视化系列组件的导出功能
  • 脚本符号查看器可以排序查看
  • 优化颜色标记的显示,使用对比色凸显
  • 优化标注元数据信息显示
  • 回归状态栏右下角文件状态指示
  • 文件编辑页右键菜单增加“显示包含目录”和“文件信息”
  • 修复多语言支持的问题
  • 新增繁体中文的支持
  • 优化开源协议的展示
  • 更换程序单例库,以防止在 Linux 上异常退出导致程序无法再次启动的问题
  • 给标签和元数据删除和清空增加结果提示
  • 修复新加插件的注册组件在程序二次启动会被悬浮的问题
  • 新增软件崩溃报告提示(需要编译时带调试符号,否则栈跟踪无法使用)

内置插件

  • 新增脚本数组和脚本字典的创建和删除服务
  • 新增 WingCStruct,提供基础的 C 风格的二进制分析接口和服务

其他

  • Win 上增加 wingpro 文件关联
  • 更新上游组件
  • 完善测试插件
  • 新增共享内存打开测试插件
  • 插件模板调整

此版本之后, 我暂定一月一更新,如果没有 Bug 就下一个月。如果有恶性 Bug 一周一更,暂且就这样了

如果软件能有帮助到你的话,麻烦给仓库点个 star,也欢迎大佬 PR。然后再放一个用脚本编辑器的效果图:

脚本编辑器

更新时间: