IDA Pro是一款业界顶尖的二进制代码分析工具,成为了全球软件分析家、逆向工程师、恶意软件分析师和网络安全专家工具箱中不可缺少的一员。身为一款功能强大的反汇编器,它能够将机器可执行代码生成为汇编语言源代码,创建出能展示处理器实际执行的二进制指令的执行图。IDA Pro通过实施高级技术,使得这些复杂的代码变得更易于人类阅读。

ida-pro

此外,IDA Pro不仅是静态分析工具,它所增强的调试功能也为IDA Pro提供了动态分析能力。这意味着它能够同时处理多个调试目标,并且能够管理远程应用程序。其跨平台调试功能不仅可以立即进入调试状态、轻松连接到本地和远程进程,还支持64位系统和新型连接能力,极大地提升了调试效率。

IDA Pro在恶意代码分析、漏洞研究以及商业软件验证方面,已经成为事实上的标准。IDA Pro的互动性特点允许分析人员覆盖其自动决策或提供提示,使得分析工作更流畅、直观。它所包含的非常强大的宏似语言(IDC或IDAPython),可以用来自动化简单到中等复杂度的任务,且开放的插件架构允许通过可编程插件轻松扩展IDA的功能。IDA Pro在分析二进制文件时速度快捷,经历了数千个测试案例的验证,并且我们确保了IDA的最高安全标准。每一个版本的发布都可以预见到实质的变化,新功能和支持的处理器等都是经过深思熟虑和讨论后加入的。

交互的
IDA Pro 允许人类分析师推翻其决策或提供提示,以便分析师可以无缝、快速地使用反汇编程序并更直观地分析二进制代码。

可编程的
IDA Pro是一个完整的集成开发环境。它由一种非常强大的类宏语言(IDC 或 IDAPython)组成,可用于自动执行简单到中等复杂性的任务。

集成
IDA 可在所有标准平台上运行并处理多个处理器。它还可以加载和反汇编几乎任何文件格式,从而提高其分析速度。

开放式插件架构
IDA 的功能可以通过使用可编程插件轻松扩展。SDK可供所有注册IDA用户使用。

鲁米纳服务器
Lumina服务器保存了大量知名函数的元数据(名称、原型、操作数类型等),并通过用户搜索帮助改进反汇编列表。

调情
快速库识别和识别技术可以识别许多编译器的标准函数调用。该技术允许IDA识别由支持的编译器生成的标准库函数,并大大提高了生成的反汇编的可用性和可读性。

没有什么能打败人脑
因为我们知道一秒钟的洞察力仍然胜过百年的处理时间,所以 IDA 反汇编器提供了尽可能多的交互性。事实上,反汇编中的任何内容都可以修改、操作、重新排列或重新定义。

静态拆解有限
仅仅静态反汇编并不能说明全部情况。加密或混淆的代码经常出现在当今的恶意代码中;代码和数据之间的精确区分是一门艺术而不是一门科学。IDA 反汇编器的交互性得到了内部脚本语言、Windows 应用程序/内核调试器、Linux 应用程序调试器、x86/x64 Mac OS X 应用程序调试器(支持 32 和 64 位)等等的补充!

创新必须珍惜
作为为我们的产品创建新插件的额外激励,我们举办了年度插件竞赛。有用的公共插件的创建者可以赢得现金奖励。我们还在名人堂页面上公布了这些名字。

时间就是本质
汇编语言向导只需浏览几个操作码即可掌握程序用途的日子已经一去不复返了。当今的病毒和蠕虫通常是用高级语言编写的。得益于我们独特的 FLIRT 技术和先进的堆栈跟踪功能,IDA 反汇编器的工作方式尽可能接近原始源代码。

你最了解
我们是反汇编器和调试器专家,但您才是真正完成工作的人。您比我们更了解您需要什么。这就是 IDA SDK 允许您根据您的特定需求扩展和定制 IDA 的原因。

安全是我们的重中之重
我们希望用户在使用我们的工具时保持安全。这就是为什么除了内部测试、代码审查和安全编码实践之外,我们还引入了错误赏金计划。报告我们软件中严重错误的人可以获得现金奖励。这样我们软件中的漏洞就会直接报告给我们。当然,我们会立即做出反应并尽快发布修补程序。

私人 Lumina 服务器

且充满了有用的信息。然而,由于保密要求,并非所有组织都可以使用它,因此现在我们提供私有服务器选项,可用于在组织内部共享功能元数据。

IDA Teams 将包含免费的 Lumina 许可证,而 IDA Pro 用户可以单独购买。

新图标

我们为 IDA 设计了一套全新的图标集。使用的图标将特定于 IDA 版本:

