您可能遇到过 “View”>“Hide”、“Unhide”菜单项,但可能从未使用过它们。
这些命令允许您隐藏、折叠和取消隐藏/展开 IDA 输出的部分内容。它们可用于以下情况:
隐藏指令或数据项
为了使您的数据库更加紧凑并减少混乱,您可以选择隐藏或用短文本替换列表的某些部分:
-
选择一些指令或数据项 -
调用“视图”>“隐藏”(或按 Ctrl+小键盘-) -
输入用于替换所选区域的文本(并可选择选择一种颜色)
指令/数据被输入的文本替换,但不会从数据库中删除;您可以使用“视图”>“取消隐藏”(或 Ctrl+Numpad+)来显示它们。
隐藏整个函数
当光标位于函数名称上时,您还可以使用隐藏命令来隐藏或折叠整个函数:
您可能已经看到 FLIRT 签名检测到的库函数的“COLLAPSED FUNCTION”文本(函数列表和导航栏中的青色)。
库函数的实际实现对于分析程序代码来说并不重要,因此, IDA 会折叠它们以免分散用户的注意力。
隐藏结构和枚举
结构或枚举定义可以像函数一样隐藏和展开。
简洁的结构表示
在数据中定义结构实例时,IDA 默认情况下会尝试以简洁的形式显示它们,所有内容都在一行上。
通过使用取消隐藏,您可以以完整或详细的形式打印它,每个字段位于单独的行上,并带有字段名称的注释。
相反,您可以使用隐藏将结构实例折叠为简洁形式(由于特定结构的布局,这在某些情况下可能不起作用)。
反编译器中的折叠块
反编译器也有类似但独立的一对操作。
它们可以在上下文菜单中或通过数字键盘-和数字键盘+热键使用。
您可以折叠复合运算符以及函数开头的变量声明块。
【点击查看所有技巧】
原文始发于微信公众号(二进制磨剑):IDA 技巧(31) Hiding and Collapsing
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论