2009-02-18 9 views

Antwort

8

Im Allgemeinen sollten Disassembler für ausführbare Dateien verfügbar sein, unabhängig davon, wie sie erstellt wurden (gcc, proC, handgeschrieben usw.), aber das Dekompilieren einer optimierten Binärdatei führt höchstwahrscheinlich zu einer unlesbaren Quelle.

Außerdem ist Pro C/C++ nicht direkt ein Compiler, sondern gibt C/C++ - Code aus, der wiederum von einem plattformeigenen Compiler (gcc, xlc, vC++ usw.) kompiliert wird.

Außerdem ist der generierte Code oft nicht ohne viele manuelle Korrekturen wieder direkt kompilierbar.

Wenn Sie immer noch Ihr Glück versuchen möchten, werfen Sie einen Blick auf diese Liste von x86 disassemblers für einen Start.

+2

Kann IDA-Pro von dieser Liste empfehlen. Es ist ein kommerzielles Produkt und sehr gut. – Ilya

+0

gibt es eine Freeware-Version 4.3 Ich denke, oder Sie können die Demo-Version des neueren erhalten. – sfossen

3

Sie sollten versuchen, mit einem Disassembler-Werkzeug Ihrer Wahl zu zerlegen. Am Ende des Tages sind ausführbare Dateien, die mit dem PRO C/C++ - Präprozessor kompiliert wurden, nur einfache ausführbare C/C++ - Dateien.

Wenn das, was Sie suchen SQL Sätze innerhalb des Codes ist, könnten Sie einen Blick nehmen wollen:

$ strings your_executable_file 

Es wird Ihnen eine Liste aller Konstanten-Strings in der ausführbaren Datei geben, und Wahrscheinlich werden Sie damit SQL-Sätze bekommen.

Viel Glück.

+1

Das ist schön. Wenn Sie mir Disassembler-Tool zur Verfügung stellen könnten, wird das schöner. – Ahmed

+0

Ich suche auch den ganzen Programmcode, nicht nur SQL-Anweisungen. – Ahmed

+0

Nun, Disassembler-Werkzeug hängt von der Plattform ab. Da Sie keine angegeben haben, ging ich davon aus, dass Sie das Tool bereits hatten oder nicht zu der von Ihnen verwendeten Betriebssystem- oder CPU-Architektur kommentieren wollten. –