Die Idee mit dem Timer ist ganz nett (oder war der schon immer da?). Habe ich schon mal beim
Buha-"Contest"
gesehen

. Level 10. Übrigens sind davon die Sources verfügbar (und der Autor "nait" versteht was davon - sein neueres Projekt ist ein
non-intrusive Debugger was glaube ich schon genung über seine Kenntnisse aussagt.
Vielleicht kannst Du ja den einen oder anderen Trick abgucken.
Wobei wir schon bei der "Bewertung" wären - ich würde sagen, zumindest, was das auffinden der Vergleichsroutine angehet - es spielt schon in der gehoben Klasse mit ( verglichen mit vielen Crackmes). Man sieht imho schon, dass Du Programmierst und nicht "codest" oder "proggst"

. Allerdings hast Du nur auf die Symptome reagierst.
Zuerst: die globalen Variablen sind schon sehr verdächtig - meistens landet alles auf dem Stack und hat die Adresse 12xxx. Wenn dagegen das "Offset des Programms" als Adresse erscheint, denkt man sich schon "hier muss was sein - denn es ist global"
Und die zweite "gravierende" Schwäche ist überhaupt der Vergleich - diesesmal wird er nämlich zur Lösung genutzt.
Jetzt zu den Tipps:Natürlich hast Du recht, bezüglich dessen, dass ein Cracker, sobald er die Vollversion hat, auch die Sprungadressen herausbekommt. Es war von mir nicht ganz fertiggedacht. Allerdings, wenn jemand die Vollversion weitergibt, kann er das Handbuch als PDF mitgeben.Da bringt die Rumtrikserei nichts mehr. Hier gibte es einige Foren, wo ich nützliche Tipps gesehen habe (delphi-forum, URL habe ich leider nicht im Kopf). Die Absicherung geht dabei immer zur lasten des Kunden.
Was jetzt kommerzielle Packer und Protector betrifft: wie man hier an einigen Threads sehen kann, sind sie nicht wirklich perfekt (ok, ein Armadillo-Crackme war schon komplex, aber auch z.T nur, weil es Autoit - Scriptengine war, was einfach sehr ätzend ausfallen kann). Ich hab die Preise nicht im Kopf, denke aber, je nach Produktpreis muss die Anschaffung der Lizens sehr überlegt sein. Und auch die "Schutzgrenzen" sind begrenzt: wendet man den "besonderen" Schutz z.B auf diese Vergleichsroutine an, läuft der Installer nur noch auf 4 Ghz Boliden. Zumindest sollen viele der einzelnen Optionen in der Praxis Probleme bereiten. Dagegen gibt es für OllyDbg z.B Scripte, die den Schutz oder zumindest einen Teil davon entfernen und damit unwirksam machen.
Kommen wir zur Lösung:
diesesmal ist sie sehr "primitiv".Es werden einfach die Hashes überschrieben. Nach dem Patch gibt es nur ein gültiges Passwort: "CDW"
