Kann man .exe - Dateien in .c - Dateien umwandeln? geht das?
Kann man .exe - Dateien in .c - Dateien umwandeln? geht das?
ja
disassemblieren und dann
void main(void)
asm
{
HIER DISASSEMBLIERTEN CODE EINFÜGEN
}
return
scnr
Wenn man auf extrem Revers-Engineering steht ^^Zitat von Römer
Dazu musst du den Assembler-Code dann auch wieder nach C übersetzen, viel spaß dabei ...
Und wie hält der Disassembler Code, Tabellen und Daten auseinander ?Zitat von jar
MfG Karl-Heinz
HobbyElektronik hier klicken ....
Hallo Römer!
Am eifachsten geht es mit entsprechendem C Decompiler.
MfG
Seit wann gibt es C Decompiler???Zitat von PICture
MfG Mark
gibt es jetzt Disassemblierer für C? Wenn ja, wo? Auch als Freeware oder ähnliches?
Ich weiss zwar nicht was es so an Disassemblern/Decompilern gibt...
aber ich kann dir schonmal verraten, daß solche Tools meist keinen besonders gut lesbaren Code produzieren. Denn Variablennamen etc. stehen in der exe ja nicht mehr drin, und können demnach auch nicht rekonstruiert werden.
So viele Treppen und so wenig Zeit!
Hallo!
@p_mork!
Ich weiss nicht seit wann, weil ich nur beim google nach "C Dekompiler" geschaut habe.
@FelixG
Die Variablen sind meistens durchnumeriert und dennen muss man eigene Namen geben.
MfG
Falls überhaupt, wird das Ergebnis dich enttäuschen.Zitat von Römer
- Was im Programm abgeht wirst du nicht blicken (ebenso viel oder wenig wie bei Assembler): block reordering, common subexpression elimination, scalar replacement of aggregates, insn scheduling und zig anderer Optimierungen, von denen man nicht mal den Name richtig aussprechen kann führen zu einem Assembler-Code, bei dem praktisch kein Zusammenhang mit der Quelle -- selbst wenn diese vorhanden ist! -- mehr erkennbar ist.
- Auch wenn du den Code nur haben willst, um auf eine andere Plattform zu portieren, wirst du damit ziemlich sicher auf die Nase fallen.
- Das exe enthält wie gesagt keine Symbolinfos (Variablen- und Funktionsnamen) mehr -- ausnehme, das exe wirde nicht gestrippt. Vielleicht hast du Glück und jemand, der keine Ahnung hat, hat das exe erzeugt. Ist aber unwahrscheinlich.
- Codeabschnitte, die der Compiler weggeworfen hat (bedingtes Compilieren, common subexpresion elimination, constant propagation, dead code elimination, constant folding, ...) wirst du niemals nicht decompiliert bekommen. Schlicht und einfach deshalb, weil sieser Code nicht in der exe gelandet ist.
Disclaimer: none. Sue me.
Lesezeichen