软件介绍
IDA Pro 是一款功能强大的交互式反汇编工具,广泛应用于逆向工程领域。它支持多种可执行文件格式和处理器架构,具备灵活的命令语言和强大的分析能力。无论是恶意软件分析、漏洞研究,还是商用软件验证,IDA Pro 都能提供高效的支持。Hexrays 近期发布了 IDA Pro 9.0 测试版,为用户提供了更全面的功能体验。
软件介绍
IDA Pro 由 Ilfak Gilfanov 开发,是一款专业的反汇编工具。它允许用户构建流程图、修改标签名称,并查看堆栈上的本地过程。通过将二进制指令转换为汇编语言,IDA Pro 使复杂的代码更易于阅读和理解。
IDA Pro 具备自动分析功能,利用交叉引用和标准库函数调用参数信息,帮助用户快速理解程序结构。用户可以通过交互式工具为代码添加注释、命名和数据结构,逐步揭示程序的运行逻辑。
该工具支持控制台和图形界面两种版本,兼容多种可执行文件格式。IDA Pro 还能反汇编 Java 和 .NET 虚拟机的字节码,并支持宏、插件和脚本。最新版本还集成了调试器,进一步提升了分析效率。
功能特色
1、敌对代码分析
IDA Pro 是恶意软件分析领域的标准工具。防病毒和间谍软件分析师每天使用它来调查新的病毒样本,并提供及时的解决方案。
2、漏洞研究
IDA Pro 是研究软件漏洞的理想工具。它帮助识别和修复潜在的安全问题,防止第三方利用这些漏洞进行攻击。
3、商用现货(COTS)验证
IDA Pro 提供了一种便捷的方法,用于验证商用软件是否按照预期运行,是否存在有害漏洞或信息泄露问题。
4、隐私保护
IDA Pro 帮助用户调查可能侵犯隐私的软件,保护个人数据不被收集、出售或滥用。
5、其他用途
IDA Pro 在学术界也有广泛应用,许多研究论文都提到了它的使用案例。
系统要求
Windows:需要 x64 操作系统(Windows 8 或更高版本,建议使用 Windows 11 或更高版本)。
Linux:x64 (x86_64) CentOS 7 或更高版本、Ubuntu 16.04 或更高版本。其他等效发行版也可使用,但不保证。
macOS:Catalina 或更高版本(x64 或 ARM64)。
使用说明
第1步:解压运行安装程序 idapro_90_x64win.exe,然后输入安装密码即可免费使用。
第2步:编辑许可证信息,注意到期时间不要超过10年。
第3步:将 ida/ida64 dll/so/dylib 放在与 script 相同的目录下。
第4步:运行脚本生成 license。
第5步:复制生成的 license,并将 dll 替换为补丁。
第6步:运行激活。
更新日志
IDA 9.0 beta 2 中修复的问题
IDA 首页:云反编译器无法使用。
将所有对 ida.key 的引用替换为 ida.hexlic。
IDA Linux 安装程序在安装程序目录中创建了一个奇怪的目录。
IDA Home:缺少 IDA Pyton 模块 "ida_mergemod"。
MacOS 上缺少 style dylib。
反编译器:导航到不可反编译函数时崩溃。
asmtil:interr 918 + 过滤大量类型时崩溃。
idapython:idc.get_ordinal_qty() 不可用。
添加了 wasm 加载器和处理器模块。
IDA 9.0 beta 1 的已知问题
IDA Teams 服务器(保险库)尚不可用。
IDA 浮动许可证服务器 (licsrv) 尚未提供。
Linux 安装程序中的对话框文本在深色主题处于活动状态的 Ubuntu 上不可读。
Linux 安装程序创建名为“***unknown variable uninstallerdirectory***”的空目录。
iOS18 DSC objc 分析缺乏开箱即用(__OBJC_RO暂时必须手动加载)。
IDA 可能会在文件加载时在 x64 macOS 上崩溃。
使用 IDAlib 进行无头处理
借助 IDAlib,可以从 IDA 外部使用 C++ 和 Python API 来构建独立应用程序。生成的程序或脚本不必在 IDA 中加载,而是从 IDA 调用引擎在您的应用程序中。
这使得针对 IDA API 进行开发变得更加容易。如果配置正确,您可以在 C++/Python IDE 中获得自动完成功能和调试支持。
无需 RCP 或 IPC 即可连接到外部 IDA 流程,这意味着您可以获得原生的执行速度。
WASM 反汇编器和文件格式加载器
随着许多应用程序转向客户端浏览器应用程序,IDA Pro 新增了 Web 反汇编器(WASM)。WASM 代码嵌入到其自己的二进制文件格式中,因此还提供了一个文件加载器,用于解码 WASM 文件格式。
nanoMIPS 反汇编器和解编译器 + md1rom 加载器
MIPS 反汇编器和解编译器增加了对 nanoMIPS 指令的支持。nanoMIPS 支持包含在经典 MIPS(HEXMIPS)反编译器中,因此无需购买额外的许可证。
为 nanoMIPS 编译的固件通常以 md1rom 格式提供,因此 IDA Pro 新增了 md1rom 文件加载器,支持解析和应用调试符号。
新的 RISC-V 反编译器和反汇编器扩展
针对 32 位和 64 位 RISC-V 代码(HEXRV 和 HEXRV64)的新反编译器现已推出。RISC-V 处理器模块还支持 T-Head 扩展指令,适用于玄铁和全志处理器。
反编译器中的 C++ 异常支持
反编译器现在可以发出 try/catch 块。作为第一步,IDA Pro 实现了在使用 Microsoft VC++ 为 x64 编译的二进制文件中支持 C++ 异常方案。
IDAPython 改进
大多数 IDAPython API 现在都有类型注释,减少了 API 的使用障碍。支持 Python 虚拟环境,只需指向包含虚拟环境解释器的目录即可。
Python API 中返回的对象已正确零初始化。IDA CLI 中的自动完成功能现在忽略自动生成的 SWIG 方法,减少了噪音,帮助用户更轻松地找到特定功能。
FLIRT 更新
IDA Pro 进行了大规模更新,扩大了 FLIRT 签名的数量。在此版本中,IDA Pro 为多种操作系统、语言、架构和软件包提供了签名支持。
插件的元数据描述符
ida-plugin.json 现在为插件提供了一个标准化的入口点。插件作者可以遵循自己的插件目录结构,只需将 IDA 指向主插件入口点即可。
不再有 IDA32
IDA 9.0 统一了针对 32 或 64 位代码的 IDA 二进制文件,仅保留 IDA64 二进制文件。这意味着已安装文件的数量减少了一半,插件维护者只需维护一个版本。
UI 改进
旧的枚举和结构视图已被局部类型替换。函数原型编辑器现在支持多行编辑和基于 UI 的参数位置编辑,使原型语法更易于记忆。
现在可以为结构指定固定尺寸,并轻松实现字段打包。新的快捷方式集更符合现代操作系统的惯例。
更改和新功能的完整列表
处理器模块:ARM、AVR、MIPS、RISCV 和 WASM 的改进。
文件格式:ELF、md1img 和 MACHO 的扩展支持。
标准插件:eh_parse、EH34 和 PDB 的优化。
内核/杂项:goodname.cfg、kernel 和安装程序的改进。
脚本和 SDK:IDAPython 和 SDK 的增强功能。
用户界面:结构体、命令面板和本地类型导出的优化。
反编译器:RV32、RV64 和 C++ 异常支持的改进。
Bug 修复
修复了 ARM、反编译器、调试器、PDB 和 UI 中的多个问题,提升了工具的稳定性和性能。
用户评论