Windows硬件断点-实现单步异常

时间:2023-12-27 08:48:07

触犯单步异常 改变的是当前Eflags 而不是触发异常的Eflags

也就是

PUSHF

MOV EAX, DWORD PTR[ESP]

      OR EAX, 0x100

      MOV DWORD PTR [ESP], EAX
   POPF

来实现单步异常(特别需要注意单步异常设置后下一条语句也会触发单步异常。如果不做处理。会造成死机 甚至蓝大妈)

第二注意 只有触发了GD位的异常才能改变DR6寄存器。所以单步异常时需要将DR6置0