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 ...
随机推荐
- iptables(一)iptables概念
为什么想写这个系列呢?openstack中的安全组.防火墙都是用iptables实现,后面的规则我们如果想要完全理解,不懂iptables的话,或者不精通iptables的话,会看的比较吃力.所以下定 ...
- 更新增加一个门店ID字段的值
MYSQL因为不能查询一张表时同时更新一张表,同时又会有子查询大于等于一条的情况出现. 分两种情况: 1 直接JOIN 得到一张表. 然后导出做筛选 CREATE TABLE TEST SELECT ...
- 【hive】函数大全
数学函数 Return Type Name (Signature) Description DOUBLE round(DOUBLE a) Returns the rounded BIGINT valu ...
- MySQL 实践
一.下载MySQL 1.mysql-noinstall-5.1.73-win32.zip 2.mysql-connector-net-6.8.3.msi 二.安装MySQL 三.连接MySQL 1.A ...
- Zip 压缩
ICSharpCode.SharpZipLib.dll using ICSharpCode.SharpZipLib.Zip; string[] filenames = Directory.GetFil ...
- Huffman编码实现文件的压缩与解压缩。
以前没事的时候写的,c++写的,原理很简单,代码如下: #include <cstdio> #include <cstdlib> #include <iostream&g ...
- LeetCode OJ:Majority Element II(主元素II)
Given an integer array of size n, find all elements that appear more than ⌊ n/3 ⌋ times. The algorit ...
- kibana查询语法
单项term查询 例: 搜 Dahlen, Malone 字段field查询 field:value 例:city:Keyport, age:26 通配符 ? 匹配单个字符 例: H?b ...
- 初识Linux(四)--系统常用命令
这里记录一下基础的系统常用命令,都是日常可能用到的,需要记住的一些命令.主要分为5个模块:关于时间,输出/查看,关机/重启,压缩归档和查找. 时间: date :查看设置当前系统时间,dat ...
- 【数据库】python访问mysql
import MySQLdb 所有的数据库遵循相同的python database API 需要建立connection对象连接数据库,之后建立cursor对象处理数据. conn = MySQLdb ...