找回密码
 registerss
搜索
查看: 127|回复: 0

[Windows] [Disassemblers] HexRays IDA Pro 9.3.260213

[复制链接]
  • 打卡等级:本地老炮
  • 打卡总天数:610
  • 打卡月天数:8
  • 打卡总奖励:607
  • 最近打卡:2026-10-18 08:50:07
Waylee 发表于 2026-2-20 08:49 | 显示全部楼层 |阅读模式 | Google Chrome | Windows 10
HexRays IDA Pro 9.3.260213 Bundle (includes Windows, Mac, Linux, ARM, Portable, Keygen)




种子:


IDA 9.3 更新内容总结

来源: Hex-Rays 官方文档
Content was rephrased for compliance with licensing restrictions


一、新增架构支持

1. Renesas V850 反编译器(全新)

  • 新增对 V850(又名 NEC850 / RH850)架构的反编译支持,这是一种广泛用于汽车 ECU 和工业控制系统的 32 位 RISC 处理器
  • 同时支持现代 RH850 ABI 和传统 GCC V850 ABI
  • 识别编译器特定的 prolog/epilog 辅助函数、填充指令检测与隐藏、callt 调用的编译器辅助函数处理
  • 支持大量底层指令的反编译:BSW、BSH、HSW、HSH、MAC、MACU、ABF、SBF、CLIP、SAT、SASF 等

2. Andes Andestar V3 (NDS32) 处理器模块(全新)

  • 新增 NDS32 架构支持,一种混合 16/32 位指令的 32 位 RISC ISA
  • 广泛应用于 IoT 设备、微控制器、可穿戴设备、存储控制器和无人机
  • 支持 GP 相对寻址、栈指针追踪、扩展指令解码(DSP、SIMD、ZOL、FPU、协处理器)
  • 支持 Andes V5 性能扩展(XAndesPerf,29 条指令)

3. 原生 Linux ARM64 构建

  • IDA 现在提供原生 Linux ARM64 版本,要求 glibc 2.28+(Debian 10 / Ubuntu 20.04 / RHEL 8+)
  • C++ SDK 静态库和本地调试器暂未包含,计划后续发布

二、IDA Teams 集成

  • Teams UI 现已内置于 IDA 中,无需单独应用程序
  • 新增 Teams 顶级菜单,所有主要功能可直接从菜单栏访问
  • 支持从 Quick Start 对话框直接打开 Hex-Rays Vault Server 上的远程文件
  • 独立的 HVUI 应用程序已停止发布,其功能已完全集成到 IDA 中

三、Microcode Viewer 重大升级

交互式操作

  • 现在可以删除指令和添加断言(assertion),直接指定寄存器和局部变量的值来引导反编译过程
  • 对处理混淆代码和探索"假设"场景非常有价值
  • 删除控制流指令时自动修复 CFG(直到 MMAT_GLBOPT3)

图形化视图

  • 支持渲染 Microcode 流程图,提供结构分析的可视化
  • 新增 "Display chains" 功能,可视化寄存器和变量的 use-def / def-use 链

新增显示模式

  • EA 前缀显示:可选在指令号和助记符之间显示有效地址
  • 紧凑/详细视图切换
  • 值编号(Value Numbers):显示 GVN 标识符,展示 SSA 值等价关系
  • 数字来源(Number Origins):揭示常量的来源
  • 显示本地类型窗口

其他改进

  • 完整的撤销支持
  • 交叉引用支持
  • 桌面状态保存/恢复
  • Tab 键跳转到对应反汇编
  • Del 快捷键快速删除/恢复指令

四、反编译器改进

Stock Comments(常用注释管理)

  • 可创建、编辑和快速应用常用注释到伪代码中
  • 按最近使用排序,适合记录重复模式(如内联 C++ 操作)

值范围优化

  • 条件分析现在包含增强的值范围追踪
  • 能够根据外层条件推断变量范围,消除冗余检查

赋值传播精细控制

  • 新增 "Forbid assignment propagation" 选项
  • 可精确控制反编译器允许内联哪些赋值,提高可读性

"Decompile All" 扩展

  • 现在在 IDA Home 和 IDA Pro Essential 版本中也可使用

五、类型系统改进

Objective-C 头文件解析器(全新)

  • 支持解析 @interface、@protocol 和 @property 声明
  • 自动生成对应的 C 类型和方法原型
  • 通过 Options → Compiler → Source parser → clang 启用

C 头文件导出:内联匿名类型

  • 新增 "Ignore IDA anonymous types" 选项
  • 将匿名类型直接内联到父结构中,生成更干净的输出

Fixed Struct 支持:完整的导入/导出往返

  • 引入 __fixed 和 __at 属性,支持显式字段偏移的结构体
  • __fixed(size) — 声明具有显式总大小的结构体
  • __at(offset) — 指定字段的精确字节偏移
  • __at(offset, bit) — 支持位域的位级精度偏移

Golang 类型恢复改进

  • 类型名称中包含完整包路径,消除同名类型歧义
  • 层次化类型库组织,按 Go 包路径排列
  • 改进 FUNCINFO 和 Go 版本检测
  • 用标准 Go string 类型替换内部 BUILTIN_STRING 类型

其他类型系统变更

  • Typedef 到匿名 UDT 现在正确打印
  • 移除旧版 "Parse declarations" 对话框
  • Clang 类型解析器新增 Print AST 和 Dump AST 选项

