Protéger mon application (Pour les pro de la Prog) [Résolu]

DD05 53 Messages postés mercredi 11 août 2004Date d'inscription 11 juin 2010 Dernière intervention - 31 janv. 2007 à 22:30 - Dernière réponse : ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention
- 16 sept. 2011 à 11:30
Bonjour,

Je voudrais juste l'avis des pro. de la programmation. Je suis un débutant autodidacte.

J'ai réalisé une application. Elle ne sera installée que sur quelques PC.

Pour éviter qu'elle soit copiée et installée n'importe où, je l'ai protégé en utilisant la Mac adresse des PC.

Lorsque l'application se lance, je vérifie si la Mac adresse que j'ai
entré dans mon code VB6 correspond à la Mac adresse du PC où est
installé mon fichier exe.

Si l'application est installée sur un PC dont la Mac adresse n'a pas était saisie dans le code, l'application ne démarre pas.


Je voudrais savoir si c'est une bonne protection ? J'ai entendu parlé
du reverse engineering. Je ne sais pas ce que c'est exactement mais
peut-on dévérouiller ma protection par Mac adresse avec cette méthode ?

Est-ce qu'un bon Cracker arrivera à lancer mon application sur n'importe quel PC ?


Merci pour vos avis.


DD05
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
us_30 2117 Messages postés lundi 11 avril 2005Date d'inscription 14 mars 2016 Dernière intervention - 31 janv. 2007 à 23:02
3
Merci
Bonsoir,

Drôle de question. Un cracker s'intéresse-t-il aux programmes débutants ? 
Franchement, le fait déjà de personnaliser un programme à certaines machines, c'est suremment suffisant. Arrêtes la parano ! Un cracker ne viendra pas casser ton programme spécifique à qlq machines, enfin...

Maintenant est-ce une bonne protection ? C'est sûrement pas trop mauvais, surtout si rien ne laisse penser que la protection repose sur une caractéristique du matériel... Je crois (de mémoire) que cela correspond au numéro de formattage... enfin, mon opinion c'est pas sur l'efficacité, mais plutôt sur la souplesse d'utilsation. En effet, si la machine subit un changement (nouveau formattage) est bien ton programme ne serait plus utilisable sans une nouvelle intervention. Et si tu veux le diffuser, (même sous contrôle) tu seras obligé d'intervenir encore dans le code... C'est plutôt pas terrible... le manque de souplesse condannera à échéance ton chef d'oeuvre.

Enfin, c'est mon point de vue... je laisse la parole à d'autres...

Amicalement,
Us.

Merci us_30 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de us_30
Meilleure réponse
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 31 janv. 2007 à 23:13
3
Merci
us_30, l'adresse MAC correspond au n° d'identification de la carte réseau sur le réseau, un peu l'équivalent de l'adresse IP sauf qu'il est unique, attribué par le fabricant.

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #

Merci cs_casy 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de cs_casy
BruNews 21054 Messages postés jeudi 23 janvier 2003Date d'inscription 7 novembre 2014 Dernière intervention - 31 janv. 2007 à 22:50
0
Merci
Absolument sans aucun doute, suffira d'un 'JMP address' avant ta comparaison.

ciao...
BruNews, MVP VC++
Commenter la réponse de BruNews
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 31 janv. 2007 à 22:55
0
Merci
"... Est-ce qu'un bon Cracker arrivera à lancer mon application sur n'importe quel PC..."

Oui certainement et sans aucun doute. Et quelque soit la protection que tu mettra en place d'ailleurs.

Il n'existe pas de protection 100% efficace. Il n'existe d'ailleurs aucune protection efficace. La seule efficacité que l'on peut mesurer c'est le temps de résistance de la protection.

Quant à l'adresse MAC elle n'est pas attribuer au PC, mais à son composant réseau. Exemple si tu ajoute des cartes réseaux à ton PC, il aura autant d'adresses MAC que de cartes.  Ca concerne les cartes Ethernet mais aussi les connections wifi, cpl, probablement aussi bluetooth, ...

