在反编译器中处理大型函数时,临时隐藏部分伪代码以分析其余部分可能会很有用。虽然目前无法像在反汇编中那样隐藏任意行,但你可以隐藏特定部分。
折叠局部变量声明
局部变量声明有助于查看栈帧的整体布局和其他有趣信息,但在大型函数中,它们可能占用大量宝贵的屏幕空间。要将它们移开,可以使用上下文菜单中的“折叠声明...”或数字键盘上的-键。
这会将声明替换为一行注释。要再次显示它们,请使用“展开声明...”或数字键盘上的+键。
要始终默认折叠声明,请在cfg/hexrays.cfg
中设置COLLAPSE_LVARS选项。
折叠语句
复合语句也可以折叠:if
和switch
语句,以及for
、while
和do
循环。这可以通过“折叠项目”上下文菜单命令或相同的数字键盘-快捷键来完成。
折叠后,整个语句被替换为带有关键字和省略号的一行:
并可以从上下文菜单或数字键盘+键再次展开。
你可以使用这种方法逐步隐藏已分析的代码,逐段处理长函数。
学习资源
立即关注【二进制磨剑】公众号
原文始发于微信公众号(二进制磨剑):IDA技巧(100)折叠伪代码
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论