除了反汇编和反编译(伪代码)视图之外,IDA 还允许您查看程序指令和数据背后的实际原始字节。
这可以使用十六进制视图来实现,它是默认打开的视图之一(或在 View > Open subviews 菜单中可用)。
即使您以前使用过它,也可能有您不知道的功能。
同步
十六进制视图可以与反汇编视图(IDA 视图)或伪代码(反编译器)视图同步。此选项位于“Synchronize with”下的上下文菜单中。
还可以以相反的方向启用或禁用同步(即从 IDA 视图或伪代码窗口)。当它打开时,视图的光标会同步移动:更改一个视图中的位置会更新另一个视图中的位置。
高亮
十六进制视图中有两种类型的高亮显示:
-
文本匹配高亮显示,与我们在反汇编列表中看到的类似,在屏幕上的任何位置显示所选文本的匹配项。
-
当前项高亮显示构成当前项(即一条指令或一条数据)的字节组。这可以是跟踪指令操作码字节而不是反汇编选项的替代方法。
布局和数据格式
默认设置使用经典的 16 字节行,文本位于右侧。
您可以更改单个项目的格式以及每行的项目数量(固定计数或自动调整)。
文本选项
如有必要,可以隐藏十六进制转储右侧的文本区域或切换到其他编码。 ![[Pasted image 20240731203748.png]]
编辑(修补)
十六进制视图可用作修补程序菜单的替代方案。
要开始修补,只需按 F2,输入新值,然后再次按 F2 提交更改。(按 ESC 键取消编辑)
另一个优点是您可以以其本机格式(例如十进制或浮点)编辑值,或在文本区域中键入文本。
调试
默认调试桌面有两个十六进制视图,一个用于通用内存视图,一个用于堆栈视图(与堆栈指针同步)。
两者都是标准十六进制视图的变体,因此上述功能可用,但有一些附加功能仅在调试期间可用:
-
十六进制视图不仅可以与其他视图同步,还可以与寄存器的值同步。每当寄存器更改时,十六进制视图中的位置都会更新以匹配(只要它是有效地址)。
-
反汇编视图上下文菜单中的新命令允许在光标下的操作数地址处打开十六进制视图。
原文始发于微信公众号(二进制磨剑):IDA 技巧(38) Hex view
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论