也许有人可以帮助我解决以下问题:
我在硬盘驱动器上存在的 MIPS ELF 二进制文件中发现了一个有趣的字节序列。这个字节序列可以是,例如,9c 6c 3c 04 80 2d 24 84 85
。现在我想用 IDAPython 找到这个字节序列。因此,我idc.FindBinary()
像这样使用函数:
address = idc.FindBinary(0, SEARCH_DOWN, byte_sequence)
它在 处找到字节序列的第一次出现address
。一般来说,我想实现两件事:
我想在 IDA 视图中为受影响的线条着色
我要拆解说明
目前我想解决两个子问题:
字节序列可以在指令内开始,例如,在
jal address
字节序列开始于address
而不是在jal
。当字节序列在指令中开始时,如何向后搜索以找到指令的开头?着色适用于:SetColor(address, CIC_ITEM, 0x208020)
如果字节序列长 9 个字节(如上例所示),我如何告诉 IDAPython 反汇编所有 9 个字节。我必须知道 IDAPython 反汇编的指令有多“长”才能进入下一条指令。我所知道的是,我可以在一个地址处进行反汇编:
disasm = idc.GetDisasm(address)
任何帮助将不胜感激!