IDA 9.2 发布:Golang 改进、新 UI 组件、类型解析等

简介: IDA Pro 9.2 (macOS, Linux, Windows) - 强大的反汇编程序、反编译器和多功能调试器

IDA Pro 9.2 (macOS, Linux, Windows) - 强大的反汇编程序、反编译器和多功能调试器

A powerful disassembler, decompiler and a versatile debugger. In one tool.

请访问原文链接:https://sysin.org/blog/ida-pro/ 查看最新版。原创作品,转载请保留出处。

作者主页:sysin.org


IDA Pro

一个强大的反汇编程序、反编译器和多功能调试器。集成在一个工具中。

Screenshot of a code analysis interface showing a list of functions on the left and a detailed view of a selected function with assembly code and a control flow graph on the right.

IDA 9.2 发布:Golang 改进、新 UI 组件、类型解析等

发布时间:2025 年 9 月 8 日

在过去几个月里,Hex-Rays 陆续向大家展示了 IDA 9.2 中的一些新功能预览。现在,是时候将它们(以及一些未公开的功能)汇总到正式发布版本中。

此次发布带来了:在反编译 Golang 二进制文件时更有用的输出、大量用户界面与工作流程改进、基于 LLVM LibTooling 的全新类型解析器、对 v850/rh850 和 TriCore 微控制器反汇编器的更新、常规的指令集扩展支持,以及无数提升使用体验的改进。

下面是主要功能摘要。

更智能的跨架构分析

IDA 9.2 扩展了对多种处理器和指令集的支持,使嵌入式和硬件分析更加强大。

  • 改进了 RISC-V 和 ARM 的 switch 检测,以及 ARM 的栈指针跟踪
  • 扩展了 TriCore 芯片组覆盖范围(tc1x - tc4x),支持新引入的 tc4x (TC1.8) 指令,支持具有全局、用户可指定值的寄存器。
  • v850/rh850 增加了更多宏指令,更好地处理可重定位对象以创建 FLIRT 签名 (sysin),并支持具有全局、用户可指定值的寄存器。
  • 支持 TMS320 C6 系列的 32 位 SIMD 指令。

更清晰、更准确的反编译

反编译器的改进帮助你更快地处理 Go、Windows 二进制文件和交叉引用。

  • Golang 多返回值支持元组类型,输出更加简洁。
  • 新增操作:“显示所有交叉引用的反编译结果”,支持代码和数据引用。

反编译器管道可视化

IDA 首次开放了反编译器内部机制。

  • 新的 微代码查看器 可显示中间表示(Hex-Rays Microcode)。
  • 可在每个阶段检查转换过程。
  • 基于更深入的洞察构建高级 自定义插件

调试器增强

调试器现在提供了更丰富的上下文和更可靠的调用栈。

  • 重新设计的 寄存器子视图,支持自动指针解引用,并通过 颜色编码区分内存类型。
  • 更准确地重建 x64 PE 二进制文件的调用栈

提升生产力与 UI 改进

我们通过一系列优化改进了日常使用体验:

  • 任意跳转:新增对话框,可快速跳转到 IDB 中的任意位置。
  • 统一位置历史:启用跨组件的历史堆栈 (sysin)。以前从反编译器跳到反汇编器中的某个数据项后按 ESC 不能返回,现在行为已修复。若不喜欢,可全局禁用历史共享。
  • 新的 动态交叉引用图表 (Xref Graph):以图形方式展示函数间关系(代码和数据),替代静态 qwingraph,并使用 OpenGL 加速实现交互式体验。
  • 新的 交叉引用树 (Xref Tree):以文本形式展示函数间关系,统一了原有的“函数调用”和“交叉引用”子视图。
  • 常用于演示的用户会很高兴:常见的 Ctrl-+/Ctrl-- 快捷键(增大/减小字体)现在在 IDA 中可用。
  • 本地类型(Local Types)下的类型编辑器现已支持 Tab 补全
  • Qt6 为 Wayland Linux 桌面带来了更加稳定的支持。

内部机制改进

  • 从本版本开始,IDA 的 UI 基于 Qt6。对于带 UI 组件的插件作者,可能需要进行少量迁移。与此同时,我们提供了一些 shim,以便在 Qt6 中有限地暴露 Qt5 API。
  • IDA 内外的 类型解析器 已统一,现在基于 LLVM 的 LibTooling。其好处将在未来版本中逐步体现,敬请期待。

我们还修复了一些 bug,并增加了其他改进。

开始试用

IDA Pro 9.2.250908 for macOS arm64 (Apple 芯片)

IDA Pro 9.2.250908 for macOS x64 (Intel 处理器)

IDA Pro 9.2.250908 for Linux x64

IDA Pro 9.2.250908 for Windows x64

