Page 1 sur 2

Protéger un logiciel exécutable

Publié : sam. 08/août/2020 11:59
par omega
Bonjour,
Je cherche une astuce simple et efficace qui empêche d'installer mon logiciel sur un autre PC (autre que celui pour lequel il est destiné).
Merci

Re: Protéger un logiciel exécutable

Publié : sam. 08/août/2020 15:10
par Shadow
Salut,

La seule chose que je vois c'est de trouver un moyen de choper son numéro d'identification.
Surement dans le registre ?

Ce sujet m’intéresse :)

Re: Protéger un logiciel exécutable

Publié : sam. 08/août/2020 17:46
par manababel
Bonjour
Si vous avez le PC physiquement devant vous, vous pouvez récupérer l'id du cpu, voir la licence de Windows. Chaque cpu à un une id différente et chaque Windows à une clé différente .

vous pouvez tester soit l'un soit l'autre, voir les deux pour plus de sécurité , il suffit de comparer juste quelques chiffres/lettre . ( Evite d'ecrire entierement la licence windows , meme codé)
si c'est identique, il est très probable que ce sois votre ordinateur.

voici la commande pour afficher l'Id de votre CPU.

Code : Tout sélectionner

  Compilateur = RunProgram("cmd", "/c wmic cpu get processorid", "", #PB_Program_Open | #PB_Program_Read)
  Sortie$ = ""
  If Compilateur 
    While ProgramRunning(Compilateur)
      If AvailableProgramOutput(Compilateur)
        Sortie$ + ReadProgramString(Compilateur) + Chr(13)
      EndIf
    Wend
    Sortie$ + Chr(13) + Chr(13)
    Sortie$ + "Code de retour : " + Str(ProgramExitCode(Compilateur))
    
    CloseProgram(Compilateur) ; Ferme la connection vers le programme
  EndIf
  
  MessageRequester("Sortie", Sortie$)

Re: Protéger un logiciel exécutable

Publié : sam. 08/août/2020 18:07
par Shadow
Merci manababel :)

Re: Protéger un logiciel exécutable

Publié : dim. 09/août/2020 9:41
par Ar-S
Éviter de vous fier au hardware.. Si l'utilisateur change de matos il est cuit.. Avec la licence windows c'est plus souple. Si on a un compte microsoft, en se reloggant lors d'un changement de matos, le serial est le même.
@Omega..
Ce genre de protection est vite cassable.. Cela revient à if else en assembleur... Suffit d'une petite modife avec un programme comme OllyDb pour outrepasser cette vérif.
Si ton soft est juste destiné à une boite cependant, ça devrait suffire.

Re: Protéger un logiciel exécutable

Publié : dim. 09/août/2020 10:09
par Shadow
Quel est la bonne méthode alors ?

Re: Protéger un logiciel exécutable

Publié : dim. 09/août/2020 15:07
par Micoute
Je pense que la meilleure méthode, c'est de faire un fichier auto-extractible, mais avec un code d'extraction que seuls le codeur et l'utilisateur connaissent.

Re: Protéger un logiciel exécutable

Publié : dim. 09/août/2020 15:14
par Shadow
Micoute a écrit :Je pense que la meilleure méthode, c'est de faire un fichier auto-extractible, mais avec un code d'extraction que seuls le codeur et l'utilisateur connaissent.
Sa sert a rien ça !

Re: Protéger un logiciel exécutable

Publié : dim. 09/août/2020 16:03
par case
apres faut preciser ta demande un peu car on ne sait pas si c'est destiné a etre vendu et installer sur des postes d'une entreprise de particuliers etc...
si c'est un logiciel que tu utilise a titre perso et que tu ne veux pas voir sur le poste de tes enfants par exemple .

on en reviens a l’éternel problème de la protection. :mrgreen: je pense que ca ne sert a rien sauf si tu es sur qu'en face ils pourront pas cracker le truc.

le principal problème de ta demande est d’empêcher l'installation sur un autre pc, a moins d'avoir un moyen d'obtenir avant l’installation un numéro de série du matériel ou la licence windows par exemple ou de pouvoir relier un numéro de licence de ton programme a un hardware particulier et de vérifier a l'installation que c'est le mème pc utilise par ce code ça reste problématique

cela demanderai une vérification en ligne de la paire licence/hardware pour empêcher l'installation.
un peu comme Norton pratique.

un s/n ajouté a un compte en ligne qui ouvre le droit a une licence sur un produit.
lors de l'installation connexion au compte et non pas saisie du s/n sur le poste.
du coté distant un numéro d'identification du pc(on apellera ca ID) est généré lors de la connexion au compte par le logiciel.
qui reçoit alors une clef chiffrée permettant d'activer le logiciel sur le poste.
a chaque lancement le logiciel vérifie sur le compte en ligne que la clef correspond bien a la paire S/N / ID du compte associé.

pour installer le logiciel sur un autre poste(changement de pc par exemple), il faut supprimer l'id du pc du compte en ligne
et se connecter au compte sur le nouveau pc. ce qui générera une nouvelle clef reliée au compte et au S/N.

après ça reste possible d'installer sur plusieurs poste si il n'y a pas de connexion internet sur ceux ci.
rien n’empêche d'installer, le logiciel puis de déconnecter le pc d'internet puis de révoquer la licence puis d'installer sur un autre poste etc...
mais a la prochaine connexion le soft vas vérifier la licence et donc se désactiver si la pair sn/id n'est plus la même.

après ça demande d'avoir un serveur qui gère les licences en permanence. ça pose des problèmes pour le client si demain tu stoppe toute activité et que tu arrête ton serveur.

bref... je suis pas sur que le jeu en vaille la chandelle :mrgreen:

Re: Protéger un logiciel exécutable

Publié : mar. 11/août/2020 16:10
par omega
Je crois que j'ai trouvé une petite astuce simple mais efficace: et si j'enregistre (sur serveur web) l'identifiant et le mot de passe de mon client? Puis, durant l'installation, je vérifie s'il s'agit bien de mon client, si oui, le logiciel s'installe sinon l'installation est refusée, tout simplement. Cela permet à mon client, dans le cas où il change de matériel, de pouvoir réinstaller le logiciel facilement en saisissant son identifiant et son mot de passe. Voilà, qu'en pensez-vous?

Re: Protéger un logiciel exécutable

Publié : mar. 11/août/2020 16:39
par case
si ton client donne son mot de passe et son login a une autre personne comment tu peux savoir qu'il s'agit de ton client?
si ton client l'installe sur 10 postes comment peut tu savoir qu'il a change de pc 10 fois ou qu'il l'a distribué a 10 personnes?

apres voila, fred vend pure basic il y a un accès par mot de passe et login, fred ne verifie pas que tu ne l'installe pas 300 fois sur 300 postes differents fred te fait confiance en tant qu'utilisateur pour ne pas diffuser la version complète de pure basic.
donc c'est basé sur la confiance, fais tu confiance a tes clients :)

Re: Protéger un logiciel exécutable

Publié : mar. 11/août/2020 16:51
par Shadow
En même temps si jamais fred s'aperçois que tu a filer pb a d'autre gratos, je suis pas sur qu'il
sois très content, et il te supprimera ton compte et toi tu l'as dans l'os !

Puis tu peu avoir des problèmes aussi, bref.... pas si simple !

Re: Protéger un logiciel exécutable

Publié : mar. 11/août/2020 20:23
par case
Shadow a écrit :En même temps si jamais fred s'aperçois que tu a filer pb a d'autre gratos, je suis pas sur qu'il
sois très content, et il te supprimera ton compte et toi tu l'as dans l'os !

Puis tu peu avoir des problèmes aussi, bref.... pas si simple !
avec des si ma tante serait mon oncle :mrgreen:

déja c'est pas la question ,je faisais un paralelle a Omega avec son idée de mettre son logiciel derriere un mot de passe et un compte. pure basic est un exemple, car il a une 'protection' avec un login et un mot de passe sur un site web. tu ne peux pas télécharger le logiciel si tu n'a pas le mot de passe et le login associé a ton compte. cependant et comme je le fait remarquer il n'y a ensuite aucune espece de protection logicielle sur pure basic. rien ne t’empêche, toi shadow de le filer a tes potes ils pourraient l'utiliser sans l'acheter et sans aucune limitation.
enfin rien sauf ta conscience, et c'est ce que je disais c'est basé sur la confiance qu'a fred sur ses utilisateurs et sur le fait qu'il vent son logiciel avec un super rapport qualité prix.

ca ne me viendrais pas a l'idée de distribuer gratuitement purebasic tellement je kiff ce logiciel et je respecte le travail derriere...
pour moi je suppose que tenter de protéger un logiciel contre la copie c'est voué a l'echec a notre niveau a plus ou moins long terme.
quand on vois que des boites comme EA ou ubisoft paient des centaines de milliers de dollars pour des système de protections (toujours plus intrusifs, toujours plus gênant pour l'utilisateur) et que leurs jeux sont toujours piratés... c'est peut être un signe^^

Re: Protéger un logiciel exécutable

Publié : mer. 12/août/2020 6:01
par grendizer
Bonjour

le mieux c'est d'avoir un logiciel portable a mettre sur une clé usb .

Re: Protéger un logiciel exécutable

Publié : mer. 12/août/2020 13:52
par Zorro
case a écrit : il n'y a ensuite aucune espece de protection logicielle sur pure basic.

heu, je n’affirmerai pas un truc comme ça perso :)

je ne suis pas sur, que Fred ne "tatoue" pas le logiciel qui t'es dédié ....
et que si ta version se retrouve dans la nature, il ne puisse pas connaitre de qui elle proviens .... :)


d'ailleurs une version "tatoué" du soft a ton client, sachant que ce tatouage est Su de ton client, fera une dissuasion suffisante, selon moi :)
(le tatouage pouvant etre crypté , bien sur ...)
avec un petit contract d'acceptation de la part du client, et t'es tranquille