这IDA怎么这么难用啊

这IDA怎么这么难

IDA简介:

  • 反汇编工具,它功能强大、操作复杂,要完全掌握它,需要很多知识。 说白了就是会用你就很了不起

IDA数据库文件

  • .id0文件:是一个二叉树形式的数据库。
  • .id1文件:包含描述每个程序字节的标记。
  • .nam文件:包含与IDA的Names窗口[3]中显示的给定程序位置有关的索引信息。
  • .til文件:用于存储与一个给定数据库的本地类型定义有关的信息。

IDA导航条

  • 蓝色:.text section
  • 深蓝:用户自己写的函数表以后的代码区
  • 浅蓝:编译器自己添加的函数,像启动函数,异常函数等
  • 粉红色:.idata section有关输入表的一些数据
  • 军绿色:.rata section纯数据,只读
  • 灰色:为了段对齐而留下的空隙
  • 黑色:禁区,不存在任何数据

IDA三个可视窗口

  1. IDA-View窗口
  2. 函数窗口
  3. 消息窗口
    在这里插入图片描述

IDA图形视图

  • 控制流程图
  • 基本块是一个不包含分支,从头执行到尾的最大指令序列
  • 红箭头:假,不执行分支
  • 绿箭头:真,执行分支
文本视图
  • 虚拟地址:以[区域名称]:[虚拟地址]这种格式显示,如text:004011C1
    在这里插入图片描述
函数窗口

对应列:(可通过help搜索functions window查找)

  • R - function returns to the caller// 函数返回给调用者
  • F - far function 被远程调用的函数
  • L - library function // 库函数
  • S - static function // 静态函数
  • B - BP based frame. IDA will automatically convert //并使用EBP寄存器(B)引用它的局部变量
  • T - function has type information
  • 双击Functions窗口中的一个条目,反汇编窗口将跳转到选定函数所在的位置(反汇编窗口会自动打开)
十六进制窗口

十六进制窗口

  • 对应Views▶Open Subviews▶Hex dump,十六进制窗口可以配置为显示各种格式,并可作为十六进制编辑器使用,和在反汇编窗口中一样,可以同时打开几个十六进制窗口。第一个叫做Hex View-A,第二个叫做Hex View-B,依次类推。

同步关联:

  • 默认情况下,第一个十六进制窗口会与第一个反汇编窗口同步,你也可以通过在任一窗口中右击选击Synchronize

  • 同步后,在一个窗口中滚动鼠标,另一个窗口也会滚动到相同的位置(同一个虚拟地址),选中地址会高亮

编辑:

  • 右击菜单,选择Edit菜单项(F2)可将十六进制窗口转变为编辑器,这时可以自由编辑,完成编辑后,你必须提交或取消更改才能返回查看模式(F2保存,ESC撤消)
Names窗口
  • 它简要列举了一个二进制文件的所有全局名称。

  • 名称是指对一个程序虚拟地址的符号描述。在最初加载文件的过程中,IDA会根据符号表和签名分析派生出名称列表。双击Names窗口中的名称,可立即跳转到显示该名称的反汇编视图。

  • Names窗口中显示的名称采用了颜色和字母编码:

  1. F,常规函数。IDA认为这些函数不属于库函数。

  2. L,库函数。IDA通过签名匹配算法来识别库函数。如果某个库函数的签名并不存在,则该函数将被标记为常规函数。

  3. I,导入的名称,通常为共享库导入的函数名称。它与库函数的区别在于:导入的名称没有代码,而库函数的主体将在反汇编代码清单中显示。

  4. C,命名代码。这些是已命名的程序指令位置,IDA认为它们不属于任何函数。当IDA在程序的符号表中找到一个名称,但没发现对程序位置的任何调用时,就会出现这种情况。

  5. D,数据。已命名数据的位置通常表示全局变量。

  6. A,字符串数据。这是一个被引用的数据位置,其中包含的一串字符符合IDA的某种已知的字符串数据类型,如以’\0’字节结束的ASCIIC 字符串。

查看程序中的所有字符串

在这里插入图片描述

  • 快捷键:shift+F12

添加注释

  • enter+冒号可以添加注释

基本设置

在这里插入图片描述

IDA桌面提示小技巧

  • 使用 View -> Open Subviews 命令恢复无意中关闭的数据显示窗口

  • 使用 Windows -> Reset Desktop 命令可迅速将桌面恢复到原始布局

  • 使用 Windows -> Save Desktop 命令保存当前的桌面布局

  • 用 Windows -> Load Desktop 命令打开之前保存的一个桌面布局

  • Disassembly 窗口(无论是图形视图或列表视图)是唯一一个可以修改其显示字体的窗口,使用 Options -> Font 命令可以设置字体

结束语

  • 是不是脑袋瓜子嗡嗡作响了哈哈哈,不着急,满满学习吧
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值