交叉引用视图
当您有少量交叉引用时,“jump to xref” 操作就足够了,但如果您有数百或数千个交叉引用怎么办?
对于这种情况,交叉引用视图可能很有用。
您可以使用 View > Open Subviews 菜单中的相应项目打开它。IDA 将收集对当前反汇编地址的交叉引用并将其显示在单独的选项卡中,甚至可以同时打开多个此类视图(针对不同的地址)。
添加交叉引用
在某些情况下,您可能需要添加手动交叉引用,例如修复混淆函数的控制流图或添加来自调试发现的间接调用指令的调用交叉引用。有几种方法可以做到这一点。
-
在“交叉引用”视图中,从上下文菜单中选择“Add cross-reference…”或按 Ins。在对话框中,输入源地址和目标地址以及交叉引用类型。
-
对于 PC (x86/x64)、ARM 或 MIPS 处理器的二进制文件中的间接调用,您可以使用 Edit > Plugins > Set callee address (Alt–F11)
-
IDC 或 IDAPython 脚本也能修改交叉引用信息。
add_cref
和add_dref
函数,使用XREF_USER
标志位与其它交叉引用类型标志位来保证你添加的交叉引用不会在 IDA 重新分析的时候删除。
add_cref(0x100897E8, 0x100907C0, fl_CN|XREF_USER)
add_dref(0x100A65CC, 0x100897E0, dr_O|XREF_USER)
原文始发于微信公众号(二进制磨剑):IDA 技巧(17)交叉引用视图
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论