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++

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 434
    Points : 82
    Points
    82
    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 confirmé 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
    Points : 567
    Points
    567
    Par défaut
    Je ne savais pas qu'un exe peut être decompilé et compris!!!!

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 434
    Points : 82
    Points
    82
    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 éclairé 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
    Points : 693
    Points
    693
    Par défaut
    Quel est l'intérêt:
    d'éviter autant que possible qu'il puisse etre compris
    ???

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    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...

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2002
    Messages : 184
    Points : 563
    Points
    563
    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
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 92
    Points : 55
    Points
    55
    Par défaut
    Citation Envoyé par NewbiZ
    Je ne sais pas si les obfuscateurs de programmes le font
    Bin si, c'est d'ailleurs leur role !
    Les programmes chargés d'empecher le code d'etre lisible s'appellent des obfuscateurs

    Citation Envoyé par NewbiZ
    , 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.
    Je comprends pas bien ce que tu veux dire.

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2002
    Messages : 184
    Points : 563
    Points
    563
    Par défaut
    Je veux dire que les obfuscateurs, pour moi, ca renvoit aux obfuscateurs de code source (qui eux n'empechent en rien la décompilation facile d'un programme, juste la lecture du source). Je ne connais pas les obfuscateurs de programme.
    Je souligne que les virus, pour éviter qu'on puisse trouver des signatures de code dans leur executable (codes "a risque") se camouflent en se compressant. (problème apparenté a l'anti-décompilation d'un executable)
    Un schéma si tu préfères :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    +-----+
    |     |
    |     | décompresseur
    |     |
    +-----+
    |     |
    |     |
    |     | données
    |     |
    |     |
    +-----+

  9. #9
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 92
    Points : 55
    Points
    55
    Par défaut
    Ok je pige maintenant ^^

  10. #10
    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

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 264
    Points : 144
    Points
    144
    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 ...

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    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é...

  13. #13
    Futur Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 13
    Points : 9
    Points
    9
    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.

  14. #14
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 627
    Points : 30 692
    Points
    30 692
    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

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 434
    Points : 82
    Points
    82
    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 !

  16. #16
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 627
    Points : 30 692
    Points
    30 692
    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...

  17. #17
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 627
    Points : 30 692
    Points
    30 692
    Par défaut
    J'ai meme presque envie d'aller plus loin...

    L'informatique en générale est le seul secteur entièrement de non droit où on aie l'impression que tout est permis...

    Meme la présomption d'innocense, pourtant si chere à tous les pays démocratiques du monde, est bafouée...

    En informatique, on considère, par défaut, que tu seras coupable de faire quelque chose d'illégal, sans meme te donner l'occasion de montrer que ce n'est pas le cas...

    C'est un peu comme si, quand tu marche dans la rue avec un sac à dos, on décidais de t'enfermer, sans autre forme de proces, dans une cellule pour "tentative d'acte terroriste"...

    Le pire de l'histoire, c'est que, si tu te fais enfermer pour simplement t'etre baladé avec un sac à dos, tout le monde criera au scandale, alors que personne ne s'émeut de devoir introduire une cle lors de l'installation d'un jeu, ou, pire, de devoir systématiquement introduire le CD/DVD... chose qui fait pourtant ch tout le monde

    [EDIT]Et toutes ces protections en viennent meme à te limiter très clairement un droit qui, pourtant, est reconnu dans tous les pays démocratiques: le droit à la copie privée...

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 434
    Points : 82
    Points
    82
    Par défaut
    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...
    Tu fais des belles phrases n'empeche que dans la réalité plus une application est difficile a cracker plus le crack met du temps à arriver, car il y a des cracker de tous niveau. Ce qui motive les crackers a s'activer sur une release c'est simplement la popularité de celle ci.
    Tu donne l'exemple de la starforce en expliquant que comme toute les protections elle est crackée, mais les jeux dont tu explique qu'ils ne mettent meme plus de protection ont encore plus vite leur serial ou keygen sur internet donc voila doutes tes explications sont vite balayer.
    Les application comme je pourrais dévellopper sont évidemment moins populaire et donc les cracker qui s'y interresse sont moins performant, mais s'ils tombe sur une application mal protégée ils seront tout content de sortir rapido un crack, alors qu'ils abandonneront dan le cas contraire, ou metteront du temps ce qui limitera les pertes pour le développeur.
    Voila

  19. #19
    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
    Points : 4 625
    Points
    4 625
    Par défaut
    Plutôt que de protéger ton code techniquement fais-le au niveau de la loi.

  20. #20
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    Quelques arguments qui n'ont pas été sortis jusqu'à présent (même si on s'éloigne du sujet du forum) :

    - Si tu utilises un système de protection que tu n'as pas fait toi même, et qui donc est utilisé à d'autres endroits, tu maximises les chances qu'un crack existe déjà.

    - Mettre en place une protection te demandera du boulot. Par exemple, si l'application a besoin d'un numéro dépendant de la machine où elle est installée, te vas devoir fournir le service de générer ce numéro, et rapidement, et ce même pour une personne qui te le demande à 3h du mat un 1 janvier.

    - Toute protection introduit des contraintes d'utilisation pour l'utilisateur légal (et pas pour l'utilisateur illégal). J'ai changé la carte mère de mon PC, mon windows, pourtant tout ce qu'il y a de plus légal, a cessé de fonctionner. J'ai du passer un coup de téléphone à un serveur vocal, tapper 40 chiffres sur le clavier de mon téléphone, puis m'en faire dicter 40 pour que ça remarche. Et si j'étais malentendant ? Il m'aurait été impossible de continuer à utiliser mon logiciel. Et si le serveur n'était pas là, ou si, unilatéralement, on décidait de m'empêcher d'upgrader mon matériel ? En tant qu'utilisateur légal, je suis très inquiet de ce genre de pratiques.

    - Je ne suis pas certain de ce que tu veux faire. Veux-tu juste empêcher la diffusion de ton logiciel, ou veux-tu empêcher son reverse engineering ? Dans le second cas, AMA, la simple masse de code désassemblé rend de toute façon toute opération de ce genre bien trop complexe, sauf pour des gens très motivés et ayant du temps, et ces gens, tu ne les arrêteras pas avec une pauvre protection.

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