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

Dotnet Discussion :

Obfuscation d'une dll (bibliothèque de classe) en VC++


Sujet :

Dotnet

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 33
    Par défaut Obfuscation d'une dll (bibliothèque de classe) en VC++
    Bonjour à tous,

    Je programme en VC++ CLR et je n'arrive pas à obfusquer une dll (alors qu'un exe, oui)
    Apparemment il y aurait un problème du fait qu'il y a du code mixte, ou natif, les erreurs des obfuscateurs sont assez obscures.

    J'ai trouvé ça : http://msdn.microsoft.com/fr-fr/libr...8VS.80%29.aspx mais je ne sais pas vraiment quoi en faire.

    Quelqu'un pourrait-il m'aider ?!

    Merci !

  2. #2
    Membre chevronné
    Avatar de m-mas
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2003
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2003
    Messages : 576
    Par défaut
    comment tu fais pour obfusquer ta dll ? est ce avec un outil bien précis ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 33
    Par défaut
    Merci pour ta participation m-mas

    - J'ai d'abord essayé Dotfuscator (celui intégré à Visual Studio)
    - Puis Macrobject Obfuscator.NET (il a l'air gratuit)
    - Et enfin, avec la demo de smartassembly.

    Les trois me font des erreurs avec + ou - le même message.
    Traduction approximative : impossible de compiler car il y a la présence de code non managé / native, l'obfuscateur ne gére pas ce genre chose.

    J'ai essayé en créant un projet de bibliothéque de classe vide.
    ça me fait la même erreur alors que j'ai encore rien programmer

    Il y a p'tet quelque chose à faire au niveau de la configuration de la compilation.

  4. #4
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    A la limite si c'est vraiment pas possible tu pourrai ne coder en mixte qu'une passerelle (au sens pur, ie. aucun véritable code dedans) et bien séparer le code natif du code managé (dans deux dlls). Ainsi, tu pourra obfusquer tranquillement ta dll managée ...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 33
    Par défaut
    Citation Envoyé par smyley Voir le message
    et bien séparer le code natif du code managé (dans deux dlls). Ainsi, tu pourra obfusquer tranquillement ta dll managée ...
    Le truc, comme je l'ai dis dans le message précédent, c'est que dès le départ (un projet de dll CLR vide) pose problème ...

  6. #6
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Il y a trois modes pour une dll C++ :
    - natif pure
    - mixte (pas obfuscable selon tes dires)
    - managé pure
    C'est dans les options du projet que tu peux le voir. Donc du code en natif et managé pure (obfuscable) et une passerelle en mixte, non obfusquée.
    (obfusquable, obfuscable, ... bref )

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 33
    Par défaut
    Je viens de le voir, je venais poster la soluce

    Pour rendre une dll obfuscable il suffit de passer l'option sur :
    Prise en charge pure du Common Language Runtime MSIL (/clr:pure)

    Maintenant, cette solution ne marche pas si votre dll utilise du code C++ natif. Dans ces cas là il faudrait utiliser la solution de smyley avec la "passerelle".

    Merci à tous

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

Discussions similaires

  1. [C#] Multiple instance d'une dll ayant des classes static
    Par Saroumane dans le forum Débuter
    Réponses: 0
    Dernier message: 04/06/2012, 17h49
  2. Importer une bibliothèque de classes sous forme d'un DLL
    Par Sangdrax1604 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 31/12/2007, 12h18
  3. Question sur exports et les classes (pour une dll)
    Par DjPoke dans le forum Langage
    Réponses: 7
    Dernier message: 08/08/2005, 19h25
  4. [Visual C++6] Accès à une classe d'une dll
    Par charliejo dans le forum MFC
    Réponses: 12
    Dernier message: 09/03/2005, 16h48
  5. Réponses: 8
    Dernier message: 22/12/2004, 22h57

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