IDA Pro

IDA Pro 9.1

IDA Pro 9.1 强大Mac反汇编器、反编译软件

高速下载VIP
百度网盘VIP
4
111 个评分
blank1 天前
版本 9.1 184.1 MB Hex-Rays

软件截图

软件介绍

反编译Mac软件开发工具
IDA Pro 9.1 Mac破解版是最佳的二进制代码分析工具之一,是专业软件分析师、逆向工程师、恶意软件分析师和网络安全专业人员工具箱中不可或缺的工具。IDA Pro 是计算机软件的反汇编程序,可从机器可执行代码生成汇编语言源代码。它支持多种处理器和操作系统的多种可执行文件格式。
强大的反汇编器和多功能调试器
作为反汇编程序的 IDA Pro 9破解版能够创建它们的执行映射,以显示由处理器以符号表示(汇编语言)实际执行的二进制指令。IDA Pro 已经实现了先进的技术,因此它可以从机器可执行代码生成汇编语言源代码,并使这个复杂的代码更易于人类阅读。
调试功能通过动态分析增强了 IDA。它支持多个调试目标并且可以处理远程应用程序。其跨平台调试功能可实现即时调试、轻松连接到本地和远程进程并支持 64 位系统和新的连接可能性。
IDA Pro 9 Mac破解版已成为恶意代码分析、漏洞研究和商业产品验证的标准工具。
IDA Disassembler 以其对各种处理器和文件格式的无与伦比的支持而脱颖而出。这种卓越的多功能性使其成为首选。无论您是分析嵌入式系统、移动应用程序还是复杂的多平台软件,IDA Pro 的全面兼容性都能确保您拥有可用于任何任务的最佳工具。
关于解决方案
交互的
IDA Pro 允许人类分析师覆盖其决策或提供提示,以便分析师可以无缝快速地使用反汇编程序并更直观地分析二进制代码。
可编程的
IDA Pro 是一个完整的集成开发环境。它由一种非常强大的类宏语言(IDC 或 IDAPython)组成,可用于自动化简单到中等复杂度的任务。
集成
IDA 在所有标准平台上运行并处理多个处理器。它还可以加载和反汇编几乎任何文件格式,从而提高分析速度。
开放式插件架构
IDA 的功能可以通过使用可编程插件轻松扩展。SDK 可供所有注册的 IDA 用户使用。
Lumina 服务器
Lumina 服务器拥有大量知名函数的元数据(名称、原型、操作数类型……),并通过用户搜索帮助改进反汇编列表。
快速编译
快速库识别和识别技术可识别许多编译器的标准函数调用。该技术允许 IDA 识别由支持的编译器生成的标准库函数,并大大提高生成的反汇编的可用性和可读性。

