3,881
社区成员
发帖
与我相关
我的任务
分享
i. Interrupt 3
When an EXCEPTION_BREAKPOINT (0x80000003) occurs, the eip register has already been advanced to the next instruction, so Windows wants to rewind the eip to point to the proper place. The problem is that Windows assumes that the exception is caused by a single-byte "CC" opcode (short form "INT 3" instruction). If the "CD 03" opcode (long form "INT 3" instruction) is used to cause the exception, then the eip will be pointing to the wrong location. The same behaviour can be seen if any prefixes are placed before the short-form "INT 3" instruction. An emulator that does not behave in the same way will be revealed instantly. This technique is used by TryGames.