启动 IDA

启动 IDA,有一个欢迎界面

之后有一个对话框

选择 New 将启动一个对话框来选择将要分析的文件

选择 Go 将使 IDA 打开一个空白的工作区

如果要选择分析的文件,可以直接拖到 IDA 工作区

也可以在菜单栏选择 File -> Open 来打开

选择 Previous 可以打开其下“最近用过的文件”列表中的一个文件

历史记录列表的最大长度为 10,可以通过编辑 idagui.cfg 或 idatui.cfg 来修改

文件加载

选择 File -> Open 打开一个新文件,会显示一个加载对话框

文件类型列表,列表中将显示最适合处理选定文件的 IDA 加载器

IDA 通过执行 loaders 目录中的每一个文件加载器,来确定能够识别新文件的加载器,从而建立了这个列表

上图中 Windows PE 加载器(pe.ldw)和 MS-DOS EXE 加载器(dos.ldw)均声称它们能够识别选定的文件,因为 PE 文件格式是 MS-DOS EXE 文件格式的扩展形式

Binary File(二进制文件)是这个列表中的最后一个选项,它会一直显示,因为它是 IDA 加载无法识别的文件的默认选项,它提供了最低级的文件加载方法

如果只有 Binary File,这表明没有加载器能够识别选定的文件

Processor Type(处理器类型)下拉菜单中可以指定在反汇编过程中使用的处理器模块(在 IDA 的 procs 目录中)

多数情况下,IDA 将根据它从可执行文件的头中读取到的信息,选择合适的处理器

如果 IDA 无法正确确定与所打开的文件关联的处理器类型,在继续文件加载操作前,需要手动选择一种处理器类型

Loading Segment(加载段)Loading Offset(加载偏移量),如果同时选择了二进制文件输入格式和一种 x86 系列处理器,Loading Segment 和 Loading Offset 字段将处于活动状态

由于二进制加载器无法提取任何内存布局信息,在这里输入的段和偏移量值将共同构成所加载文件内容的基址

在最初的加载过程中,如果忘记指定基址,可以在任何时候使用 Edit -> Segments -> Rebase Program 命令来修改 IDA 镜像的基址

Kernel Options(核心选项)用于配置特定的反汇编分析选项,IDA 可利用这些选项改进递归下降过程

绝大多数情况下,默认选项提供的都是最佳的反汇编选项

Processor Options(处理器选项)用来选择适用于选中的处理器模块的配置选项,但它不一定对每个处理器模块有效

其他选项复选框可帮助用户更好地控制文件加载过程

