Assembly 更改程序集操作码

Assembly 更改程序集操作码,assembly,hex,opcode,ida,Assembly,Hex,Opcode,Ida,我有以下代码: 我正在使用IDA PRO。我正在尝试修补此代码并更改行 mov-eax,[rax+10h]至mov-eax,3。 moveax,3是b80300 我在十六进制编辑器中执行此操作,当我从 8B 40 10 8D 48 01 41 89 4B 10 EB 05 B8 01 00 到 B8 03 00 8D 48 01 41 89 4B 10 EB 05 B8 01 00 我得到B8 03 00 8D 48在同一行,这是一个不同的命令比我打算 我做错了什么?我怎样才能做这个改变 以下

我有以下代码:

我正在使用IDA PRO。我正在尝试修补此代码并更改行 mov-eax,[rax+10h]至mov-eax,3。 moveax,3是b80300

我在十六进制编辑器中执行此操作,当我从

8B 40 10 8D 48 01 41 89 4B 10 EB 05 B8 01 00

B8 03 00 8D 48 01 41 89 4B 10 EB 05 B8 01 00

我得到B8 03 00 8D 48在同一行,这是一个不同的命令比我打算

我做错了什么?我怎样才能做这个改变


以下是64位模式下mov*a*、3的机器代码:

mov eax, 3:  b8 03 00 00 00
mov  ax, 3:  66 b8 03 00
mov  al, 3:  b0 03
如您所见,moveax需要5个字节。您可以尝试:

6a 03    push 3
58       pop rax

但是下面的指令lea ecx,[rax+1]会给您带来麻烦

这是一个64位的程序,你耳朵之间的汇编程序是在16位模式下运行的。它是64位的,但我不明白你的回答。我应该怎么做才能使其成为mov eax,3而不是当前代码?+1,但删除最后一行。以下lea指令不取消引用。