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 :

Protéger son code source ?


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 434
    Par défaut Protéger son code source ?
    Bonjour, je voudrais savoir s'il existe un logiciel gratuit pour crypter au maximum un executable afin d'éviter autant que possible qu'il puisse etre décompilé et compris.
    J'ai essayé UPX mais si j'ai bien compris il ne fait que compresser.

    Merci

  2. #2
    Membre chevronné Avatar de aziz jim
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 455
    Par défaut
    Je ne savais pas qu'un exe peut être decompilé et compris!!!!

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 434
    Par défaut
    Tu vis peut etre dans un monde ou les applications ne sont pas crackées?
    Tu as de la chance...

  4. #4
    Membre émérite Avatar de MatRem
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 750
    Par défaut
    Quel est l'intérêt:
    d'éviter autant que possible qu'il puisse etre compris
    ???

  5. #5
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    propriété intellectuelle, ou "security through obscurity"...

    Le mot-clé à chercher, c'est "obfuscateur de programme"
    Mais on en trouve surtout pour les programmes Java et .Net, qui contiennent beaucoup plus d'informations que de simples exes...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    Membre chevronné
    Avatar de NewbiZ
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2002
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2002
    Messages : 184
    Par défaut
    Je ne sais pas si les obfuscateurs de programmes le font, mais ce problème peut s'apparenter à la recherche de signature de code dans les antivirus.
    Les virus évolués ont en effet tendance à ne stoquer qu'un extracteur qui au démarrage de l'application décompresse (voir decrypte) l'exécutable pour le lancer. Ca pourrait te servir à rendre impossible la décompilation de ton programme.

  7. #7
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 635
    Par défaut
    Salut,
    Citation Envoyé par supergrey
    Tu vis peut etre dans un monde ou les applications ne sont pas crackées?
    Tu as de la chance...
    Je n'irai pas jusque là, mais ... il faut avouer qu'il existe des applications de qualité disponible sans devoir "casser sa tirelire" et sans devoir recourrir aux cracks ...

    Ceci dit...

    Je me pose très sérieusement la question de l'utilité d'une telle demande...

    Apres tout, on sait que toute clé existante entrera forcément dans une serrure...Il suffit de voir les différents essais de protections et la rapidité avec laquelle les cracks et autres astuces pour les contourner apparaissent sur le net pour s'en convaincre...

    A voir les choses au premier degré (tout travail mérite salaire, et chaque personne qui craque ton application te "vole" une partie de ton juste salaire), on peut, effectivement, juger que c'est mal de "pirater" les applications...

    Mais, essayons de voir les choses "de l'autre coté de la lorgnette"...

    Comprenons nous, je vais parler ici d'applications utilisable "en entreprise", et je laisse volontairement de coté tout ce qui a un trait ludique à purement "personnel"...

    Sans les cracks, combien de personnes seraient en mesure de se payer (pour ne l'utiliser qu'une fois ou deux avant le changement de version ou avant l'expiration de la durée d'évaluation) des applications comme Office XP Pro (histoire d'avoir aussi access), Adobe Première, Encore DVD, Photoshop et autres

    En dehors des étudiants sous certaines conditions, la réponse tient en peu de mot: à peu pres personne... ou, en tout cas, trop peu de monde pour permettre de trouver quelqu'un facilement qui connaisse ces outils...

    Je te rappelle quand meme que, si tu dois acheter une version officielle de ces quatre applications, tu tourne sur un budget de 1000 à 2000€... si pas plus...

    Mais cela pose un problème complémentaire...

    En tant qu'entreprise, quelle solution a-t-on pour obtenir des collaborateurs efficaces avec de telles applications si... nos collaborateurs ne savent pas "s'amuser avec" chez eux

    La réponse est bien simple: ou bien on les forme à grands frais, ou bien, on décide d'utiliser une application à laquelle les collaborateurs sont habitués... ou du moins correctement initiés...

    Donc, quand on y pense bien...

    La propagation de versions d'évalutation est indispensable pour te permettre de te faire connaitre et pour permettre aux gens de se familiariser avec l'outil, mais...

    Si les gens ne disposent pas d'une version complete, il ne seront familiarisés qu'avec une partie (sans doute insuffisante) de l'outil et

    S'il disposent d'une version complete, mais limitée à 30 jours, ils n'auront pas le temps d'en explorer toutes les possilités (ils ont sans doute aussi d'autres choses à faire )

    Quoi qu'il en soit, leur "expérience" d'utilisation de l'outil ne sera pas suffisante pour leur permettre de l'utiliser dans un environnement de production...Et l'attrait meme que pourrait présenter l'outil s'estompe... faute de personnel qualifié, quand bien même il serait de qualité supérieure aux concurents...

    Si on devait résumer en deux phrases, elles seraient donc:

    1. Quelle que soit la protection, elle sera contournée tot ou tard
    2. Un outil de qualité mais que personne ne maitrise suffisemment pour l'utiliser n'a aucun intéret...

    Donc, je repose la question...

    Estimes tu réellement indispensable de perdre ton temps à essayer de protéger quelque chose dans de telles conditions
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  8. #8
    Membre très actif
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 434
    Par défaut
    Et bien a supposer que j'ai déjà trouvé une application qui crypte correctement mon excutable il me suffira de quelques secondes pour crypter mon application et rendre long et difficile la compréhension du code.
    Si je ne crypte pas mon exécutable et que mon application est interressante elle sera vite cracké, beaucoup plus vite que si je le fais. Et je ne parle pas d'application à 1000 euro mais plutot d'application grand publique.
    Donc voila je trouve effectivement tres utile (à défaut d'etre indispensable) de perdre quelques minutes pour crypter mon executable !

  9. #9
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 635
    Par défaut
    Citation Envoyé par supergrey
    Et bien a supposer que j'ai déjà trouvé une application qui crypte correctement mon excutable il me suffira de quelques secondes pour crypter mon application et rendre long et difficile la compréhension du code.
    Si je ne crypte pas mon exécutable et que mon application est interressante elle sera vite cracké, beaucoup plus vite que si je le fais. Et je ne parle pas d'application à 1000 euro mais plutot d'application grand publique.
    Donc voila je trouve effectivement tres utile (à défaut d'etre indispensable) de perdre quelques minutes pour crypter mon executable !
    Sauf que, tu n'a pas de "délais critique" pour le crackage d'une application, comme tu en as dans tous les mauvais coups que tu pourrais envisager dans la vie courente (j'entend par là, un délais au dela duquel tu risques de te faire prendre en flagrand déli)...

    De plus, j'ai franchement la conviction que la difficulté meme d'arriver à cracker quelque chose est justement de nature à inciter les gens à s'y essayer...

    Le cracking en lui meme n'a, pour la plupart des crackers, qu'un intérêt minime... c'est bien plus le "défi" d'y arriver qui les motive...

    Je parle, bien évidemment de ceux qui vont essayer de déplomber ton application, pas de ceux qui se contenteront d'utiliser le cracks qu'ils ont trouvé ... mais... si tu supprime la motivation du déplombeur, tu supprimes, quasi de facto, le risque de voir ton application crackée... donc les cracks, et donc, l'utilisation "illicite" de ton application...

    Je reprend mon exemple avec les protections des jeux...

    Apres en etre arrivé à l'utilisation de protections comme starforce, certains éditeurs ont purement et simplement décidé de ne meme plus mettre un cle d'installation sur certains jeux...
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  10. #10
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Plutôt que de protéger ton code techniquement fais-le au niveau de la loi.

  11. #11
    Inactif  

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    534
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 534
    Par défaut
    Bonjour,

    supergrey,

    Et bien a supposer que j'ai déjà trouvé une application qui crypte correctement mon excutable il me suffira de quelques secondes pour crypter mon application et rendre long et difficile la compréhension du code.
    Si je ne crypte pas mon exécutable et que mon application est interressante elle sera vite cracké, beaucoup plus vite que si je le fais. Et je ne parle pas d'application à 1000 euro mais plutot d'application grand publique.
    Donc voila je trouve effectivement tres utile (à défaut d'etre indispensable) de perdre quelques minutes pour crypter mon executable !
    A mon avis vous confondez upx comme outil de compactage, avec la cryptologie.

    Pour ce qui est de la cryptologie, vous pouvez créer votre propre méthode de crypter. A vous de donner le code pour vos bénéficiaires.

    Vous serez sans doûte moins l' objet d' attaques pirates, dans la mesure où votre code ne concerne qu' une application qui n' engage pas des intérêts sensibles ou commerciaux.

    Salut.

  12. #12
    Membre émérite Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Par défaut
    Tu veux un exe crypté et donc décrypté à chacun de ses lancements ou un exe décrypté lors de son installation?

    Dans le deuxième cas, il y a pas mal d'outil pour le cryptage md5 et autres, et des sites dont je n'ai plus l'url permettent de faire calcluler un cryptage en ligne.

    Ca me praît une bonne option.

  13. #13
    mat.M
    Invité(e)
    Par défaut
    Citation Envoyé par aziz jim
    Je ne savais pas qu'un exe peut être decompilé et compris!!!!

    eh oui ! Télécharges WDisasm ou Turbo Debugger livré avec TASM et tu t'en rendras compte par toi meme

    Cependant Supergrey utilises une mauvaise terminologie; il y eu Sourcer jadis qui d'un exécutable donnait le code source équivalent en C ; mais c'était plus ou moins fiable.
    Cela s'apelle aussi du "reverse-engineering" ou ingénierie inverse

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 264
    Par défaut
    Il me semble que l'on a pas répondu à la question initiale : Existe t-il un obfuscateur (ou un programme du genre) GRATUIT ?

    Perso, j'ai déjà cherché mais je n'ai trouvé que du payant ...

  15. #15
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Pour autre chose que du java et du .Net, ça m'étonnerait. Pas assez de demande, vu qu'il n'y a déjà plus d'infos dans un programme C++ natif... Les gens n'en ont pas trop l'utilité...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  16. #16
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 13
    Par défaut
    Et vla la reponse hop hop :p
    Tu as morphine qui fait ca bien (pour les signature antivirus en tout cas ^^)


    This routine makes it's own stubs, injects itself into segments and uses an approxomate 5Kb for the decryption routine.
    http://newbc.blackcode.com/forum/ind...oto=1946&rid=0

    Apres je n'ai pas trop cherché a reconstruire un executable ou dll morphiné. a mon avis ca doit etre costaud a faire (surtout que tu peu morphiné plusieurs fois) mais possible avec un softice ou autre (vu que dans tout les cas il se decrypt au moin en partie tot ou tard).

    Si ta peur des cracks... J'ai peu etre une idée...
    Il te suffirait de morphiné a chaque fois ton exe de base avant de lancer le telechargement de la demo (avec du php ou autre qui genere une nouvelle archive a la demande) comme ca un patch générique sera quasi - impossible a produire vu que tout les binaires (chez les testeurs) seront differents.

Discussions similaires

  1. Outils pour protéger son code source PHP
    Par beegees dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 06/08/2013, 14h06
  2. Crypter / Protéger son code source
    Par matthieu637 dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 16/07/2008, 13h07
  3. Comment commenter son code source proprement ...
    Par basnifo dans le forum MFC
    Réponses: 3
    Dernier message: 31/03/2006, 16h22
  4. Propriété de son code source.
    Par chocobn49 dans le forum Langages de programmation
    Réponses: 6
    Dernier message: 06/07/2004, 14h40

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