IDA Pro 9.0 更新内容
处理器模块
68K:添加了典型的代码起始序列
ARM:改进了间接跳转指令目标的检测
ARM:改进了 prolog 分析,以识别和标记对chkstk_darwin
AVR:更新了 ATmega640 的缺失位定义
MIPS:支持 NanoMIPS 指令集
RISCV:增加了对传统指令 sfence.vm 的支持
RISCV:增加了对 T-Head 自定义指令的支持
RISCV:修复了保存 s0(FP)时的帧分析
wasm:新的处理器模块(Web Assembly)
RH850:增加了RH850G4MH核心支持的新指令(SIMD,FXU等)
V850/RH850:将两条指令的加载和存储转换为一条宏指令
文件格式
ELF:增加了对 nanoMIPS 的支持
ELF:ARM64:增加了对R_AARCH64_P32_TLS_TPREL重定位类型的支持,由 ILP32 使用
ELF:RISCV:增加了对 R_RISCV_ALIGN 重定位类型的支持
md1img:联发科调制解调器固件映像(nanoMIPS 和 MIPS16e2)的加载器
MACHO:支持__chain_starts格式 5(DYLD_CHAINED_PTR_32_FIRMWARE)
__OBJC_ROMACHO:使用libobjc 中的零大小段处理 iOS18 DSC
wasm:Web Asembly 模块的新文件加载器
FLIRT/TILS/IDS
FLAIR:PCF:增加了对 ARM64 COFF 文件的支持
FLAIR:PELF:针对 AArch64 (ILP32) 正确处理 ELF32
FLAIR:PELF:增加了对 MIPS、MIPS64、ARM、AARCH64、PPC、PPC64、PARISC、SPARC、M86K 最常见重定位类型的支持
标准插件
eh_parse:跳过 x64 中.pdataPE 文件的前导零和尾随零条目(真实二进制文件有这些条目);改进调试版本中对异常调度程序函数的识别
eh_parse:x64 异常处理程序现在是正确的独立函数,而不是函数块
eh34:新插件用于处理 msvc x64 构建的二进制文件的 c++ 异常
ida_feeds:用于大规模应用 FLIRT 签名的新插件和独立脚本
makesig:添加 run() 方法,可用于以批处理模式从数据库生成 .sig(或仅生成 pat)
pdb:添加了仅加载名称的选项(当您不需要类型时,对于大型 PDB 很有用)
pdb:允许用户在调试期间选择要加载的模块(类型和/或名称)
内核/杂项
goodname.cfg:改进 MSVC STL 类的简化
内核:c/c++ 关键字现在被禁止作为结构字段
内核:支持ida-plugin.json
内核:改进了 strlit 检测(短的被转换为数据项)
内核:改进了间接调用其他 noret 函数的 noret 函数的识别
noret.cfg:将terminate、std_terminate添加到非返回函数列表中
安装程序:macOS:将所有内容安装到单个.app捆绑包中
许可:用自定义 Hex-Rays 许可服务器替换 FlexNet 许可服务器(仅限浮动许可证)
脚本和 SDK
IDAPython:添加find_binary和find_string
IDAPython:增加了对虚拟环境(venv)的检测
IDAPython:为 pro.h 中定义的整数类型添加了更多指针包装器
IDAPython:添加cli_t.OnFindCompletions替换cli_t.OnCompleteLine
IDAPython:idapyswitch 现在可以与只读 IDA 安装一起使用
IDAPython:idapyswitch 现在可以检测 macOS 上最新的自制版本
IDAPython:__magic_methods__从 CLI 自动完成中删除
IDAPython:对 Python API 中公开的 C++ 对象进行零初始化
IDAPython:简化目录结构(删除了‘3’,并且‘ida_32|64’变成了‘lib-dynload’)
IDAPython:读取错误时应loader_input_t.read()返回一个空对象,而不是bytesNone
SDK:为插件和加载器添加了 Visual Studio 模板
SDK:已添加get_last_widget(mask)
SDK:添加FUNC_UNWIND/FUNC_CATCH函数标志来标记异常处理程序,它们将在反编译中被忽略
SDK:添加pipe_process()以启动进程并与其建立双向通信
SDK:已添加qlist::splice()
sdk:扩展cli_t接口,允许在自动完成时检索函数原型和文档字符串
IRI_...sdk:引入了要在 中使用的标志is_ret_insn(),ev_is_ret_insn而不是bool strict
SDK:node_ordering_t移至gdl.hpp
SDK:将反编译器的接口(hexrays.hpp)和示例作为 SDK 的一部分,而不是 IDA 内部
SDK:发布基本撤销接口(创建撤销点、撤销、重做)
SDK:已重命名abstract_graph_t-> drawable_graph_t; mutable_graph_t->interactive_graph_t
用户界面
UI:添加了保留结构大小的选项(固定大小结构)
UI:添加了“打包字段”复选框来控制结构字段之间的间隙
UI:在自由文本编辑器中为用户定义类型添加了语法突出显示
UI:命令面板:修复关于“命令失败”的错误报告
ui:图表:当只有一个跳转到父/子节点的选择时不显示提示
UI:以更灵活的方式处理本地类型到 IDC 的导出/导入。用户可以选择不同的策略,例如:加载类型并跳过相等。
UI:如果 IDA 已经打开了一个文件,则“文件”>“打开”或将文件拖放到其窗口将在新的 IDA 实例中打开它(可通过OPEN_IDB_IN_NEW_WINDOW配置idagui.cfg)
UI:现在可以通过在“类型库”视图中双击基类型库来检查其内容
用户界面:引入了一组新的键盘快捷键,与现代操作系统惯例更加一致
UI:摆脱了“结构”和“枚举”小部件
UI:新的快捷键:Alt-(和 CMD-)跳转到窗口
UI:在 Linux 上启用 Wayland 支持
HVUI:添加了一个新操作“转换 IDB”;它转换 idb 并将其替换为 i64。批量操作也是可能的
反编译器
反编译器:riscv:添加了 RV32 和 RV64 反编译器
反编译器:添加了 try/catch ctree 语句
反编译器:改进了可变参数类型的检测
反编译器:引入了新的事件:hxe_inlining_func
反编译器:发布了一些图形算法(预/端口排序和支配者计算)
反编译器:arm:增加了对 VSEL 指令(ARMv8-M)的支持
反编译器:改进结构复制识别
反编译器:通过引入“saved_to_idb”改进了 cfunc_t 缓存;否则,我们会一次又一次地在每个“save_database”上保存所有反编译函数
反编译器:改进了与二元运算符比较的常量表示
反编译器:改进 hexrays 历史记录以支持 c++ 异常处理程序
反编译器:改进了有关缺少许可证的错误消息:告诉用户缺少什么许可证
反编译器:mips:增加了对 movtz 和 movtn 的支持(MIPS16e2)
反编译器:ui:在上下文菜单中添加了“跳转到匹配括号”操作
反编译器:删除了欢迎表单,将菜单项重命名为“Hex-Rays 反编译器选项”
错误修正
BUGFIX:ARM:大型 32 位固件二进制文件的分析速度可能会很慢
BUGFIX:ARM:UBFIZ 指令的注释是错误的
BUGFIX:ARM:修复了在主函数入口之前分析函数块时可能发生的无限循环
BUGFIX:ARM:修复某些指令的 CF_JUMP/CALL 标志(例如 BLR)
BUGFIX:ARM:停止解码未定义的 MOV Wx、#imm 变体(imm 不适合 32 位)
BUGFIX:cvt64:如果路径中包含空格,则将旧的 .idb 转换为 .i64 将会失败
BUGFIX:调试器:win32_remote.exe 不必要地需要 Windows Vista 中引入的 API,并且无法再在 XP 上运行
BUGFIX:调试器:win32:IDA 的调试器可以通过加载到进程中的模块上的文件锁来检测
BUGFIX:调试器:bochs:增加了对 Bochs 2.8.0 的支持
BUGFIX:反编译器:对紧密序列中的不同系统调用进行反编译可能会出错
BUGFIX:反编译器:具有可变大小结构的表达式可能会被错误处理
BUGFIX:反编译器:当安装多个反编译器时,IDA 可能会抱怨“找不到匹配的产品许可证”
BUGFIX:反编译器:由 UI 相关代码触发的内部错误(例如生成工具提示)可能导致“未知 C++ 异常”致命错误
BUGFIX:反编译器:在某些情况下按 F5 不会刷新伪代码窗口;我们丢弃了反编译结果
BUGFIX:反编译器:值范围优化可能导致代码被错误删除
BUGFIX:DSCU:跨越多个子缓存文件的 GAP 无法加载
BUGFIX:内核:Linux 上的 IDA 对 libsecret 有不必要的硬依赖,如果没有它,IDA 就会拒绝运行。
BUGFIX:即使处理器模块支持,IDA 也不会标记原始二进制文件中的典型代码序列
BUGFIX:导航到与已知类型名称匹配的全局名称将会失败
BUGFIX:objc:NS*Block 引用检测错误最终会导致在无关数据上创建不连贯的块结构
BUGFIX:PC:与 x86 不同, alloca_probe/chkstk_ms不会修改 x64 代码中的 rsp 或 rax
BUGFIX:PC:REX 前缀可能被错误地应用于 32 位指令
BUGFIX:PC:vmovw 指令解码时好像使用 16 位寄存器(它实际上使用 32 位寄存器)
BUGFIX:PDB:从某些大型 PDB 导入类型会失败,并显示“已达到最大递归级别”
BUGFIX:PDB:改进了提取匿名(嵌入式)联合的算法:间隙成员可能排序错误
BUGFIX:RISCV:fence.i 指令未被解码
BUGFIX:SDK:修复了调试/选择构建不兼容问题reg_finder_t(由于嵌入式std::map成员)
BUGFIX:SDK:在大小不是 8 的倍数的位图上会出现错误set_all_bits()行为clear_all_bits()
BUGFIX:有时在 UNDO 期间可能会丢失有关新创建的范围类实体(段/功能/...)的信息
BUGFIX:tinfo:对已删除枚举的外部引用未被移除
BUGFIX:UI:'深色'主题中的默认按钮不会突出
BUGFIX:UI:无法编辑当前功能内的项目类型
BUGFIX:UI:修复打印长文本时“输出”窗口中缺少滚动条的问题
BUGFIX:UI:“输出”窗口中的大量行可能会导致速度变慢
BUGFIX:UI:使用“导出数据”时,长字符串可能会被截断
BUGFIX:UI:使用COLOR_INV颜色代码时(例如在自定义查看器中),IDA 将使用文本的默认颜色而不是之前的背景颜色
BUGFIX:UI:快速过滤器将应用于隐藏列
IDA Pro 9.1 更新内容
处理器模块
ARM:支持 ARMv8.1-M 中的 MVE(M 配置文件矢量扩展,又名 Helium 技术)
ARM64:简化使用四个 MOVK 指令构建的 64 位立即加载
TMS320C6:现在反汇编了 TMS320C66x 和 TMS320C674x 系列的紧凑(16 位)编码指令
RISCV:现在支持原子操作标准扩展(amoadd、amoswap 等)
RISCV:改进了对开关模式的识别
RISCV:跳过无法识别的自定义指令
V850、RH850:现在可以识别使用等于 sp 的 ep 寄存器的堆栈访问
RH850:使用正确的符号名称显示对具有非零 selID 的系统寄存器(LDSR/STSR)的访问
Tricore:mfcr/mtcr 指令现在使用 CSFR 的符号名称(如果已知)
Tricore:已添加“简化”汇编器,更自然地表示字符串文字、立即数、堆栈变量
Tricore:打印间接调用/跳转指令的已解析目标地址(如果已知)
文件格式
ELF:RISCV:处理更多重定位类型
ELF:ARM:识别和处理 ILP32 文件(带有 AArch64 指令的 32 位 ELF)
ELF:将间接函数解析器添加到入口点列表
标准插件
pdb:为构造函数添加返回类型(MSVC 构造函数返回此类型,编译器可以利用此事实)
ida_feeds:实现了对加载的二进制文件的 Rust 版本检测以及创建自定义的、特定于版本的 FLIRT 签名
makesig:使用当前数据库路径而不是原始输入文件名作为输出 .pat/.sig 文件
goomba:支持对某些非线性 MBA 进行反混淆
dwarf:将 libdwarf 更新至 0.11.1,修复了多个漏洞和问题解析最近编译器生成的调试信息
团队
vault:hvui 现在可以发送和接收小型二进制增量文件,而不是整个 IDB
vault:根据工作流和大小阈值存储增量或完整 IDB
hvui:改进了同步期间进度条的行为
hv:添加了 hv optsrv 以优化服务器存储
hv:添加了 hv gc 用于客户端缓存垃圾收集
内核/杂项
安装程序:将 lsadm(浮动许可证管理工具)与 IDA 捆绑在一起
安装程序:将 FLAIR、idaclang、idsutils、loadint、tilib 工具与 IDA 捆绑在一起(在工具子目录下)
许可:document -Olicense 命令行开关
许可:改进有关错误/不可用许可证文件的消息
许可:接受带有 CRLF 行结尾的许可证文件
数据库:添加了 zstd 压缩并将其设为压缩 IDB 的默认压缩
licsrv:可打印IDA LID 和席位数量,而不是显示“使用具有 1 个席位的许可证”
licsrv:如果未找到浮动许可证,则在启动时出错
脚本和 SDK
SDK:引入标志 IRI_... 以用于 is_ret_insn()、ev_is_ret_insn,而不是“bool strict”
SDK:tinfo:为枚举类型操作添加了 IDB 事件(lt_edm_created、lt_edm_deleted、lt_edm_renamed、lt_edm_changed)
SDK:tinfo:添加了 tinfo_t::get_alignment()
idalib:使用 Python 中的 idalib 时,浮动许可证签出可能会失败
IDAPython:添加了 ida_kernwin.parse_tagged_line_sections,以从带有颜色标签的生成行中检索语义信息
IDAPython:添加了“modify_struct_member.py”示例,展示如何执行非平凡修改结构成员
IDAPython:添加了 ida_funcs.func_t.frame_object,以方便检索函数框架结构
IDAPython:添加了 ida_funcs.func_t.prototype 和 ida_typeinf.tinfo_t.iter_func,以方便检索函数原型
IDAPython:添加了 udt_type_data_t.get_best_fit_member
IDAPython:自动删除粘贴到 CLI 中的输入中的前导空格
IDAPython:将 ea_t 替换为 int,将 qstring 替换为 str
UI
asmtil:在自由文本编辑器中为用户定义类型添加了语法突出显示
asmtil:如果使用 C 语法选项卡添加单个类型,则显示字段偏移/大小
asmtil:更正确的 asm 样式结构定义语法(例如dd 而不是 int、结束标记等)
反编译器:在上下文菜单中添加了“跳转到匹配括号”操作(仅限热键)
许可:尝试连接到服务器时添加了可取消的等待对话框
许可:从非专业 IDA 风格中删除了浮动选项
许可:如果首选许可证文件无效,则返回到默认许可证路径
许可:如果存在有效的借用许可证,则不连接到服务器
新的函数原型编辑器现在可从伪代码中使用
idagui.cfg:添加了 SHOW_BANNER 变量,允许隐藏初始“关于”对话框
调试器
Windbg:TTD(时间旅行调试)现在支持最新版本的 dbgeng.dll
Windbg:现在可以调试 Wow64 进程(又名 Heaven's Gate)中从 32 位模式切换到 64 位模式
IPv6 地址现在可用于远程调试器
反编译器
ARM64:现在支持 ILP32 模式
ARM64:CASP/CASPL 指令被提升为原子内在函数
ARM64:ARMv8 系统寄存器使用符号名称以伪代码显示
ARM64:识别 X8 中传递的更多输出函数参数

PPC:现在支持 EFP(嵌入式浮点)扩展指令
PPC:改进了直接访问 cr 寄存器以检查标志的代码的反编译
RISCV:为更常用的系统指令(frflags、fsflags、ebreak、wfi、rdtime、sfence)添加了内在函数
RISCV:改进了开关识别
忽略 macOS 二进制文件中对 chkstk_darwin 的调用
ARM/PC:改进了对 TLS 变量访问的识别
改进了对 &gvar+N 表达式的处理(例如,优化了 BC++ 编译可执行文件中的字符串文字引用)
改进了对 shr64 的识别
错误修复
BUGFIX:asmtil:从 typedef 到目标类型的交叉引用可能缺失
BUGFIX:asmtil:在添加多个枚举前向声明时修复了 interr 2952
BUGFIX:asmtil:重命名枚举时未保留 TID常数
BUGFIX:arm:修复了 interr 2762
BUGFIX:elf:故意误导性的节头信息可能会使 IDA 感到困惑,并使其无法从文件中加载某些代码
BUGFIX:IDC:函数 add_struc_member() - offset = -1(在结构末尾添加)无法正常工作
BUGFIX:vd:修复了 interrs 52781、52836、50312、52194
BUGFIX:vd:修复了并非所有 switch 指令都标记为错误的反编译
BUGFIX:vd:当第一个参数和返回值使用相同的寄存器时,不要覆盖用户指定的返回类型(而是添加强制类型转换)
BUGFIX:vd:在即时调试期间无法使用反编译器
BUGFIX:licsrv:如果 db 是只读的,则在启动时失败,而不是在第一次借用时崩溃
BUGFIX:arm:修复了在调试期间将鼠标悬停在 NEON 寄存器或 XZR 上时弹出的错误
BUGFIX:arm:某些 ARMv8-M ELF 文件可以在架构选项中将“Thumb”设置为“否”
BUGFIX:lumina:Lumina 服务器仍会尝试查找旧版 lumina.lic
BUGFIX:ida_feeds:不要覆盖全局日志模块配置
BUGFIX:idalib:Python 插件或进程或模块在从外部 Python 进程启动的 idalib 上下文中不起作用
BUGFIX:安装程序:IDA Classroom 中缺少 qwingraph 二进制文件
BUGFIX:调试器:linux/android:修复了最近的 Linux 内核上的 interr 30060(文件 /proc/PID/status 格式发生变化)
BUGFIX:调试器:dbg:appcall:无法从 IDC 调用 64 位指针
BUGFIX:调试器:gdb:代码片段调试会失败出现“无法加载 ELF 加载器模块”
BUGFIX:调试器:IDA 在连接到远程进程时可能会冻结(例如在 Android 上)
BUGFIX:UI:在选择活动的情况下添加可变大小结构未使用选择的完整大小
BUGFIX:UI:asmtil:由于与“枚举”选项卡名称冲突,添加类型对话框中“按枚举名称导入标准枚举”的快捷方式不起作用
BUGFIX:UI:asmtil:由于与“结构大小”标签冲突,添加类型对话框中“导入标准结构”的快捷方式不起作用
BUGFIX:UI:asmtil:按名称添加标准结构时未自动导入标准结构
BUGFIX:UI:asmtil:在固定布局结构中,最后一个成员的建议数组大小错误
BUGFIX:UI:修复了许可证监视器线程中的死锁
BUGFIX:UI:图形视图在调试期间可能无法显示闪烁的边缘
BUGFIX:UI:在“设置数据”对话框中按空格键会关闭它而不是创建一个字节(默认按钮)
BUGFIX:UI:斜体字体样式在 Windows 上被忽略
BUGFIX:UI:在某些情况下,打开选择器后焦点未设置
BUGFIX:UI:函数属性和原型之间的 noret 标志/属性同步存在错误
BUGFIX:UI:在 Windows 上,IDA 在发送错误报告时无法正确上传 IDB
BUGFIX:MIPS:修复了 interr 2765
BUGFIX:内核:避免在具有非常长的跳转链的文件上发生堆栈溢出
BUGFIX:IDA 可能会在反汇编标头中显示错误的联系信息
BUGFIX:IDAPython:修复 ida_bytes.bin_search 的文档
BUGFIX:IDAPython:“ida_idaapi.loader_input_t”不可用
BUGFIX:IDAPython:“call_nav_colorizer”已损坏
BUGFIX:IDAPython:修复了“pack_object_to_idb”中不正确的参数名称
BUGFIX:IDAPython:修复了 idc.gen_file()
BUGFIX:IDAPython:使 ida_bytes.get_stroff_path 的使用更加简单

显示更多…

安装方法

1. 在下载文件夹找到并打开 IDA Pro 9.1.dmg;
2. 将 IDA Pro 拖入右侧 Applications 应用程序目录;
3. 从启动台打开 IDA Pro 使用软件。

IDA Pro 已损坏?无法验证?请阅读安装包内的帮助文档。

推荐教程

暂无文章

    全部评论 0

    暂无跟帖

    没有了

    到底了

    查看更多

    发表评论

    评分:
    点击这里给我发消息2507222545请先加好友
    在线客服加载中...