处理器模块
• ARM: 支持 ARMv8.1-M 的 MVE(M-profile 向量扩展,也称为 Helium 技术)。
• ARM64: 简化使用四条 MOVK 指令构建的 64 位立即数加载(immediate loads)。
• TMS320C6: 现已反汇编来自 TMS320C66x 和 TMS320C674x 系列的紧凑型(16 位)编码指令。
• RISCV: 现已支持原子操作标准扩展(例如 amoadd、amoswap 等)。
• RISCV: 已改进参数模式的识别。
• RISCV: 跳过无法识别的自定义指令。
• V850, RH850: 现在可以识别使用 ep 寄存器等于 sp 的堆栈访问。
• RH850: 对具有非零 selID 的系统寄存器(LDSR/STSR)访问,显示正确的符号名称。
• Tricore: 现在 mfcr/mtcr 指令在已知情况下使用符号名称表示 CSFR。
• Tricore: 新增“简化”汇编器,由此来更自然地表示字符串文字、立即数和堆栈变量。
• Tricore: 打印已解析的目标地址,用于间接调用/跳转指令(如果已知)。
文件格式
• ELF: RISCV: 处理更多的重定位类型。
• ELF: ARM: 识别并处理 ILP32 文件(32 位 ELF 与 AArch64 指令)。
• ELF: 已将间接函数解析器添加到入口点列表。
标准插件
• pdb: 为构造函数添加返回类型(MSVC 构造函数返回类型,编译器可以利用这一事实)。
• ida_feeds: 对加载二进制文件的 Rust 版本进行检测,并创建自定义的、特定于版本的 FLIRT 签名。
• makesig: 使用当前数据库路径而非原始输入文件名生成输出 .pat/.sig 文件。
• goomba: 支持反混淆一些非线性的 MBA。
• dwarf: 已将 libdwarf 更新为 0.11.1,修复了在解析由最近的编译器生成的调试信息时,存在的多个漏洞和问题。
Teams
• vault: hvui 现在可以发送和接收小的二进制 delta 文件,而不是整个 IDB。
• vault: 根据工作流和大小阈值,存储 delta 文件或完整的 IDB。
• hvui: 同步期间对进度条行为进行了改进。
• hv: 新增 hv optsrv,用于优化服务器存储。
• hv: 新增 hv gc,用于客户端缓存垃圾回收。
内核/Misc
• 安装程序:将 lsadm(浮动许可证管理工具)与 IDA 一起打包。
• 安装程序:将 FLAIR、idaclang、idsutils、loadint、tilib 工具与 IDA 一起打包(位于 tools 子目录下)。
• 授权:文档 - Olicense 命令行参数。
• 授权:改进有关错误/无法使用的许可证文件消息。
• 授权:接受带有 CRLF 换行符的许可证文件。
• 数据库:新增 zstd 压缩,并将其设置为压缩后 IDB 的默认选项。
• licsrv: 打印可用的 IDA LID 和席位数,而不是显示 "Using a license with 1 seat"。
• licsrv: 如果未找到浮动许可证,启动时将报错。
脚本 & SDK
• SDK: 引入了 IRI_... 旗标,用于 is_ret_insn(),ev_is_ret_insn 而不是 'bool strict'。
• SDK: tinfo: 为枚举类型操作添加了 IDB 事件 (lt_edm_created, lt_edm_deleted, lt_edm_renamed, lt_edm_changed)。
• SDK: tinfo: 新增 tinfo_t::get_alignment()。
• idalib: 在从 Python 使用 idalib 时,浮动许可证的签出可能失败。
• IDAPython: 新增 ida_kernwin.parse_tagged_line_sections,用于从带颜色标签的生成行中检索语义信息。
• IDAPython: 新增 'modify_struct_member.py' 示例,展示了如何对结构成员进行非平凡(non-trivial)的修改。
• IDAPython: 新增 ida_funcs.func_t.frame_object,便于检索函数框架结构。
• IDAPython: 新增 ida_funcs.func_t.prototype 和 ida_typeinf.tinfo_t.iter_func,便于检索函数原型。
• IDAPython: 新增 udt_type_data_t.get_best_fit_member。
• IDAPython: 自动删除粘贴到 CLI 中的输入的前导空格。
• IDAPython: 用 int 替换 ea_t,用 str 替换 qstring。
UI
• asmtil: 在自由文本(freetext)编辑器中为用户定义的类型新增语法亮显。
• asmtil: 如果使用 C 语法标签添加单个类型,则显示字段偏移/大小。
• asmtil: 为 asm 风格的结构定义提供了更正确的语法(例如 dd 而不是 int,ends 标签等)。
• 反编译器:向上下文菜单中新增 "Jump to matching brace(跳转到匹配的括号)" 操作(之前只有热键)。
• 授权:尝试连接服务器时,新增可取消的等待对话框。
• 授权:从非专业版的 IDA 中移除了浮动选项。
• 授权:如果首选的许可证文件无效,则回退到默认的许可证路径。
• 授权:如果存在有效的借用许可证,则不连接到服务器。
• 现在可以从伪代码中访问新的函数原型编辑器。
• idagui.cfg: 新增 SHOW_BANNER 变量,允许隐藏初始的 "关于" 对话框。
调试器
• Windbg: 现在支持 TTD(时间旅行调试)需要最新版的 dbgeng.dll。
• Windbg: 现在可以调试在 Wow64 进程(也称为 Heaven's Gate)中从 32 位模式切换到 64 位模式。
• 现在可以使用 IPv6 地址进行远程调试。
反编译器
• ARM64: 现在支持 ILP32 模式。
• ARM64: CASP/CASPL 指令现在被提升为原子内在函数。
• ARM64: 现在 ARMv8 系统寄存器在伪代码中使用符号名称显示。
• ARM64: 现在更好地识别通过 X8 传递的输出函数参数。
• PPC: 现在支持 EFP(嵌入式浮点)扩展指令。
• PPC: 已改进对直接访问 cr 寄存器以检查标志的代码的反编译。
• RISCV: 已为常用系统指令(例如 frflags、fsflags、ebreak、wfi、rdtime、sfence)新增内在函数。
• RISCV: 已改进参数识别。
• 忽略 macOS 二进制中的 chkstk_darwin 调用。
• ARM/PC: 已改进对 TLS 变量访问的识别。
• 已改进对 &gvar+N 表达式的处理(例如 BC++ 编译的可执行文件中优化的字符串字面量引用)。
• 已改进对 shr64 的识别。
问题修复
• 问题修复: asmtil: 已修复从 typedef 到目标类型的交叉引用可能会缺失的问题。
• 问题修复: asmtil: 已修复添加多个枚举正向声明时会触发 interr 2952 的问题。
• 问题修复: asmtil: 已修复重命名枚举常量时未保留 TID 的问题。
• 问题修复: arm: 已修复 interr 2762。
• 问题修复: elf: 已修复误导性的报头信息可能导致 IDA 无法加载文件中的部分代码的问题。
• 问题修复: IDC: 已修复函数 add_struc_member() 中 offset = -1(添加到结构末尾)无法正确工作的问题。
• 问题修复: 反编译器:已修复 interr 错误 52781、52836、50312、52194。
• 问题修复: 反编译器:已修复当参数的所有指令未被标记为参数时,反编译结果错误的问题。
• 问题修复: 反编译器:已修复当同一寄存器用作第一个参数和返回值时,不会覆盖用户指定的返回类型(而是添加类型转换)的问题。
• 问题修复: 反编译器:已修复即时调试时无法使用反编译器的问题。
• 问题修复: licsrv: 已修复数据库为只读时启动失败,而不是在首次借用时崩溃的问题。
• 问题修复: arm: 已修复调试时将鼠标悬停于 NEON 寄存器或 XZR 时弹出错误的问题。
• 问题修复: arm: 已修复某些 ARMv8-M 的 ELF 文件在架构选项中“Thumb”被设置为“No”的问题。
• 问题修复: lumina: 已修复 Lumina 服务器仍尝试查找旧版 lumina.lic 的问题。
• 问题修复: ida_feeds: 已修复未覆盖全局日志模块配置的问题。
• 问题修复: idalib: 已修复从外部 Python 进程启动 idalib 时,Python 插件或处理器模块无法工作的问题。
• 问题修复: 安装程序:已修复 IDA Classroom 版本中缺少 qwingraph 二进制文件的问题。
• 问题修复: 调试器:Linux/Android:在新内核版本上修复 interr 30060(/proc/PID/status 文件格式变化)
• 问题修复: 调试器:dbg:appcall:已修复 IDC 中无法调用 64 位指针的问题。
• 问题修复: 调试器:gdb:已修复代码片段调试失败,报错 “无法加载 ELF 加载器模块”的问题。
• 问题修复: 调试器:已修复 IDA 在附加远程进程(例如 Android)时可能看似卡死的问题。
• 问题修复: UI: 已修复激活选择区时添加可变大小结构没有使用完整的选择大小的问题。
• 问题修复: UI: asmtil: 已修复在添加类型对话框中,“按名称导入标准枚举”的快捷方式与“枚举”标签名冲突,无法使用的问题。
• 问题修复: UI: asmtil: 已修复在添加类型对话框中,“导入标准结构”的快捷方式与“结构大小”标签冲突,无法使用的问题。
• 问题修复: UI: asmtil: 已修复添加标准结构时未自动导入的问题。
• 问题修复: UI: asmtil: 已修复在固定布局结构体中,最后一个成员建议的数组大小不正确的问题。
• 问题修复: UI: 已修复许可证监控线程中的死锁问题。
• 问题修复: UI: 已修复在调试过程中图形视图可能无法显示闪烁的边缘这一问题。
• 问题修复: UI: 已修复在“设置数据”对话框中按空格键会关闭窗口,而不是创建一个字节(触发了默认按钮)的问题。
• 问题修复: UI: 已修复在 Windows 上斜体字体样式被忽略的问题。
• 问题修复: UI: 已修复在某些情况下,打开选择器后没有正确设置焦点的问题。
• 问题修复: UI: 已修复函数属性和原型之间的 noret 标志/属性同步存在的问题。
• 问题修复: UI: 已修复在 Windows 上,IDA 在发送错误报告时未能正确上传 IDB 文件的问题。
• 问题修复: MIPS: 已修复 interr 2765。
• 问题修复: 内核:在处理具有长跳转桩链的文件时,已避免堆栈溢出
• 问题修复: 已修复 IDA 可能会在反汇编头部显示错误的联系信息这一问题。
• 问题修复: IDAPython: 已修复 ida_bytes.bin_search 的文档描述错误的问题。
• 问题修复: IDAPython: 已修复 ida_idaapi.loader_input_t 无法正常使用的问题。
• 问题修复: IDAPython: 已修复 call_nav_colorizer 功能失效的问题。
• 问题修复: IDAPython: 已修复 pack_object_to_idb 中的参数名称错误的问题。
• 问题修复: IDAPython: 已修复 idc.gen_file() 函数问题
• 问题修复: IDAPython: 大幅简化了 ida_bytes.get_stroff_path 的使用方式