IDA Pro 权威指南学习笔记(一) - 启动 IDA的更多相关文章

  1. IDA Pro 权威指南学习笔记(七) - 其他 IDA 显示窗口

    默认情况下 IDA 不会打开这些窗口,可通过 View -> Open Subviews 命令打开 Strings 窗口(Strings) Strings 窗口中显示的是从二进制文件中提取出的一 ...

  2. IDA Pro 权威指南学习笔记(十二) - IDA 中的注释

    注释有助于以一种更高级的方式描述汇编语言指令序列 IDA 提供了几种不同类型的注释,每种注释适用于不同的目的 使用 Edit -> Comments 命令的选项,可以为反汇编代码清单中的任何一行 ...

  3. IDA Pro 权威指南学习笔记(八) - 基本 IDA 导航

    导航目标 在分析阶段,IDA 会通过检查二进制文件的符号表生成符号名称,或根据二进制文件引用位置的方式自动生成一个名称 反汇编窗口中显示的任何名称都是导航目标 双击任何一个符号,IDA 将跳转到相应的 ...

  4. IDA Pro权威指南学习笔记(一)

    一直不懂逆向,最近刚好不忙,于是学习逆向,用来做笔记,顺便和大家分享交流. 参考书籍<IAD PRO权威指南> 工具: PETools: ETools 是另一款很好的PE文件编辑工具,以前 ...

  5. IDA Pro 权威指南学习笔记(十四) - 操纵函数

    IDA 无法定位一个函数调用,由于没有直接的方法到达函数,IDA 将无法识别它们 IDA 可能无法正确确定函数的结束部分,需要手动干预,以更正反汇编代码中的错误 如果编译器已经将函数分割到几个地址范围 ...

  6. IDA Pro 权威指南学习笔记(五) - IDA 主要的数据显示窗口

    在默认配置下,IDA(从 6.1 版开始)会在对新二进制文件的初始加载和分析阶段创建 7 个显示窗口 3 个立即可见的窗口分别为 IDA-View 窗口.函数窗口和消息输出窗口 可以通过 View - ...

  7. IDA Pro 权威指南学习笔记(九) - 数据搜索

    Search -> Next Code 命令将光标移动到下一个包含指令的位置 Jump -> Jump to Function 命令可以打开所有函数,可以迅速选择一个函数并导航到该函数所在 ...

  8. IDA Pro 权威指南学习笔记(十三) - 基本代码转换

    IDA提供的代码转换包括: 1.将数据转换为代码 2.将代码转换为数据 3.指定一个指令序列为函数 4.更改现有函数的起始或结束地址 5.更改指令操作数的显示格式 代码显示选项 通过 Options ...

  9. IDA Pro 权威指南学习笔记(十一) - 名称与命名

    多数情况下,要修改一个名称,只需单击想要修改的名称(使其突出显示),并使用快捷键 N 打开更名对话框 右击需要修改的名称,并在出现的上下文菜单中选择 Rename 选项,也可以更改名称 参数和局部变量 ...

随机推荐

  1. CSLA验证规则总结

    CSLA业务规则 验证规则所在空间: Csla.Rules 基类 BusinessBase 的属性   BusinessRules 中记录了业务类的验证规则 验证规格的写法 private class ...

  2. ios通知使用 书上案例 简单易懂

    /* The notification name */const NSString *ResultOfAppendingTwoStringsNotification =@"ResultOfA ...

  3. 【scala】构造器

    和Java或C++一样,Scala可以有任意多的构造器. 不过Scala类有一个构造器比其他所有构造器都更为重要,它就是主构造器. 除了主构造器之外,类还可以有任意多的辅助构造器. 主构造器 在Sca ...

  4. css清除浮动float的几种方法

    摘要: css清除浮动float的三种方法总结,为什么清浮动?浮动会有那些影响?     一.抛一块问题砖(display: block)先看现象: 这里我没有给最外层的DIV.outer 设置高度, ...

  5. 获取整个页面HTML的信息以及注意事项

    两种方式: 1.从每个节点获取 var a = '<!DOCTYPE html><html lang="zh-cn">'; var z = "&l ...

  6. python 魔法方法补充(__setattr__,__getattr__,__getattribute__)

    python 魔法方法补充 1 getattribute (print(ob.name) -- obj.func())当访问对象的属性或者是方法的时候触发 class F(object): def _ ...

  7. eclipse新建web项目

    方法/步骤     首先,你要先打开Eclipse软件,打开后在工具栏依次点击[File]>>>[New]>>>[Dynamic Web Project],这个就代 ...

  8. CallKit iOS 教程

    原文:CallKit Tutorial for iOS 作者:József Vesza 译者:kmyhy 对 VoIP App 开发者来说,iOS 的支持并不友好.尤其是它的通知发送这一块,太糙了.你 ...

  9. mysql数据库( 基础篇加破解)

    1.数据库(Database,DB)是按照数据结构来组织.存储和管理数据的,并且是建立在计算机存储设备上的仓库 2.什么是数据库:(用来存储数据的仓库) 数据库:(cs架构套接字) 数据库管理软件分类 ...

  10. JAVA视频链接

    Java基础Java马士兵:链接:https://pan.baidu.com/s/1jJRvxGi密码:v3xb Java刘意:链接:https://pan.baidu.com/s/1kVZQCqr密 ...