IDA"无效的操作数"修补时出错

时间:2014-06-18 20:02:24

标签: assembly x86 patch disassembly ida

我正在尝试使用“Assemble”选项在IDA中修补二进制文件,并且每次我输入一些带有算术计算偏移量的指令时,都会收到Invalid Operand错误。例如:

mov [bp-4], bx       

返回Invalid Operand,而

mov ax, bx

作品。

我尝试过使用指令的格式(例如包括word ptr,使用4h等),但似乎没有任何效果。有没有关于这个错误的方法,或者输入字节代码来修补唯一的选项?

2 个答案:

答案 0 :(得分:4)

根据Hex Rays:

  

只有少数几个指令支持汇编程序命令。我们不打算扩展此功能,抱歉

拉姆,我知道。

答案 1 :(得分:0)

有点晚了,但是虽然汇编对话框显示"无效的操作数"如果您知道字节码,则可以使用“更改字节...”菜单选项。您可以使用OllyDbg汇编到字节码(选择任意位置和点击空间),然后将其复制到IDA的“更改字节”对话框中作为解决方法。