Le reverse engineering consiste à decompiler ton executable pour comprendre comment il marche.

Et si tu as stocké l'adresse MAc dedant en dur et non criptée, elle va etre très faclement decouvrable et donc modifiable.

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
Commenter la réponse de cs_casy
DD05 53 Messages postés mercredi 11 août 2004Date d'inscription 11 juin 2010 Dernière intervention - 31 janv. 2007 à 23:09
0
Merci
Merci pour vos réponses.


Je suis un peu parano tu as raison Us car mon application ne sera
diffusée que sur 2 PC et je pense effectivement que ma protection sera
suffisante.

Quant au fait d'intervenir dans le code à chaque fois dans le cas du changement de PC n'est pas un problème pour moi.


A+


DD05
Commenter la réponse de DD05
cs_pluplu 616 Messages postés mercredi 18 décembre 2002Date d'inscription 4 juillet 2012 Dernière intervention - 1 févr. 2007 à 07:42
0
Merci
La Mac adresse se change en 2 minutes sur la grande majorité des PC actuels, mais si tes utilisateurs ne savent pas que c'est ton mode de protection pas de problème, sinon un autre moyen est le numéro de série du disque dur qui lui ne change jamais.
Commenter la réponse de cs_pluplu
Anguel 32 Messages postés mardi 8 novembre 2005Date d'inscription 15 septembre 2011 Dernière intervention - 15 sept. 2011 à 18:02
0
Merci
Bonjour

C'est ancien ce poste , mais vu que il n'est pas vraiment résolu .... je me permet a donner une suggestion ( j'ai pris le code sur ce cite même et j'ai le converti en vb net )

Voila donc:

Tu peux faire une vérification de N° de série ou bien l'adresse MAC ( pendants l’exécution de ton application ) et si c'est pas le bon numéro tu exécute ce code ( lequel va supprimer l’exécutable de son emplacement et le "pirate " restera avec son doigt ....):


Sub effacer()

'Procédure de suppression :

'Initialise une variable contenant un numéro de fichier libre...
' VBto upgrade warning: Num As Short OnWrite(Integer)
Dim Num As Short
Dim Dirr As String = Application.StartupPath & ""
Num = FreeFile

'On crée un batch dans le répertoire de l'appli (de toutes petites notions sont needed)
FileOpen(Num, Dirr & "supp.bat", OpenMode.Output)
PrintLine(Num, "@echo off") 'pour ne pas afficher les lignes de commandes
PrintLine(Num, ":debut") 'un label, comme en VB ou QB
PrintLine(Num, "del """ & Dirr & My.Application.Info.AssemblyName & ".exe""") 'ligne de commande DOS, tout simplement
PrintLine(Num, "if exist """ & Dirr & My.Application.Info.AssemblyName & ".exe"" goto debut") 'clair non ?
PrintLine(Num, "del """ & Dirr & "supp.bat""") 'on efface le batch pour virer toutes traces
FileClose(Num)

'Après avoir créé le batch, on s'en sert évidemment, et on quitte pour le laisser bosser
Shell(Dirr & "supp.bat", AppWinStyle.Hide)
Application.Exit()

'Cool NON ?

End Sub
Commenter la réponse de Anguel
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 16 sept. 2011 à 11:30
0
Merci
Toutes ces protections sont souvent inutilement fastidieuse, ou entraînent ensuite des responsabilités fastidieuses (en cas de changement de matériel, etc ...) et sont assez souvent vaines car si l'appli "vaut le coût" elles seront de toutes manières "craquées" et si elles "ne valent pas vraiment le coût", personne ne cherchera à tricher.

Il suffit souvent simplement, notamment s'il y a des documents à éditer, imprimer, partager, etc ... d'y inclure (en dur) le nom et/ou le logo de la société utilisatrice ===>> effet dissuasif en général fort suffisant


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Commenter la réponse de ucfoutu

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.