Das Problem ist, dass es am Ende zwangsweise immer eine if-Anweisung ist die für die Prüfung zuständig ist.
Sobald man die gefunden hat, ist jeder Schutz umgehbar.
Nein.
Ja, wenn nur an ein paar Stellen ein
if Schutzfunktion then
auftaucht, dann läßt sich durch Änderungen eines einzigen Bits in
if NOT Schutzfunktion then
abändern.
Darum verschllüsseln "bessere" Schutzfunktionen den eigentlichen Programmcode und entschlüsseln ihn dann zur Laufzeit.
Natürlich muß man dann auch aufpassen, dass niemand zur Laufzeit den Code einfach so ausließt und später in den Programmkopieen direkt lädt.