网站建设中心联系方式自助建站原理
网站建设中心联系方式,自助建站原理,公司网站被百度收录,中国最新新闻摘抄0x01 启动IDA new#xff1a;反汇编一个新文件go#xff1a;运行#xff0c;直接进入IDAPrevious#xff1a;载入一个我们以前编译过的程序
如果不想每次都看到这个对话框#xff0c;可以取消该对话框底部的Display at startup#xff08;启动时显示#xff09;#x…0x01 启动IDA new反汇编一个新文件go运行直接进入IDAPrevious载入一个我们以前编译过的程序
如果不想每次都看到这个对话框可以取消该对话框底部的Display at startup启动时显示如果没有勾选这个下次启动IDA时IDA会认为我们单击了go选项。如果我们没有勾选这个,下次希望使用这个时我们可以按照下图做就又可以显示了。
文件加载
使用File—open命令打开一个新文件时会看到下图所示的加载对话框。IDA会自动生成一个可能的文件列表并显示这个列表这个列表中将显示最适合处理选定文件的IDA加载器。
Windows PE加载器pe.ldwMS-DOS EXE加载器dos.ldwPE文件格式是MS-DOS EXE文件格式的拓展形式Binary File二进制文件这个选项会一直显示不论加载什么文件因为它是IDA加载无法识别的文件默认选项它提供最低级的文件加载方式如果IDA提供几个加载器我们一般选择第一个其他选项我们也一般默认
0x02 界面介绍
默认界面 1、工具栏区域 包含与IDA的常用操作对应的工具我们可使用 VIew–Toolbars-----Advance mode打开高级模式工具栏高级模式工具栏包含三排工具按钮
2、彩色的水平带是IDA的概括导航栏也叫导航带是被加载文件地址空间的线性视图。我们可以右击导航带任何位置并选择一个可用的缩放选项。不同的颜色表示不同类型的文件类型如数据或代码。在导航带上会有一个细小的当前位置指示符默认为黄色指向当前反汇编窗口中显示地址范围对应的导航带地址。我们可以通过options—colors自定义导航带使用的颜色。 3、IDA为当前打开的每一个数据显示窗口都提供了标签。数据显示窗口中包含从二进制文件中提取的信息他们代表数据库的各种视图。 通过View—Open Subviews菜单可打开其他数据显示窗口 4、反汇编视图是主要数据显示视图两种形式图形视图默认和列表视图。我们可以使用空格键在图形样式和列表样式之间切换。 如果希望列表视图作为默认视图则必须通过Options----General菜单打开IDA Options复选框取消Graph选项卡下的Use graph view by default 5、使用图形视图时显示区很少能够一次显示某个函数的完整图形。这时图形概况视图可提供基本图形结构的缩小快照其中虚线矩阵表示其在图形视图中的当前显示位置。 6、输出窗口显示的是IDA输出的信息 7、函数窗口是默认IDA显示窗口的最后一部分
IDA 桌面提示和技巧
使用View–Open SubViews恢复无意中关闭的数据显示窗口使用Windows—reset desktop命令可迅速将桌面恢复到原始布局利用windows—Save desktop命令保存你认为特别有用的当前桌面布局。使用Windows—load desktop命令迅速打开你之前保存的一个桌面布局Disassembly窗口是唯一一个可以修改其显示字体的窗口使用Options—fonts命令可以设置字体
0x03 IDA数据显示窗口
基本规则
IDA不提供撤销功能。如果不小心按下某个键导致数据库文件发生意外这是我们必须将显示窗口恢复到以前的状态几乎所有的操作都有其对应的菜单项、热键和工具栏按钮。IDA提供方便的、基于上下文的鼠标右键操作菜单
IDA主要的数据显示窗口
在IDA中ESC键是一个非常有用的热键。在反汇编窗口中ESC键的作用与web浏览器的后退按钮类似。因此它在导航反汇编窗口非常有用。遗憾的是在打开其他的窗口时ESC键用于关闭窗口。
1、反汇编窗口
反汇编窗口也叫IDA-View窗口它是操作和分析二进制文件的主要工具。 反汇编窗口有两种显示窗口图形和列表
IDA图形视图 图形视图将一个函数分解成许多基本块以生动显示该函数由一个块到另一个块的控制流程。IDA使用不同彩色箭头区分函数块之间各种类型的流。在条件跳转位置终止的基本块可能会生成两种流
红色No边的箭头不执行分支绿色Yes边的箭头执行分支 还有一个蓝色箭头指向下一个即将执行的块 我们可使用Ctrl鼠标滑轮来调整图形的大小。平移通过单击图形概述和拖动图形视图的背景来定位图形重新调整块位置。通过单击指定块的标题栏并将其拖到一个新的位置用户还可以移动每一个块的位置创建其他反汇编窗口可以通过View–Open subviews—disassembly命令打开另一个反汇编空口。这样打开的第一个反汇编窗口叫做IDA View A。随后的反汇编窗口叫做IDA View B、IDA View C以此类推。每个反汇编窗口都独立于其他窗口。我们可以在一个窗口中查看一个图形在另一个窗口查看文本列表。
2、IDA文本视图
面向文本的反汇编窗口是查看和操作IDA生成的反汇编代码的传统显示窗口。文本显示窗口会显示一个程序的完整反汇编代码清单用户只有通过这个窗口才能查看一个二进制文件的数据部分。 显示窗口的左边部分叫做箭头窗口用于描述函数中的非线性流程。实线箭头表示非条件跳转虚线箭头表示条件跳转。如果一个跳转将控制权交给程序中的某个地址这时会使用粗线实线或虚线。出现逆向流程通常表示程序中存在循环
函数窗口
Functions窗口用于列举IDA在数据库中识别的每一个函数
十六进制窗口
默认情况下十六进制窗口显示程序内容和列表的标准十六进制代码每行显示16个字节。我们可以打开几个十六进制窗口。 第一个16进制窗口会与第一个反汇编窗口同步。如果一个反汇编窗口与一个十六进制窗口同步在一个窗口滚动鼠标另一个窗口也会滚动到相应位置同一个虚拟地址。如果在反汇编窗口选中一个项目十六进制窗口中的对应字节也将突出显示。 有时候十六进制窗口显示的全部是问号这表示IDA无法识别给定的虚拟地址范围内的值。
导出窗口
导出窗口列出文件的入口点
导入窗口
导入窗口的功能与导出窗口的功能正好相反。它列出由被分析的二进制文件导入的所有函数
结构体窗口
结构体窗口用于显示IDA决定在一个二进制文件中使用的任何复杂的数据结构的布局。
枚举窗口
如果IDA检测到标准枚举数据类型它将在枚举窗口列出该数据类型
其他IDA显示窗口
下面讨论的窗口并不是你当前需要的信息因此IDA一开始并不开开这些窗口。
1.Strings 窗口
我们可以通过View — Open SubViews — Strings命令打开 Strings窗口中显示的是从二进制文件中提取出的一组字符串以及每个字符串所在的地址双击Strings窗口中的任何字符串反汇编窗口将跳转到该字符所在的地址。IDA默认扫描的字符串类型为至少包含5个字符的C风格、以Null结尾的7位ASCII字符串。 每次打开Strings窗口IDA都会扫描或重新扫描整个数据库查找其中的字符串。扫描字符串的操作遵照Strings窗口的设置来完成我们右击该窗口在出现的菜单中选择setup即可开始设置 Display only defined strings 仅显示已定义的字符串。这个选项使Strings窗口仅显示IDA自动创建或用户手动创建的已命名字符串数据项。Igonre instructions/data definitions(忽略指令/数据定义)。这个选项会使IDA扫描指令和现有数据定义中的字符串
2、names窗口
列举一个二进制文件的所有全局名称。双击Names窗口的名称可立即跳转到显示该名称的反汇编视图。 Name窗口显示的名称采用了颜色和字母编码。其编码方案
F常规函数。IDA认为这些函数不属于库函数L库函数。IDA通过签名匹配算法来识别库函数I导入的名称通常为共享库导入的函数名称C命名代码。D数据A字符串数据
3、段窗口
段窗口显示的是在二进制文件中出现的段的简要列表。该窗口显示的信息包括段名称、起始和结束地址以及许可标志。 双击段窗口的任何条目IDA将跳转到反汇编窗口中该段的起始位置。右击一个条目IDA将显示一个上下文菜单你可以添加新段、删除现有段或者编译现有段的属性。
4、签名窗口
IDA利用一个庞大的签名库来识别已知的代码块。签名用于识别编译器生成的常用启动顺序以确定可能已被用于构建给定二进制文件的编译器。
0x04 反汇编导航
基本IDA导航
1、双击导航
反汇编程序时程序的每个位置都分配一个虚拟地址。只要提供希望访问的位置的虚拟地址就可以导航到程序的任何地址。然而记住大量地址并非易事。这促使早期的程序员给他们希望引用的程序位置分配符号名称。这大大简化了他们的工作。我们只需双击这些名称就可跳转。
2、跳转到地址
使用jump —jump to address命令或在处于活动状态的反汇编窗口按下热键G均可打开Jump toAddress对话框
3、导航历史记录
IDA的另一项类似于传统web浏览器的功能是它的前进和后退导航功能基于你浏览反汇编窗口的顺序。每次你导航到反汇编窗口中的一个新位置你当前的位置就会添加到位置列表中。有两种方式菜单操作可用于遍历这个列表。首先Jump —Jump to previous Position 或者使用ESC只能在反汇编使用其他窗口为关闭当前窗口或者使用工具栏上的导航按钮
搜索数据库
在IDA中你可以轻松导航到你知道的位置
1、文本搜索
IDA文本搜索相当于对反汇编列表窗口进行子字符串搜索。通过Search—Text命令启动文本搜索或者AltT。搜搜限制于仅查找完整的词并且能够匹配反汇编行中的任何完整的词包括操作码助记符或常量。最后使用CtrlT或者Search—Next Text命令可重复前一项搜索以找到下一个匹配。
2、二进制搜索
二进制搜索仅搜索十六进制视图窗口。根据指定搜索字符串的方式可以搜索16进制或ASCII字符串。 Search —Sequence of Bytes或者AltB即可进行二进制搜索
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/88938.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!