Ghidra数据显示与操作全解析
1. Listing窗口关键元素
1.1 边距标记
Listing窗口最左侧的灰色条带是边距标记,用于指示当前在文件中的位置,包含点标记和区域标记。例如,当前文件位置(004011b6)由边距标记中的小黑箭头指示。
1.2 非线性流图示
边距标记右侧区域用于图形化描绘函数内的非线性流。当控制流指令的源地址或目标地址在Listing窗口中可见时,会出现相关的流箭头。实线箭头表示无条件跳转,虚线箭头表示条件跳转。将鼠标悬停在流线上会弹出工具提示,显示流的起始和结束地址以及流的类型。当跳转(条件或无条件)将控制转移到程序中较早的地址时,通常表示存在循环,如从地址004011cf到004011c5的流箭头所示。双击相关流箭头可轻松导航到任何跳转的源或目标。
1.3 栈帧声明
图中顶部的声明展示了对函数栈帧布局的最佳估计。通过对函数内栈指针和任何栈帧指针的行为进行详细分析来计算函数栈帧(局部变量)的结构。
1.4 交叉引用
Listing通常有许多数据和代码交叉引用,由XREF表示。当反汇编中的一个位置引用另一个位置时,会创建交叉引用。例如,地址A处的指令跳转到地址B处的指令会导致从A到B的交叉引用。将鼠标悬停在引用地址上会弹出一个引用窗口,显示引用位置。该窗口布局与Listing窗口相同,但背景为黄色,可查看内容但不能跟随引用。
1.5 创建额外的反汇编窗口
若想同时查看两个函数的列表,可使用Listing工具栏中的快照图标打开另一个反汇编窗口。第一个打开的反汇编窗口在文件名前有“Listing:
超级会员免费看
订阅专栏 解锁全文
91

被折叠的 条评论
为什么被折叠?



