-
-
[求助]机器码识别中三字节的指令碰到四字节的操作数。小鸟求助
-
发表于:
2007-10-4 15:53
5645
-
[求助]机器码识别中三字节的指令碰到四字节的操作数。小鸟求助
用于测试的机器码是
\x0E\x66\xB8\x10\x00\x00\x00
汇编语句等于:
PUSH CS
MOV EAX,10H
我的程序识别为:
PUSH CS (0E)
MOV AX,10H (66:FFFFFFB8 1000) <- 4字节的操作数成了2字节.
ADD [EAX],[...] (00 00)
也就是0x10 ,0x00 ,0x00 ,0x00 的四字节操作数成了两字节。
原因应该是Intel指令的最大长度是三字节。
问题在于.操作数是四字节的。
b8 10 00 00 00 -> 1. b8 10 00
2. 00 00
解决方法?
难道我是不是该跳过0x00的机器码?
若是。我该一个0x00就跳过还是包含2个以上才跳呢?
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!