我正在编写一个 IDA python 脚本,我需要能够检测位置无关代码。我有 IDA 使用操作数名称“格式”显示的指令
lea rdi, format
但是,当我使用 capstone disassembler 或 disassember.io 时,它将指令显示为
lea rdi, [rip + 0xd5a]
是否有一个ida python函数会以寄存器+立即偏移量而不是相对值或操作数名称的形式返回指令?
我尝试使用,idc.get_operand_value但它返回完整地址,而不是寄存器 + 偏移量。
我也试过,idc.GetDisasm但这只是返回 IDA 中显示的指令。
指令的十六进制字节是 48 8d 3d 5a 0d 00 00
架构是 i386 x86-64