Protection copie cd, ou programme sur dongle usb

Soyez le premier à donner votre avis sur cette source.

Vue 25 632 fois - Téléchargée 2 512 fois

Description

Programme servant à protéger vos programmes de la copie.
Vous pouvez graver votre projet sur un CD ou une clé USB et n'autoriser son exécution uniquement sur ce support
Pour cela, changez la valeur de NumeroSerieLecteur par le numéro de série de votre média
Cela nécessite d'interroger à l'avance le numéro de lecteur puis compiler et graver pour chaque
distribution, mais cela en vaut la chandelle.
Pour toute demande d'information : hugo.bulthe@free.fr

Source / Exemple :


procedure TForm1.VerifNumSerie;
var
  VolumeName      : array[0..MAX_PATH] of char;
  VolumeSerialNr  : dword;
  FileSystemName  : array[0..MAX_PATH] of char;
  fml             : dword;
  flags           : dword;
  Lecteur         : string;

const NumeroSerieLecteur = 3560779912;

begin
  Lecteur:= Copy(Application.ExeName, 1, 3);
  if (not GetVolumeInformation(Pchar(Lecteur), VolumeName, MAX_PATH, @VolumeSerialNr, fml, flags, FileSystemName, MAX_PATH)) or
  (VolumeSerialNr <> NumeroSerieLecteur) then
  begin
    MessageDlg('Copie pirate', mtWarning, [mbOK], 0);
    Application.Terminate;
  end
  else ShowMessage('Copie autorisée');

end;

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

f0xi
Messages postés
4200
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
2 janvier 2019
26 -
desasm ->
chercher string ref 'copie pirate' / 'copie autorisée'
chercher call ref -> GetVolumeInformation etc...

chercher start proc 0xN
chercher end proc 0xM

patch proc 0xN -> jmp 0xM

Save

a plus de protection, a la portée de n'importe qui.
HAFTARIFOUAD
Messages postés
298
Date d'inscription
mercredi 5 septembre 2007
Statut
Membre
Dernière intervention
6 janvier 2011
-
Salut Monsieur HUUGOO ;-)

Bon idée et trés bon le code... c'est ce que j'ai pensé à faire depuis qlq jours.

Je vs souhaite; Bonne continuation et bonne programmation.

@+
cs_matrix1
Messages postés
175
Date d'inscription
dimanche 16 février 2003
Statut
Membre
Dernière intervention
15 avril 2008
-
Désolé, ça marche pas sur les CD rom, car a chaque gravure le N° de serie change, mais pour les Clé USB temps que c pas formater le N° de serie reste lui même, mais ...et je suis navré de te le dire, même un newbie peut cracker cet application, alors..
si t'as des notion on crack, tu seras que il ne faut jamais mètre ce type de message dans ton application car c exactement la 1er chose a chercher apré la pacage bien sure,
MessageDlg('Copie pirate', mtWarning, [mbOK], 0); il faut crypté (Copie Pirate) pour que ça ne soit pas un string visible, et même si tu le fais ça sera pas aussi difficile de faire un BP sur l'offset qui fais le teste avant d'appeler L'API pour afficher ce message, il faut etre un bon crackeur pour faire une application qui ne se fais pas cracké aussi vite ;), par ce que quoi que te face c'est crackable croi moi, je te conseille de faire un script de cette procedure et la faire compiler on runtime avec Remobject, bien sure il y a d'autre choses a faire mais temps que tu ne travail pas sure un projet top secret alors ont reste la pour le moment c suffisant ;)
Huugooo
Messages postés
122
Date d'inscription
mercredi 25 février 2004
Statut
Membre
Dernière intervention
2 juillet 2014
-
Alors pour te répondre, sache que j'utilisais une variante de ce programme il y a longtemps avec un vieux logiciel de gravure. Je gravais un fichier, puis j'obtenais le numéro de série. Puis je recompilais mon prog et terminais le CD. Le numéro de série ne changeait pas. Est-ce le logiciel ? Est-ce comme ça avec tous les logiciels, je ne sais pas je n'ai pas essayé.

Sinon pour le crack. J'ai fais du cracking il y a quelques années et j'ai encore des notions. il est bien évident qu'il ne faut pas mettre le message comme ça en toutes lettres, cela va de soit. De plus, encore moins le numéro de série du lecteur en toutes lettres dans le code. Généralement, je ne mets pas de messages, et le code est crypté à la va vite et découpé dans plusieurs variables. Ce n'est pas infaïble mais ça a l'intéret de faire cogiter pas mal d'heure le ptit malin en assembleur...

Et puis il faut l'avouer, je ne vends pas mes prog au monde entier, juste à quelques entreprises et administrations qui n'y connaissent rien :-)
nethacker
Messages postés
293
Date d'inscription
mardi 2 mai 2006
Statut
Membre
Dernière intervention
12 octobre 2011
-
Shareware Power XD

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.