Wie bekomme ich die Adresse zu den Kernelmodulen nt und win32k?
-
12-12-2019 - |
Frage
Ich muss die Basisadressen kennen, unter denen nt und win32k geladen sind.Ich kann diese Informationen herausfinden, indem ich das System mit aktiviertem Kernel-Debugging starte, eine Kernel-Debug-Sitzung starte und den Befehl ausführe lm
um eine Liste der geladenen Module zu erhalten.
Ich möchte programmgesteuert bestimmen, wo diese beiden Module geladen werden, ohne in den Debug-Modus zu booten und den Kernel-Debugger zu verwenden.Ich benötige die Basisadressen zum Auflösen von Systemaufrufen in einer Ereignisprotokollierung für Windows-Protokolldateien.
Auf dem System, an dem ich arbeite, wird Windows Server 2008 R2 ausgeführt.
Lösung
Die Liste der geladenen Kernelmodule und Basisadressen (einschließlich ntoskrnl
) wird in der Liste gespeichert, auf die gezeigt wird PsLoadedModulesList
Symbol.Oder verwenden Sie ZwQuerySystemInformation(SystemModuleInformation)
stattdessen.
Für detaillierte Informationen siehe http://alter.org.ua/docs/nt_kernel/procaddr/