IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

comment protéger son programme


Sujet :

VB.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 64
    Points : 48
    Points
    48
    Par défaut comment protéger son programme
    Bonjour,

    J'ai développé un programme en VB2005. C'est du VB.NET je crois. Maintenant pour finaliser j'aimerais mettre quelques protections.

    Ou trouver de la doc à ce sujet ?
    Quels sont les idées ?

    J'avais une idée : permettre de fonctionner que sur une seule machine. Ce programme n'est pas publique mais il faut l'installer par mes soins.

    Comment trouver le numéro de système. J'avais l'idée de mettre en dur dans le code if systemnuméro() <> "123456" --> stop au début ou un truc comme cela.

    Si c'est nul je suis preneur d'autre chose.

  2. #2
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Toutes ces protections sont aisément contournées. Le code MSIL est facilement accessible en lecture.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  3. #3
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 172
    Points : 25 112
    Points
    25 112
    Par défaut
    tout dépend de ce que tu veux protéger (le code source, l'utilisation du soft ...)

    déjà, chose à savoir le code source de ton appli est trouvable via l'exe de manière plus que simple
    donc toute protection que tu mettras dans ce code sera contournable
    enfin il existe des obfuscateur qui trouble un peu le code pour etre moins lisible

    j'ai entendu parler de certificat sql server qui permet de se connecter sans mettre le mot de passe en dur et donc qui doit etre pas trop mal
    par contre il faut que ton appli utilise sql server ...



    Citation Envoyé par SaumonAgile Voir le message
    Toutes ces protections sont aisément contournées. Le code MSIL est facilement accessible en lecture.
    j'sais pas ce que vous avez avec aspic en ce moment, je trouve que vous répondez de manière un peu courte
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 64
    Points : 48
    Points
    48
    Par défaut
    Bon en résumé, si je veux faire quelque chose de propre, il ne faut pas utiliser .NET ?

    Peut être la prochaine version sera écrite sur une autre plateforme mais pour l'instant, il faut que je trouve quelques petit trucs minimum à faire.

    Ce que je veux protéger c'est que on ne puissent pas installer sur d'autres machines.

    Par contre j'ai une question sur l'installation. J'ai un répertoire avec un setup.exe. Si on ne l'a pas, est ce qu'on peut quand même installer le programme ?

  5. #5
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 172
    Points : 25 112
    Points
    25 112
    Par défaut
    une application .net a besoin pour fonctionner juste du .exe (et eventuellement des dll s'il y en a, dans le meme dossier) (et biensur que le framework soit installé)
    donc un copier coller de l'exe et ca fonctionne

    pour que l'appli ne fonctionne que sur un poste il faudrait en effet trouver un identifiant unique de la machine et le mettre en dur dans le code
    hors comme je l'ai précisé, c'est à priori contournable sans trop de difficulté, mais par un développeur, une personne lambda n'aura meme idée que c'est faisable

    enfin il parrait que certains obfuscateur sont vraiment efficace, donc essaye quand meme de voir ce que ca donne, ca se trouve ca sera suffisant
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Inscrit

    Profil pro
    Inscrit en
    Février 2004
    Messages
    862
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2004
    Messages : 862
    Points : 1 229
    Points
    1 229
    Par défaut
    Citation Envoyé par aktos Voir le message
    Bon en résumé, si je veux faire quelque chose de propre, il ne faut pas utiliser .NET ?
    Aucune protection logiciel n'est incontournable, .NET ou pas .NET.

    Maintenant, si tu veux limiter l'usage de ton programme à une seule machine, la solution proposée précedemment fait parfaitement l'affaire. Effectivement, l'utilisateur lambda n'a normalement pas les compétences nécessaires pour contourner cette protection.
    In my experience, any attempt to make any system idiot proof will only challenge God to make a better idiot.

  7. #7
    Membre éprouvé Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Points : 958
    Points
    958
    Par défaut
    Citation Envoyé par aktos Voir le message
    Bonjour,

    J'ai développé un programme en VB2005. C'est du VB.NET je crois. Maintenant pour finaliser j'aimerais mettre quelques protections.

    Ou trouver de la doc à ce sujet ?
    Quels sont les idées ?

    J'avais une idée : permettre de fonctionner que sur une seule machine. Ce programme n'est pas publique mais il faut l'installer par mes soins.

    Comment trouver le numéro de système. J'avais l'idée de mettre en dur dans le code if systemnuméro() <> "123456" --> stop au début ou un truc comme cela.

    Si c'est nul je suis preneur d'autre chose.
    Je vais être un peu hors sujet voir même considéré de mauvais poil, mais vu ta première phrase (et le reste du post, d'ailleurs), je doute que ton appli vaille vraiment la peine de mettre la machinerie lourde pour la protéger.

  8. #8
    Membre chevronné Avatar de Danyel
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    1 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 682
    Points : 1 952
    Points
    1 952
    Par défaut
    S'il y avait une protection ou un systeme fiable, cela se saurait depuis longtemps
    Que les neurones soient avec toi, jeune padawan.
    Ne pas oublier, qu'un métier, développer être.
    Effectuer des recherches et lire les tutos, avant de poster, tu dois.
    Aucune question technique, faites par MP, tu ne dois.

  9. #9
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Il n'y a pas de protection fiable mais si tu peux ofusquer ton code pour éviter la décompilation dans un premier temps puis mettre un mot de passe crypté bien sur lors du chargement du programme dans un second temps et puis je pense que le mec ne va pas se prendre la tête à cracker le mot de passe !!

    Mais c'est quoi l'intéret de protéger un programme ? moi je la distribue en générale
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 64
    Points : 48
    Points
    48
    Par défaut
    Merci à tous pour vos réponses.

    Je ne sais pas encore trop ce que je vais faire. Probablement un truc basique pour juste freiner un simple utilisateur de faire une copie.

    De toute façon, comme il n'y a pas de doc, la meilleur protection c'est de savoir comment il faut paramétrer pour que tout fonctionne normalement.

  11. #11
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Citation Envoyé par aktos Voir le message
    Merci à tous pour vos réponses.

    Je ne sais pas encore trop ce que je vais faire. Probablement un truc basique pour juste freiner un simple utilisateur de faire une copie.

    De toute façon, comme il n'y a pas de doc, la meilleur protection c'est de savoir comment il faut paramétrer pour que tout fonctionne normalement.
    Dans ce cas la fait ce que je t'ai dit dansmon précédent thread et n'oublit pas la mension
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment protéger son code du reverse engineering ?
    Par progfou dans le forum Débats sur le développement - Le Best Of
    Réponses: 120
    Dernier message: 12/01/2011, 18h12
  2. Comment ouvrir son Programme sans utiliser Dev-C++?
    Par Neferious dans le forum Dev-C++
    Réponses: 8
    Dernier message: 21/07/2008, 14h22
  3. Comment protéger son travail
    Par LEK dans le forum C++
    Réponses: 4
    Dernier message: 14/04/2007, 16h00
  4. comment protéger un programme.
    Par alien-fury dans le forum C++
    Réponses: 6
    Dernier message: 05/07/2006, 15h33
  5. [Executable]Comment lancer son programme sans fenêtre DOS
    Par the_ugly dans le forum Général Java
    Réponses: 11
    Dernier message: 09/11/2005, 07h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo