Programmieren - alles kontrollieren 4.935 Themen, 20.621 Beiträge

gibts nen re-compiler?

Silent Bob / 9 Antworten / Flachansicht Nickles

hallo zusammen!

eine frage: gibt es eine art re-compiler, der aus fertigen .exe datein wieder den quellcode generieren kann? sodaß man diesen ändern, und danach wieder in .exe umwandeln kann???

thx

silent bob

bei Antwort benachrichtigen
Was auf die Fresse? Kolti „Indem ein guter Re-Compiler die exe-Datei nach bestimmten Kriterien durchsucht....“
Optionen

So und was macht dann der User der Visual C++ besitzt, woher soll der nun die Borland-Lib's herbekommen, damit er mit dem Code auch was sinnvollen anfangen kann?

Die nächste Anwendung ist dann mit dem CodeWarrior in C++ geschrieben die extrem viel aus der Qt-Lib nutzt, dabei aber nicht die Free Qt, sondern die richtig teure Comercial Version, wiederum eine andere nutzt Routinen aus der SDTS++ Library, was ist dann?

Im Extremfall kann ein Re-Assembler oder besser Disassembler(Kernel-Debugger wie SoftIce) aus der Exe einen Assembler-Ablaufcode generieren! Aber auch diesen wird man, ohne die bei der Entwicklung genutzten Bibliotheken, nach einer Änderung nicht wieder zu einer funktionierenden Exe linken können.

Außerdem woher soll so ein ominöser Re-Compiler, selbst wenn er sich auf einen vorher generierten Assemblercode stützt, die Gedankenwege des Entwicklers der Exe bei der Codeentwicklung kennen, selbst schon ein einfacher Assemblercode kann auf unterschiedliche Codierarten in z.B. C++ erzeugt worden sein, aber der Hexcode der Exe-Datei ist für diesen Abschnitt der gleiche!!!

einfaches Beispiel:
int i=2;
if( i == 2 )
{
  i = 0;
}

ergibt in Assembler z.B(vereinfacht dargestellt):
...
mov dword ptr [ebp-4],2
cmp dword ptr [ebp-4],2
jne main+2Ch (0040103c)
mov dword ptr [ebp-4],0
...

der gleiche Assemblercode und damit auch die Hexcodestelle in einer Exe wird aber auch erzeugt wenn man korrekterweise die if-Abfrage so schreibt:
if ( 2==i )




bei Antwort benachrichtigen