Ich habe eine alte DLL, die nicht mehr funktioniert (log2vis.dll) und ich möchte nach innen schauen, um zu sehen, welche Objekte es verwendet.
Die DLL wurde in C++ (nicht .NET) geschrieben. Gibt es ein Tool, das C++ - Dateien dekompiliert/disassembliert?Welches Werkzeug kann eine DLL in C++ Quellcode dekompilieren?
Antwort
Dies könnte unmöglich oder zumindest sehr schwer sein. Der Inhalt der DLL hängt (sehr) nicht davon ab, dass sie in C++ geschrieben wird; Es ist alles Maschinencode. Dieser Code wurde möglicherweise optimiert, so dass viele Informationen, die im ursprünglichen Quellcode vorhanden waren, einfach weg sind.
Das gesagt, here ist ein Artikel, der eine Menge Material darüber geht, dies zu tun.
Ich denke, eine C++ DLL ist eine Maschinencode-Datei. Daher führt das Dekompilieren nur zu Assemblercode. Wenn Sie das lesen und C++ daraus erstellen können, sollten Sie loslegen.
gibt es nicht schon etwas, das diese Maschinencodedatei etwas auf c oder C++ abbildet? – FidEliO
Es gibt wirklich keine Möglichkeit, dies zu tun, da die meisten nützlichen Informationen im Kompilierungsprozess verworfen werden. Sie können jedoch einen Blick auf this site werfen, um zu sehen, ob Sie eine Möglichkeit finden, etwas aus der DLL zu extrahieren.
Es gibt keine Decompiler, die ich kenne. W32dasm ist gut Win32 Disassembler.
- 1. .Net 1.1 dekompilieren Werkzeug
- 2. Vorkompilierten Quellcode dekompilieren ASP.NET
- 3. Welches GIMP-Quellcode-Paket enthält das Werkzeug "Scissor Selection" (LiveWire)?
- 4. Werkzeug C++ Quellcode umwandeln Diagramm fließen
- 5. eine App binäre dekompilieren, um zurück zum Quellcode zu kommen
- 6. Dekompilieren verschleierter Android dex/jar-Dateien in Java-Quellcode
- 7. Wollte ein Werkzeug zum Dekompilieren von verschleiertem .NET-Code
- 8. Gibt es ein Werkzeug, um SWF zu Actionscript zu dekompilieren?
- 9. Welches Werkzeug zu verwenden CSS-Stylesheets
- 10. Welches Werkzeug/Framework für die technische Dokumentation?
- 11. Welches Werkzeug/welche Anwendung/was wünschen Sie?
- 12. Dekompilieren von Objective-C-Bibliotheken
- 13. Kann referenzierte DLL in C#
- 14. Embedded eine * .exe in eine DLL
- 15. So dekompilieren Sie eine asp.net-Website
- 16. Kann eine DLL eine .NET DLL aufrufen?
- 17. C++ eine DLL einhängen?
- 18. Können Sie eine C# DLL von einer C DLL aufrufen?
- 19. So dekompilieren Sie eine .dll-Datei, die in VS.net erstellt wurde
- 20. Ein altes Programm dekompilieren
- 21. Welches Tool kann Pufferüberläufe in C fangen?
- 22. Sensible Daten im C# Quellcode sichern?
- 23. Konvertieren eines C++. Exe-Projekts in eine DLL
- 24. Reverse engineer C++ DLL
- 25. Autocad C# API Neues Werkzeug erstellen Palette
- 26. Wo kann ich guten C++ Quellcode finden?
- 27. kann ich eine signierte und installierte Android App dekompilieren?
- 28. C Quellcode in Latex Dokument
- 29. Debug C++ DLL in C#
- 30. Wie C++ DLL in C#
Dies ist kein Duplikat. Die andere Frage bezieht sich speziell auf Pro * C/C++, eine Oracle-Sprache zum Schreiben und Lesen ihrer RDMS-Systeme. Außerdem wurde die andere Frage als off-topic abgeschlossen. Diese Frage ist gültig und verdient meiner Meinung nach eine Antwort. – Blisterpeanuts