IDA Pro相信做软件分析的人都知道这个软件的名字。

全称(interactive disassembler professional),该软件可以说是目前最受欢迎的反编译机器。

菜鸟愚见

软件官网,此软件价格对于只是小打小闹研究的人员来说就是天价,不过对于经常用得到的人也就不存在价格问题了。呵呵!好了,下面看看官网对于7.0更新介绍吧。

关键更新内容:

1. 7.0是原生64位程序了,所以它有能力吃光你的内存了。但是为了过度使用32位插件,也提供了32位的版本

2. API 改动很大

3. 任何地方都用了UTF-8,所以对中文的支持应该更好了

4. 可以解析异常处理信息和RTTI

5. 对于 Objective C的支持,改进了很多

6. 改进OSX和 ios的调试器,支持osx 10.13和ios 11

IDA Pro 支持以下多种格式软件分析。

IDA: Supported Files Types

  • DOS

  • OS/

  • Window

  • Windows N

  • Windows 95, 98, XP, 2000

  • Windows CE file

  • any binary file

  • MS DOS

  • EXE File

  • MS DOS COM File

  • MS DOS Driver

  • New Executable (NE)

  • Linear Executable (LX)

  • Linear Executable (LE)

  • Portable Executable (PE) (x86, x64, ARM)

  • Windows CE PE (ARM, SH-3, SH-4, MIPS)

  • Mach-O for OS X and iOS (x86, x64, ARM and PPC)

  • Dalvik Executable (DEX)

  • EPOC (Symbian OS executable)

  • Windows Crash Dump (DMP)

  • XBOX Executable (XBE)

  • Intel Hex Object File

  • MOS Technology Hex Object File

  • Netware Loadable Module (NLM)

  • Common Object File Format (COFF)

  • Binary File

  • Object Module Format (OMF)

  • OMF library

  • S-record format

  • ZIP archive

  • JAR archive

  • Executable and Linkable Format (ELF)

  • Watcom DOS32 Extender (W32RUN)

  • Linux a.out (AOUT)

  • PalmPilot program file

  • AIX ar library (AIAFF)

  • PEF (Mac OS or Be OS executable)

  • QNX 16 and 32-bits

  • Nintendo (N64)

  • SNES ROM file (SMC)

  • Motorola DSP56000 .LOD

  • Sony Playstation PSX executable files,

  • object (psyq) files

  • library (psyq) files

下面是机器翻译

IDA:7.0中有新功能

欢迎来到IDA 7.0!

  • 最大的消息是,IDA是一个本地的64位应用程序!首先,这意味着现在它可以吃掉你的电脑的所有记忆,th ash th it it it it it it it ide ide ide ide ide ide ide ide to to to to。。。。。。。。。。。。。。。。。。例如,IDAPython集成将更容易,更简化,因为现在许多操作系统都配有预先安装的64位Python(32位Python将不再工作)。

  • 第二,我们把这个变化作为一个机会(因为旧的32位插件不能与64位的IDA一起工作)来清理IDA API,使它更加一致,更少的混乱。如果我们失败或成功被看到,但我们自己像新的API更多。基本概念保持不变,IDA在清理过程中没有失去任何功能。我们仔细测试了所有变化,并确保我们的所有测试继续前进或更好。我们还试图使我们的3个API:C ++,Python和IDC彼此更接近。功能名称及其功能在大多数情况下是相同的,但是我们尝试在Python和C ++ – ish中保持pythonic在C ++界面。由于变化巨大,很容易失去你的方式,我们准备了一个 将指南从IDA 4.9-6.x API移植到IDA 7.0 API ,以解释发生了什么变化以及如何改变。我们希望在将您的插件移植到新的7.0 API时将极大地帮助您。

  • 对于Python和IDC,我们实现了一个兼容层,可以帮助您使用脚本。大多数人应该在7.0上运行得很好,没有任何变化。我们计划在下一个版本中关闭兼容性层,所以请尽可能地将您的脚本移植到没有它的脚本中。有关更多信息,请参阅IDA 7.0:IDAPython与6.95 API页面的向后兼容性。

  • 为了使转换更加顺利,我们还发布了32位版本的IDA。当您将其移植到64位时,它可以(并且应该)仅用于运行旧的32位插件。32位版本的IDA可以读取v7数据库,但缺少一些非常好的新功能。我们现在介绍一下。

  • 现在,IDA是一个真正的国际应用程序,可以说世界各地的所有语言,因为它使用UTF-8无处不在。所有的脚本和插件都可以使用它。您可以在反汇编列表中使用UTF-8,包括注释甚至函数名。这不是我们建议的,因此名字中的奇怪字符需要一些微调。请参阅IDA 7.0:在自动分析页面中自动发现字符串文字,以查看所有血清细节。

    顺便说一下,现有的数据库必须升级才能从UTF-8编码中受益。我们试图使升级过程像以前一样简单,但是有一个抓住:由于旧的数据库可以使用任何编码,IDA必须即时猜测旧的编码。要了解如何帮助IDA执行此错误任务,请参阅IDA 7.0:国际化页面。

  • 支持c/c++异常机制的识别 (实测目前还不是支持的很好, 尤其是macho架构)

  • 我们改进了OSX和iOS调试器来处理OSX 10.13和iOS 11.在引擎盖下有许多变化,但是您的体验应该与以前一样甚至更好。

