Debugging x86 mov操作码反汇编
我已内置IDE x86 debbuger,可分解以下内容: 第一种情况:Debugging x86 mov操作码反汇编,debugging,assembly,x86,x86-64,disassembly,Debugging,Assembly,X86,X86 64,Disassembly,我已内置IDE x86 debbuger,可分解以下内容: 第一种情况: 65 48 8B 05 30 00 00 00 mov rax,gs:[rel $00000030] 第二种情况: 65 48 8B 04 25 30 00 00 00 mov rax,gs:[+$0030] 有什么区别 我怀疑反汇编有问题,但无法翻译上层操作码 我知道的是: 65是gs前缀 48是REX.W前缀 8B是mov 第一个是RIP相对地址,第二个是和绝对地址 有关操作码的翻译,请参阅。 正如多项式所指出
65 48 8B 05 30 00 00 00
mov rax,gs:[rel $00000030]
第二种情况:
65 48 8B 04 25 30 00 00 00
mov rax,gs:[+$0030]
有什么区别
我怀疑反汇编有问题,但无法翻译上层操作码
我知道的是:
是65
前缀gs
是48
前缀REX.W
是8B
mov
-操作码-表示为8B
,其中Gv表示寄存器目标,其中Ev为r/m目标李>mov-Gv,Ev
-mod r/m-以05
为目标,以rax
相对为有效地址rip
到30 00
rip的偏移量
-操作码-表示为8B
,其中Gv表示寄存器目标,其中Ev为r/m目标李>mov-Gv,Ev
-mod r/m-以04
为目标,以rax
为有效地址sib
-sib-地址的格式为[basereg+indexreg*步幅+偏移量],在这种情况下,基和索引均为025
偏移量30 00