Dekompilieren Sie Delphi
Abschnitt 1 über Reverse Engineering
Dekompilieren? Umkehren? Entschlüsseln? (Dekompilierung? Rückwärts? Cracken?)
Einfach ausgedrückt ist Dekompilierung die Umkehrung des Kompilierungsprozesses: die Übersetzung einer ausführbaren Datei in eine höhere Sprache. Wenn Sie das Quellprogramm Ihres Delphi-Projekts verloren haben und nur noch über die ausführbare Datei verfügen: Reverse Engineering (Dekompilierung) ist sinnvoll, wenn das Quellprogramm nicht mehr verfügbar ist.
Ja, „das Quellprogramm ist nicht verfügbar“. Bedeutet das, dass wir Delphi-Projekte dekompilieren können, die von anderen Programmierern entwickelt wurden? Na ja, richtig oder falsch...
Ist eine echte Dekompilierung möglich? (Ist eine echte Dekompilierung möglich?)
Nein, natürlich nicht. Eine vollautomatische Dekompilierung ist nicht möglich – kein Dekompilierer kann den Originalcode korrekt rekonstruieren.
Wenn ein Delphi-Projekt kompiliert und verknüpft wird, um eine eigenständige ausführbare Datei zu erstellen, werden die meisten im Programm verwendeten Namen in Adressen umgewandelt. Der Verlust von Namen bedeutet, dass der Dekompiler eindeutige Namen für alle Konstanten, Variablen, Funktionen und Prozeduren erstellen muss. Selbst wenn die Dekompilierung einigermaßen erfolgreich ist, fehlt dem resultierenden „Quellcode“ immer noch die ursprüngliche Bedeutung der Variablen- und Funktionsnamen.
Es ist offensichtlich, dass die Syntax der ursprünglichen Programmiersprache in der ausführbaren Datei nicht mehr vorhanden ist. Daher ist es für den Dekompilierer sehr schwierig, die fortlaufenden Anweisungen in der Maschinensprache der ausführbaren Datei zu übersetzen und die Anweisungen in der Originalsprache zu ermitteln.
Warum und wann verwenden.
Reverse Engineering wird aus mehreren Gründen eingesetzt:
Ist das legal? (Ist das legal?)
Reverse Engineering ist keine Entschlüsselung, obwohl es schwierig ist, eine klare Grenze zwischen beiden zu ziehen. Computerprogramme unterliegen dem Urheberrecht und dem Markenrecht. Verschiedene Länder haben unterschiedliche Interpretationen der Rechte von Urheberrechtsinhabern. Die häufigste Erklärung ist, dass die Dekompilierung unter den folgenden Umständen in Ordnung ist:
Zur besseren Erläuterung ist die Schnittstellenbeschreibung nicht mehr verfügbar. Zur Korrektur von Fehlern kann der Urheberrechtsinhaber die Korrektur nicht vornehmen. Zur Feststellung, ob ein Teil des Programms geschützt ist. Wenn Sie sich nicht sicher sind, ob Sie die ausführbaren Dateien bestimmter Programme disassemblieren dürfen, sollten Sie natürlich vorsichtig sein oder sich an Ihren Anwalt wenden.
HINWEIS: Wenn Sie nach einer Anleitung zum Hacken von Delphi, einem Schlüsselgenerator oder einfach nur nach einer Seriennummer suchen, sind Sie hier falsch. Bitte stellen Sie sicher, dass alles, was Sie hier schreiben oder präsentieren, ausschließlich Forschungs- und Bildungszwecken dient.