010-68421378
sales@cogitosoft.com
产品分类

Hex-Rays IDA Pro

IDA PRO 7.5版现已发布!

 

今天我们很荣幸地宣布发布IDA PRO 7.5版!加入我们,发现您的IDA Pro的许多新的功能和改进!

 

亮点介绍

 

  1. 文件夹视图

在许多IDA标准视图中都有树形的文件夹视图。您可以创建文件夹并在它们之间移动项目。首先,以下视图包含:

 

功能和名称

Functions and Names

 

导入

Imports

 

结构

Local types

 

枚举类型

Enums

 

本地类型

Local types

 

对于结构和枚举,树面板默认显示,对于其他视图,可以通过“显示文件夹”上下文菜单项启用。

 

用户可以创建、重命名和删除文件夹,并在文件夹之间移动项目。这将有助于在处理大型二进制文件时组织信息。

 

  1. MIPS反编译器

 

一个新的反编译器已经添加到我们的阵容。IDA支持的任何32位MIPS二进制文件都可以反编译,包括压缩编码。透明且完美地处理可恶的延迟槽。

 

以下是一些截图:

 

Big-endian MIPS32代码

Big-endian MIPS32 code

 

Little-endian MIPS32码

Little-endian MIPS32 code

 

MIPS16e代码

MIPS16e code

 

microMIPS代码

microMIPS code

 

  1. 用于MIPS和PPC的Lumina

Lumina函数现在可用于MIPS和PPC二进制文件。

 

  1. iOS/macOS改进

 

我们已经添加了带有大多数主要API的类型库,以及来自macOS和iPhone SDK的附加框架。当与反编译器配合使用时,它们特别有用。

 

初始可用类型库列表

List of initially availble type libraries

 

使用CoreFoundation API的x86_64用户模式代码示例

Sample of x86_64 user-mode code using CoreFoundation APIs

 

使用IOKit类的ARM64内核代码示例

Sample of ARM64 kernel code using IOKit classes

 

此外,我们改进了对KTRW调试器的支持。断点和监视点使用相同的Corellium-ARM64配置进行开箱即用。

 

在反编译器方面,我们增加了对Atomic ARM64指令的支持,如CAS(compare and swap)、LDADD(atomic add)等。它们从stdatomic.h转换为相应的C11函数,因此在处理为arm64e编译的代码时,应该看到更少的_asm{}块。

 

ARM Atomic

ARM Atomic

 

其他选定项目

 

PC:采用Intel CET(控制流强制技术)的ELF二进制文件正变得非常常见,因为默认情况下,Debian会启用此编译器选项,其次是Fedora和其他Linux发行版。我们现在支持这种开箱即用的二进制文件,包括在反编译程序中。我们还增加了对最近添加到英特尔和AMD处理器的几个新指令的支持。

 

Intel CET

Intel CET

 

ARM:最近针对32位ARM代码的编译器倾向于使用MOVW和MOVT指令对来加载32位常量和地址,而不是像过去那样使用常量池。虽然IDA在将这些对放在一起时已经处理了它们,但是高级优化可以将这些对分开,从而防止IDA将它们组合起来,发现完整的值并向目标添加交叉引用。我们已经改进了我们的启发式方法来处理这种分散的对,并添加了一个选项,这样分析就可以根据具体的二进制文件进行调整,或多或少地具有攻击性。

 

ARM MOVT

ARM MOVT

 

ARM MOVT

ARM MOVT 

 

ARM MOVT

ARM MOVT

 

完整变更列表:

 

处理器模块:

  • ARC:增加了对ARCv2 EM指令集的支持
  • ARM:增加了一个选项,用于控制检测由分散的MOVW+MOVT指令对加载的32位常量
  • ARM:通过延迟的prolog设置改进功能检测
  • MIPS:增加了对multi-GOT二进制文件的支持($gp在二进制文件的不同部分可以有不同的值)
  • V850/RH850:不为PIC调用创建函数(到下一个地址)
  • PPC:从e200核(NXP MPC57xx,ST SPC58xx)添加了许多新指令:
    • 缓存旁路存储(lbdcbx lhdcbx lwdcbx lwdcbx stbdcbx sthdcbx stwdcbx dsncb)
    • e200z490(AIOP)说明(e_lqw e_stqw e_ldwcb e_ldbrw e_byterevw等)
    • MPU指令(mpure、mpuwe、mpusync)
  • PC:增加了对prolog分析中endbr指令的支持
  • PC:增加了WAITPKG指令的解码(TPAUSE、UMONITOR和UMWAIT)
  • PC:增加了TSX指令的解码(XRESLDTRK和XSUSLDTRK)
  • PC:增加指令的解码,CLDEMOTE、ENCLV、SERIALIZE
  • PC:增加直接存储指令的解码(MOVDIRI和MOVDIR64B)
  • PC:增加了MCOMMIT和RDPRU指令的解码(AMD Zen2)

 

