IDA Pro 权威指南学习笔记(二) - IDA 数据库文件
生成数据库文件
把要分析的文件用 IDA 打开后,会生成 3 个数据库文件

扩展名分别为 .id0,id1,nam
.id0 文件是一个二叉树形式的数据库
.id1 文件包含描述每个程序字节的标记
.nam 文件包含与 IDA 的 Names 窗口中显示的给定程序位置有关的索引信息

点击 OK 后,将会生成一个 .til 文件
.til 文件用于存储与一个给定数据库的本地类型定义有关的信息
在关闭当前项目时,生成的数据库文件将被存档,可以将它们压缩成一个扩展名为 idb 的文件
IDA 数据库指的是 IDB 文件
一个未压缩的数据库文件的大小一般是最初输入的二进制文件的 10 倍
如果工作目录中存在这些文件,则往往表示数据库被意外关闭(例如,IDA崩溃),这时数据库可能被损坏
一旦 IDA 为某个可执行文件创建数据库,它就不再需要访问这个可执行文件
关闭 IDA 数据库
如果关闭一个数据库,无论是完全关闭 IDA,还是切换到另一个数据库,IDA 都将显示一个 Save database(保存数据库)对话框

Don’t pack database(不打包数据库),这个选项仅仅刷新对 4 个数据库组件文件所做的更改,在关闭桌面前并不创建 IDB 文件
Pack database(Store)[打包数据库(存储)],选择该选项会将 4 个数据库组件文件存到一个 IDB 文件中,然后这 4 个数据库文件会被删除,Store 选项不使用压缩
Pack database(Deflate)[打包数据库(压缩)],Deflate 选项等同于 Store 选项,其唯一的差别在于数据库组件文件被压缩到 IDB 归档文件中
Collect garbage(收集垃圾),如果勾选该选项,IDA 会在关闭数据库之前,从数据库中删除任何没有用的内存页面
在选择这个选项的同时,选择 Deflate选项可创建尽可能小的 IDB文件
通常,只有在磁盘空间不足时才选择这个选项
DON’T SAVE the datebase(不保存数据库),选择这个选项时,IDA 会删除 4 个数据库组件文件,保留现有的未经修改的 IDB 文件
使用这个选项类似于在使用 IDA 时应用了撤销或还原功能
IDA Pro 权威指南学习笔记(二) - IDA 数据库文件的更多相关文章
- IDA Pro 权威指南学习笔记(五) - IDA 主要的数据显示窗口
在默认配置下,IDA(从 6.1 版开始)会在对新二进制文件的初始加载和分析阶段创建 7 个显示窗口 3 个立即可见的窗口分别为 IDA-View 窗口.函数窗口和消息输出窗口 可以通过 View - ...
- IDA Pro 权威指南学习笔记(四) - IDA 用户界面的基本规则
基本规则: IDA 不提供撤销功能 如果由于不小心按下某个键,导致数据库文件发生意外,这时需要将显示窗口恢复到以前的状态 几乎所有的操作都有其对应的菜单项.热键和工具栏按钮 IDA 的工具栏高度可配置 ...
- IDA Pro 权威指南学习笔记(三) - IDA 桌面简介
IDA 的默认桌面如下图 工具栏区域(1)包含与 IDA 的常用操作对应的工具,可以使用 View -> Toolbar 显示或隐藏工具栏 可以使用 View -> Toolbars -& ...
- IDA Pro权威指南学习笔记(一)
一直不懂逆向,最近刚好不忙,于是学习逆向,用来做笔记,顺便和大家分享交流. 参考书籍<IAD PRO权威指南> 工具: PETools: ETools 是另一款很好的PE文件编辑工具,以前 ...
- IDA Pro 权威指南学习笔记(七) - 其他 IDA 显示窗口
默认情况下 IDA 不会打开这些窗口,可通过 View -> Open Subviews 命令打开 Strings 窗口(Strings) Strings 窗口中显示的是从二进制文件中提取出的一 ...
- IDA Pro 权威指南学习笔记(一) - 启动 IDA
启动 IDA 启动 IDA,有一个欢迎界面 之后有一个对话框 选择 New 将启动一个对话框来选择将要分析的文件 选择 Go 将使 IDA 打开一个空白的工作区 如果要选择分析的文件,可以直接拖到 I ...
- IDA Pro 权威指南学习笔记(十二) - IDA 中的注释
注释有助于以一种更高级的方式描述汇编语言指令序列 IDA 提供了几种不同类型的注释,每种注释适用于不同的目的 使用 Edit -> Comments 命令的选项,可以为反汇编代码清单中的任何一行 ...
- IDA Pro 权威指南学习笔记(十四) - 操纵函数
IDA 无法定位一个函数调用,由于没有直接的方法到达函数,IDA 将无法识别它们 IDA 可能无法正确确定函数的结束部分,需要手动干预,以更正反汇编代码中的错误 如果编译器已经将函数分割到几个地址范围 ...
- IDA Pro 权威指南学习笔记(十三) - 基本代码转换
IDA提供的代码转换包括: 1.将数据转换为代码 2.将代码转换为数据 3.指定一个指令序列为函数 4.更改现有函数的起始或结束地址 5.更改指令操作数的显示格式 代码显示选项 通过 Options ...
随机推荐
- python 爬虫002-http与urllib2
urllib2 GET https://www.oschina.net/home/login #!/usr/bin/env python # -*- coding: utf-8 -*- import ...
- InnoDB存储引擎的B+树索引算法
关于B+树数据结构 ①InnoDB存储引擎支持两种常见的索引. 一种是B+树,一种是哈希. B+树中的B代表的意思不是二叉(binary),而是平衡(balance),因为B+树最早是从平衡二叉树演化 ...
- Makefile的补充学习2
Makefile中使用通配符(1)* 若干个任意字符(2)? 1个任意字符(3)[] 将[]中的字符依次去和外面的结合匹配 还有个%,也是通配符,表示任意多个字符,和*很相似,但是%一般只用于规则描述 ...
- MongoDB 高可用集群架构简介
在大数据的时代,传统的关系型数据库要能更高的服务必须要解决高并发读写.海量数据高效存储.高可扩展性和高可用性这些难题.不过就是因为这些问题Nosql诞生了. 转载自严澜的博文——<如何搭建高效的 ...
- 条款5.了解c++默默编写并且调用了哪些函数。
如果想在一个内含reference成员的class内支持赋值操作,必须自己定义copy assignment操作符.而且面对“内含有const成员的”class,编译器的反应也是相同的,由于更改con ...
- react use simditor
1.install simditor 2.import simditor && scss import $ from "jquery" import Simdito ...
- SVN的搭建及使用(三)用TortoiseSVN修改文件,添加文件,删除文件,以及如何解决冲突,重新设置用户名和密码等
添加文件 在检出的工作副本中添加一个Readme.txt文本文件,这时候这个文本文件会显示为没有版本控制的状态,如图: 这时候,你需要告知TortoiseSVN你的操作,如图: 加入以后,你的文件会变 ...
- Linux 下spark安装
一.安装前提: 1.java环境(jdk1.8) 2.scala环境(2.0) 3.python 环境(3.5) :注如果使用pyspark的话,这个才是必须的. 二.spark安装 在官网下载安装 ...
- asp.net viewstate 数据大导致错误
当在ViewState中放入dataSet的数据量比较大的时候,当再点页面上的控件时,不会返回到后台,并且会出现如下错误: 或者是上面的12030改成500的错误. --解决方法:Viewstate绑 ...
- restful规则
参考连接:https://blog.igevin.info/posts/restful-api-get-started-to-write/#url_rules https://juejin.im/po ...