Entweder ist der Lizenzschutz echt nichts Wert und man ärgert den armen Andy unnötig
Die Kopierschutzfunktion "Austauschen von 'Beenden' und 'Speichern'" ist wohl sowas von lächerlich.
Die Kopierschutzfunktion "Alle
DLL und
BPL Dateien in $(
BDS)\bin darauf zu prüfen, ob sie signiert sind" ist so dämlich implementiert, dass es nur noch wehr tut. Da wird nicht mal geprüft, ob es von Embarcadero signierte Dateien sind. Es muss einfach nur eine Signatur vorhanden sein.
DLL einfach selbst signieren und fertig. Die einzige Funktionalität daran ist, die Festplatte, den
RAM und die CPU gewaltig auszulasten. Für die GPU wird Embarcadero sicherlich auch noch was finden. Übrigens, eine
DLL per
DLL-injection einfach aus einem anderen Ordner laden und schon greift der Schutz nicht mehr, da Windows eine
DLL mit gleichem Namen nicht zweimal lädt, sondern nur den Referenzzähler erhöht.
Das einzige, was halbwegs (für den geübten Cracker sicherlich auch kein Hindernis) effektiv ist, ist die Obfuscation und Checksummenprüfung, die mit jedem Release mehr Code obfuscated und prüft, was mir dann die Probleme beim Patchen macht.
PS: Bin gerade von einer Race-Condition im Kopierschutz so was von genervt, die den Debugger zum Absturz bringt. Dabei debugge ich nicht mal den Kopierschutz, sondern sitze in TMenu.IsShortCut im Hauptthread und beim F8 (Step over) knallt es dann in einem anderen Thread im Sanctuary-Code. Wird wohl doch langsam Zeit für eine eigene
IDE oder den vollständigen Wechsel zu C#.