废弃 32 位二进制文​​件的 IDA (IDA32)

世界正在转向 64 位(事实上,IDA 本身从 7.0 开始就是 64 位可执行文件),因此 32 位 IDA 的使用越来越少。由于实现细节的原因,仍然需要使用它来反编译 32 位可执行文件,但现在我们正在逐步取消此限制,以便将来在 IDA64 中分析和反编译 32 位文件。最终,我们计划完全弃用 32 位 IDA,只保留它来处理旧版 .idb 文件。

Golang regabi 支持

最近的 Go 版本已经为多种架构启用了基于寄存器的调用约定(ABIInternal),而不是最初的基于堆栈的调用约定。虽然可以在 IDA 中手动描述它,但现在它会根据检测到的 Go 版本和二进制架构__usercall自动为标准约定分配寄存器。__golang

例如,在 8.0 中必须手动描述一个采用切片和两个整数的函数,如下所示:

__int16 __usercall main_crc16@<ax>(_slice_uint8 buffer@<0:rax, 8:rbx, 16:rcx>, __int64 start@<rdi>, __int64 length@<rsi>)

而在 8.1 中,以下工作正常:

__int16 __golang main_crc16(_slice_uint8 buffer, __int64 start, __int64 length);

更改和新功能的完整列表:

IDA 团队和 Lumina

  • Lumina:私人 Lumina 服务器现已可用
  • Lumina:摆脱了 LUMINA_HOST 和 LUMINA_PORT 配置参数(这些值改为在注册表中保存/检索)
  • Teams:将 Vault 服务器中的密码存储切换为 PBKDF2 哈希

处理器模块

  • ARM:改进了对 Android NDK 19 工具链生成的 A32 开关模式的识别
  • XTENSA:添加了 nop.n ​​指令的解码
  • XTENSA:打印 a1 寄存器为“sp”

文件格式

  • ELF:ARM:添加了对 R_AARCH64_IRELATIVE 重定位的支持

调情 / TILS / IDS

  • FLIRT:添加了 icl 221 的签名(Intel C++ 2022.1)
  • FLIRT:添加了 ucrt 22621 的签名
  • FLIRT:VC:添加了 vc1431 (Visual Studio 16.11.10) 64 位的签名
  • FLIRT:VC:添加了 vc1432 的签名 (Visual Studio 16.11)

标准插件

  • golang:添加了对 regabi 调用约定的支持

核心

  • noret.cfg:添加了更多 __noreturn 函数名称

脚本和 SDK

  • SDK:更改应用程序位数(例如inf_set_64bit())现在还可以调整基本类型大小
  • SDK:现在支持64位模式的处理器模块必须设置PR_USE64;以前这并没有强制执行

用户界面

  • UI:IDA 现在使用特定于版本的新图标(Pro/Home/Free/Teams)

反编译器

  • 反编译器:x86:改进了对带有堆栈参数的 __fascall 函数的检测

Bug修复

  • BUGFIX:ARM:修复了 T32 UMAAL 指令的解码(错误的操作数)
  • BUGFIX:调试器:在 jXcx 上按 F8 可能会恢复应用程序并让它自由运行
  • BUGFIX:反编译器:在调试期间,将鼠标悬停在堆栈变量上可能会显示错误的数据
  • BUGFIX:反编译器:概述函数中的尾部调用可能会导致伪代码被截断
  • 修正:idapyswitch 可能无法在 arm64 macOS 上创建 libpython 符号链接。
  • BUGFIX:加载多次重新建立基础的数据库时可能会产生 interr 1784
  • BUGFIX:PC:提高了存在 thunk 函数时的分析速度
  • BUGFIX:SDK:get_db_byte() 将从进程内存而不是 IDB 返回字节
  • BUGFIX:某些调试器插件会失败,并显示有关“dbg”变量的错误消息
  • BUGFIX:团队:手动内存区域未实现合并
  • BUGFIX:tilib 无法打开具有双扩展名的文件 (file.ext.til)
  • 修正:UI:在 macOS 上使用“新建实例”操作时,IDA 可能会崩溃
  • 修正:UI:IDA 在列表视图中过滤期间可能会错误地突出显示非 ASCII 字符
  • BUGFIX:UI:无法在配置文件中将 COMMENTS_INDENTION 或 INDENTION 设置为超过 132(UI 最多允许 255)
  • BUGFIX:UI:自动分析期间可能会错误地禁用某些菜单操作
  • 修正:用户界面:功能窗口中的当前项目焦点在自动分析期间不断跳跃
  • BUGFIX:保管库:同一用户在同一主机上运行的多个 IDA 实例将消耗多个许可证
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。