Halten Sie nicht Ihren Atem. Denken Sie darüber nach ... Für einen Bitte beachten Sie auch sorgfältig meine Quellenangabe Module. Ein Merkmal von C ist, dass es sich weitgehend unleserlich, es sei denn, aufgeschlüsselt in leicht wartbare-Source-Module (. C-Dateien). Wie wird die Decompiler damit umgehen? Es könnte entweder versuchen zu dekompilieren das gesamte Programm in einigen Mammut main ()-Funktion, verlieren alle Modularität, oder sie könnte versuchen, jedes aufgerufene Funktion in eine eigene Datei. Die erste Möglichkeit würde unbrauchbar Chaos und der zweite auf Probleme stoßen, wenn die ursprüngliche Quelle hade Dateien mit mehreren Funktionen mit statischen Daten und / oder eine oder mehrere Funktionen Aufruf eine oder mehrere statische Funktionen. Ein Decompiler könnte statische Daten und / oder globale Funktionen, aber nur auf Kosten der Lesbarkeit oder (was bereits nicht akzeptabel). Schließlich sind, dass der kommerzielle Anwendungen Code oft die schwierigste und Zeit-Funktionen in Assembler, die sich als fast unmöglich, zu dekompilieren in eine C-Äquivalent. Wie ich schon sagte, nicht Halten Sie den Atem an. Mit der Verbesserung der Technologie, wo decompilers kann mehr möglich ist, Optimierer und Sprachen (C + +, zum Beispiel, wäre eine wesentlich härtere Sprache zu dekompilieren als C) auch heimlich, dass sie weniger wahrscheinlich. Seit Jahren Unix-Anwendungen wurden verteilt in Form gehüllt Quelle (Maschine, aber nicht lesbar - alle Kommentare und Leerzeichen entfernt, Variablen Namen aller in der Form OOIIOIOI, etc.), das war ein ganz ausreichende Mittel für den Schutz der Urheberrechte. Es ist sehr unwahrscheinlich, dass Decompiler Ausgang würde sogar so lesbar wie eingehüllt Quelle. Update: Decompiler-Technologie ist nach wie vor sehr schwierig, aber bedeutende Fortschritte erzielt wurden, da dies geschrieben wurde. Lesen Sie
Bookmark Gibt es Hoffnung auf eine Decompiler umwandeln würde, dass ein ausführbares Programm in C / C + +-Code?
Neueste Blog-Posts