WizardNx
Messages postés28Date d'inscriptiondimanche 7 septembre 2003StatutMembreDernière intervention28 juin 2011
-
28 juin 2011 à 18:40
syndrael
Messages postés2378Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention29 décembre 2012
-
25 juil. 2011 à 09:08
Salut à tous.
Voilà, la problématique est souvent récurrente: comment protéger son code source ? Alors il y a les solutions payantes mais c'est chère, et les solutions relativement simple basées sur le base64_encode / decode, mais ca ne tient pas énormément face à un bon développeur.
Donc voilà, je travaille depuis hier soir sur un code crypté et obfusqué... Bien entendu c'est loin d'être infaillible mais je pense que c'est relativement prise de tête pour revenir sur le code source d'origine. Je suis plutôt content de mon coup mais j'ai pu passer à coté de quelque chose, c'est pour ca que je souhaîte vous soumettre le code (après cryptage) pour que vous puissiez tenter de vous casser un peu les méninges dessus si ca vous dit et ainsi me faire des remarques sur la chose.
Une fois que ce sera "définitif" je publierai la source, mais pour l'instant j'aimerai vous la soumettre pour savoir si c'est "facile" ou si c'est assez prise de tête pour être utilisé pour la protection du code.
Je vous invite donc à copier/coller ce code dans un fichier php et à l'executer (faut php5), il devrait afficher "hello world! it works well".
Je n'ai pas utilisé le base decode pour le cryptage de la source, j'ai créé un ptit algo de cryptage plutôt loufoque et tarabiscornu mais qui marche très bien avec du texte et qui est plutôt costaud. Mais bon, la puissance de cryptage ne sert à rien étant donné que le moyen de decrypter se trouve dans le script malheureusement on ne peut pas faire autrement, c'est pourquoi je vous soumets ca et attends avec impatience vos commentaires :)
syndrael
Messages postés2378Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention29 décembre 201220 29 juin 2011 à 08:26
C'est peut être bête mais est-ce que ton code est aussi révolutionnaire que ça pour vouloir le protéger ainsi ? Et tu veux le protéger contre quoi ?? Et en terme de licence sous laquelle vends-tu ton produit ??
S.
kohntark
Messages postés3706Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 18 juil. 2011 à 21:10
Salut,
Vive l'open source !!!
Oui, tout à fait, vive l'open source (bis), n'empêche que dans certains cas il peut être "nécessaire" d’obfusquer, que le code soit basique ou révolutionnaire.
Pour moi, le mec qui a passé des dizaines d'heures non rémunérées au développement d'un progiciel / logiciel qu'il met, par conscience professionnel ou autre, à disposition d'une société dans laquelle il n'est qu’intérimaire ne doit avoir aucun scrupule a obfusquer son code.
... et inutile de s'attarder sur l'intérêt que portent certaines entreprises, PME comme multinationales, aux licences.
Ce n'est là qu'un exemple, il y en a bien d'autres.
"Être un expert ne garantit pas que ce que nous produisont soit une véritable inovation. "
C'est surtout qu'il n'y a strictement aucun lien entre les deux, McCartney et Lennon n'étaient pas Tchaïkovsky ou Mozart, ... et pourtant.
En dehors de ces considérations je trouve le sujet sympa.
Le code d'origine est celui ci :
Malgré ma lenteur naturelle ça a été assez rapide à déchiffrer, et pas trop prise de tête.
Je me suis contenté de déchiffrer, sans chercher à comprendre le fonctionnement mais il m'a semblé que beaucoup de code ne servait à rien, ... à moins que ce soit le code original qui ne nécessite pas son utilisation ? ... ou brouiller les pistes ?
Je serai curieux de voir le comportement de ton système avec des codes plus élaborés; je crains fort que les eval() fassent planter le script.
Cordialement,
Kohntark -
Vous n’avez pas trouvé la réponse que vous recherchez ?
syndrael
Messages postés2378Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention29 décembre 201220 25 juil. 2011 à 09:08
..euh..au delà de ça, y-a-t-il beaucoup de personnes qui se disent:
- tiens je vais faire du reverse-engineering comme un produit complexe ?
Si ton logiciel est complet et peut être complexe (je n'ai pas dit compliqué) peu de personnes voudront mettre les mains dans le cambouis.
Si tu veux rendre ton code moins compréhensible, oublie une chose: les commentaires. Et là c'est déja une tâche plus hardue..
Moi je dis ça comme ça, mais un client m'a déja demandé de désosser Joomla 1.1 et EGroupWare dans le passé pour comprendre certains comportements et lenteurs..
Donc prendre la main sur un code complet, c'est bien, le maitriser et le comprendre c'est mieux.. s'il y a un interet.
Mais au delà de ça, le sujet est sympatique à traiter.
S.
TychoBrahe
Messages postés1309Date d'inscriptionsamedi 31 janvier 2009StatutMembreDernière intervention 5 juin 201312 8 juil. 2011 à 10:29
+1 avec syndrael.
Ce genre de techniques à 2 dappers ne sont compréhensibles que dans le cadre d'un progiciel vraiment révolutionnaire créé par une équipe égoiste/immorale.
Quand on est pas un expert, on ouvre son code afin que les gens puissent le critiquer et nous aider.
Être un expert ne garantit pas que ce que nous produisont soit une véritable inovation.
Même quelqu'un d'excellent avec de nombreuses années d'expériences aura toujours quelque chose à apprendre des autres.
Libérer son code permet au plus grand nombre d'avoir accès à notre logiciel, de l'utiliser, l'observer, remonter des bugs, faire des suggestions pertinentes, etc.