完整更改

  • 处理器模块

  • ARM:增加了一个更多的拇指 – 臂转换模式

  • ARM:arm64:在适用时使用UBFM / SBFM指令的简化别名

  • ARM:处理vfp指令:具有固定点操作数的VMOV immediate,VCVTB,VCVTT,VCVT

  • ARM:将SP分析的复杂度从二次方降低到线性;

  • ARM:为具有完整地址的Thumb开关添加了一个修复

  • ARM:增加了对arm64的新Clang开关模式的支持

  • ARM:扩展LDRB开关模式

  • ARM64:考虑到指令STP可以将被调用参数加载到堆栈中 – 将相应的注释添加到这些指令中

  • MIPS:从剥离的静态链接的PIC ELF文件中恢复更多的交叉引用

  • MSP430:添加简化“movx @ SP +,dst” – >“popx dst”

  • PC:增加了控制流执行扩展的解码

  • PC:新增AVX-512扩展解码(4FMAPS,4VNNIW和VPOPCNTDQ)

  • PC:增加了新的开关模式

  • PC:解码PTWRITE指令

  • PC:解码VMFUNC指令

  • PC:检测更多的切换模式

  • PC:改进的epilog检测

  • PC:改进序列检测

  • PC:在x64文件中改进堆栈帧分析

  • PC:支持x64基于表的交换机的另一个变体,交换机变量存储在堆栈中

  • PPC:添加错过延长助记符'rotld'

  • PPC:添加新的配置标志PPC_ABI_EMBEDDED / ISA_EABI;

  • PPC:增加了PowerPC64 ELF V2 ABI的支持

  • PPC:改进的开关模式;

  • PPC:基于r13的操作数使用简化的@sda后缀打印

  • SuperH:当使用movi20s + add / sub计算地址时,功能的检测功能得到改进

  • SuperH:为SH7256添加了存器定义

  • TMS320C3:改进堆栈跟踪

  • tricore:添加TRICORE_DEVICE和TRICODE_IORESP配置参数,以便它们可以从脚本设置

  • 文件格式

  • DWARF:将文件/行号信息存储在IDB中(只有在需要时,才会出现性能损失)

  • ELF:添加了许多以前不支持的PPC64重定位的处理

  • ELF:注释标题(ELF,PHT,SHT)并将更多已知数据转换为结构体(symtab,strtab,重定位,动态信息)

  • ELF:注释preinit / init / fini函数数组

  • ELF:将所有strtab条目转换为ASCII字符串(即使未引用的字符串)

  • ELF:描述DT_HASH和DT_GNU_HASH

  • ELF:使用DYNAMIC部分的symtab来描述符号

  • ELF:检测SHT中的重叠部分,并阻止它们处理数据(但仍将其加载到数据库中)

  • ELF:修补PLT时不要擦除数据

  • ELF:如果符号索引为0,则不要跳过处理重定位(与IRELATIVE relocs一起发生)

  • ELF:IDA现在默认使用PHT而不是SHT来从ELF文件加载段

  • ELF:改进对可重定位文件中TLS变量的支持

  • ELF:当动态段不产生符号时,使用DYNAMIC部分的symtab加载符号

  • ELF:pc的PLT迁移现在在重定位应用程序时被处理,而不是依赖于.plt部分的存在

  • ELF:ppc:添加新的ida.cfg变量PPC_FIX_GNU_VLEADRELOC_BUG以解决binutils bug 20744

  • ELF:所有架构的process .ctors / .dtors部分

  • ELF:从R_386_GLOB_DAT重定位中识别PLT存根功能

  • MACHO:支持来自OSX 10.13和iOS 11的dyld_shared_cache文件

  • MACHO:支持dyld缓存幻灯片信息v2。这应该可以改善iOS 10和OSX 10.12中dyld_shared_cache文件的分析

  • MACHO:改进了dyld_shared_cache文件中具有幻灯片信息的单个模块的分析

  • MACHO:为单个模块添加一个加载其依赖关系的选项

  • MACHO:使用LC_DYLD_INFO_ONLY和LC_SYMTAB在文件中修复Mach-O导入表条目的不正确分辨率

  • MACHO:改进对象元数据解析的速度

  • MACHO:支持苹果保护的二进制文件从OSX版本<10.6

  • MACHO:支持x64 macOS kernelcaches,在运行时重新定位

  • MACHO:添加处理的ARM64_RELOC_ADDEND重定位;

  • MACHO:允许用户覆盖dyld_shared_cache文件的ASLR幻灯片

  • OBJC:添加Objective-C分析插件; 该插件尝试在调用objc_msgSend之间创建一个外部参照,最后由msgSend调用的函数

  • OBJC:对反编译器输出执行Objective-C特定分析

  • OBJC:为Objective-C(调试器>运行直到收到消息)执行“步入”操作

  • OBJC:允许用户跳转到给定一个选择器字符串的方法定义(Jump> Jump by selector)

  • OBJC / MACHO:IDA现在可以通过调试模块视图中的“加载调试信息”来提取Objective-C类型的信息

  • OBJC:现在,objc元数据可以根据需要进行解析,而不仅仅是在加载时

  • OBJC:在Swift课程中实施客观C方法的拆除

  • TDS:添加对可执行文件的支持,其中附加了文件末尾的调试信息

  • PDB:添加了对pdb文件的奇数路径(例如UNC)的显式检查; 如果检测到这样的路径,我们向用户再显示一个警告

  • 调试器

  • 调试器:iOS:支持iOS 11上的调试

  • 调试器:iOS:支持远程iOS调试器中的源代码级调试

  • 调试器:iOS:支持远程iOS调试器中的Appcalls

  • 调试器:iOS:增加了对ARM(64)FPU / NEON寄存器的支持

  • 调试器:iOS:更详细地识别进程内存的区域

  • 调试器:iOS:始终允许用户在附加到进程时指定pid

  • 调试器:OSX:支持OSX 10.13上的调试

  • 调试器:OSX:改进了对/ usr / lib和/ System / Library / Frameworks(dyld_shared_cache中包含的任何libs)的调试系统库的支持

  • 调试器:OSX:更详细地识别进程内存的区域

  • 调试器:远程mac调试器已经签名,不必以root身份运行

  • 调试器:BOCHS:支持Bochs 2.6.9

  • 调试器:LINUX:添加环境变量IDA_SKIP_SYMS以忽略来自主模块的导出的名称

  • 调试器:LINUX:尝试为lib加载单独的调试信息文件,如果设置了环境变量DEBUG_FILE_DIRECTORY

  • 调试器:GDB:为powerpc添加软件断点

  • 调试器:GDB:增加了对存储的ARM寄存器布局的支持

  • 调试器:GDB:添加对无确认模式的支持(QStartNoAckMode)用于可靠连接(默认设置;通过更改存根选项设置)

  • 调试器:GDB:增加了将文件上传到服务器的支持

  • 调试器:GDB:启动“启动调试前运行程序”选项和所有处理器的“选择配置”,包括x86 / x64

  • 调试器:GDB:如果支持,则从gdbserver获取进程列表

  • 调试器:GDB:尽可能早地从gdb存根获取目标描述(模拟GDB行为)

  • 调试器:GDB:在实际执行之前,如果用户启用了“调试前运行外部程序”,则显示要运行的完整路径

  • 调试器:PIN:增加对appcall的支持

  • 调试器:现在可以使用“-kk”启动调试服务器,以指定如果IDA与它们之间的连接中断,则该过程应立即终止

  • ios_deploy:添加了“codesign”和“appify”阶段

  • ios_deploy:添加“usbproxy”阶段

  • ios_deploy:添加“启动”阶段

  • ios_deploy:添加了“kill”和“proclist”阶段

  • ios_deploy:添加“install_ex”阶段

  • 核心/杂项

  • 内核:切换到正则表达式引擎的PCRE2。现在,在正则表达式中可以使用Perl扩展( s, d, w等)

  • 内核:改进“noret”功能属性的处理(在某些情况下修复无限循环);

  • kernel:在ida.cfg中记录了ABANDON_DATABASE

  • 内核:添加单独的“mingw”abi名称; 可以为visual studio编译器指定

  • 内核:重命名环境变量NONAMES为IDA_NONAMES

  • FLIRT:增加了32位mingw / mingw-w64启动功能的检测

  • FLIRT:增加了64位mingw-w64启动功能的检测

  • FLIRT:增加了针对ARM的Android Bionic libc启动检测

  • FLIRT:为vc1410(Visual Studio 2017)添加了MFC签名

  • FLIRT:为vc143添加了MFC签名(Visual Studio 2015 Update 3)

  • FLIRT:为Android NDK / ARM添加了签名(最多版本为13b)

  • FLIRT:BC:为xe102添加签名(RAD Studio 10.2东京)

  • FLIRT:DM:添加了数字火星2.073.0的签名

  • FLIRT:ICL:为icl164(Intel C ++ 16.4)增加了签名

  • FLIRT:ICL:增加了icl170的签名(Intel C ++ 17.0)

  • FLIRT:ICL:增加了icl171的签名(Intel C ++ 17.1)

  • FLIRT:ICL:增加了icl174的签名(Intel C ++ 17.4)

  • FLIRT:VC:为vc1410(Visual Studio 2017)添加了签名

  • FLIRT:VC / VC64:为ucrt 15063添加签名(Windows 10 Creators Update SDK)

  • FLIRT:pcf / pelf / plb / …:添加选项使用正则表达式修改模式(-E)

  • FLIRT:pcf / pelf / plb / …:添加选项,以在模式开始之前跳过第一个标签之前的字节

  • FLIRT:从签名中删除__ehhandler和__unwindfunclet伪函数

  • FLIRT:解析器工具现在默认删除第一个标签之前的任何字节(用-L取消设置)

  • FLIRT:mingw,mingw-w64:从sourceforge构建中添加32位和64位mingw-w64启动函数的检测(7.1.0rev2和7.2.0rev0)

  • FLIRT:sigmake:document -v(verbose)开关

  • FLIRT:升级了ulink签名

  • IDS:添加了MFC120和MFC140的IDS文件

  • PCF:添加选项来指定启动段名称

  • PCF:-s选项(跳过未知重定位)已重命名为-k

  • SIG:添加了VS ucrt 14393的签名(Windows 10周年更新SDK)

  • TIL:将UEFI TIL更新到版本2.5

  • TIL:更新了NTAPI类型库

  • TIL:为Android NDK添加了类型库

  • RTTI:用于解析MSVC,GCC和LLVM在PE,COFF和ELF文件中生成的RTTI(运行时类型信息)的新插件

  • RTTI:为MSVC的ThrowInfo和相关子结构添加检测

  • RTTI:添加类型信息,以评论可捕获类型

  • EH_PARSE:解析ELF,COFF,Mach-O和PE文件中存在的EH(异常处理)信息的新插件。注意:在Options-General-Try块行中启用显示

  • 用户界面

  • UI / qt:按组删除断点的能力

  • UI / qt:在“导入”和“导出”的切换和切换版本之间切换

  • UI / qt:在选择器中添加模糊搜索

  • UI / qt:实现了在“通用寄存器”(和类似)视图中为各个寄存器编写自定义操作的功能(例如,在调试会话期间)

  • UI / qt:在Windows上,现在可以使用鼠标选择消息框中的文本(和警告,错误,…),并将其复制到剪贴板(OSX和Linux上已经是这样)

  • UI / qt:当将表格数据(例如从选择器)复制到剪贴板时,IDA现在生成制表符分隔值,而不是将文本与空格对齐

  • UI / qt:在Linux / X11上运行时,使用鼠标(或Shift + navigation)选择部件的拆卸将会更新X11'选择'剪贴板(仅限于屏幕上可见的内容)。

  • UI / qt:Python / IDC命令行自动完成现在相应地响应“Shift + Tab”,并回到历史记录

  • UI /调试:改进Call Stack窗口的格式

  • UI / txt:反编译器现在可以在文本版本的IDA中交互使用

  • UI:创建/添加/删除段消息可能会在日志中混合

  • UI:不要求允许覆盖空文件,任何信息都不会丢失

  • UI:当前没有调试器按F9,用户选择调试器后,会自动启动该进程

  • UI:添加了一个新的动作“将字段信息复制到指针”; 它将名称和类型信息从结构体定义复制到当前结构变量的尖端位置;

  • UI:所有导航操作都是正确的操作,允许其快捷方式被覆盖(并以编程方式触发)。

  • UI:许多光标移动动作现在可以被分配另一个用户定义的快捷方式

  • UI:提到选择器值在段落中

  • UI:邻近视图:添加选项不显示折叠节点

  • UI:脚本片段现在会自动保存到数据库中(当用户按Ctrl + W时,脚本片段会持续到磁盘)

  • UI:脚本片段:当有选择时,按<Tab>或<Shift + Tab>,将导致该选择为“块缩进”(或未缩进)

  • UI:在Windows上,默认情况下使用Consolas字体,因为众所周知的FixedSys缺少许多Unicode字符的字形

  • 脚本和SDK

  • IDAPython:以编程方式查询或设置图形位置+缩放级别的能力

  • IDAPython:在tinfo_t对象上存储属性的能力

  • IDAPython:添加了示例,显示如何同步两个图形视图(即,IDA View-B遵循IDA View-A,在另一个缩放级别)

  • IDAPython:添加IDAPython模块ida_dex以访问加载的DEX文件信息

  • IDAPython:hexrays:cexpr_t&cinsn_t现在可以写,允许C树的许多修改

  • IDAPython:打开了许多低级图表浏览器相关功能(以前不可用)

  • IDAPython:支持microcode_filter_t(见vd示例)

  • IDAPython:添加View_Hooks用于挂起IDAView事件

  • IDAPython:修复idaa依赖关系

  • IDAPython:public get_predef_insn_cmt()

  • IDC:修复StepUntilRet()函数的文档

  • IDC:支持64bit file / linput size / offset

  • SDK:无数变化。详见本页。

  • BUG修复

  • BUGFIX:“转储到IDC”命令可能会创建不正确的idc文件(某些功能的入口点不会被标记为代码)

  • BUGFIX:对于ARM64 BR / BLR指令,“进入”调试器操作将失败

  • BUGFIX:32位iOS目标将错误地在iOS 10上发生故障

  • BUGFIX:AD218X:直接指令类型27被错误地解码

  • BUGFIX:AD218X:一些分支指令将引用数据而不是代码存储器

  • BUGFIX:如果表单描述中存在空格,则在“字段类型”之前,AskUsingForm可能会崩溃

  • BUGFIX:COFF(mips):重定位值(addend)非零时,重定位REL_MIPS_REFHI,REL_MIPS_PAIR,REL_MIPS_REFLO处理不正确;

  • BUGFIX:COFF:固定识别由TI的Code Composer Studio 6生成的文件

  • BUGFIX:DWARF可能错误地将调用约定推定为__fastcall,即使某些参与__fastcall的寄存器被跳过

  • BUGFIX:DWARF可能无法在某些Mach-O文件中设置函数原型,以防Obj-C解析器已经输入

  • BUGFIX:DWARF:更好地处理DW_AT_byte_size是(不正确)无符号32位0xffffffff值的类型

  • BUGFIX:DWARF:可能会失败与INTERR 782与一些可变大小的结构构造

  • BUGFIX:DWARF:不要将TINFO_DEFINITE应用于__usercall原型

  • BUGFIX:DWARF:如果生产者是clang,不要将功能原型标记为TINFO_DEFINITE <= clang-500.2.79(它产生虚假信息)

  • BUGFIX:DWARF:如果已经有一个名为N的数据类型的项目+ offset指向F,则不要将名称为N的函数F重新命名

  • BUGFIX:DWARF:在调试期间,在多个模块上执行“加载模块符号”可能导致DWARF插件抱怨无效类型

  • BUGFIX:DWARF:MinGW / Cygwin生产的PE x64文件可以显示__fastcall的__usercall,尽管代码确实遵守Microsoft的x64 ABI约定

  • BUGFIX:DWARF:支持分散的arglocs被破坏

  • BUGFIX:DWARF:当它遇到某些DWARF属性(目前仅由LLVM8使用)时无法处理,DWARF插件将停止

  • BUGFIX:DWARF:clang 3.8.0在可重定位文件中将DWARF重新定位到类型为“STT_NOTYPE”的符号。那些没有妥善处理搬迁到DWARF部分

  • BUGFIX:DWARF:可能无法使用'R_X86_64_DTPOFF32'重定位加载DWARF信息

  • BUGFIX:DWARF:可以覆盖函数的“__noreturn”属性

  • BUGFIX:DWARF:处理gcc的伪造“typedef __va_list_tag __va_list_tag”结构名称

  • BUGFIX:DWARF:由于复杂的位置描述符被不正确地处理,一些寄存器别名可能会丢失

  • BUGFIX:ELF:IDA可能无法应用FreeBSD的相对重定位

  • BUGFIX:ELF:ida可能会试图加载elf标志中未知位的ppc64 elf文件

  • BUGFIX:如果输出文件已经存在,ExportData操作将静默地覆盖输出文件

  • BUGFIX:固定DWARF-> ARM64的IDA寄存器映射

  • BUGFIX:对于不能报告minEA / maxEA的处理器模块,IDA不会显示滚动条滚动浏览反汇编

  • BUGFIX:GDB:由IDA创建的用于片段调试的64位ELF文件使用程序标题条目的错误布局

  • BUGFIX:GDB:由IDA创建的用于代码段调试的ELF文件缺少有关BSS段的信息

  • BUGFIX:GDB:GDB插件不会激活大端的ARM二进制文件

  • BUGFIX:IDA可能在OSX 10.8启动时崩溃

  • BUGFIX:在“脚本片段”对话框中编辑代码时,IDA可能会崩溃

  • BUGFIX:解析损坏的代码视图数据时,IDA可能会崩溃

  • BUGFIX:使用属性保存类型时,IDA可能会崩溃

  • BUGFIX:执行路径相关操作时,IDA可能会在邻近视图中崩溃

  • BUGFIX:IDA可能在sp分析期间死亡,致命错误

  • BUGFIX:IDA可能无法显示在4.0之前的IDA版本中创建的IDB的第一行反汇编

  • BUGFIX:IDA可能无法区分ARM VCVT / VCVTR指令

  • BUGFIX:IDA可能无法加载一些精灵核心文件

  • BUGFIX:IDA可能无法在dyld_shared_cache内的地址设置断点

  • BUGFIX:IDA可能无法跨越ARM TBZ / TBNZ指令

  • BUGFIX:如果遇到同一枚举组的2个不同定义,则IDA可能会与interr 1263失败

  • BUGFIX:当许多iOS设备连接时,IDA可能会在启动时暂停,即使iOS调试器未被使用

  • BUGFIX:IDA可能会挂起尝试加载损坏的精灵文件

  • BUGFIX:IDA可能会挂起尝试加载损坏的pe文件

  • BUGFIX:IDA可能在加载损坏的macho文件时挂起

  • BUGFIX:IDA可能会在损坏的dyld_shared_cache文件上插入20016

  • BUGFIX:在加载mozilla的xul.dll的pdb信息时,IDA可能会中断

  • BUGFIX:当IDA View-A是图形时,IDA有时可能在启动时(或调试会话后)崩溃

  • BUGFIX:如果提取进程列表失败,IDA将尝试附加到iOS 10上的进程时显示不太有用的错误消息; 现在用户可以输入PID给attachh

  • BUGFIX:IDA将无法在OSX区分大小写卷上启动,因为它找不到可可插件

  • BUGFIX:IDA将无法跨越ARM BR / BLR指令

  • BUGFIX:IDA32可以尝试加载PE +文件并失败; 现在我们明确建议对这些文件使用ida64

  • BUGFIX:IDA64可以接受由ida32正确拒绝的无效文件

  • BUGFIX:IDAPython:“atoa”正在为具有真正细分的程序返回错误的结果

  • BUGFIX:IDAPython:'delay_slot_insn'不可用

  • BUGFIX:IDAPython:6.95在idc.GetMarkedPos()中引入了一个回归,

  • BUGFIX:IDAPython:FindImmediate()已损坏,无法调用

  • BUGFIX:IDAPython:当没有IDB打开时,IDA可能会在退出时崩溃,并且定时器在关闭序列期间正常启动

  • BUGFIX:IDAPython:如果一个simplecustviewer_t子类通过对“Escape”键的响应关闭自身,则IDA可能会崩溃

  • BUGFIX:IDAPython:qvector中的back / front不可用

  • BUGFIX:IDAPython:不要依靠内部的qcp.sh工具来构建OSX

  • BUGFIX:IDAPython:hexrays回调无法处理'hxe_create_hint'通知

  • BUGFIX:IDAPython:ida_idaa()将导入模块的绑定设置为导入模块的全局()的属性,只有当导入的模块不存在(并且可能需要另外一个模块需要)时,才会这样。

  • BUGFIX:IDAPython:ida_ua.get_dtyp_by_size()将返回一个python'str',与'dt_ *'枚举不兼容

  • BUGFIX:IDAPython:ida_ua.get_operand_immvals()不起作用

  • BUGFIX:IDAPython:idc.ExtLinA()&idc.ExtLinB()已损坏

  • BUGFIX:IDAPython:idc.GetMarkedPos()&idc.GetMarkComment()无法使用'-1'来提示该位置

  • BUGFIX:IDAPython:idc.GetStringType()可以为具有偏移量(但不包含字符串)的位置返回除None以外的值。

  • BUGFIX:IDAPython:ne()已损坏

  • BUGFIX:IDAPython:remove_tinfo_pointer()不可用

  • BUGFIX:IDAPython:simplecustviewer_t :: AddLine不会应用fg / bg颜色,除非它们被提供为长

  • BUGFIX:IDAPython:simplecustviewer_t :: RefreshCurrent()没有刷新视图

  • BUGFIX:IDAPython:某些ARM特定的操作数类型定义不正确

  • BUGFIX:IDAPython:如果传递了NULL指针,则某些SDK函数可能导致IDA崩溃(通过“无”)。

  • BUGFIX:IDAPython:makefile是无条件地尝试构建hexrays模块,即使没有指定“–with-hexrays”到build.py

  • BUGFIX:IDAPython:use_regarg_type3是不可能使用的

  • BUGFIX:IDAPython:使用'close_open = True'的ida_gra会导致错误,因为'_ida_kernwin'未导入

  • BUGFIX:IDAPython:没有暴露ida_by()(其中idc.SetHiddenArea依赖)

  • BUGFIX:不可能更改“执行脚本”窗口的字体

  • BUGFIX:在某些情况下,启动远程调试会话可能会在第二次尝试中失败(和更晚版本)

  • BUGFIX:MACHO:IDA可能会在dyld导出信息中的坏数据崩溃

  • BUGFIX:MACHO:IDA可以挂在损坏的绑定信息上

  • BUGFIX:MACHO:由于计算错误的dyld幻灯片值,dyld_shared_cache文件的分析可能会失败

  • BUGFIX:MACHO:经典重定位可能会错误地应用于x86_64 MH_BUNDLE文件

  • BUGFIX:MACHO:损坏的macho-o文件可能挂起ida

  • BUGFIX:MACHO:在某些情况下,dyld pcrel32重定位应用不正确

  • BUGFIX:MACHO:固定不正确的处理ARM64_RELOC_PAGEOFF12和ARM64_RELOC_PAGE21

  • BUGFIX:MACHO:固定处理ARM64_RELOC_SUBTRACTOR重定位;

  • BUGFIX:MACHO:加载损坏的文件时,ida可以无休止地循环

  • BUGFIX:MACHO:objc类结构可能不正确地重构

  • BUGFIX:MACHO:弱导入的存根可能会错误地转换为无限循环

  • BUGFIX:MSP430:从扩展字指令固定显示20位值

  • BUGFIX:NTAPI:来自n的InterlockedIncrement()使用了错误的调用约定

  • BUGFIX:OBJC:objc解析器没有正确处理名结构

  • BUGFIX:OMF:损坏的omf文件可能导致2006年6月间

  • BUGFIX:在Windows上,“文件>生成文件>创建XXX文件”将无法将扩展名添加到没有它的文件名中

  • BUGFIX:打开堆栈框架并以编程方式更改功能堆栈的范围,不会更新视图的滚动条,也不允许跳转到堆栈框架的新的开始/结尾

  • BUGFIX:为身体适合视图的小功能打开反编译,可能会导致前几行不显示,直到手动滚动到

  • BUGFIX:PC:固定“mov sreg,r / m16”,始终使用16位内存引用

  • BUGFIX:PC:某些XOP指令可能在32位模式下被错误地解码

  • BUGFIX:PC:一些无效的VEX / EVEX / XOP指令将被解码,就好像它们是有效的

  • BUGFIX:PC:crc32指令可能在64位模式下被错误地解码

  • BUGFIX:PC:rdmsr和wrmsr指令由“Intel Pentium real with MMX”解码(它们仅在受保护的模式下可用)

  • BUGFIX:PCF:忽略“跳过未知重定位”选项

  • BUGFIX:PDB:可能导致IDA在某些文件上崩溃

  • BUGFIX:PDB:在某些情况下,IDA在调试会话之后没有释放PDB符号

  • BUGFIX:PDB:pdb插件可能会导致_guard_dispatch_icall_nop被错误地标记为noreturn,从而导致在一些带有PDB信息的x64 PE文件中的代码流中断

  • BUGFIX:PDB:打开pdb文件时关闭连接时,远程win32服务器可能会崩溃

  • BUGFIX:PE:IDA将在手动加载模式下询问加载段两次

  • BUGFIX:PE:分析SEH处理程序时固定无限循环

  • BUGFIX:PPC:将一对中介价值转换为显示为注释的双字在分析的初始阶段后不起作用;

  • BUGFIX:PPC:模拟对数组的索引访问时发生的add_dref调用不正确;

  • BUGFIX:PPC:从IDA 6.9中完成的当前指令中恢复显示外部参照注释

  • BUGFIX:PPC:段注册不正确地从v.6.8转换(从v.6.9一切都可以);

  • BUGFIX:PPC:一些指令被错误地拆卸(r0应被视为零而不是寄存器)

  • BUGFIX:PPC:add_dref调用中的引用地址(from)应该是头

  • BUGFIX:在列表边界处按住Shift +向上/向下键不会将光标的X位置移动到行的开始或结尾(分别用于开始和结束列表,允许选择文本以舒适地到达开头,视图的结尾。)

  • BUGFIX:在Pseudocode视图中自动向左或向右按键,自动分析未完成,可以使用键并且不移动光标

  • BUGFIX:邻近:作为“路径”一部分的节点的折叠子节点可能导致IDA到INTERR

  • BUGFIX:SDK:arm.hpp尝试包含不存在的文件

  • BUGFIX:TMS32028:固定普通二进制文件加载,字中的字节被交换

  • BUGFIX:TMS320C28:在“mov DP,#10bit”指令中追加DP寄存器值

  • BUGFIX:TMS320C28:在DP页面开始时不要创建冗余变量

  • BUGFIX:TMS320C28:在重新绘制程序时,删除了过时的提示

  • BUGFIX:TMS320C28x:为“CLRC / SETC CNF”指令添加解码

  • BUGFIX:TMS320C28x:指令“MPY ACC,loc16,#16bit”被错误地解码

  • BUGFIX:TMS320C3:图形视图可能是错误的

  • BUGFIX:TMS320C3:指令LDI || LDI和LDF || LDF未正确解码

  • BUGFIX:在反汇编视图和背面切换全屏(F11)可能导致IDA不会意识到显示的行数变得更小,并使光标不可见

  • BUGFIX:在IDC片段中使用枚举(或名称)可能会导致编译错误,而如果从.idc文件运行相同的代码,它将工作

  • BUGFIX:使用“快捷方式”编辑器保存快捷方式,如“”,将导致IDA在下次启动时抱怨

  • BUGFIX:WINDBG:在windbg会话期间双击输出窗口中的空行将导致IDA崩溃

  • BUGFIX:评估低级别条件时,调试器模块可能会报告某些事件

  • BUGFIX:当“枚举”视图中没有列举时,按“PageDown”会导致该注释被重复

  • BUGFIX:WinDbg:当在文本IDA(idaw.exe)下运行时,控制台进程可以与idaw.exe本身共享相同的stdout,从而在调试事件发生时引起可能的死锁

  • BUGFIX:在使用'-S'传递的脚本中访问Aarch64反编译器插件(hexarm64)会导致IDA崩溃,因为该插件未预加载

  • BUGFIX:ad218x:“修改标志输出”(ena / dis)指令被错误地拆卸

  • BUGFIX:由于计算错误的dyld幻灯片值,dyld_shared_cache文件的分析可能会失败

  • BUGFIX:analyze_area()将在分析启用时挂起

  • BUGFIX:arm64:请求calc_arglocs3可能返回错误的堆栈参数大小

  • BUGFIX:arm64:请求calc_arglocs3不拒绝具有错误参数类型的函数

  • BUGFIX:arm:IDA可能会产生不正确的指令VMOV Rt,Rt2,S31,CF

  • BUGFIX:手臂:分析可以循环地循环地循环

  • BUGFIX:后向二进制搜索将挂在调试器段上

  • BUGFIX:当给定错误的输入时,base2file()可能会挂起

  • BUGFIX:调用ida_dbg.enable_ [func | insn] _trace()没有调试器加载,可能会导致IDA

  • BUGFIX:choose_enum_by_value()除了显示指定的值之外还应该显示与符号扩展值相对应的符号

  • BUGFIX:损坏的mach-o文件可能会挂起ida

  • BUGFIX:dalvik:来自调用指令的外部参照被错误地标记为跳转xref

  • BUGFIX:dbg:dalvik:从DEX方法描述获取方法可访问性标志,而不是Java属性

  • BUGFIX:dbg:修正了ARM架构的ptrace请求的值

  • BUGFIX:调试器:win32:重新启动进程时,IDA将无法正确恢复页面断点

  • BUGFIX:调试器:win32:x64上不支持长度为8的读/写断点

  • BUGFIX:dwarf插件可能无法从位置条目中检索注册号码(由1个错误关闭)

  • BUGFIX:无法加载具有错误臂属性部分的elf文件

  • BUGFIX:elf,ppc:固定处理重定位R_PPC_JMP_SLOT从动态表中;

  • BUGFIX:elf:在某些情况下,reloc R_ARM_THM_PC8可能计算不正确

  • BUGFIX:修复R_AARCH64_ADR_GOT_PAGE / R_AARCH64_LD64_GOT_LO12_NC重定位的处理

  • BUGFIX:在一些罕见的情况下修复了崩溃

  • BUGFIX:修复davlik_debmod中的潜在漏洞

  • BUGFIX:固定显示x64所需的DIA SDK

  • BUGFIX:davlik_debmod中的固定漏洞

  • BUGFIX:浮动licesense构建的IDA可能会崩溃在系统上使用最新的glibc编译与启用了SSE优化

  • BUGFIX:gdb:ARM:在Thumb模式下单步执行时,IDA可能无法停止

  • BUGFIX:gdb:ARM:Thumb模式下的软件断点可能会失败,并带有SIGBUS信号

  • BUGIX:gdb:如果在gdb选项中未显式设置“Intel x64”,则IDA可能无法开始调试64位进程错误“unknown register'rax'”

  • BUGFIX:gdb:IDA不记得在gdb配置对话框中设置的一些选项

  • BUGFIX:gdb:如果没有使用选项对话框,IDA将默认使用非x86的步进

  • BUGFIX:gdb:通过发送远程端发送的任何可能的数据包(模拟GDB)来启动gdb连接,

  • BUGFIX:gdb:PacketSize功能不被尊重

  • BUGFIX:gdb:gdb调试器可能会误导某些文件为64位的某些架构

  • BUGFIX:get_import_module_name()可能返回true和空模块名称

  • BUGFIX:hexview:呈现和IDA视图与十六进制视图之间的同步对于具有超过8位的字节的处理器可能是错误的

  • BUGFIX:六进制:当一行以空格开始(因为它是段的开始,并且该段在视图的相同对齐方向上不对齐)时,行内容可能被移位

  • BUGFIX:hexview:当滚动时,如果一个行以不对齐的地址开始,可能会被重复

  • BUGFIX:hexview:站在无效位置(即BADADDR)时,连续按<F2>两次会成功进入编辑模式(不应该)

  • BUGFIX:在某些情况下,iOS调试器可能无法检索远程进程列表

  • BUGFIX:当一个函数的结尾处理停止时,iOS调试器可能会产生不完整的堆栈跟踪

  • BUGFIX:即使在dbg_ios.cfg中启用了AUTOLAUNCH,iOS调试器也会要求远程主机名

  • BUGFIX:iOS调试器在附加到需要重新生成的进程之后将失败

  • BUGFIX:idaq64:IDC的SetCharPrm(INF_TRIBYTE_ORDER,…)没有工作

  • BUGFIX:idc表达式“GetLocalTinfo(-1)”将导致interr 952

  • BUGFIX:idc:%f格式说明符不符合宽度和精度

  • BUGFIX:idc:ida可能会在添加一个指向struct本身的指针的结构成员时崩溃

  • BUGFIX:如果同一个枚举成员出现在不同的tils中,但它的值不同,则并不总是可以选择它

  • BUGFIX:如果用户取消附加过程选择对话框,然后终止调试器服务器,则ida将继续假定与调试器服务器的连接完好无损

  • BUGFIX:在极少数情况下,IDA可能会在rebase期间崩溃

  • BUGFIX:在“结构”视图中,允许更改元素数组的类型,如果该类型可以适合数组的大小

  • BUGFIX:安装程序:在没有安装Python的Windows机器上安装将无法安装Python

  • BUGFIX:kernel:search_ *函数不符合SEARCH_NOSHOW标志

  • BUGFIX:load_plugin(<name>)可能无法从替代插件目录加载插件

  • BUGFIX:加载一些PE +文件花费的时间太长

  • BUGFIX:Mac调试器在OSX Sierra上损坏

  • BUGFIX:在某些情况下,move_segm()不会将段移动到调试器的空闲区域

  • BUGFIX:在Hex-Rays(或源代码级调试)视图中移动垂直滚动条的拇指可能会导致视图跳转到意外的位置

  • BUGFIX:将垂直滚动条的拇指移动到十六进制(或源代码级调试)视图的底部可能无法显示最后一行代码

  • BUGFIX:nec v850:IDA可能会为某些reg + N操作数产生错误的外部参照

  • BUGFIX:noType()指令操作数,可以删除进程中另一个操作数的“符号”或“按位否定”表示

  • BUGFIX:objc解析器不会正确解码长类型

  • BUGFIX:在Linux上,安装程序将解压缩大部分预编译的Python运行时,即使不要求

  • BUGFIX:在某些版本的OSX上,大堆栈跟踪可能不完整

  • BUGFIX:pc:SP分析可能会失败的功能与基本块无法从进入点,如异常处理程序

  • BUGFIX:Linux / OS X:帮助查看器中的搜索结果总是标记为“无标题”

  • BUGFIX:set_member_type()没有检查递归结构体嵌套,可能会崩溃

  • BUGFIX:通过“update_bpt()”设置断点条件可能导致条件在断点触发时间不可用

  • BUGFIX:将结构体成员类型设置为没有显式大小的数组(如int [])将会将成员大小设置为零; 这不是我们通常想要的

  • BUGFIX:源码调试:状态栏中打印的行号从最左侧列中打印的数字关闭1

  • BUGFIX:源调试:状态栏会显示文件偏移量,但不显示当前地址

  • BUGFIX:x86_64的堆栈跟踪已损坏

  • BUGFIX:如果使用无效数据调用PDB插件可能会导致内部错误(现在只会导致非致命警告)

  • BUGFIX:SNES加载器可能会干扰并导致IDA退出非常大的文件(> 2GB)

  • BUGFIX:反编译器不会考虑到宽用户指定的变量,并会创建与它们重叠的其他变量

  • BUGFIX:使用使用手动内存区域的调试器(例如iOS或GDB)时,导航带可能会消失,

  • BUGFIX:在ida.key中没有license的磁盘上存在反编译器插件会导致错误

  • BUGFIX:tms320c6:bnop指令的分支检测有缺陷

  • BUGFIX:来自未命名数组函数参数的类型信息传播将导致命名不正确的数据

  • BUGFIX:ui / qt:“在新的十六进制窗口中跳转”不会跳到正确的地址

  • BUGFIX:ui / qt:IDA可以在导航和/或执行其他操作时离开F11风格的全屏

  • BUGFIX:ui / qt:如果IDA在启动时遇到错误,可能还没有时间创建任务栏图标,有时候会让该错误/警告对话框难以到达

  • BUGFIX:ui / qt:使用特殊的鼠标按钮4和5在历史记录中向前和向后移动,将改变光标坐标

  • BUGFIX:ui / qt:删除脚本片段将标记之后被选择为“修改”

  • BUGFIX:ui / qt:双击结构的第一个成员,将导致视图跳转

  • BUGFIX:ui / qt:从某些列表窗口小部件中选择字体是不可能的

  • BUGFIX:ui / qt:在Windows或OSX上使用屏幕阅读器(例如,JAWS或VoiceOver)时,IDA View-A将自动切换到平面列表,因为图形视图无法访问

  • BUGFIX:ui:ExportData操作会静默地覆盖输出文件(如果已经存在)

  • BUGFIX:ui:IDA可能会丢失视图之间的同步偏好(在调试情况下可能会有寄存器)。

  • BUGFIX:ui:OSX:如果文件被拖到停靠图标上,idaq64将始终启动idaq

  • BUGFIX:ui:在Windows上,“加载新文件”对话框不会创建任务栏条目,这意味着如果另一个窗口出现在桌面上可能很难找到它

  • BUGFIX:ui:重命名未保存的脚本片段可能会丢失其内容

  • BUGFIX:ui:如果IDA打开w / oa数据库,则“默认CLI”将不被应用

  • BUGFIX:ui:重新启用代码和数据外部参照的构建图到当前地址

  • BUGFIX:ui:“功能窗口”可以花费太多时间刷新功能名称列表,即使没有功能被修改

  • BUGFIX:ui:“段寄存器”视图具有固定的最小大小,这意味着如果在标签视图中打开,则无法调整其他选项卡的大小

  • BUGFIX:windows的idaq版本信息存储不正确

  • BUGFIX:当调试macho共享库时,如果应用程序过早退出,IDA可能会抛出INTERR(40201)

  • BUGFIX:调试时,如果最后一个关闭的窗口小部件是十六进制视图或堆叠视图,切换断点可能会变得不可能

  • BUGFIX:windbg:一些寄存器(通常为ST0)可能在步进后失去其值

这次更新真的算是大更新。需要的可以去官网下载Demo版本试用,等一阵子也许会有泄漏版出现哦。好了,今天就跟大家介绍在这里吧。喜欢的请点击关注,我会随时更新一些有用的东西给大家。

由于头条号限制只能每天发一篇,所以很多新东西没办法更新及时,望友友们多多关注,以后也许一天就能发布更多的新东东了。

1.《IDA Pro 7.0——强大的静态编译神器》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《IDA Pro 7.0——强大的静态编译神器》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.cxvn.com/gl/djyxgl/171644.html