Wie reverse DLL in C++ - code?
Ich weiß, es ist nicht rückgängig zu machen, eine dll in eine c++ - code, so würde ich gerne sammeln, so viel wie möglich Daten von ihm.
Es ist nicht meine dll, so dass ich nicht den source-code natürlich. Welches Programm sollte ich verwenden?
Ein beliebter binäre reverse engineering-tool IDA Pro – es gibt eine Kostenlose version, die ausreichen, die meisten Grundbedürfnisse.
Sie haben ein gewisses Verständnis von dem, was die DLL macht? Wie groß ist es? Wissen Sie, welche Sprache es geschrieben wurde, ursprünglich? Was sind Sie eigentlich versucht zu erreichen?
Ich habe ein paar "schlüsselsätze" als tags. Schauen Sie nach oben.
Es ist definitiv nicht "unmöglich". Schwierig, vielleicht, aber wenn Sie code haben, können Sie fast immer schreiben Sie eine gleichwertige Quelle, die die gleichen Ergebnisse erzielt. Obwohl es lange dauern kann.
Sie haben ein gewisses Verständnis von dem, was die DLL macht? Wie groß ist es? Wissen Sie, welche Sprache es geschrieben wurde, ursprünglich? Was sind Sie eigentlich versucht zu erreichen?
Ich habe ein paar "schlüsselsätze" als tags. Schauen Sie nach oben.
Es ist definitiv nicht "unmöglich". Schwierig, vielleicht, aber wenn Sie code haben, können Sie fast immer schreiben Sie eine gleichwertige Quelle, die die gleichen Ergebnisse erzielt. Obwohl es lange dauern kann.
InformationsquelleAutor Imri Persiado | 2013-03-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gut, wenn Sie erfahren sind, können Sie zerlegen die DLL und zu verstehen, alle seine Funktionen. Dies dauert eine beträchtliche Zeit, aber wenn Sie das tun, können Sie reverse es zurück zur Quelle von hand.
Andernfalls können Sie beginnen, indem Sie mithilfe eines Tools wie Dependency Walker, um die DLLs und Funktionen es hängt davon ab, und die Funktionen exportiert werden. Von dort aus finden Sie Funktionen, die Sie interessieren, und verwenden Sie einen disassembler wie IDA zu sehen, was Sie tun.
Nicht jeder hat IDA, oder will es lernen. Also, ich schlage vor, Dependency Walker als einen sehr einfachen Weg, um nützliche Informationen erhalten. (Natürlich, wenn Sie gut sind IDA, Sie können natürlich tun, was es alles gibt 🙂 )
InformationsquelleAutor nneonneo
Sehen Sie die Liste der exportierten Funktionen mit dumpbin tool. Wenn C++ - Funktionen exportiert werden, die Sie vielleicht in der Lage sein zu folgern Parameter der name mangling.
Können Sie extrahieren Sie alle Ressourcen aus der DLL nur durch "öffnen" Sie es als eine Datei für die Ressourcen-Ansicht in Visual Studio. Wenn die DLL ist eine COM-basierte DLL, es gibt eine kleine chance, dass die Typ-Bibliothek eingebettet ist, als eine Ressource innerhalb es. Und wenn Sie die Typ-Bibliothek, können Sie #import ist es zu rekonstruieren, wie die header-Dateien für die öffentlichen Schnittstellen.
Das ist ungefähr so gut wie es geht.
InformationsquelleAutor selbie
Müssen Sie eine PE-Datei-viewer. Dies wird Ihnen sagen, die Exporte aus der DLL, und Sie können die Daten in der .text-Abschnitt, um zu sehen, die Maschinen-code.
InformationsquelleAutor James