具体描述:
Hex-Rays 是一家专注于二进制软件分析的高科技公司,成立于 2005 年,总部位于比利时,致力于研发强劲的二进制分析工具,为 IT 安全市场提供高质量产品和出色的服务。
Hex-Rays 的旗舰产品 IDA 是全球高度智能、功能完善的交互式反汇编程序,许多软件安全专家和黑客都对这款软件如雷贯耳。买软件网 是 IDA Pro 中国指定代理商。
IDA 完全使用 C++ 编写而成,适用于三大主流操作系统:Microsoft Windows、Mac OS X 和 Linux。IDA 的主要目标之一,在于呈现尽可能接近源代码的代码,而且通过派生的变量和函数名称来尽其所能地注释生成的反汇编代码,货真价实。其内核算法的高速和可扩展性,使 Hex-Rays 不仅能够在众所周知的 C/C++ 反编译问题中取得突破性的进展,还为二进制分析领域的未来发展奠定了坚实的基础。
许可证类型:
IDA 提供三种许可证:
Named License(指定许可证):供一名特定的最终用户使用,而且可以在这名特定最终用户所使用的多台计算机上使用。Named License 适用于小型企业和个人用户。
Computer License(计算机许可证):供一台特定的计算机使用,而且可供使用这台计算机的多名最终用户使用,只要无论何时,只有一名用户处于活动状态即可。这种许可证适用于企业,因为它不与个人绑定,允许简便地再分配许可证。
Floating License(浮动/网络许可证):可以在(一家企业)无限数量的计算机上安装,不过只允许同时运行有限数量的副本。
APPLE SILICON 支持:
IDA for macOS 现在可以作为原生的 ARM64 二进制文件提供,它能充分利用 Apple M1 的高性能(虽说 x64 版本也能在 Rosetta 2 下出色运行),也支持调试用户模式程序(包括 arm64e!)。
idapro 7.6 Apple Silicon 支持
Apple Silicon 支持
GOLANG 分析:
Google 的 Go 语言(又名 golang)因其易用性、高性能、以及无需依赖项的自包含二进制文件特性而变得非常流行。由于某些语言设计人员的决定,golang 二进制文件与其他编译器生成的二进制文件完全不同,因此 IDA 需要进行一些变更来正确支持其特性。
解析特定于 golang 的元数据,以便恢复函数名称和边界
支持基于堆栈的参数和返回值,即使在通常使用寄存器(ARM 和 x64)的平台上也是如此
检测特定于 golang 的字符串文字
反编译器改进
自动重命名变量尽管交互性是 IDA 的卖点,但它仍尝试尽可能多地实现常规任务的自动化。在此版本中,反编译器将尝试根据分配和函数调用,为变量和结构字段自动分配名称。
已改善对于堆栈阵列的识别
很难自动检测堆栈上的阵列,因为通常仅显式地引用其第一个元素。我们已添加了启发式方法,可以在许多典型情况下恢复阵列,从而减少必要的手动干预。
提供用来提高可读性的空行
如果您向 hexrays.cfg 添加了 GENERATE_EMPTY_LINES = YES,则反编译器将在复合语句之间和标签之前添加多余的空行,从而提高了长函数的可读性。
新的处理器模块:RISC-V 和 RL78
我们的处理器选项将继续稳定扩展。
oRISC-V 是一种开放式 ISA,已开始在各种硬件中使用,例如 Espressif Systems 无线平台的最新版本 ESP32-C3。
UI 改进
我们的处理器选项将继续稳定扩展。
现在,可以使用文件夹视图来组织“加载文件”对话框中的处理器列表,可以使用 Ctrl-F 进行筛选
现在您可以在文件夹视图中使用剪切和粘贴功能,而不用借助鼠标拖动项目
提供一个新的单独的书签视图,其中包含可以分组到这些文件夹中的全局书签列表
含有书签的行现在具有额外的背景颜色,视觉上更容易区分
UI: 现在字符串列表将被缓存在数据库中
“字符串”窗口是 IDA 中用于快速侦察的常用视图之一。但是根据设置的不同,扫描整个数据库可能要花费很长时间,而每次重新打开窗口或重新加载数据库时,都必须重复此过程。现在我们缓存这个列表,因此第二次打开列表时几乎是即时实现的
压缩的 MACOS 和 IOS KERNELCACH 支持
在最新的 iOS 和 macOS 版本中,已压缩 kernelcache 文件。尽管有可用的工具可以对其进行解压,但总要多一个步骤。现在,IDA 透明地处理标准压缩格式,因此您只需将这些 文件作为标准的 Mach-O 文件加载即可。由于 IDA 也能处理 ZIP 文件,您可以从 IPSW 更新直接将其打开!
RETPOLINE 处理
Retpoline(return trampoline 的缩写)是针对 2017 年披露的 Spectre 投机执行漏洞的编译时缓解措施。使用此项编译的二进制文件使用特殊的 thunk 函数进行间接跳转,这通常会破坏标准的控制流分析。现在,IDA 透明地检测并处理这些 thunk,从而产生了美观明确的函数图表和伪代码。
PYTHON 3.9 支持
Python 3.9 在 IDA 7.5 之后发布,并更改了一些内部结构的布局,导致使用 PyQt 的脚本或插件发生崩溃问题。IDA 7.6 版本增加了对 3.9 版本的官方支持(而且仍然支持以前的 3.x 版本和 2.7 版本)。Python 3.9.1 也可正式用于 ARM64 上的 macOS,并可供 IDA 在此使用。