IDA Pro是一款编程人员都在使用的交互式反汇编工具。交互式反汇编器中的佼佼者IDA Pro。该软件为用户提供中止IDA,添加断点,添加执行跟踪,添加读/写跟踪,Android调试器,汇编指令,汇编程序指令对话框,汇编程序级别和C级别类型,更改细分地址,更改详细信息等丰富功能对齐,更改细分属性,更改细分组合等。通过此综合应用程序,用户可以反汇编和浏览二进制程序,以便更好地了解其源代码并执行调试操作等。具有非常简单的界面布局,用户使用起来更简单,需要它的用户,请迅速转到此网站下载!
使用说明:
PIN调试器
PIN调试器是一个远程调试器插件,用于记录执行跟踪。它允许从任何受支持的IDA平台(Windows,Linux和MacOSX)在Linux和Windows(x86和x86_64)上记录跟踪。尚不支持MacOSX目标。有关此主题的更多详细信息,请参见MacOSX的PIN支持部分。
为了使用PIN调试器插件,必须执行以下步骤:
-建立PIN工具
-配置调试器中的特定选项
调试器选项,设置特定选项。
PIN调试器插件具有以下配置选项:
-PIN二进制路径:引脚二进制的完整路径。
-PIN工具路径:idadbg.so或.dll PIN工具所在的目录。
-跟踪选项:
-指令追踪:追踪个别指令
-基本块跟踪:跟踪基本块
-功能跟踪:跟踪功能
-记录寄存器值:是否记录寄存器值。以防万一
禁用此选项,仅记录EIP / RIP。
-PIN工具选项:
-“ Localhost”自动启动引脚:设置此选项时
主机在调试器的“进程选项”中指定的主机名是“ loc
alhost”,即PIN
该工具将由IDA执行。否则,IDA希望使用PIN工具
已经在跑步和收听。看到
连接从IDA连接远程PIN工具实例以获取更多详细信息。
-调试模式:此标志允许用户查看PIN工具中发生的情况
侧。它打印出一些调试信息。
-其他参数:何时使用其他命令行参数
构建命令行以在本地启动PIN。其他参数可以
PIN工具规范之前添加(在'-t / path / to / pin / tool之前)或
在PIN工具之后(在“ -t / path / to / pin / tool”之后,但在“ -application”之前)。
滚动图
用户可以通过单击鼠标左键并在图形背景上拖动来平移(移动)图形。在极少数情况下,当屏幕上没有可见的图形背景时,可以使用Shift键单击来移动图形。当当前节点占据整个窗口时,这可能会在很高的缩放级别发生。
鼠标滚轮垂直滚动图表。如果按Alt键,它将水平滚动图形。
Page Up和Page Down键垂直滚动图表。如果键盘箭头到达节点边界并且不能沿指定方向跳到另一个节点,则可以滚动图形。
滚动图表不会更改键盘光标的位置。在屏幕上刷新图形后,IDA将滚动图形以使键盘光标可见。
XML段注册更改点
IDA当IDA遇到更改段寄存器的指令时,它将创建一个段寄存器更改点。因此,IDA本身主要维护变更点。 IDA假定段寄存器不会在更改点之间更改其值。如果发现IDA未能找到段寄存器更改,或者想要更改寄存器值,则可以使用“更改段寄存器”命令来创建更改点。您也可以使用“设置默认段寄存器值”命令来更改段寄存器的值。
IDA对变更点进行分类。在更改点列表中,注册值后可以看到以下后缀:
A(自动)-由IDA创建。以后可能会被IDA更改。
U(按用户)-由用户创建。 IDA不会更改它。
如果更改点未被相应的命令禁用,则IDA会为更改点生成相应的“假设情况”指令。
签名窗口
操作名称:OpenSignatures
该命令将打开签名窗口。
对于每个签名,将显示以下内容:
-签名的文件名
-签名状态:
-计划:签名将被应用
-当前:正在应用签名
-应用:签名已应用
-使用签名找到的功能数量
-签名说明
您可以在此处修改计划的签名列表:添加/删除要在反汇编期间使用的库模块。
您无法从列表中删除已应用的签名。
要将签名添加到应用程序列表,请按。您将看到可以应用于正在反汇编的程序的签名列表。
文本版本:不会显示所有签名文件(例如,16位程序将不显示32位签名)。如果要查看签名的完整列表,请选择列表的第一行,说明“切换到全部签名”。
签名文件位于SIG目录的子目录中。每个处理器都有自己的子目录。子目录的名称等于处理器模块文件的名称(例如z80.w32为z80)。注:IBM PC签名位于SIG目录本身中。注意:IDASGN环境变量可用于指定签名目录的位置。
变更记录:
错误修复:
BUGFIX:如果存在自定义偏移类型(例如,对于三核),则“用户定义的偏移”对话框被打破
BUGFIX:缺少地址的64位ARM分支地址将在输出中被截断为32位
BUGFIX:64位Mach-o加载程序:PRELINK_INFO错误挂起
BUGFIX:ARM:使用__gnu_thumb1_case_si帮助器的GCC Thumb1压缩开关未正确处理
BUGFIX:ARM:错误计算某些大型函数参数的位置会导致反编译器中的interr 50904
BUGFIX:ARM:不正确的拆卸说明FMAXV,FMAXNMV
BUGFIX:自动快照标志未存储在新创建的数据库的快照中
BUGFIX:DOS加载程序仅接受输入文件,因为其扩展名为.exe
BUGFIX:COFF:解析具有空字符串表的文件
BUGFIX:DWARF可能会因某些由ARM ADS 6.x生成的复杂DWARF文件而失败
错误修复:'.debug_ *'部分的DWARF重定位处理不正确
错误修复:DWARF:损坏的.debug_abbrev严重损坏的文件可能会导致DWARF插件中出现分段错误(取消引用空指针)。
BUGFIX:DWARF:由GCC生成的名称为“ __int128 unsigned”的DWARF类型信息未正确清除
BUGFIX:DWARF:ADS生成的二进制文件中复杂类型的异常结构可能导致D
WARF插件导致INTERR
BUGFIX:DWARF:一些llvm7生成的构造可能导致插件进入INTERR
BUGFIX:在自动分析过程中,如果这些名称与函数F中的寄存器别名冲突,请不要重命名函数F的堆栈位置
BUGFIX:调试期间不能单独设置标志寄存器
BUGFIX:在调试过程中,当要求用户输入映射路径并按“ Esc”将其设置为忽略,然后按“ Esc”以关闭“映射”对话框时,要忽略的路径是文件,而不是include文件的目录
BUGFIX:在调试过程中,最初要求用户映射时,他/她关闭了“映射”对话框后无法添加其他映射
BUGFIX:ELF:IDA拒绝加载位于文件外部的非PT_LOAD段文件
BUGFIX:将模块的相对断点导出到IDC将无法正确转义'\'路径元素分隔符
BUGFIX:FLIRT:Watcom OMF库的分析已损坏
错误:修复二进制搜索。现在,该对话框还可用于搜索uint64大小的任何输入值,以及任何大小的字节的大/小字节顺序(8、16、24、32位)。
BUGFIX:对于64位二进制文件,IDA可以在特殊段中显示截断的值(例如,'extern','abs',...)
BUGFIX:修复损坏的数据库时,IDA可以使用interr 1226中止
BUGFIX:升级包含长键(大小> 255)的页面时,IDA可能会损坏旧数据库
BUGFIX:如果用户选择添加另一个映射但将其留为空白,则在调试过程中,当要求提供二进制路径映射时,IDA可能会崩溃
BUGFIX:当焦点位于脚本片段窗口中时,尝试清除消息窗口时,IDA可能会崩溃
BUGFIX:缩小相邻视图时,IDA可能会崩溃
BUGFIX:以批处理方式附加到进程时,IDA可能会错误地报告“数据库位数与正在调试的应用程序数不同”
BUGFIX:IDA可以在将0作为bufsize参数传递给tag_remove()时进行干预
BUGFIX:在某些情况下,IDA无法在16位段内创建32位平面偏移量(默认情况下,IDA为16位段创建seg:off对)
BUGFIX:IDA无法在远程调试期间加载模块的简短调试信息
BUGFIX:IDA可能会在提示中显示FPU / XMM寄存器操作数的值不正确
BUGFIX:如果上次访问的视图已关闭,则IDA无法从搜索结果跳转到辅助IDA视图,十六进制视图或伪代码窗口
BUGFIX:IDA不必要地在内核调用的回调中检索python GIL,从而导致mac速度显着降低
BUGFIX:IDA无法加载文件浏览器选择的.pdb文件的PDB符号
BUGFIX:IDA拒绝较新的Windows可执行文件中的某些类型的名称
BUGFIX:IDAPython无法设置断点条件语言,因此IDC无法以其他语言表达条件
BUGFIX:IDAPython的get_idasgn_desc()不返回匹配数目。添加了get_idasgn_desc_with_matches()
BUGFIX:IDAPython的get_member_by_fullname()不可用,只有get_member_by_id()的1个变体可用
BUGFIX:如果在启动调试会话之前IDA View处于图形模式,则调试会话结束后它将不会返回图形模式
BUGFIX:在64位IDA中,IDAPython无法为calc_switch_cases()返回的对象生成正确的包装器
BUGFIX:如果“胖” Mach-O文件具有_same_体系结构的2个版本(例如,ARMv7和ARM64),则DWARF插件可能会尝试加载错误的版本
BUGFIX:在“函数调用:”窗口的“调用者”部分中,调用指令的地址将打印两次,而不是仅打印一次,然后打印函数名称
BUGFIX:如果您在反汇编列表的开头按下名称,则JumpOpXref不会处理带有禁止的(非标识符)字符的名称
BUGFIX:LX:加载程序可以返回打包页面的垃圾数据
BUGFIX:留下一个标记,然后右键单击指令的地址可能会导致IDA和INTERR代码520
BUGFIX:加载其他非IDS / IDT文件可能会导致IDA输入INTERR
BUGFIX:PC:固定的VSIB索引寄存器
BUGFIX:PC:标量FMA指令的固定操作数大小
BUGFIX:PDB:远程PDB可以在UNIX上返回垃圾数据
BUGFIX:PIN,即时调试模式:连接后模块可以报告错误的过程数字
BUGFIX:PIN:在某些情况下,IDA无法暂停正在运行的进程
软件特色:
处理器模块:
65816:许多改进
ARM:读取ARM远程服务器的VFP寄存器
ARM:aarch64函数参数位置的计算
ARM:改进的寄存器跟踪
ARM:添加了对security_push / pop_cookie函数(拇指模式)的支持
ARM64:在非框架函数中增加了对可变参数的支持
PC:使用扩展的元数据(.pdata部分)改进了对PE +文件中功能边界的检测
PC:添加了AVX比较伪操作
PC:添加了AVX-512扩展解码
PC:添加了MPX扩展解码
PC:添加了对SGX扩展的解码
PC:添加了SHA扩展解码
PC:添加了XOP扩展的解码
PC:添加了对CLFLUSHOPT,CLWB和PCOMMIT指令的解码
PC:添加了对PREFETCHWT1指令的解码
PC:添加了对RDPKRU和WRPKRU指令的解码
PC:添加了对XRSTORS,XSAVEC和XSAVES指令的解码
PC:添加了对更新的clang的切换模式的支持
PC:增加了对llvm-gcc切换模式的支持
PC:改进的前导码分析
PIC18:增加了对PIC18F2682 / 2685/4682/4685器件的支持
PCPPC:添加了对PPC SystemV EABI和PPC64 AIX和SystemV ABI的支持
PPC:改进的功能参数处理
PPC:改进了堆栈变量的命名
PPC:改进了对SP寄存器的跟踪
PPC:添加了对内存映射的支持
MIPS64:将标准序列(lui,ori,li等)转换为dli宏
SH4:改进了开关识别
SNES:改进的装载机,包括Snes SPC装载机。
SPC700:超级任天堂spc700的新处理器模块。
Avr.cfg:添加了ATmega644p的描述
文件格式:
WARDWARF:该插件将遵循环境变量IDA_NORELOC,并且不会在DWARF部分执行重定位(对于VxWorks生成的二进制文件非常有用)。
ELF:添加了AArch64重定位
ELF:改进了对截断文件的检测
ELF:调整了一些分析选项(添加了AF_PURDAT)
MACHO:解析Swift元数据的小改进
PE:改进了CFGuard功能表的解析(现在可以识别和跳过其他标志字节)
PE:在“导出”窗口中,虚拟名称不再分配给未命名的导出条目
PE:使用手动加载时,您现在可以使用“不再显示”复选框来一次加载(或跳过)所有后续部分
PE:在文件的信息注释中打印PE时间戳记
网路:我们在包括Windows在内的所有平台上使用自己的文件解析器
Imageuimage:添加对使用gzip压缩的图像的支持
调试器:
添加了对ARM64的支持
Android二进制文件(android_server64)
Mac_server现在支持代码签名,以避免以超级用户身份运行它。可以像gdb一样编码
GDB:允许远程存根发送的XML中的其他功能
GDB:允许用户使用配置文件和XML目标描述来指定其他/自定义寄存器布局
DBGDB:添加了对x64目标的支持
核心/其他:
IDS:MS Windows IDS文件已更新为Windows XP SP3
IDS:添加了Windows 7 sp1 x64 IDS文件
IDS:使用一些缺少的序号更新wince / arm / coredll.idt
TIL:支持带有长名称(> 512个字符)的类型定义
D添加了DEMNAME_FIRST配置参数(如果类型和解码名称存在,则选择一个)
ST添加了STORE_USER_INFO配置参数;如果关闭,则有关数据库创建者的信息将不会存储在数据库中
配置添加了配置选项XREF_CACHE_LIMIT以限制交叉引用缓存的内存使用。这样可以分析IDA中的大文件,但会降低速度
添加了ICL15的签名
为VC12(VS2013)和VC14(VS2015)添加了签名
签名将Embarcadero RAD Studio xe5的签名添加到xe10 Update 1
改进的sigmake碰撞检测
提高sigmake速度
添加了对基于Linux系统调用的系统调用的支持
指令任何配置文件的任何指令都可以被放置在%IDAUSR%/ cfg /中的用户指定文件覆盖。
IDA不再识别IDAPLG环境变量:应使用更通用的IDAUSR
IDAUSR环境变量可以包含多个路径,查找文件时将按顺序搜索
数据库可以在后台上传到Hex-Rays Web服务器
Demangler:添加了对__vectorcall和__clrcall的支持
提高了某些混淆文件的分析速度
Pelf:添加了对AARCH64(ARM64)的支持
添加了更多的不返回函数名称
用户界面
Ui:添加了在用户指定的观看者之间同步的功能
Ui:IDC和Python添加了语法突出显示
UI:为每个操作添加了对多个键盘快捷键的支持
Ui:“结构”,“枚举”和任何用户创建的查看器现在都可以使用“搜索全部”
UI:邻近视图:双击一条边将带您到边另一端的节点
Ui:邻近视图:您现在可以查看路径的详细信息并复制其信息
Ui:跟踪指令现在在调试模式下突出显示
UI:idaview中的Ctrl + DblClick名称在新视图中打开目标
UI:添加语法突出显示导入/导出颜色,并在按下“重置”按钮时将其重置
Ui:现在可以通过两指滚动(例如在触控板上)或在Windows上使用Alt +滚动来水平滚动列表视图(IDA视图-A,结构,枚举等)。
脚本和SDK:
IDC:添加了PrintLocalTypes()
SDK:添加了必须为支持外部操作数的处理器模块指定的PR_OUTER
SDK:事件挂钩:更改了新事件侦听器的注册。现在,新的侦听器已添加到列表的末尾,因此该事件将在最后接收。希望它会带来更好的逻辑,因为通常是ui,并且处理器模块将首先挂在钩子上。然后是插件。这意味着处理器模块和UI将首先对事件做出反应
SDK:用于检索输入文件大小的函数
SDK:用于计算/检索输入文件的SHA256哈希的函数
SDK:IDA中引入了“ ABI名称”的概念;可以使用set_compiler2()函数进行设置;处理器模块通常负责对其进行识别,并相应地在IDA中设置各种配置位
SDK:添加了新标志:SETMENU_FIRST:将项目添加到菜单的开头(用于attach_action_to_popup)
IDAPython:现在会根据相应.hpp标头中的通知列表自动生成IDP_Hooks,IDB_Hooks,UI_Hooks和DBG_Hooks
从PySide切换到PyQt
软件功能:
IDA(交互式反汇编程序)是一种多处理器调试器,用于反汇编二进制程序以生成执行映射。由于无需额外的源代码即可打开和分析应用程序,因此IDA仍然是市场上最可靠的反汇编程序之一。
IDA支持50多种系列处理器,并且可以在Windows,Linux和MAC OS X等各种平台上运行。在分析恶意代码和研究安全漏洞的过程中,IDA通常是反病毒公司乃至军事组织的首选。
IDA是一个复杂的应用程序,但是在需求方面该软件并不那么挑剔。而且,安装过程不会花费那么长时间,并且应用程序加载时间也相当不错。该界面简单,组织且专业。与实际拆卸区域相比,它占用了一些较小的区域菜单,几乎占据了所有分配的空间。
一旦打开文件(EXE格式),IDA几乎立即开始反汇编过程,并显示源程序的各种特征,例如HEX视图,结构,枚举,导入和导出(有关内存地址和详细信息的详细信息)相关的库)。
作为交互式反汇编程序,代码的分析和调试将不会自动完成。但是,它可能会为您提供与未解决的问题和可疑行为有关的一些技巧,但是只有在正确指示的情况下,您才能继续进行操作。如果您需要建议,可以随时访问广泛的帮助文件。
总而言之,IDA主要致力于反汇编和调试应用程序,其主要目的是分析和检测漏洞,以帮助开发人员将代码重新打包为功能更强大,更安全的程序。
安装方式:
1.下载并解压缩该软件,双击安装程序以输入以下IDA Pro 7.2安装向导,然后单击[下一步]继续。
2,阅读软件许可协议信息,选中[我接受协议]选项,然后进行下一个安装。
3.建议检查默认的[Install Python 2.7 x64]选项。
4.弹出以下密码输入窗口。用户输入以下密码[7JpT48a7Y2fv]。
5.选择安装位置,用户可以选择默认的C:\ Program Files \ IDA 7.2,或自定义设置。
6.选择其他任务,然后选中选项[创建桌面图标]。
7.准备安装,单击[安装]按钮开始安装。
8.安装后取消[启动IDA],然后单击[完成]。
9.将IDAPro.key复制到软件安装目录。
10.免费运行IDA Pro 7.2。