IDA技巧(97)cross-reference-depth

admin 2025年1月6日19:04:29评论11 views字数 651阅读2分10秒阅读模式

交叉引用深度

我们之前介绍过交叉引用的基本用法,但在某些情况下,它们可能不会如您所期望的那样表现。

访问大型数据项

如果有一个大型结构体或数组,代码在其中深层次地读取或写入数据,您可能不会在结构体定义中看到来自该代码的交叉引用。

示例

例如,在Microsoft CRT函数__report_gsfailure中,有对ContextRecord变量(一个_CONTEXT结构体实例)的字段_Rip_Rsp的写入,但如果我们检查ContextRecord的交叉引用,我们不会看到这些写入被列出。

IDA技巧(97)cross-reference-depth

这是因为这些字段距离结构体的起始位置较远(偏移量为0x980xF8)。

IDA技巧(97)cross-reference-depth

作为一种速度优化,IDA仅检查对大型数据项的直接访问,深度有限。默认值是16(0x10),因此任何超出该偏移量的访问将不会显示。可以通过选项 > 常规… 交叉引用选项卡更改当前数据库的值。

IDA技巧(97)cross-reference-depth

例如,将其设置为256后,对_Rip_Rsp的访问在ContextRecord的交叉引用中显示出来:

IDA技巧(97)cross-reference-depth

要更改所有新数据库的限制,请在ida.cfg中更改参数MAX_TAIL

学习资源

立即关注【二进制磨剑】公众号

👉👉👉【IDA 技巧合集】👈👈👈
👉👉👉【Github 安全项目合集】👈👈👈
学习零基础学习 IDA 逆向
【课程完结!内容揭秘!】7 天打造 IDA 9.0 大师:从零基础到逆向精英
🔥🔥🔥 第二期 Android 内核逆向🔥🔥🔥🔥
【课程完结!内容揭秘】第 2 期-Android 逆向内核攻防

原文始发于微信公众号(二进制磨剑):IDA技巧(97)cross-reference-depth

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月6日19:04:29
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   IDA技巧(97)cross-reference-depthhttps://cn-sec.com/archives/3596826.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息