六、架构特定改进

ARM64

  • 支持解码 SVE 和 SME 指令(Apple 最新内核中使用)
  • ARM MTE(内存标记扩展)指令现在生成干净的 intrinsic 调用,替代内联汇编
  • 新增 AES、SHA1/256/512/SHA3、SQRDMX 指令的 intrinsic 支持,并推断正确的 NEON 向量类型
  • 支持 ARMv8.7 FEAT_CSSC 扩展指令(CTZ、CNT、ABS、SMAX 等)
  • 优化 MOV/MOVK/MOVW/MOVT 指令序列的地址构造
  • 识别 BTI-enabled ELF PLT stub 和 iOS PAC 导入跳板
  • 检测 iOS/macOS 26 的新 CSNEG switch 模式

RISC-V

  • 改进 32 位 RISC-V 上多种 div/mod 模式的识别
  • 所有情况下一致的 struct/enum 成员交叉引用计算

ARCv2

  • 内存 load/store 自增/自减操作现在识别为 push/pop 指令
  • 改进 switch 构造识别和 prolog 辅助函数检测

x86/x64

  • 新增 VIA Padlock 指令解码
  • 修复 MPX hintable NOP 处理
  • 改进 Golang 函数的 LR 识别

80196

  • 新增 8061、8065 和 8096 处理器类型支持

七、加载器改进

CLI/.NET

  • 混合程序集中 CLI 元数据名称现在应用到原生代码
  • 修复多个无限循环和崩溃问题
  • 解析 MethodSpec token (0x2B)
  • 处理元数据表流中的 ExtraData 字段

Mach-O / Dyld Shared Cache

  • 更快的本地符号表读取
  • 收集的符号在加载器调用间保留,避免冗余工作
  • 加载额外 DSC 模块时触发重新分析

八、调试器改进

  • Android 调试器现在正确处理 Android 14 到 16 的应用
  • 支持单步执行 PAC 保护的间接控制流转移指令(RETAA 等)
  • 调试器栈视图新增自动解引用功能

九、UI 改进

增强的 Xref Tree

  • 利用寄存器追踪器和反编译器在调用点显示已知函数参数值
  • 多选支持(Shift/Ctrl)
  • 搜索功能(/ 打开搜索,F3 跳转)
  • 列管理:重排、调整大小、切换可见性
  • 完全替代旧版 Function Calls 窗口

Xref Graph 改进

  • 节点固定功能(P 键)
  • 暗色主题支持
  • 容量警告
  • 触控板缩放支持
  • 不再需要 GPU 加速 OpenGL

Jump Anywhere 改进

  • 异步搜索,大型数据库即时响应
  • 支持 demangled 名称
  • 改进搜索排名算法
  • 用户输入历史记录

大型数据集性能优化

  • 表格数据控件(Functions、Names、Local Types 等)在大型数据集下性能显著提升
  • 搜索、排序和过滤操作更加流畅

其他 UI 改进

  • 新增 "Move to folder..." 操作,可从反汇编/伪代码/微码视图直接将函数组织到文件夹
  • 新增 "Setting type renames target" 选项
  • 提供 Windows 7 兼容的 Qt 6.8 补丁版本
  • macOS 暗色模式切换、.i64 bundle 类型扩展、Dock 菜单
  • 关闭对话框新增 "Don't save database" 按钮

十、SDK 变更要点

重大变更

  • hexrays.hpp 中所有 std::set 和 std::map typedef 替换为 qset 和 qmap(源码级破坏性变更)
  • ivl_t 和 ivlset_t 不再是模板实例化,改为使用 uint64 的独立类
  • Widget 刷新 API 升级为 128 位掩码
  • Chooser/dirtree 分离,chooser API 版本升至 4

新增 API

  • cfunc_t::serialize() / deserialize() — 持久化反编译输出
  • lumina.hpp — 完整的 Lumina 协议和客户端 API(之前为内部接口)
  • get_install_root() — 返回 IDA 安装根目录
  • 大量新的容器基础设施头文件(qset.hpp、qmap.hpp 等)

IDAPython

  • -S 命令行参数现在可通过 sys.argv 访问
  • 新增预构建 idapro Python wheel
  • idat 新增 -v 详细输出选项
  • idat 不再删除已有 IDB
  • IDA Home 版本启用 -S 命令行开关

十一、FLAIR 工具

  • 新增 -X 开关,通过正则表达式在签名创建时排除符号
  • sigmake 碰撞组大小限制从 8192 提升到 65536

十二、安全与第三方依赖更新

  • LLVM 更新至 21.1.5
  • z3 更新至 4.15.3
  • pcre2 更新至 10.47(修复 CVE-2025-58050)
  • clp 更新至 1.17.10
  • libdwarf 更新至 2.2.0

十三、构建流程简化

  • IDAPython 构建现在可使用系统包管理器的 SWIG 4.2/4.3
  • Lumina 功能可通过 lumina.hpp(C++)和 ida_lumina(Python)直接访问

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?registerss

×
您需要登录后才可以回帖 登录 | registerss

本版积分规则

QQ|手机版|雪舞知识库 ( 浙ICP备15015590号-1 | 萌ICP备20232229号|浙公网安备33048102000118号 )|天天打卡

GMT+8, 2026-10-18 15:42 , Processed in 0.086094 second(s), 34 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表