9 Stimmen

Wie findet man in einen Prozess geladene DLLs und deren Speicherort, etc.

Ich habe den Process Explorer verwendet, aber ich erinnere mich an ein anderes Dienstprogramm, mit dem man sehen kann, woher ein Prozess geladen wird (Image-Datei) und welche DLLs sich im Speicher befinden und woher sie geladen wurden.

Process Explorer funktioniert bei mir nur für verwaltete Baugruppen.

Gibt es etwas, das auch nativ funktioniert?

9voto

Chris Schmich Punkte 28452

Process Explorer sollte Ihnen sowohl native als auch verwaltete Module anzeigen. Versuchen Sie, es im erweiterten Modus auszuführen.

Ansonsten gibt es einige Möglichkeiten:

  1. Verwenden Sie tlist.exe, Teil des Fehlersuchwerkzeuge für Windows Paket (z.B. tlist cmd.exe )
  2. Schalten Sie den VS-Debugger ein und schauen Sie in das Modulfenster ( Ctrl + Alt + U ) oder schließen Sie WinDbg an und verwenden Sie die lm Befehl
  3. Utilice CreateToolhelp32Snapshot , Module32First y Module32Next um Ihre eigene Lösung zu entwickeln :)

3voto

Igor Punkte 1034

Es gibt auch ein Open-Source-Tool " Prozess-Hacker ".

Es ist ein fortschrittlicher Task-Manager. Wählen Sie einen Prozess aus, drücken Sie "Enter" und wählen Sie die Registerkarte "Module".

0voto

Gabriel Devillers Punkte 2142

ListDLLs von Windows Sysinternals ist ein Befehlszeilentool, das genau das tut, wonach Sie suchen:

Listdlls.exe notepad.exe o Listdlls.exe 11524 geben:

------------------------------------------------------------------------------
notepad.exe pid: 11524
Command line: "C:\WINDOWS\system32\notepad.exe"

Base                Size      Path
0x00000000bfae0000  0x38000   C:\WINDOWS\system32\notepad.exe
0x00000000aee10000  0x1f5000  C:\WINDOWS\SYSTEM32\ntdll.dll
0x00000000ad4c0000  0xbd000   C:\WINDOWS\System32\KERNEL32.DLL
0x00000000ac9a0000  0x2c8000  C:\WINDOWS\System32\KERNELBASE.dll
<snip>
0x0000000093580000  0xf9000   C:\WINDOWS\SYSTEM32\textinputframework.dll
0x00000000aebc0000  0x6b000   C:\WINDOWS\System32\WS2_32.dll
0x00000000aaf00000  0x33000   C:\WINDOWS\SYSTEM32\ntmarta.dll

Listdlls.exe -d textinputframework.dll geben:

<snip>
------------------------------------------------------------------------------
notepad.exe pid: 11524
Command line: "C:\WINDOWS\system32\notepad.exe"

Base                Size      Path
0x0000000093580000  0xf9000   C:\WINDOWS\SYSTEM32\textinputframework.dll

Listdlls.exe (ohne Parameter) gibt die DLLs aller laufenden Prozesse aus.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X