IDA数据显示窗口
本章内容
了解控制器的重要性
编写基本视图控制器
利���表视图控制器
你已经能够自信地 将 二 进 制 文 件
加载到IDA中,一边喝着自己喜欢的饮料,一边让IDA发挥它的“魔力”。IDA完成初始分析后,该是你接管控制权的时候了。熟悉IDA显示的*佳方法是,浏览IDA用于显示二进制数据的各种带标签的子窗口。对IDA越熟悉,执行逆向工程任务的效率也越高。
在详细介绍IDA的主要子窗口之前,首先了解IDA用户界面的如下基本规则会有所帮助。
如果由于你不小心按下某个键,导致数据库文件发生意外,这时,你必须自己将显示窗口恢复到以前的状态。
记住,IDA的工具栏高度可配置,就像热键对菜单操作的映射一样IDA的工具栏高度可配置,就像热键对菜单操作的映射一样。
虽然这些菜单无法提供在某个位置允许执行的操作的详尽列表,但你可以用它们执行一些*常见的操作。
了解这些规则之后,下面开始介绍IDA主要的数据显示窗口。
5.1 IDA主要的数据显示窗口
在默认配置下,IDA(从6.1版开始)会在对新二进制文件的初始加载和分析阶段创建7个显示窗口。这些窗口全部可以通过导航带下方显示的一组标题标签访问(如图4-9所示)。3个立即可见的窗口分别为IDA-View窗口、函数窗口和消息输出窗口。无论这些窗口是否默认打开,我们在本章讨论的所有窗口都可通过View?Open
Subviews菜单打开。请记住这一点,因为你可能会经常无意中关闭IDA的显示窗口。
在IDA中,ESC键是一个非常有用的热键。在反汇编窗口中,ESC键的作用与Web浏览器的“后退”按钮类似,因此,它在导航反汇编窗口时非常有用(导航将在第6章详细介绍)。遗憾的是,在打开的其他窗口中,ESC键用于关闭窗口。有时候,你可能恰恰想要关闭窗口,但其他情况下,你可能希望立即重新打开刚刚关闭的窗口。
5.1.1 反汇编窗口
1. IDA图形视图
图5-1显示了图形视图中一个非常简单的函数。图形视图会让人联想到程序流程图,因为它将一个函数分解成许多基本块,以生动显示该函数由一个块到另一个块的控制流程。
图片(Alt+T)
图5-1 IDA图形视图
在屏幕上你会发现,IDA使用不同的彩色箭头区分函数块之间各种类型的流。根据测试条件,在条件跳转位置终止的基本块可能会生成两种流:Yes边的箭头(是的,执行分支)默认为绿色,No边的箭头(不,不执行分支)默认为红色。只有一个后继块的基本块会利用一个正常边(默认为蓝色)指向下一个即将执行的块。
代码清单5-1 控制表的创建方式和运行的3个方法
根据测试条件
在条件跳转位置终止的基本块可能会生成两种流:
注意 来源于希腊语是微小因此uP一般作为微处理器的缩写)来源于希腊语意思是微小(因此uP一般作为微处理器的缩写)。
……