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

C# Discussion :

[.NET] Protéger son code contre les décompilateurs


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Mast3rMind
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2006
    Messages : 226
    Par défaut [.NET] Protéger son code contre les décompilateurs
    Bonjour à tous,

    Je constate que les exécutables C# sont facilement décompilables et que n'importe qui disposant d'un logiciel de décompilation ou de rétro-ingénierie peut accéder librement à du code afin d'en étudier le contenu.

    Je pose donc la question légitime suivante: quelle est la meilleure façon de protéger mon code C# contre la décompilation?

    Je connais un peu la méthode d'obfuscation, mais j'ai un peu de crainte à l'utiliser car cela semble pouvoir engendrer d'autres problèmes reliés à la réflection, entre autre.

    Les alternatives du type: "Utiliser un autre langage comme C++" ne sont bien entendu pas une option.

    Pour infos, cet article de Microsoft France est bien intéressant: Visual Studio 2005 et l'obfuscation

    Si quelqu'un a de bonnes idées, elles sont les bienvenues! Merci!

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Obfuscation est la réponse à ta question: à toi de chercher plus d'infos à ce sujet

  3. #3
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    salut

    une autre alternative testé ici (dans un cours ou un test , je ne sais plus), serait d'utiliser l'outil Xenocode qui a pour effet de te produire un executable ou une dll entierement au format natif (code x86).. ce qui veut dire qu'ensuite que seul au debuggueur assembleur tu pourras analyser le code... par contre, l'effet négatif est que ton programme va bien grossir car l'outil va intégrer dans ton exe l'ensemble des librairies utilisées compilées en natif....

    genre : 40 Ko pour ton prg initiale devient 2 Mo apres traitement

    L'outil n'est pas gratuit, mais pour une entreprise, il ne coute pas cher et je pense qu'une telle solution est un super alternative à l'utilisation d'un obfuscateur qui ne fait que rentre "moins" lisible ton code

    The Monz, Toulouse

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Par défaut
    pour les 2mo au lieu des 40kg..; si tu as l'habitude comme moi des programmes écrits en C++ builder... tu as l'habitude des exe qui explosent en terme de taille

    par contre c'est vrai que Xenocode32 est payant, mais bon... comme deja dit... si ta société investi dans Visual Studio... c'est pas Xenocode qui va la ruiner, et puis au moins comme cela tu es tranquil.

  5. #5
    Membre confirmé Avatar de Mast3rMind
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2006
    Messages : 226
    Par défaut
    Merci pour les conseils.

    Je suis en train d'essayer la version d'évaluation de Xenocode, c'est vraiment un outil puissant. Il fonctionne beaucoup mieux chez moi que Dotfuscator.


  6. #6
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Citation Envoyé par theMonz31 Voir le message
    salut

    une autre alternative testé ici (dans un cours ou un test , je ne sais plus), serait d'utiliser l'outil Xenocode qui a pour effet de te produire un executable ou une dll entierement au format natif (code x86).. ce qui veut dire qu'ensuite que seul au debuggueur assembleur tu pourras analyser le code... par contre, l'effet négatif est que ton programme va bien grossir car l'outil va intégrer dans ton exe l'ensemble des librairies utilisées compilées en natif....

    genre : 40 Ko pour ton prg initiale devient 2 Mo apres traitement

    L'outil n'est pas gratuit, mais pour une entreprise, il ne coute pas cher et je pense qu'une telle solution est un super alternative à l'utilisation d'un obfuscateur qui ne fait que rentre "moins" lisible ton code

    The Monz, Toulouse
    L'outil Xenocode a été présenté sur Dvp lors d'un test. Je le sais, c'est moi qui ait fait le test Et je peux te garantir que cet outil fait de l'obfuscation de code, à moins que cela n'ait changé dans les versions récentes

  7. #7
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    salut

    beh disons thomas que j'ai testé Xenocode il y a 1 mois environ et que le code produit n'était pas déssassemblable avec un outil comme reflector puisqu'il considerait que l'executable n'était pas du CLR.... donc, j'aurais tendance à penser au vue de la documentation fournie par le fabricant de ce produit que c'est réellement un assemblage natif qui est généré et non du MSIL

    The Monz, Toulouse

  8. #8
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Par défaut
    pour avoir testé les deux, moi j'ai eu une préférence pour {smartassembly}
    http://lgmorand.developpez.com/dotnet/smartassembly/

    il obfusque mais ca reste du MSIL et surtout c'est son reporting de bug qui est super bien foutu. Fini log4net, ou plein de try catch au niveau de l'IHM, ca pete, mais ca envoi le rapport sur un serveur et là tout est géré: regroupement, analyse, etc.
    c'est créé par un seul codeur et c'est du super boulot pour le prix

  9. #9
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Citation Envoyé par theMonz31 Voir le message
    salut

    beh disons thomas que j'ai testé Xenocode il y a 1 mois environ
    Ah vi

    Tandis que la version que j'ai testé date de .... Janvier 2005 (http://morpheus.developpez.com/xenocode/) donc il est pas étonnant qu'il y ait eu des MAJ/changements

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. Réponses: 8
    Dernier message: 11/07/2008, 19h18
  3. Protéger mon PC contre les accès à distance.
    Par devlopassion dans le forum Sécurité
    Réponses: 2
    Dernier message: 06/04/2007, 01h47
  4. Protéger son code source ?
    Par supergrey dans le forum C++
    Réponses: 32
    Dernier message: 05/12/2006, 09h05

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