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

Débats sur le développement - Le Best Of Discussion :

Comment protéger son code du reverse engineering ?


Sujet :

Débats sur le développement - Le Best Of

  1. #1
    Membre éclairé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Points : 763
    Points
    763
    Par défaut Comment protéger son code du reverse engineering ?
    La question est dans le sujet .
    Je voulais savoir quel(les) logiciels(techniques) permettent de se prémunir au mieux du reverse engineering ?

    Merci d'avance de vos réponses
    Aucune réponse à une question technique par MP.
    Ce qui vous pose problème peut poser problème à un(e) autre

    http://thebrutace.labrute.fr

  2. #2
    mat.M
    Invité(e)
    Par défaut
    Tout dépend du langage , si c'est natif ou pas ;
    sous Java il y a des "code obsfucators" voir le forum Java
    En code natif ( C++, Delphi...) il ya des logiciels payants qui assurent un verrouillage logiciel

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 28
    Points : 34
    Points
    34
    Par défaut
    Pour le php, http://www.ioncube.com/ présente le meilleur rapport qualité/prix.

  4. #4
    Inscrit
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 531
    Points : 282
    Points
    282
    Par défaut
    C'est quoi le reverse engineering ?

  5. #5
    Membre expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Points : 3 065
    Points
    3 065
    Par défaut
    générer du code à partir d'un exécutable
    Hiko-seijuro

    n'cha - hoyoyo gang

    espace perso : http://hiko-seijuro.developpez.com
    dernier tuto : Introduction à l'éditeur de texte Emacs sous linux
    consulter les faqs : http://www.developpez.com/faq
    PAS DE QUESTIONS TECHNIQUES PAR MP OU MAIL

  6. #6
    Inscrit
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 531
    Points : 282
    Points
    282
    Par défaut
    Qu'est ce que tu appelles un exécutable ? A quoi cela sert-il de s'en protéger, par exemple pour un site en php ?

  7. #7
    Membre habitué
    Homme Profil pro
    Expert sécurité informatique
    Inscrit en
    Septembre 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Expert sécurité informatique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 103
    Points : 151
    Points
    151
    Par défaut
    un éxecutable c'est un binaire, (genre .exe), c'est compréhensible par la machine mais pas par des être humains,
    on se protege du reverse engineering pour eviter qu'un programme ne soit cracké ...
    Hervé
    -------

  8. #8
    Membre éclairé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Points : 763
    Points
    763
    Par défaut
    Ce serait du C ou du C++.
    S'il y a des noms de logiciels, je suis interessé .
    Aucune réponse à une question technique par MP.
    Ce qui vous pose problème peut poser problème à un(e) autre

    http://thebrutace.labrute.fr

  9. #9
    Inscrit
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 531
    Points : 282
    Points
    282
    Par défaut
    Citation Envoyé par RV80
    un éxecutable c'est un binaire, (genre .exe), c'est compréhensible par la machine mais pas par des être humains,
    on se protege du reverse engineering pour eviter qu'un programme ne soit cracké ...

    ça veut dire que pour qu'un visiteur puisse utiliser un site en php dont le code est transformé en binaire par un exécutable, il doit exécuter un .exe ?

    Genre il arrive sur une page blanche, qui lui dit "si vous voulez utiliser le forum, cliquer sur ce lien qui ouvrira un exécutable" ?

  10. #10
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par JackBeauregard
    ça veut dire que pour qu'un visiteur puisse utiliser un site en php dont le code est transformé en binaire par un exécutable, il doit exécuter un .exe ?

    Genre il arrive sur une page blanche, qui lui dit "si vous voulez utiliser le forum, cliquer sur ce lien qui ouvrira un exécutable" ?
    Je suis pas sûr que la question initiale concernait le PHP, ni qu'elle y soit particulièrement adaptée...

  11. #11
    Inscrit
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 531
    Points : 282
    Points
    282
    Par défaut
    D'accord, mais qu'en penses-tu, toi Eusébius ?

  12. #12
    Expert confirmé

    Profil pro
    Inscrit en
    Avril 2002
    Messages
    3 338
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 338
    Points : 4 657
    Points
    4 657
    Par défaut
    Bon ce que vous chercher s'appelle un obfuscateur ou obfuscator en anglais, une recherche sur google va vous permettre de trouver votre bonheur.

    Attention cependant l'utilisation d'un obfuscateur brouille le code source et compile n'importe comment (c'est justement le but ) avec des renvois sur des segments mémoires de partout pour compliquer la tache des crackeurs, par contre, l'envers de la médaille c'est que le code peut etre plus lent à l'execution.

    Edit :
    Citation Envoyé par JackBeauregard
    ça veut dire que pour qu'un visiteur puisse utiliser un site en php dont le code est transformé en binaire par un exécutable, il doit exécuter un .exe ?

    Genre il arrive sur une page blanche, qui lui dit "si vous voulez utiliser le forum, cliquer sur ce lien qui ouvrira un exécutable" ?
    Dans le cas de Php ce n'est pas du code source compilé, donc un obfuscateur se borne a renommer toutes les variables, virer tout les commentaires, mettre des sauts partout, remplacer les chaines par leurs valeurs ASCII.....

  13. #13
    Inscrit
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 531
    Points : 282
    Points
    282
    Par défaut
    Dans le cas de Php ce n'est pas du code source compilé, donc un obfuscateur se borne a renommer toutes les variables, virer tout les commentaires, mettre des sauts partout, remplacer les chaines par leurs valeurs ASCII.....
    Ok, je vois, merci. Mais coté client, cela est-il transparent, le site fonctionne-t'il comme n'importe quel site ? Ou bien le client doit-il exécuter un .exe pour que le site s'ouvre, s'affiche et fonctionne ?

  14. #14
    Expert confirmé

    Profil pro
    Inscrit en
    Avril 2002
    Messages
    3 338
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 338
    Points : 4 657
    Points
    4 657
    Par défaut
    Citation Envoyé par JackBeauregard
    Ok, je vois, merci. Mais coté client, cela est-il transparent, le site fonctionne-t'il comme n'importe quel site ? Ou bien le client doit-il exécuter un .exe pour que le site s'ouvre, s'affiche et fonctionne ?
    non c'est completement transparent coté client....heureusement.....je vois mal le client lancer un exe a chaque page parcourue

  15. #15
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 65
    Points : 45
    Points
    45
    Par défaut
    Bonjour à tous
    Jadis, j'ai trouvé une page web qui montrait comment sécuriser son code source pour que si quelqu'un prend votre code et prétent que c'est son code, vous pourrai le dénoncer devant le juge. Même si ca ne correspond pas beaucoup au sujet du Topic, je donnerai le lien si je le trouve. On ai jamais trop prudent.
    Sans honneur, victoire reste sans sens ...
    Ce n'est pas le programme qui fait le programmeur, ...
    Ma Kayn Ma Ydar (Il n'y a rien à faire)
    Mike85
    Besoin d'aide en informatique ? Visitez Mon Blog : Net InformatiK

  16. #16
    Membre habitué
    Homme Profil pro
    Expert sécurité informatique
    Inscrit en
    Septembre 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Expert sécurité informatique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 103
    Points : 151
    Points
    151
    Par défaut
    Citation Envoyé par Gaël Donat
    Attention cependant l'utilisation d'un obfuscateur brouille le code source et compile n'importe comment (c'est justement le but ) avec des renvois sur des segments mémoires de partout pour compliquer la tache des crackeurs, par contre, l'envers de la médaille c'est que le code peut etre plus lent à l'execution.
    Le plus drôle c'est que ton application sera bien "sale" au niveau binaire (tu compare avec un éditeur hex le code avec et sans ), mais par contre il ne sera pas incrackable pour autant (cf un des challenge securitech 2006 et une epreuve de reverse sur un code "obfusqué" <= (ça existe ça en Français ??? )) ... Donc à toi de voir tes obligations, maximum de rapidité ou maximum de sécurité, si c'est les deux ... bon courage
    Hervé
    -------

  17. #17
    Expert confirmé

    Profil pro
    Inscrit en
    Avril 2002
    Messages
    3 338
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 338
    Points : 4 657
    Points
    4 657
    Par défaut
    Oui comme le dit RV80 il faut s'avoir qu'un obfuscateur n'est pas une solution miracle, et pour cause, il n'existe pas de solution miracle. Si ton ordinateur peut interpreter un programme, avec un peu de patience un crackeur aussi.

    L'obfuscateur rend juste l'opération de lecture du code désassemblée largement plus chiante et fastidieuse, ce qui décourage les petit-malins, mais quelqu'un d'assez motivé peut quand même casser le code.

  18. #18
    Inscrit
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 531
    Points : 282
    Points
    282
    Par défaut
    Citation Envoyé par Gaël Donat
    non c'est completement transparent coté client....heureusement.....je vois mal le client lancer un exe a chaque page parcourue
    Ok mais cela préserve-t'il les sécurités de bases genre mysql_real_escape_string() pour la BD ? Si oui cela veut dire que le pirate a double travail, une fois qu'il s'est dépatouillé avec le code du site en binaire il n'a plus qu'a se débrouiller de nouveau pour essayer de pirater le site.

    Mais je me demande si j'ai tout pigé : Le fait de transformer le code source en binaire empêche-t'il le pirate d'effectuer une attaque par xss ou injection sql ?

  19. #19
    Membre habitué
    Homme Profil pro
    Expert sécurité informatique
    Inscrit en
    Septembre 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Expert sécurité informatique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 103
    Points : 151
    Points
    151
    Par défaut
    oulà tu parles de deux choses différentes il y a le RE(reverse engineering) de binaire (fichier executable écrit à l'origine en C/C++ ou autre) et le piratage de site en PHP ...
    Les protection des sites en PHP c'est juste rendre le code plus illisible, mais sinon le fonctionnement reste le même, le code PHP est interprété par le serveur qui renvoye du code HTML au client ...
    Hervé
    -------

  20. #20
    Expert confirmé

    Profil pro
    Inscrit en
    Avril 2002
    Messages
    3 338
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 338
    Points : 4 657
    Points
    4 657
    Par défaut
    Citation Envoyé par JackBeauregard
    Mais je me demande si j'ai tout pigé : Le fait de transformer le code source en binaire empêche-t'il le pirate d'effectuer une attaque par xss ou injection sql ?
    Je pense qu'il y a confusion de terme. transformer le code source en binaire s'apelle la compilation. Ca n'a rien à voir avec l'obfuscation.

    compiler un programme c'est juste le rendre compréhensible par la machine.
    obfuscer un code c'est juste le rendre assez peu compréhensible pour un etre humain.

    le résultat de l'obfuscation d'un code source reste un code source.

    Dans le cas de php, il n'y pas de compilation a proprement parlé. Lorsque tu appelle ta page index.php, Apache sait qu'il doit donner le fichier index.php au programme php.exe qui va executer ton code puis renvoyer à apache le résultat, qui a son tour va le renvoyer à ton navigateur. Donc dans php il n'existe pas de compilation.

Discussions similaires

  1. comment déboguer son code ?
    Par AdHoc dans le forum Zend
    Réponses: 11
    Dernier message: 05/02/2007, 15h03
  2. Protéger son code source ?
    Par supergrey dans le forum C++
    Réponses: 32
    Dernier message: 05/12/2006, 09h05
  3. comment optimiser son code en calcul ???
    Par gronaze dans le forum C
    Réponses: 5
    Dernier message: 21/03/2006, 10h41
  4. [Perf] Comment optimiser son code ?
    Par Frifron dans le forum Général Java
    Réponses: 12
    Dernier message: 11/08/2005, 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