Gibt es einen kostenlosen nativen Windows DLL-Exportfunktions-Viewer, der den Funktionsnamen und eine Liste ihrer Parameter anzeigt?Gibt es einen nativen Viewer für DLL-Exportfunktionen?
Antwort
können Sie Dependency Walker verwenden, um den Funktionsnamen anzuzeigen. Sie können die Parameter der Funktion nur sehen, wenn sie dekoriert ist. lesen Sie die folgenden aus den FAQ:
Wie kann ich die Parameter und Rückgabetypen einer Funktion anzeigen? Für die meisten Funktionen sind diese Informationen im Modul nicht vorhanden. Das Windows-Moduldateiformat stellt nur eine einzige Textzeichenfolge zur Verfügung, um jede Funktion zu identifizieren. Es gibt keine strukturierte Möglichkeit, die Anzahl der Parameter, die Parametertypen oder den Rückgabetyp aufzulisten. In einigen Sprachen wird jedoch die Funktion "Dekoration" oder "Mangling" verwendet, bei der Informationen in die Textzeichenfolge geschrieben werden. Zum Beispiel kann eine Funktion wie int Foo (int, int), die mit einer einfachen Dekoration kodiert ist, als _Foo @ 8 exportiert werden. Die 8 bezieht sich auf die Anzahl der Bytes, die von den Parametern verwendet werden. Wenn C++ - Dekoration verwendet wird, wird die Funktion als? Foo @@ YGHHH @ Z exportiert, die direkt in den ursprünglichen Prototyp der Funktion zurückdecodiert werden kann: int Foo (int, int). Dependency Walker unterstützt die C++ - Uncoration mithilfe des Befehls Undecorate C++ Functions.
Nicht sicher über seine Parameter Liste, aber following TotalCommander plugin ist sehr nützlich.
Wenn Sie nicht über den Quellcode und API-Dokumentation haben, das Maschinencode ist alles, was es ist, müssen Sie die DLL-Bibliothek mit so etwas wie IDA Pro zerlegen, ist eine weitere Option, um die Testversion von PE Explorer verwenden.
PE Explorer bietet einen Disassembler. Es gibt nur einen Weg, die Parameter herauszufinden: Führen Sie den Disassembler aus und lesen Sie den Disassembly-Ausgang. Leider kann diese Aufgabe des Reverse Engineering der Schnittstelle nicht automatisiert werden.
PE Explorer wird mit Beschreibungen für 39 verschiedene Bibliotheken geliefert, einschließlich der Kern-Windows®-Betriebssystembibliotheken (z. B. KERNEL32, GDI32, USER32, SHELL32, WSOCK32), Schlüsselgrafikbibliotheken (DDRAW, OPENGL32) und mehr.
Wie unterscheidet sich dies von Nirsoft DLL Export Viewer? – Pacerier
dumpbin aus der Visual Studio-Eingabeaufforderung:
C: \ Users \ Andrew \ src2011 \ Kryptografie \ cspsdk> dumpbin/export csp.dll
Microsoft (R) COFF/PE Dumper Version 10.00.30319.01 Urheberrecht (C) Microsoft Corporation. Alle Rechte vorbehalten.
Dump der Datei csp.dll
Dateityp: DLL
Abschnitt die folgenden Export CSP.dll enthält
00000000 characteristics
3B1D0B77 time date stamp Tue Jun 05 12:40:23 2001
0.00 version
1 ordinal base
25 number of functions
25 number of names
ordinal hint RVA name
1 0 00001470 CPAcquireContext
2 1 000014B0 CPCreateHash
3 2 00001520 CPDecrypt
4 3 000014B0 CPDeriveKey
5 4 00001590 CPDestroyHash
6 5 00001590 CPDestroyKey
7 6 00001560 CPEncrypt
8 7 00001520 CPExportKey
9 8 00001490 CPGenKey
10 9 000015B0 CPGenRandom
11 A 000014D0 CPGetHashParam
12 B 000014D0 CPGetKeyParam
13 C 00001500 CPGetProvParam
14 D 000015C0 CPGetUserKey
15 E 00001580 CPHashData
16 F 000014F0 CPHashSessionKey
17 10 00001540 CPImportKey
18 11 00001590 CPReleaseContext
19 12 00001580 CPSetHashParam
20 13 00001580 CPSetKeyParam
21 14 000014F0 CPSetProvParam
22 15 00001520 CPSignHash
23 16 000015A0 CPVerifySignature
24 17 00001060 DllRegisterServer
25 18 00001000 DllUnregisterServer
Zusammenfassung
1000 .data
1000 .rdata
1000 .reloc
1000 .rsrc
1000 .text
Achten Sie darauf, "dumpbin/export" nicht versehentlich auszuführen ('s' fehlt am Ende), es ist ein komplett anderer Befehl. –
Ich vergesse dumpbin und muss diese Antwort alle sechs Monate oder so nachschlagen. Vielen Dank! – tofutim
DLL Export Viewer von NirSoft können verwendet werden, um exportierte Funktionen in einer DLL anzuzeigen.
This utility displays the list of all exported functions and their virtual memory addresses for the specified DLL files. You can easily copy the memory address of the desired function, paste it into your debugger, and set a breakpoint for this memory address. When this function is called, the debugger will stop in the beginning of this function.
Nirsoft's Anwendung zeigt keine namenlosen Funktionen :-( – TCS
@MagnusLindhe Ich benutze diese App kopieren Sie die Adresse und setzen Sie es als Haltepunkt, aber wenn ich es mit Visual Studio debuggen (Debug-Modus, Win32) es nicht pausiert wann Die Funktion wird aufgerufen. Ich habe sowohl die Adresse als auch die relative Adresse verwendet, um dies zu versuchen. Sie funktionieren nicht. Was mache ich falsch? Vielleicht wissen Sie? Ich kann nicht mehr Informationen dazu finden. –
Die Suche nach DLL-Taste ist für mich abgeschlossen, zeigt auch keine Funktionen in Dlls. Ich verwende Windows 10 (64bit) – Owl
- 1. Gibt es einen Redis-Datenbank-Viewer für Windows?
- 2. Gibt es einen Lite-SVG-Viewer für Android?
- 3. Gibt es einen Log Viewer für ein vnext Build Log?
- 4. Gibt es ein Viewer-Steuerelement für XtraReports in Windows Forms?
- 5. Gibt es eine neue Report Viewer Runtime für SQL 2016?
- 6. Gibt es irgendwelche Dokumentspeicher auf nativen reagieren?
- 7. gibt es eine Möglichkeit, einen alternativen Viewer für "get-help" einzustellen?
- 8. Autoresizing UIViews für einen PDF-Viewer
- 9. Gibt es einen ungültigen Inhalt für ein Referer-Feld?
- 10. Gibt es einen XPS-Viewer, der in eine Webseite integriert werden kann, wie iPaper?
- 11. Gibt es einen WMA-Spi für Javasound?
- 12. Gibt es einen Ersatz für MDTPtools?
- 13. Gibt es einen Java-SDK für Cygwin?
- 14. Gibt es einen Omniauth für PHP?
- 15. Gibt es einen Standard für den Kontextaustausch?
- 16. Gibt es einen Emacs-Modus für Rscript?
- 17. Gibt es einen BNF-Modus für Emacs?
- 18. Gibt es einen Ersatz für Transact-SQL
- 19. Gibt es einen Interpreter für C?
- 20. Gibt es einen Quellcodeformatierer für Groovy?
- 21. Gibt es einen allgemeinen Objektpool für .NET?
- 22. Gibt es einen interaktiven Interpreter für C#?
- 23. Gibt es einen Vorteil für dieses Makro?
- 24. Gibt es einen Ersatz für Paste.Template?
- 25. Gibt es einen Link Checker für Schluck?
- 26. Gibt es einen Base64Stream für .NET? woher?
- 27. Gibt es einen plattformübergreifenden Rahmen für C?
- 28. Gibt es einen Style-Checker für C++?
- 29. Gibt es einen BigDateTime-Typ für .net?
- 30. Gibt es einen Testaccount für Instagram?
Danke, aber wenn ich versuche, eine DLL zu öffnen, wird es im Protokollfenster angezeigt: Fehler: Mindestens ein Modul hat aufgrund einer fehlenden Exportfunktion in einem implizit abhängigen Modul einen nicht aufgelösten Import. Fehler: Module mit verschiedenen CPU-Typen wurden gefunden. Warnung: Mindestens ein Abhängigkeitslastabhängigkeitsmodul wurde nicht gefunden. Warnung: Mindestens ein Modul hat einen nicht aufgelösten Import aufgrund einer fehlenden Exportfunktion in einem verzögerungslastabhängigen Modul. –
Ich benutze Windows 7 x64 Final. –
@Alon: Nun, Ihre Anwendung ist ruhig durcheinander :) der erste Fehler zeigt an, dass einige Ihrer DLLs für 32-Bit-Systeme und einige für 64-Bit-Systeme kompiliert werden. Sie können nur DLLs mit derselben CPU-Architektur im selben Prozess laden. Sie können mit den anderen beiden Fehlern leben, solange die Anwendung sie verarbeitet. –