WaitForDebugEvent
这个函数是等待调试事件,每次捕捉到的时候就返回一个debug_event
然后同样用notepad ++ 做实验,记录每次的eventCode:
Enter pid:75160
OpenProcess Successful, HANDLE 504
Event Code: 3 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 2 Thread ID: 160916
Event Code: 2 Thread ID: 74764
Event Code: 2 Thread ID: 79780
Event Code: 2 Thread ID: 355492
Event Code: 2 Thread ID: 364512
Event Code: 2 Thread ID: 26488
Event Code: 2 Thread ID: 357596
Event Code: 2 Thread ID: 358200
Event Code: 2 Thread ID: 358180
Event Code: 2 Thread ID: 353488
Event Code: 2 Thread ID: 26904
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 6 Thread ID: 92528
Event Code: 2 Thread ID: 48852
Event Code: 1 Thread ID: 48852
[*] Exception address: 0x77e68d20
[*] Hit the first breakpoint.
Event Code: 4 Thread ID: 48852
可见一开始的时候,捕捉到3号事件码,对应含义为创建一个新进程。然后6号,载入dll。随后一连串的2号码创建新线程,刚好和上文的11个线程对应。随后又是一连串6号码载入dll,估计和这个exe关联的dll个数也是对应的。最后214发生例外,结束。
这样,根据eventCode可以得知不同的例外事件类型。
奇怪的是明明程序早就打开了,为什么还会捕捉到一堆创建程序时的线程呢?对这方面不怎么懂。