在 IDA 中将操作数显示为位置无关

逆向工程 艾达 x86 x86-64 抵消 图片
2021-07-03 20:01:11

我正在编写一个 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

1个回答

选项-通用-分析-处理器特定选项,[x] 显式 RIP 寻址。