0

私はWindows(ETW)のイベントトレースを使用して、Windows Server 2008 R2のsyscallsのカーネルトレースを行っています。Windowsカーネルのシステムコールトレースでは、これらのミステリーアドレスは何ですか?

私が実行しています:結果のカーネルトレースで

logman start "NT Kernel Logger" -p "Windows Kernel Trace" (process,thread,cswitch,syscall) -o events.etl -ets 

、私はSysCallAddress属性を見ていると私は私が期待するものの多くを参照してください!たとえば0xFFFFF80001999EE0ためNTでNtWriteFileを。

問題は、0xFFFFF960の範囲(たとえば、0xFFFFF9600004421C)に多くのアドレスがあり、これらのアドレスに何があるのか​​わかりません。カーネルデバッガのlnコマンドは、これらのアドレスの情報を返しません。カーネルトレーサがシステムコールとみなしているこれらのアドレスに何が生きているのか誰も知っていますか?

答えて

3

これらは、win32k.sysのシステムコールです。 GetMessage、EndDrawなどを考えてください。

+0

ありがとうございました!あなたは参考文献を持っていますか?また、なぜデバッガは私にそれらについて何も教えてくれないのですか? – canzar

+0

win32kはセッション空間にマップされます。デバッガが壊れていて、セッション内のプロセスのコンテキストではない場合は、何も表示されません。 .process/p/r

を使用して、それらのアドレスを表示できる場所にアクセスします。 –

+0

詳しい点検の結果、私はプロセスの中で実際にこれらのインポートを見ることができます。しかし、私はそれらのサブセットを解決することしかできません。私はwin32kが 'fffff960 00e0000'で始まり、そのアドレスを越えて発生したコールを解決することができますが、そのアドレスの前にコールがあることがわかります。たとえば' FFFFF960 0005CE44'です。これらについての洞察は?私が選択したプロセスに関係なく、このアドレス範囲にロードされたライブラリはありませんでした。 – canzar

関連する問題