Mittels Powershell geladene DLL-Dateien aus einem Prozess auslesen


Öffnet man unter Windows die Eingabeaufforderung, so kann man mit TASKLIST.EXE die aktuell ausgeführten Programme bzw. Prozesse auflisten. Bei den Optionen kann man /M angeben, dann werden zu jedem Prozess die geladenen DLL-Dateien angezeigt.

Hier ein Beispiel von Windows 8.1:

tasklist /FI "imagename eq cmd.exe" /M

Abbildname                     PID Module
========================= ======== ============================================
cmd.exe                      15872 ntdll.dll, KERNEL32.DLL, KERNELBASE.dll,
                                   msvcrt.dll, winbrand.dll

Nun ist es wie immer schwierig von einer Textausgabe die Daten weiterzuverarbeiten. Aber es gibt ja Powershell und das äquivalente Kommando in Powershell sieht so aus:

Get-CimInstance -ClassName Win32_Process -Filter "Name=’cmd.exe’" | Get-CimAssociatedInstance -Association Cim_ProcessExecutable | ft name

die Ausgabe sieht dann so aus:

name
—-
c:\windows\system32\cmd.exe
c:\windows\system32\ntdll.dll
c:\windows\system32\kernel32.dll
c:\windows\system32\kernelbase.dll
c:\windows\system32\msvcrt.dll
c:\windows\system32\winbrand.dll

da es aber nun Objekte sind, kann man natürlich auch mehr Infos anfordern:

Get-CimInstance -ClassName Win32_Process -Filter "Name=’cmd.exe’" | Get-CimAssociatedInstance -Association Cim_ProcessExecutable | ft name, version

name                               version
—-                               ——-
c:\windows\system32\cmd.exe        6.3.9600.17415
c:\windows\system32\ntdll.dll      6.3.9600.17736
c:\windows\system32\kernel32.dll   6.3.9600.17415
c:\windows\system32\kernelbase.dll 6.3.9600.17415
c:\windows\system32\msvcrt.dll     7.0.9600.17415
c:\windows\system32\winbrand.dll   6.3.9600.17415

Mit etwas Aufwand kann man sich auch einen Prozessbaum bauen: https://p0w3rsh3ll.wordpress.com/2012/10/12/show-processtree/

Mittels Get-CimAssociatedInstance kann man sowieso noch jede Menge interessante Dinge in Erfahrung bringen, z. B. wer angemeldet ist, welche Partitionen ein Laufwerk enthält usw. http://csharpening.net/?p=876.

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s


%d Bloggern gefällt das: