我开始研究一个插件,当函数名称匹配时,将符号(堆栈变量名称、操作数名称、注释等)从一个数据库中的函数移植到另一个数据库中的函数。
我越来越熟悉 IDA api,现在我无法找到如何在 IDA Python 中获取操作数的自定义名称。
现在我只想能够打印我想要的信息,我想打印操作数名称:未定义自定义名称时的正常名称,以及为操作数设置自定义名称时的自定义名称(Alt+ F1 快捷键默认)。
这是我为我的主要功能想到的:
import idautils
for functionItem in idautils.FuncItems(0x140012400):
if ida_bytes.is_code(ida_bytes.get_full_flags(functionItem)):
instruction = idautils.DecodeInstruction(functionItem)
print(idc.print_operand(instruction.ip, 0))
我希望它在最后打印出来:
rsp
rdi
rbp:myCustomName
此代码打印:
rsp
rdi
rbp
我试图用谷歌搜索,但找不到如何显示自定义操作数名称。我只能找到这两个相关链接:
