Äehm...
Einen gewissen Schutz erreichst du nur, wenn du beim Programmstart jedes mal prüfst, ob dein programm noch auf dem Rechner Läuft, auf dem du es installiert/registriert hast.
Eine 100% Schutz gibte es nicht. Aber man kann allen Kiddies und Noobs das Leben schon schwer machen, indem du dir solche schweinereien ausdenkst. Die Geschichte mit dem Hash ist ne feine Sache, wenn man Passwörter oder sowas "verschlüsselt" speichern will.
Die Geschichte Mit der
DLL würde ich kippen... Braucht nur jemand ne
DLL hinstellen, die immer - was auch kommt - True ausgibt und fertig...
Delphi-Quellcode:
function sowiso(Bla, Blaa, Blaaa: irgendwas):Boolean;
begin
result:=true;
end;
du könntest einen Key (einen 32 Stelligen Hash) in der Registry ablegen, der den Computernamen (schlechtes Beispiel - irgendwas halt) enthält. Wenn noch kein Eintrag existiert, wird der CD-Key (aufbewahren!!) abgefragt, der liesst etwas persönliches aus dem Computer aus, erstellt einen Hash davon und speichert den weg. Jedesmal wenn dein Programm startet, könnte dieser hash nochmal ermittelt werden und mit dem alten aus der registry verglichen.
In die registry darfst du natürlich nur einmal schreiben. Nämlich dann, wenn der CD-Key richtig eingegeben wurde.
Wenn nun der Hash nicht übereinstimmt kannst du A) den user auffordern einen neuen Key anzufordern (Gültigkeit festlegen) oder schlicht nochmal neu eingeben...
Aber das ist nur
eine Möglichkeit. Deiner Phantasie sind da keine grenzen gesetzt. Und wie gesagt 100% sicher gibts nicht und 99% nur mit enormen Aufwand.
MfG
Tonic
Der frühe Vogel fängt den Wurm, richtig.
Aber wird nicht auch der frühe Wurm vom Vogel gefressen?