局部交叉引用
最常见的快捷方式 (X) 的工作方式与反汇编类似:您可以在标签、变量(局部和全局)、函数名称上使用它,但有一些区别和补充:
-
对于局部变量,交叉引用的列表显示了伪代码行,而不是反汇编片段。
-
如果你在一个 C 语言关键字(if、while、..)上按下 X 键,所有当前函数中相同语句类型的代码都会显示在交叉引用列表
全局交叉引用
如果您有一个经过充分分析的数据库,其中包含程序使用的自定义类型并正确设置了函数原型,您可以要求反编译器分析所有函数并构建对结构字段、枚举成员或整个本地类型的交叉引用列表。默认热键是 Ctrl–Alt–X。
简单说,就是可以查找某个结构体的字段在什么地方被访问或修改,前提是已经创建了结构体并且相关类型已经正确设置成该结构体,这样就能快速查找结构体偏移引用位置。
当您第一次使用它时,该列表可能为空或仅包含最近反编译的函数。
要覆盖所有函数,请从上下文菜单或按 Ctrl-U 刷新列表。这将反编译数据库中的所有函数并收集完整的列表。反编译结果会被缓存,因此下次使用该功能时速度会更快。
原文始发于微信公众号(二进制磨剑):IDA 技巧(18) 结构体的全局交叉引用
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论