freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

【原创】Ghidra——主要窗口Listing View介绍
2021-12-31 11:48:21

前言

工具默认界面显示着几个默认的窗口。本次我们介绍位于界面中间最大的窗口,也是CodeBrowser中的主要窗口,Listing View。

一、Listing View介绍

Listing View,通常称为【陈列窗口】,是陈列项目程序指令和数据,并且与其交互的主要窗口。在下面的图中,陈列窗口展示了程序的一部分。

陈列窗口主要显示地址、字节、算子、助记符等信息。不过Browser Field Formatter改变陈列窗口的整体结构。该视窗默认显示整个程序的信息,而大多数应用情景下视窗会大于屏幕大小,我们可以使用滚动条或者鼠标滚轮来进行视窗的上下移动。

另外,其他的Ghidra组件来将视窗展示内容限制在程序的某一个部分上。比如说,我们可以在Program Trees窗口中双击选中.rodata,即只读数据,这时陈列窗口便只显示.rodata段的内容了。

二、光标与选择

尽管陈列窗口不会对程序进行更改,它对于其他插件却非常重要。陈列窗口中一直保持着一个光标的位置,陈列窗口中的光标可以定位一个特定的地址。比如,我们将光标放置于main函数中的一个位置

之后点击Windows→Function Graph,我们就能够看到main函数的图形化展示了。

光标可以通过任意方向键,或者鼠标点击来进行移动。

此外,部分插件作用于一个范围内的地址,所以我们还需要用到陈列窗口内的选择功能。我们可以按住鼠标左键拖动鼠标来进行选择,也可以在按住Shift按键的同时用方向键移动光标。

如果一段地址未被选中,按住Ctrl键并选中该段地址,可以将其添加到当前的选中范围中。反之,则可以将其从当前的选中范围中删除。

我们可以将选中的部分高亮显示。选中之后,右键点击,选择Program Highlight→Entire Selection,或者选中之后直接使用快捷键(Ctrl+H),便可以高亮显示该部分。

之后在同一个菜单下,我们也可以取消高亮显示的效果。

或者用鼠标中键点击一个区域,这样能高亮所选的文本,并且所有相同的文本都会被高亮显示。譬如说,我们中键点击一个MOV指令,我们会发现,所有的MOV指令都被高亮显示了。只有大小写、所有字符都与选中的文本相同才会被该功能匹配。

三、导向

陈列窗口具备强大的导向功能。两种方式双击地址或者标签来实现导向。如果想要前往的地址在程序内却不在当前视窗内,当前的视窗会延伸并涵盖至目标地址。

四、标记

Markers,我们称之为标记,指示着程序中一些特殊的位置。这些位置可以是用户自己添加的(Bookmarks),也可以是某些Ghidra插件添加的。标记分为两种显示方式:边缘标记(Margin Marker)和导向标记(Navigation Marker)。

想要手动添加书签(Bookmarks)的话,我们可以将光标移动到指定位置,也可以选中一段地址,之后在右键菜单内点击Bookmark,或者使用快捷键Ctrl+D。

边缘标记

边缘标记位于陈列窗口的左侧,在当前展示的代码中指示位置。指示的位置可以是一个地址,也可以是一段地址。下图红框中标出的部分,便是边缘标记。

导向标记

导向标记位于陈列窗口的右边。边缘标记只有处在展示的代码段中才会显示,而导向标记则会一直显示着当前整个视窗内所有的标记。因此,我们可以轻松地利用导向标记来在程序中进行导向。左键单击导向标记,陈列窗口中便会定位至标记的位置。

显示导向标记的区域竖直地分成两个部分,左边显示点标记,即是一个单独地址的标记。右半边显示区域标记,即是一段地址的标记。此外,我们还可以通过右键点击导向标记显示的区域来自定义显示的内容。

五、流程箭头

陈列窗口中的流程箭头图形化地展示了函数内的流程。Jump类指令的起点与终点都被用箭头连接了起来。有条件的跳转用虚线显示,而无条件的跳转用实线显示。

我们可以利用流程箭头来导向,双击一个流程箭头便可以导向至该跳转的终点。如果我们的光标已经在终点的地址,双击流程箭头便可以导向至起点。

六、鼠标悬浮

陈列窗口还提供了悬浮窗口,当鼠标悬浮在有额外信息的区域上时,悬浮窗口会自动出现。悬浮窗口让我们在不重定位显示窗口的前提下,能够看到想要的信息。

比如,我们将鼠标悬浮于地址之上,就会出现一个显示偏移的悬浮窗口。

此外,悬浮窗口还作用于【内存引用】、【缩略文本】、【数据类型】、【函数名】以及【数量】上。

联系方式:2250126767@qq.com




本文作者:, 转载请注明来自FreeBuf.COM

# 逆向分析 # 逆向工具
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
评论 按热度排序

登录/注册后在FreeBuf发布内容哦

相关推荐
\
  • 0 文章数
  • 0 评论数
  • 0 关注者
文章目录
登录 / 注册后在FreeBuf发布内容哦
收入专辑