IDA使用之旅(二)工具及窗口的使用

转载请标明是引用于 http://blog.csdn.net/chenyujing1234 

欢迎大家拍砖!

 

本系列内容是我根据“知其所以然论坛”博主录制的学习视频,做的笔记。

一、主要窗口

1、显示函数调用图表

显示函数调用图表:

 

2、显示当前函数的流程图

 

 

 

3、窗口管理。

可以打开自己无意关闭的窗口,可以增加查看的标签选项:

或者重设窗口: 窗口->重设窗口

或者对好的窗口布局进行保存:窗口->保存

 

4、查看

选项->常规

5、数据窗口

包括String和Names

6、交叉引用

在出现XREF 的地方就是有交叉引用(如下图);

而在XREF后面的向上箭头,双击它可以跳到它跳转的地方(如下图);

 

 7、IDA不支持撤销功能。

8、

Ctrl+滚轮实现浏览的放大和缩小。

 9、看懂图形概况图

如下图所示,绿色箭头表jz short loc_1305B指令成立时,跳到下面;

红色的方向箭头表示不成立时的执行方向;(红色其实是没有被执行的。)

蓝色是指指向下一个立即执行块。

(注意跳转后的地址也是loc_1305B,说明上一块的结束地址就是下一块的开始地址)。

 

 

10、看懂代码中的地址

 

11、添加注释

Enter+冒号 可以添加注释:

 

 

12、名字窗口中表示的类别

F:可能是导入函数,也可能是自己写的函数;

I:导入函数;(I 类型的也可能是自己写的),eg:


A:字符串;

L:库函数;

D:全局的命令代码;

 

13、函数中出现的标识含义

Sub_XXXXXX  

子程序
loc_xxxxxx

地址
byte_xxxxxx

8位数据
word_xxxxxx

16位数据
dword_xxxxxx
unk_xxxxxx

未知的

二、次要窗口

1、

 IDA View-A窗口与 Hex View-A窗口,一个是主要窗口一个是次要窗口,

它们其实是同步的,即选中其中一个窗口另一窗口位置也会发生变化。

设置上述功能是在此Hex View-A中右击:

 

2、导出窗口

里面列出来的函数就是此文件的入口点。它是导出给用户使用的接口,通常是用户的共享库。

双击其中函数,会跳到反编译窗口的中位置。

可以对这里的函数设置断点:

3、导入函数

从系统中导入的函数。如下图表DbgPrint从ntoskrnl导出的。

如果双击函数,可以看到它调用到了反编译窗口中的idata部分:

由于IDA是静态的工具,而ntoskrnl是静态库,所以能相入;如果遇到从DLL导入的名字,可能会出现乱码。

 -------------------------------

注意:Exports窗口只能列出此EXE或DLL通过.lib链接到的库的接口:


4、函数窗口

窗口中的函数的属性中的R,表采用EBP寄存器。我们以DbgPrint中的R属性为例,双击它跑到反汇编的地方是有 ebp的。

5、结构体窗口

双击可以查看到结构的成员。

 

6、枚举窗口

类似于结构体类型。

 

 

三、其它窗口

1、Segmentation

 

2、标签

因为我们的驱动是DDK编译的,没识别也是正常的。

IDA通过签名库来支持代码块,签名是用于识别编译器生成的代码的启动顺序,以确定结构能给二进制编译器;

也可以将代码规划,由编译器的插件插入已知库,在IDA识别你认识的库时,会更多地将精力放在IDA无法识别的库。

3、类型库

IDA可以从头文件中了解到结构的大小和布局,所有的信息都收集在til文件

如果要让IDA加入其他库和头文件,那么在Type Libraries中按"Insert"键来加入。

4、函数调用窗口

打开函数调用窗口时,IDA会显示光标所在的函数的邻近,且生成一结图。

红色为被调用的函数。

5、问题窗口

这个窗口也少用到。

显示在二进制遇到的一些困难,虽然反汇编最简单的二进制文件也是困难的。

如上图所示表示:dd 6Dh dup(0) 这条指令,IDA它不知道,需要你来分析,它发生的地址是INIT:0001404C。

 

 

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值