Assembly 更改程序集操作码
我有以下代码: 我正在使用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在同一行,这是一个不同的命令比我打算 我做错了什么?我怎样才能做这个改变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在同一行,这是一个不同的命令比我打算 我做错了什么?我怎样才能做这个改变 以下
以下是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指令不取消引用。