一段代码如下:
00000000 : // -- Line #170 --
00000127 : 6A 00 PUSH $00
00000129 : 66 8B 0D(7C 01 00 00 MOV CX,WORD PTR [TOxygenSMS.Create{0xF1}+$0000017C]
00000130 : 33 D2 XOR EDX,EDX
00000132 : B8(88 01 00 00 MOV EAX,TOxygenSMS.Create{0xF1}+$00000188
00000137 : E8(00 00 00 00 CALL MessageDlg{0x51}
0000013C : 48 DEC EAX
0000013D : 75 17 JNE +23; (0x156)
我想用前两字节来跳过这段代码,然后把其他代码nop掉,可是却出现以下情况:
00000127 : EB 2D JMP +45; (0x156)
00000129 : 90 NOP
0000012A : 90 NOP
0000012B : 90 NOP
0000012C : 90 90 90 90 K1 TOxygenSMS.Create{0xF1} ?
00000130 : 90 NOP
00000131 : 90 NOP
00000132 : 90 NOP
00000133 : 90 90 90 90 K1 TOxygenSMS.Create{0xF1} ?
00000137 : 90 NOP
00000138 : 90 90 90 90 K2 MessageDlg{0x51} ?
0000013C : 90 NOP
0000013D : EB 17 JMP +23; (0x156)
跳过是成功了,可以为什么有些代码不能被nop呢?哪位高手能解释下吗?
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!