IDA Hex-Rays:如何查找对数据类型所有实例的特定字段的所有引用?

逆向工程 艾达 六线谱
2021-06-25 09:53:33

这个问题已经被问过here但由于某种原因它被删除了,因为“死了”。

我会尝试再次解释。我有一个特定的数据类型。它被用于大量的反汇编函数中。此类型具有用途未知的字段。我需要在整个应用程序中找到对该字段的所有引用。

我可以相信@Biswapriyo,这种行为是设计使然,我找不到数据类型字段的外部参照。好的,我知道了。现在我需要找到一种方法来做到这一点!:)

也许有任何插件?我不明白为什么这会很困难,因为要执行此操作,生成一个 .c 文件就足够了,在记事本中打开它并按 Ctrl+F。我希望这个功能在 IDA Hex-Rays 中。

2个回答

IDA 确实支持结构成员交叉引用:它会在反汇编列表中的任何地方向您显示指令操作数已经应用了特定的结构引用。看这张图:IDA 结构交叉引用

但是,这仅在该结构已应用于汇编语言级别时才有效。一般来说,在 Hex-Rays 中更改变量的类型不会导致创建结构交叉引用。就个人而言,我认为这应该是标准行为。

尽管如此,还是有一个名为Referee的 Hex-Rays 插件,它会根据 Hex-Rays 类型自动添加程序集级结构引用。还有一个IDAPython 端口的 Referee在撰写本文时,C++ 和 IDAPython 版本均未移植到最新的 IDA 7.x SDK。

(因为我无法添加评论,因为声誉)我将裁判的 IDAPython 版本移植到 IDA 7.x(目前在 7.5 上工作良好)存储库在这里