What's New
010 Editor v16.0 发布
全新版本带来标题栏标签页、Windows 11 风格更新、macOS ARM 原生支持以及众多强大新功能。
010 Editor v16 引入了可在标题栏中显示的标签页。界面风格已更新,更贴近 Windows 11 的设计,采用了圆角滚动条和用户界面元素。
标题栏标签页
macOS ARM 原生支持
010 Editor 现已支持 macOS ARM 设备原生运行。ARM 和 Intel 版本均可下载。
实时高亮规则
现在可以使用任何正则表达式或查找表达式来应用实时高亮规则。在查找栏中,点击"全部"右侧的上箭头,选择"添加高亮器"。可以使用"视图 > 高亮"来开启或关闭高亮功能。
增量查找
现在可以在查找栏中边输入边查找(增量查找)。此外,查找和在文件中查找功能现在以多线程方式运行。在文本编辑器中双击一个单词并按 F3 即可查找该单词的下一个出现位置(快速查找下一个/上一个)。
模板新属性 — 复选框
编写模板时,新属性 <edit=check> 可在模板结果中显示复选框:
模板新属性 — 颜色选择器
属性 <edit=color> 可在模板结果中显示颜色选择器:
模板新属性 — 枚举标志
属性 <edit=flags> 可将枚举类型作为一组标志处理:
熵分析
现在可以计算文件的熵值,用于识别随机或非随机数据区域。熵值范围从 0.0(全部为同一值)到 8.0(完全随机)。以下图表分别展示了 EXE 文件、源代码文件和 ZIP 文件的熵值:
其他新的模板特殊属性包括 <pos=...> 和 <localpos=...>(用于在文件中定位变量),以及 <warn=false>(用于关闭变量的警告)。更多新功能详见下方列表。
查看历史版本:
版本 16.0
2025 年 7 月 31 日
版本 16.0 新功能概览:
- 标签页现可放置在应用程序的标题栏中
- 更新界面风格以更贴合 Windows 11,包括圆角 UI 元素和滚动条
- 新增 macOS ARM 支持
- 可使用任何正则表达式或查找表达式对文件应用高亮
- 新增
<pos=...>和<localpos=...>属性,用于将变量放置在指定地址;localpos 相对于父结构体 - 新增
<edit=check|color|flags>,在模板结果中显示复选框、颜色框或标志选择框 - 增量查找功能:在查找栏中输入时即时搜索
- 查找和在文件中查找功能现以多线程方式运行
- 计算熵值,使用熵图确定文件中包含随机数据的区域
版本 16.0 全部新功能详细列表:
标签页
- 标签页可放置在应用程序的标题栏中
- 可通过主题/颜色选项对话框更改标题栏颜色
- 可通过打开文件/标签页选项对话框更改标签位置
- 鼠标悬停在标签上时,完整文件名会显示在状态栏中
- 滚动按钮在浏览大量标签时表现更佳
- 欢迎页面会询问是否将标签移至标题栏
- 当前项目名称现显示在标题栏中,用方括号 '[' ']' 包围
界面风格
- 更新风格以更贴合 Windows 11,包括圆角 UI 元素和滚动条
- 点击应用程序左上角图标可访问启动页面
- 启动页面采用全新风格
- 更新了部分应用程序区域的字体大小
- 可通过主题/颜色选项对话框关闭新风格
模板和脚本
- 新增
<pos=数值|函数|表达式>属性,便于将变量放置在文件中的指定地址 - 新增
<localpos=数值|函数|表达式>属性,将变量放置在相对于其父结构的偏移位置 - 新增
<format=decimalhex>,同时以十进制和十六进制显示数字(例如 16 [10h]) - 新增
<edit=check>,在模板结果表中显示复选框;点击复选框将 1 或 0 赋值给变量 - 新增
<edit=color>,在模板结果中显示颜色选择器矩形 - 新增
<edit=flags>,将枚举类型解释为一组标志 - 使用标志时,变量值显示每个标志用 '|' 分隔(例如 'ONE | TWO | THREE')
- 变量现可在 'for' 语句中定义(例如 'for( int i = 0; i < 5; i++ )')
- 新增
<warn=false>,关闭特定变量的警告 <hidden>属性现在可以是任意表达式或函数- 单位位域现自动分配复选框
- 现在允许 for(;;) 语句
- 运行模板、运行脚本和运行文件下拉列表现按字母顺序排列
- 运行脚本时现在定义 _010_SCRIPT 常量
- 在模板结果中打开大数组时显示警告(超过 1000 万条目)
- 新增 EnumFlagsToString 和 EnumStringToFlags 函数
- 新增 DisplayFormatDecimalHex 函数
- 新增 BitfieldGetAutoCheckBox 和 BitfieldSetAutoCheckBox 函数
- ExportFile 函数新增 includeSpaces 和 includeLinefeeds 选项
- "跳转到模板变量"功能对不连续结构体的支持更好
- 按需结构体在打开时更一致地应用颜色
查找
- 增量查找功能:在查找栏中输入时自动搜索
- 查找和在文件中查找功能现以多线程方式运行(可点击查找栏中的停止按钮来停止长时间搜索)
- 支持快速查找下一个/上一个:在编辑器中选择内容后按 F3 或 Ctrl+F3
- 可在查找栏高级选项中关闭增量搜索和快速查找
- 正则表达式替换字符串中支持 \U、\L、\u 和 \E 以更改捕获组的大小写
- 非正则表达式替换字符串中现支持 \x??
- 将"搜索"工具栏重命名为"查找"以保持一致性
高亮
- 可使用任何正则表达式或查找表达式对文件应用高亮
- 使用高亮选项对话框添加正则表达式高亮
- 在查找栏中,可点击"全部"按钮旁的上箭头,选择"添加高亮器"
- 使用"视图 > 高亮"开启或关闭高亮,高亮规则持久保存
- 高亮支持区分大小写、全字匹配和颜色选项
- 高亮可应用于单个文件或共享同一"编辑为"的所有文件
- 新增"零字节"高亮规则,用于高亮所有 00 字节
- 新增"视图 > 高亮 > 自动高亮选项"菜单
熵分析
- 可使用"工具 > 直方图/熵"计算文件的熵值
- 熵值显示文件的随机程度,范围从 0.0(全部同一值)到 8.0(完全随机)
- 通过将文件分割为 512 字节块并计算每块的熵值来显示文件的熵图
- 可在直方图/熵对话框中调整块大小
- 将鼠标放在图表上可查看高亮范围的熵值、起始地址和选中的块数
- 点击图表可在编辑器中选择对应块的字节
macOS
- 新增 macOS ARM 支持
- 最低支持平台现为 macOS 10.14
Linux
- 最低支持平台现为 Ubuntu 18.04
- 滚动条和标题栏采用新风格
- 修复了某些 Linux 系统上启动 Wayland 的问题
通用
- 升级 Qt 库至 6.4.3
- 升级 Oniguruma 正则表达式库至 6.9.10
- 可从 Windows 资源管理器拖放文件到浮动标签组窗口
- 可从 Windows 资源管理器拖放文件到比较对话框的文件字段
- 新增"视图 > 字体 > 重置字体大小"和"视图 > 字体 > 重置字体"操作
- 在跳转栏中新增"跳转后隐藏跳转栏"和"跳转后焦点编辑器"选项
- 在页面设置对话框中新增"显示行"切换选项
文本编辑器
- 在格式菜单中新增删除到行末的选项
- 使用自动缩进且启用插入制表符时,现在将制表符而非空格插入文件
十六进制编辑器
- 复制为十六进制文本现有选项控制是否包含空格或换行符
- 新增选项:从十六进制编辑器的十六进制字节区域复制时始终复制为十六进制文本
Bug 修复
- 修复了文本模式下覆盖时,有时较长的 UTF-8 字符不能正确覆盖的问题
- 修复了对包含撇号的单词使用大写化时不正常的问题
- 修复了反汇编有时不能正确计算 'jmp' 语句地址的问题
- 修复了调试某些文件时行号偏差一行的问题
- 修复了 Lua 在 Linux 系统上不能正确加载的问题
- 修复了搜索进程时,如果进程结构发生变化,FindAll 有时不能搜索整个进程的问题
- 修复了调用 FileClose 后访问变量时可能崩溃的问题
- 修复了 EnumToString 不能正确识别本地数组中某些枚举的问题
- 修复了 Oniguruma 库中某些正则表达式导致崩溃的问题
- 修复了缩放时有时不能正确重置水平滚动条的问题
- 修复了 AddressLocalToFile 和 AddressFileToLocal 函数未考虑自定义偏移的问题
版本 16.0.4
2026 年 3 月 5 日
- 修复了全部替换操作后,文件末尾字节有时在进行下一次编辑前不能正确绘制的问题
- 修复了从 Windows 资源管理器打开文件时,若 010 Editor 处于最小化状态,应用程序无法正确恢复的问题
- 修复了在"运行文件"下拉列表中,模板现可在文件的副本视图上运行
- 修复了 Linux 上 Shift_JIS 字符集在某些文件上可能崩溃的问题(已从 icu 切换到 iconv)
- 修复了跳转地址功能现可处理模板结果中十进制/十六进制格式的数字
版本 16.0.3
2026 年 1 月 15 日
- 修复了某些输入法编辑器(IME)未在正确位置显示的问题
- 修复了将空字符串赋值给变量可能导致不兼容类型错误的问题
- 修复了长时间操作期间重启"在文件中查找"可能崩溃的问题
- 修复了 ++ 运算符在嵌套结构语句中访问数组元素时可能被执行两次的问题
- 修复了对某些无效模板调用 RunTemplate 时崩溃的问题
- 修复了 PasteFromClipboard 函数应始终插入数据,即使十六进制编辑器处于覆盖模式
- 修复了调试脚本时,监视包含无效数组访问语句时的问题
- 修复了鼠标悬停在重复数组上可能显示数组大小偏差一个的问题
- 修复了替换大量匹配项时的某些更新问题
- 修复了删除书签时可能崩溃的问题
- 修复了 Linux 上使用某些 IME 时,切换到不同应用程序可能删除选中文本的问题
- 修复了某些 Linux 窗口管理器上的渲染刷新问题
- 在许可对话框中,检测并提示移除输入名称前后的多余空白字符
- Linux 上现可使用 QT_NO_SHADOW 环境变量关闭主窗口阴影
- 使用 -debug 时显示更多启动信息
版本 16.0.2
2025 年 10 月 1 日
- 修复了 010 Editor 在最小化时关闭后,重启时窗口大小不正确的问题
- 修复了对字符串使用 <pos> 属性时,不能总是正确计算字符串大小的问题
- 修复了将结构体传递给 SPrintf 时可能崩溃的问题
- 修复了 SPrintf 未正确返回已写入字符数的问题
- 修复了浮动标签组窗口中 Alt 加某些快捷键不能正常工作的问题
- 修复了使用仓库对话框恢复文件时可能崩溃的问题
版本 16.0.1
2025 年 8 月 18 日
- 修复了校验和对话框中"忽略字节范围"复选框不可见的问题
- 修复了某些 Linux 系统上启动 Wayland 的问题
- 修复了按住 Shift 并按 Page Down 时,光标有时会超出屏幕末端的问题
- 修复了在十六进制编辑器最后一行绘制结构体轮廓时的问题
- 修复了 Linux 上使用 i3 窗口管理器绘制阴影时的问题
- 修复了同时运行包含 size 函数的多个模板时的竞态条件
- 在安装程序中添加了关于不支持 Windows 10 之前版本的警告