为了说明我的意思:
此呼叫未显示给我指向的位置:
CODE:004A3F07 00C call dword ptr [edx+28h]
我添加的外部参照显示了链接: >
CODE:004A3390 DecryptMemory proc near ; CODE XREF: sub_4A3EC0:loc_4A3F07 P
是否可以使IDA在两个地址上显示引用?我知道我也可以在那里创建一个手动外部参照,但是IDA也可以创建一个标签,这在重新注册时会有些混乱。我试图删除标签,但这也不起作用(可能吗?)。
#1 楼
IDA不会像您声明的那样在源头自动显示外部参照的存在。在大多数情况下,这不是必需的,因为目的地通常是作为指令或数据项的一部分打印的。但是,对于已解决的间接调用,处理器模块可能会显示注释以帮助用户。对于某些处理器(包括x86),您可以使用“更改被呼叫者地址”插件(Alt + F11)手动设置间接呼叫的目的地。它同时添加了外部参照,并使处理器模块打印自动注释。
评论
相反,我并没有声称自己没有这样做。 ;)不过,我尝试使用Alt-F11提出您的建议,看看是否有帮助。谢谢。
– Devolus
13-10-21在6:25
另外,该命令还注释了函数参数。是否可以通过编程方式呼叫被叫方?
–Trass3r
10月4日20:22
#2 楼
您可以在004A3F07中创建提及“ 004A3390”的自由格式注释。在IDA Pro中,可以单击任何与有效参考遥遥相似的内容。双击评论中的004A3390将带您到该位置。评论
是的,但是如果更改名称,它将不会更新,并且现在在目标中显示为XREF。我现在将此作为解决方法,分别。手动在两边添加XREF。
– Devolus
13-10-22在10:20
评论
您是否尝试过以其他方式添加外部参照?是。这就是为什么我说要分配标签。问题在于,在这种情况下,标签很容易混淆,因为看起来好像这是一个跳跃目标,但事实并非如此。我想它总比没有好,但是我虽然XREF可以双向工作,而不只是一个方向。
除了fl_CN外部参照之外,只需创建如下注释:gist.github.com/OALabs/…
没错,添加后向引用将在呼叫现场创建装配体标签。有趣的是,它不接受fl_F外部参照。