梦幻的彼岸 发表于 2024-4-15 13:36:32

[IDA使用技巧]#018: 反编译器和全局交叉引用

翻译:梦幻的彼岸原文地址:https://hex-rays.com/blog/igors-tip-of-the-week-18-decompiler-and-global-cross-references/
前面我们介绍了反汇编视图中的交叉引用,但事实上,你也可以在反编译器(伪代码)视图中查阅交叉引用。本地交叉引用最常用的快捷键 (X) 与反汇编的工作原理类似:可用于标签、变量(局部和全局)、函数名,但也有一些不同之处和新增功能:对于局部变量,交叉引用列表显示的是伪代码行,而不是反汇编片段。https://www.hex-rays.com/wp-content/uploads/2020/12/xrefs_lvar.png如果在 C 语句关键字(如if、while、return)上按 X 键,将显示当前函数中所有相同类型的语句https://www.hex-rays.com/wp-content/uploads/2020/12/xrefs_if.png全局交叉引用
如果您有一个经过良好分析的数据库,其中包含程序使用的自定义类型,并正确设置了函数原型,那么您可以要求反编译器分析所有函数,并建立与结构字段、枚举成员或整个本地类型的交叉引用列表。默认热键是 Ctrl-Alt-X。
第一次使用时,列表可能是空的,或者只包括最近反编译过的函数。
https://www.hex-rays.com/wp-content/uploads/2020/12/xrefs_global0.png要涵盖所有函数,请从上下文菜单或按 Ctrl + U 键刷新列表。这将反编译数据库中的所有函数,并收集完整列表。反编译结果会被缓存,因此下次使用该功能时速度会更快。https://www.hex-rays.com/wp-content/uploads/2020/12/xrefs_global.png
页: [1]
查看完整版本: [IDA使用技巧]#018: 反编译器和全局交叉引用