目录
相关文章
|
6月前
|
开发者 容器
44.[HarmonyOS NEXT RelativeContainer案例一] 掌握组件锚点布局:打造灵活精准的UI定位系统
在HarmonyOS NEXT的UI开发中,精确控制组件位置是构建复杂界面的关键。RelativeContainer作为一种强大的布局容器,通过锚点系统提供了精确定位能力,使开发者能够创建出灵活且精准的UI布局。本教程将详细讲解如何使用RelativeContainer的锚点布局功能,帮助你掌握这一核心技术。
228 4
|
6月前
|
设计模式 缓存 容器
06.HarmonyOS Next UI进阶:Text组件与视觉样式完全指南
在HarmonyOS Next应用开发中,Text组件是最基础也是最常用的UI元素之一。它不仅用于显示文本内容,还可以通过丰富的样式属性实现各种视觉效果。掌握Text组件的样式设置,是构建精美UI界面的基础技能。
336 1
|
2月前
|
Java 编译器 Go
【Golang】(5)Go基础的进阶知识!带你认识迭代器与类型以及声明并使用接口与泛型!
好烦好烦好烦!你是否还在为弄不懂Go中的泛型和接口而烦恼?是否还在苦恼思考迭代器的运行方式和意义?本篇文章将带你了解Go的接口与泛型,还有迭代器的使用,附送类型断言的解释
186 3
|
2月前
|
存储 Java Go
【Golang】(3)条件判断与循环?切片和数组的关系?映射表与Map?三组关系傻傻分不清?本文带你了解基本的复杂类型与执行判断语句
在Go中,条件控制语句总共有三种if、switch、select。循环只有for,不过for可以充当while使用。如果想要了解这些知识点,初学者进入文章中来感受吧!
151 1
|
5月前
|
Web App开发 前端开发 JavaScript
Element UI框架中自定义input组件的placeholder样式。
确保这些样式在你的应用程序CSS文件中定义,且该文件已正确加载到项目中。通过以上方法,可以控制Element UI组件中input的placeholder样式,使其满足特定的设计要求。这些更改都是基于CSS伪元素进行的,因此并不会对DOM结构产生改变,保持了原有结构的简洁和高效。
494 12
|
5月前
|
人工智能 JSON 前端开发
如何解决后端Agent和前端UI之间的交互问题?——解析AG-UI协议的神奇作用
三桥君指出AG-UI协议通过SSE技术实现智能体与前端UI的标准化交互,解决流式传输、实时进度显示、数据同步等开发痛点。其核心功能包括结构化事件流、多Agent任务交接和用户中断处理,具有"一次开发到处兼容"、"UI灵活可扩展"等优势。智能体专家三桥君认为协议将AI应用从聊天工具升级为实用软件,适用于代码生成、多步骤工作流等场景,显著提升开发效率和用户体验。
1229 0
|
6月前
|
移动开发 开发者
仓颉开发语言入门教程:常见UI组件介绍和一些问题踩坑
仓颉开发语言即将发布一周年,虽已有知名App应用,但教程稀缺且官网文档不够完善。幽蓝君推出系列教程,从零开始系统讲解移动开发。本期介绍常用UI组件:按钮、文本、图片、输入框与搜索框的使用方法及注意事项,帮助开发者快速上手仓颉语言。
|
8月前
|
JSON API Go
Golang工程组件:自定义HTTP规则的grpc-gateway选项
总的来说,grpc-gateway提供了一种简单有效的方式来为你的gRPC服务提供RESTful风格的API。通过自定义HTTP规则,你可以灵活地定义你的API的行为,以满足你的应用的需求。
210 27
|
7月前
|
自然语言处理 安全 JavaScript
HarmonyOsNEXT【ArkUI超全解析】新手必看的方舟UI框架指南!
本文是HarmonyOS NEXT方舟UI框架新手指南,涵盖ArkTS开发核心知识点。从UI与组件基础概念到声明式开发优势,再到ArkTS代码实战,包括组件创建、属性设置、事件绑定等。通过实例解析自定义组件开发流程,提供避坑技巧与代码风格建议,助你快速掌握ArkUI框架精髓,轻松构建高效、美观的HarmonyOS应用界面。适合初学者及希望转型声明式开发的开发者学习参考。
314 2
|
6月前
|
JavaScript 测试技术 Python
UI自动化测试中的元素等待机制解析
在UI自动化测试中,元素定位失败常因页面存在iframe或缺乏合理等待机制。本文解析三种等待策略及其应用场景:显式等待可精确控制单个元素等待条件,支持自定义轮询;隐式等待全局生效,适合简单页面加载;强制等待仅用于临时调试,正式脚本慎用。通过对比三者执行精度、资源消耗及适用场景,帮助选择最优策略,提升测试效率与稳定性。

推荐镜像

更多