So dekompilieren Sie eine Exe oder DLL in eine Assembly

8
___ answer4565872 ___

Es gibt schon eine Menge Heuchler, die für Sie geschrieben wurden (siehe oben), aber ich glaube nicht, dass das Lesen von disassembliertem Code Ihnen helfen wird, ein besserer Assembler zu werden. Der Hauptgrund dafür ist, dass Compiler viele Optimierungen vornehmen, bevor sie Assemblys generieren. Dies macht oft sehr kniffligen Code zum Lesen, aber hocheffizienten Code zur Analyse.

    
___ answer4565870 ___

Sehen Sie sich dieses Dekompilierungs-Wiki an. Ich vermute, es wird die meisten Ihrer Fragen beantworten.

>     
___ tag123dll ___ Eine Dynamic Link Library (DLL) ist ein Modul, das Funktionen und Daten enthält, die von einem anderen Modul (Anwendung oder DLL) verwendet werden können. Es ist Microsofts Implementierung des Shared-Library-Konzepts in den Betriebssystemen Microsoft Windows und OS / 2. ___ answer4565941 ___

Wenn Sie daran interessiert sind, wie ein kompiliertes Programm auf Assembler-Ebene aussieht, wäre ein viel sinnvollerer Ansatz, die erzeugte Assembly zu kompilieren und zu betrachten. Zum Beispiel mit gcc / g ++ erfordert dies nur %code% und hinterlässt eine Klartext-Assembly-Datei zum Ansehen.

    
___ tag123assembly ___ Assemblersprache (asm) Programmierfragen. Achten Sie darauf, auch mit dem Prozessor und / oder Befehlssatz, die Sie verwenden, sowie den Assembler TAG. WARNUNG: Verwenden Sie für .NET-Assemblies stattdessen das Tag [.net-assembly]. Verwenden Sie für Java ASM stattdessen das Tag [java-bytecode-asm]. ___ tag123exe ___ EXE ist eine allgemeine Dateinamenserweiterung für eine ausführbare Datei (ein Programm) in Microsoft Windows und anderen Betriebssystemen (z. B. DOS, OpenVMS, Symbian und OS / 2). ___ tag123decompiling ___ Decompiler analysieren Binärcode, der den Quellcode in einer höheren Programmiersprache wie C ausgibt. Die Ausgabe ist im Allgemeinen nicht einfacher zu analysieren als der ursprüngliche Assembler aufgrund von Informationsverlusten während der Kompilierung. Siehe Tag Wiki für mehr. ___ answer4565869 ___

Ich denke, du suchst einen Disassembler, keinen Decompiler. IDA pro scheint populär zu sein und Sie können eine ältere Version kostenlos herunterladen unter Ссылка

    
___ qstnhdr ___ So dekompilieren Sie eine Exe oder DLL in eine Assembly ___
Keshan 30.12.2010, 19:56
quelle

4 Antworten

17

Ich denke, du suchst einen Disassembler, keinen Decompiler. IDA pro scheint populär zu sein und Sie können eine ältere Version kostenlos herunterladen unter Ссылка

    
Matt 30.12.2010, 20:06
quelle
6

Es gibt schon eine Menge Heuchler, die für Sie geschrieben wurden (siehe oben), aber ich glaube nicht, dass das Lesen von disassembliertem Code Ihnen helfen wird, ein besserer Assembler zu werden. Der Hauptgrund dafür ist, dass Compiler viele Optimierungen vornehmen, bevor sie Assemblys generieren. Dies macht oft sehr kniffligen Code zum Lesen, aber hocheffizienten Code zur Analyse.

    
Corith Malin 30.12.2010 20:07
quelle
4

Sehen Sie sich dieses Dekompilierungs-Wiki an. Ich vermute, es wird die meisten Ihrer Fragen beantworten.

>     
Walt Stoneburner 30.12.2010 20:06
quelle
3

Wenn Sie daran interessiert sind, wie ein kompiliertes Programm auf Assembler-Ebene aussieht, wäre ein viel sinnvollerer Ansatz, die erzeugte Assembly zu kompilieren und zu betrachten. Zum Beispiel mit gcc / g ++ erfordert dies nur gcc -c -S filename.c und hinterlässt eine Klartext-Assembly-Datei zum Ansehen.

    
6502 30.12.2010 20:17
quelle

Tags und Links