我正在尝试使用“汇编”选项在IDA中修补二进制文件,每次我输入一条包含一些算术运算的指令来计算偏移量时,我都会收到一个Invalid Operand错误。例如:
mov [bp-4], bx 返回Invalid Operand,而
mov ax, bx很管用。
我尝试尝试修改指令的格式(例如包含word ptr、使用4h等),但似乎都不起作用。有没有办法解决这个错误,或者输入字节代码来打补丁是唯一的选择?
发布于 2016-07-22 22:44:01
根据Hex Rays:
只有几个处理器和几条指令支持汇编命令。我们不打算扩展此功能,很抱歉
很差劲,我知道。
发布于 2016-09-18 15:52:50
有点晚了,但是尽管汇编对话框显示“无效操作数”,如果您知道字节码,则可以使用Change byte...菜单选项。您可以使用OllyDbg汇编成字节码(选择任意位置并按空格键),然后将其复制到IDA的Change byte对话框中作为变通方法。
https://stackoverflow.com/questions/24294095
复制相似问题