fsfuzhu 发表于 2019-11-26 00:12

【求助】关于64位汇编中的MOV指令

https://attach.52pojie.cn//forum/201911/26/000751ovj3unsq33qd44dn.png?l
如图,如果是32位中的mov的话,,比如我mov ,ebx,,那他的特征码就是89 1D 04000200但是64位中,后面那一串和我要mov的地址是不一致的,,,这个应该如何计算呢?

苏紫方璇 发表于 2019-11-26 10:03

具体记不清了,好像是目标地址=当前地址+指令长度+机器码数字

fsfuzhu 发表于 2019-11-26 16:45

苏紫方璇 发表于 2019-11-26 10:03
具体记不清了,好像是目标地址=当前地址+指令长度+机器码数字

当前地址指的是我图片中的 1C85A7E0004吗,指令长度指的是这个地址有几个字节吗,,机器码数字指的是啥,,我用计算器算的好像1C85A7E0004+指令长度7=1C85A7E000B,然后再加机器码数字,这里我暂且认为是我mov的地址 1C85C850000最终答案是390B703000B,和特征中显示的F5FF0602并不相同

fsfuzhu 发表于 2019-11-26 16:49

苏紫方璇 发表于 2019-11-26 10:03
具体记不清了,好像是目标地址=当前地址+指令长度+机器码数字

哦,我大概能明白你的意思了,特征=目标地址-当前地址-指令长度,,,这个不是jmp的吗

fsfuzhu 发表于 2019-11-26 17:01

苏紫方璇 发表于 2019-11-26 10:03
具体记不清了,好像是目标地址=当前地址+指令长度+机器码数字

OK,,我凑出来了,机器码数字=mov的地址-当前地址-7
-7的原因的话是因为mov 两个 寄存器一个 地址四个
页: [1]
查看完整版本: 【求助】关于64位汇编中的MOV指令