wie schon gesagt wurde, gibt es
KEINE 100%ige sicherheit in sachen cracken!!
und jetzt kommt das
ABER:
du kannst es natürlich auch mit teilweise leichten mitteln den leuten schwer machen, bzw das cracken des programms nur auf die "profis"verschieben!!!
folgendes sollte man dabei benutzen/einbauen/verwenden:
verwende im serial bereich, oder in bereichen die wichtig sind für das registrieren des programms keine messageboxen und melde fenster, verlege die mitteilungen in dem fall in einen log, der keine ausgaben macht
verwende nie (procedure/function)namen die "eindeutig" sind, wie zb "validserial" oder "activationcheck"
baue crc32 checks, checksum checks, grössenvergleiche der datei, auslesen der copmuter spezifischen einstellungen, und andere dinge (da sind der fantasie eigentlich keine grenzen gesetzt
verschlüssel alle (und damit mein ich alle) meldungen des programms, und alle anderen dinge wie namen, serials, fensternamen (zb enter serial here) usw
verschlüsse/packe auch die datei zb mit asprotect, upx, und was es da noch so giebt (googeln), dann mit bissel erfahrung kannst du dir selber ein wenig das inhalsvereichnis (
pe header) der eigenen anwendung durcheinanderbringen!! somit ist es
standart tools die zum entpacken solcher anwendungen geschrieben wurden oft unmöglich das decodieren/entpacken zu bewerkstelligen (aber achtung, pass auf das dein programm selber keinen schaden nimmt)
versuche geziehlte stellen des quellcodes nachträglich, vllt zb mit nem timer zu checken und die richtigen bytes auslesen die den sprung oder ähnliches enthalten zu kontollieren (damit hab ich persönlich gute erfahrung gemacht ist aber aufwendig, da es für jede neukompilierte datei neu bearbeitet werden muss (wegen grösse und so))
verwende "kleine miese tricks" also, bei veränderter datei oder der gleichen lösche (nur die dateien deines programms) wichtige bibliotheken oder so für immer, so wird das programm bei jemanden der sich ans werk macht echt zur quahl, einmal falsch oft neuinstallieren oder kopiren (das zögert die zeit so doll hinnaus das viele leute ablassen) (aber nochmals, lösche keine systemdatei oder sowas als sozusagen "zur strafe")
date oft das programm ab, mit veränderten sicherheits ideen
baue kleine verwirrungen ein, wie zb strings mit registration, oder keyfile.reg, serial, oder sonnstige sachen die ab und an mal ausgelesen werden, aber quasi nichts mit passiert, oder sonnstwohinn fehlleiten
auch kann man strings verwenden die auf prozeduren hinndeuten, also zb nen string mit dem inhalt "showmessagebox" oder "getwindowtext" (das kann dazuführen das der dissasembler durcheinander kommt
frage an mehreren orten im quellcode die sicherheitsroutinen ab (programmiere sie auch öfter, nicht nur verlinken)
alle dinge die vllt in einer shareware version nicht nutzbar sein sollen, aollten auch dynamisch erstellt werden, also zur laufzeit, um zu verhindern das hacker mit einfachen resourceeditoren an jeglichen welchen rumfuschen können
so das sollte erstmal reichen für den anfang, ich hoffe es hilft dir weiter wenn mir noch paar dinge einfallen poste ich sie vllt dazu
mfg