Ich konnte das Problem noch einmal reproduzieren und es stellt sich heraus, dass openAgent
ein Hook installiert wird, das OsHookDll_x86
von derselben Firma aufgerufen wird .
Dieser Haken gilt für DispatchHookW()
:
2:010> k ... 0049f2b0 75a86381 OsHookDll_x86!GetMessageHook+0x37 0049f2cc 75a780a9 USER32!DispatchHookW+0x38 ... 0049f544 5eff5709 USER32!PeekMessageW+0x108
was die Windows-Nachrichtenschleife beeinflusst. Die Windows-Nachrichtenschleife wird von jeder GUI-Anwendung zum Ausführen benötigt.
Der Hook sendet Windows Messages an openAgent
via USER32!SendMessageW()
, openAgent
wurde aber von Windows Error Reporting ( WerFault
) angehalten und kann diese Nachrichten daher nicht verarbeiten, was zu einem Timeout führt:
1:009> k ChildEBP RetAddr 00138f90 75a79886 USER32!NtUserMessageCall+0x15 00138fcc 75a797f3 USER32!SendMessageTimeoutWorker+0xa6 00138ff4 59d6066c USER32!SendMessageTimeoutW+0x21 ...
Ich konnte den Rest nicht vollständig analysieren, da während meiner Debug-Sitzung auch alles andere zu frieren begann. Ich gehe davon aus, dass der Hook versucht, die Nachricht erneut zu senden, anstatt zurückzukehren, was zu einer Endlosschleife führt.
!analyze -v
funktionierte wegen fehlender Symbole für nichtntdll
.