文件格式:

  • AMIGA:为AMIGA hunk文件加载程序实现重新调整(由Vladimir Kononovich提供)
  • ELF:忽略内部编译器符号gcc2_compiled
  • ELF: pc: 处理用英特尔CET支持编译的二进制文件中的PLT存根(-fcf protection)
  • ELF:接受在文件末尾运行PT_LOAD的文件
  • ELF: MIPS:实现的重新定位R_MIPS_GOT_PAGE, R_MIPS_GOT_OFST
  • ELF: MIPS:添加对MIPS64复杂重定位的支持
  • MACHO:允许用户配置为新MACHO文件加载的类型库。
  • TDS:增加了对与exe文件连接的TDS文件的支持

 

安装程序:

  • 默认为Python3;将Python3.8.2与Windows安装程序捆绑在一起

        

调试器:

  • 调试器:增加了对Bochs 2.6.10的支持
  • 调试器:增加了对Zilog Z80处理器的调试支持
  • 调试器:gdb:改进多线程程序的调试
  • 调试器:ios:将iPhone SE 2添加到已知设备列表/li>
  • 调试器:PIN:支持使用PIN 3.13构建pintool
  • 调试器:xnu:改进的ktrw支持。断点/监视点/寄存器现在可以使用“Corellium-ARM64”配置在ktrw中按预期工作。不需要其他手动设置。

 

Kernel / Misc.:

  • demangler:为VC++和GCC添加c++20 spaceship和co-await运算符
  • 内核:将std::_Xlength_error()添加到不返回函数的列表中
  • Lumina: Lumina功能可用于MIPS和PPC二进制文件

 

FLIRT / TILS / IDS:

  • TIL:引入了新的macosx类型库,直接从MacOSX.sdk/iPhoneOS.sdk(包括所有Objective-C和C++ Frameworks)。
  • TIL:为XNU内核和KEXT二进制文件引入了新的类型库,直接从XNU源代码构建。
  • FLIRT:为vc1424添加MFC签名(Visual Studio 2019.4)
  • FLIRT:为vc1425添加MFC签名(Visual Studio 2019.5)
  • FLIRT:ICL:为icl200 (Intel C++ 20.0)添加签名
  • FLIRT:ICL:为icl201 (Intel C++ 20.1)添加签名
  • FLIRT:VC:为vc1424添加签名(Visual Studio 2019.4)
  • FLIRT:VC:为vc1425添加签名(Visual Studio 2019.5)

 

用户界面:

  • UI:许多IDA视图现在提供了另一种类似树的文件夹视图
  • UI:添加操作以搜索寄存器定义或寄存器使用(Shift+Alt+Up、Shift+Alt+Down)
  • UI:现在可以从“函数调用”小部件添加、删除、启用和禁用断点
  • UI:“Breakpoints”选择器现在也在列中报告状态(启用/禁用/未解析),而不是仅通过图标。
  • UI:在会话中,IDA默认情况下会记住并恢复对话框的位置和大小(可通过RESTORE_DIALOGS_GEOMETRIES配置)
  • UI:debugger:当前线程现在以粗体显示
  • UI:debugger:在关于连接失败的错误消息中包括主机名和端口号
  • UI:取消了同步类似视图的限制(例如,现在可以同步2个idaviews)
  • UI:显示加载过程中加载的文件的文件名
  • UI:“create struct from data”:在结构内部使用时,忽略“field_xxx”等伪字段名
  • UI:添加了get_synced_group(),以检索有关同步的小部件的信息。
快速导航

                               

 京公网安备 11010802021106号 | 京ICP证09015132号 | 网络文化经营许可证京网文[2017]4225-497号 | 违法和不良信息举报电话:4006561155

                                   © Copyright 2000-2020 北京哲想软件有限公司版权所有 | 地址:北京市海淀区西三环北路50号豪柏大厦C2座11层1105室

                         北京哲想软件集团旗下网站:哲想软件 | 哲想动画

                            华滋生物