Bekomme ich die richtige DLL-Modul-Liste für tasklist /m bei der Prüfung 32-bit-Programm auf einem 64bit-Maschine?
Befehl tasklist
auf windows hat wirklich nützliches feature: es kann eine Liste aller dll
Module für einen Prozess oder alle Prozesse. Unten angeführte Befehl wird eine Liste aller DLL-Dateien, die von explorer.exe
:
tasklist /fi "ImageName eq explorer.exe" /m
Sieht wie folgt aus (gekürzt, übersetzt ins Deutsche):
Process name PID Modules
========================= ======== ============================================
explorer.exe 1104 ntdll.dll, kernel32.dll, KERNELBASE.dll,
ADVAPI32.dll, msvcrt.dll, sechost.dll,
RPCRT4.dll, GDI32.dll, USER32.dll, LPK.dll,
USP10.dll, SHLWAPI.dll, SHELL32.dll,
ole32.dll, OLEAUT32.dll, EXPLORERFRAME.dll,
DUser.dll, DUI70.dll, IMM32.dll, MSCTF.dll,
Das problem ist, dass dies nicht so gut funktionieren für 64-bit-Prozesse:
C:\>tasklist /fi "ImageName eq firefox.exe" /m
Process name PID Modules
========================= ======== ============================================
firefox.exe 4980 ntdll.dll, wow64.dll, wow64win.dll,
wow64cpu.dll
Was Sie sehen, ist unvollständig, es sieht eher so aus:
Meine Frage ist nun: Kann ich start tasklist als 32-bit-Programm oder stellen Sie andernfalls sicher wird es wieder richtige Werte? Muss ich anrufen tasklist aus einem anderen Programm (Java) und bekommen die Liste der geladenen DLL-Dateien. Ich brauche diese, um sicherzustellen, dass ich nicht versucht, diese zu laden DLL-doppelt.
- Versuchen Sie es mit der 32-bit-version von tasklist.exe aus c:\windows\syswow64. - obwohl da die 32-bit-DLLs, die nicht 64-bit-DLLs, möchten Sie vielleicht zu überdenken, ob Sie zählen oder nicht; schwer zu sagen, da ich nicht verstehen, was man eigentlich versucht zu erreichen.
- Ich bin injizierende DLL in die Anwendung, die ich kenne, ist immer 32 bit. Die Injektion DLL zweimal konnte tun böse Dinge. Deshalb brauche ich, um zu überprüfen, ob die DLL injiziert wurde bereits und deaktivieren Sie die-Taste, zum auslösen der Injektion.
- Tasklist an
C:\Windows\SysWOW64\tasklist.exe
druckt die gleichen Ergebnisse, leider.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den EnumProcessModulesEx () - Funktion kann verwendet werden, um aufzuzählen, 32-bit und/oder 64-bit-Module in den Ziel-Prozess.
Können Sie ListDLLs von Windows Sysinternals
Beispiel-Ausgabe:
Quelle ListDLLs v3.1
Haftungsausschluss: ich bin nicht verbunden mit Windows Sysinternals in irgendeiner Weise, ich bin nur ein Endnutzer der software.
Können Sie PowerShell verwenden:
Get-der Prozess Winword (32bit) auf 64-bit OS
Extrahiert aus: https://www.sysadmit.com/2019/07/windows-saber-dll-utiliza-programa.html