梦幻的彼岸 发表于 2024-4-15 13:35:28

[IDA使用技巧]#017: 交叉引用 2

翻译:梦幻的彼岸原文地址: https://hex-rays.com/blog/igor-tip-of-the-week-17-cross-references-2/交叉引用视图当你只有少量交叉引用时,跳转到 xref操作已经足够好了,但如果你有成百上千个交叉引用呢?在这种情况下,交叉引用视图可能会很有用。您可以使用 "视图">"打开子视图 "菜单中的相应项目打开它。IDA 将收集当前拆解地址的交叉引用,并在单独的选项卡中显示。甚至可以同时打开多个此类视图(针对不同的地址)。https://www.hex-rays.com/wp-content/uploads/2020/11/xrefs_view.png添加交叉引用在某些情况下,您可能需要手动添加交叉引用,例如修复被混淆函数的控制流图,或添加调试时发现的间接调用指令的调用交叉引用。有几种方法可以做到这一点。
[*]在交叉引用视图中,从上下文菜单中选择 "添加交叉引用... "或按 Ins 键。 在对话框中输入源地址和目标地址以及 xref 类型。
https://www.hex-rays.com/wp-content/uploads/2020/11/xrefs_add.png
[*] 对于PC(x86/x64)、ARM 或MIPS处理器二进制文件中的间接调用,可以使用 "Edit > Plugins > Set callee address"(Alt + F11)。
https://www.hex-rays.com/wp-content/uploads/2020/11/xrefs_callee-300x168.png
[*]要以编程方式添加交叉引用,请使用 IDC 或 IDAPython 函数 add_cref和add_dref。使用XREF_USER标志和 xref 类型可确保 IDA 在重新分析时不会删除交叉引用:
add_cref(0x100897E8, 0x100907C0, fl_CN|XREF_USER)
add_dref(0x100A65CC, 0x100897E0, dr_O|XREF_USER)

页: [1]
查看完整版本: [IDA使用技巧]#017: 交叉引用 2