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

Langage Perl Discussion :

compiler un script perl


Sujet :

Langage Perl

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 134
    Points : 107
    Points
    107
    Par défaut compiler un script perl
    bonjour a tous,
    bon voila je cherche a savoir comment faire pour compiler mon script perl
    je sais qu'on peut faire cela avec perlcc mais cela me claque tellement d'erreur que je ne sais plus quoi faire

    voici les modules que j'utilise dans mon script :

    use strict;
    use Net::LDAP;
    use crypt::CBC;
    use DBI;
    use Net::SSH:erl;
    use FileHandle;
    mon objectif en fait et de rendre le code illisible et de ne pas le laisser en texte.

    merci pour votre aide.

  2. #2
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Et quel est ton but en rendant ton code illisible ? Note bien qu'au final il devra être lu par l'interpréteur et donc que toute personne possédant un minimum de compétence pourra récupérer le code, par exemple en le lançant dans le débuggueur...

    --
    Jedaï

  3. #3
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut
    Sinon, pour rendre un code illisible et parfaitement interprétable, il y a les modules ACME::Morse, ACME::palindrome, un module d'assombrissement dont je ne me souviens plus du nom, et aussi tout un tas de mauvaises habitudes de programmation
    La FAQ Perl est par ici
    : La fonction "Rechercher", on aurait dû la nommer "Retrouver" - essayez et vous verrez pourquoi !

  4. #4
    Nouveau membre du Club
    Inscrit en
    Août 2005
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 47
    Points : 28
    Points
    28
    Par défaut
    Et pourquoi n'utilise tu pas perl2exe ? qui te permet de créer un executable de ton script ...

    panaone

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 134
    Points : 107
    Points
    107
    Par défaut
    en fit pour repondre a ta question Jedai : mon employeur me demande de brider le code pour qu'on ne sache plus comment il est fait "le programme"
    voila pourquoi je cherche a faire ca.

    merci pour ta reponse panaone pour perl2exe mais j'ai oulier de dire que je suis sous linux et que je cherche du free

    sinon je vais vite me mettre a chercher des infos sur ACME::Morse et ACME::palaindrome.

    le but ettant toujours d'empecher les personnes qui accedent a l'ordinateur de connaitre le code source du programme.

    s'il ya d'autre solutions je suis pret

    merci d'avance

  6. #6
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut
    Citation Envoyé par black_code
    en fit pour repondre a ta question Jedai : mon employeur me demande de brider le code pour qu'on ne sache plus comment il est fait "le programme"
    voila pourquoi je cherche a faire ca.
    Ce n'est jamais une bonne solution à long terme ... mais hélas, beaucoup de patrons ont une courte vue

    J'ai même connu des langages qui permettaient de faire des sources en clair, ou en crypté, ce qui permettait d'envoyer le crypté chez le client, pour qu'il le compile lui même sans pouvoir le lire ... au bout de 2/3 ans d'existence du projet, nous n'utilisions plus les cryptés, tellement c'était le bazar pour les mises à jour, les vérifications de version, la maintenance et les évolutions.

    Citation Envoyé par black_code
    sinon je vais vite me mettre a chercher des infos sur ACME::Morse et ACME::palaindrome.

    le but ettant toujours d'empecher les personnes qui accedent a l'ordinateur de connaitre le code source du programme.
    Acme::Morse et Acme:alindrome sont deux jouets, qui donnent des résultats très amusants, inutiles, mais fonctionnels.

    Personnellement, je ne me risquerai pas à les utiliser dans un contexte professionnel !


    Sinon, PAR::Filter::Obfuscate peut déjà rendre un code source bien incompréhensible !!!
    La FAQ Perl est par ici
    : La fonction "Rechercher", on aurait dû la nommer "Retrouver" - essayez et vous verrez pourquoi !

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 134
    Points : 107
    Points
    107
    Par défaut
    je suis tout a fait daccord avec toi 2Eurocents,
    c'est vraiment debile de faire ca t beaucoup de parton ne savent pas le risque que cette demarche mais bon c'est eux qui commandent ....

    pour les modules ACME... je ne vais pas les utiliser car comme tu dis c'est des petit jouets...

    par contre PAR::Filter::Obfuscate je vais voir immediatement

    P.S : c'est quels logiciel que tu utilise pour generer du code crypté a envoyer au clients 2Eurocents ou quel languages permettent de faire cela!!!!

    sinon juste pour compiler un source.pl sous linux a part perlcc il n'y a rien d'autre? parceque avec Obfuscate il ya deobfuscate

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 134
    Points : 107
    Points
    107
    Par défaut
    rien ne va en faite avec ce que je cherche a faire, finalement je me suis demander s'il n'étais pas mieux d'ecrire un pro en C "avec un interpreteur perl interne et mettre le code perl dans le programme C, comme ca plus de soucis

    j'ai trouver un article "faq" sur ca http://www.perl-gratuit.com/traducti...re_programme_c

    mais la question a laquelle je n'est pas de reponse et : comment mettre le code perl dans c et le passer apres a l'interpreteur?

  9. #9
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Ca ne règlera pas le problème : ta chaîne de caractère peut-être extraite du programme, et même si tu la cryptes et la décryptes à la volée, elle doit transiter par la mémoire vive, qui peut être surveillée, donc on peut récupérer ton code.... (Enfin moi je serais plutôt pour le partage du code)

    Ce que je te conseillerais en fait c'est de faire la sécurité par l'illisibilité : tout à fait comme du compilé (on peut toujours désassembler, mais avoir le programme en assembleur est d'un intérêt limité...). Tu fais un petit programme qui transforme les noms de tes variables en bouillie de chiffres (tu ne les crypte pas : tu génères un nombre aléatoire unique pour chaque variable pour en faire son nom et tu remplaces toutes les occurences de ta variable). Ca rend déjà les choses beaucoup plus difficile pour le lecteur... Tu supprimes tous les commentaires (tu les gardes dans TA source évidemment !). Tu supprimes les espaces qu'on peut supprimer, tu compiles tes scripts en bytecode (en vérifiant que ça marche toujours). Et tu utilises PAR::Filter::Obfuscate....

    Après avoir fait ça, tu expliques à ton boss que déchiffrer ton programme est devenu tellement lourd que c'est tout à fait comparable à du compilé (qui je le répète peut toujours être désassemblé, c'est comme ça que font les pirates !). Et tu distribues la bouillie infame qu'est devenu ton programme, via PAR par exemple ou perl2exe (pour qu'aucun client normal n'ai l'idée de jeter un coup d'oeil au code).

    --
    Jedaï

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 134
    Points : 107
    Points
    107
    Par défaut
    bon finalement j'ai fait un mix de tout ca et apres avoir changer le maximum possible "au niveau des nom de variables..." j'ai utiliser le module palindrome
    et apres j'ai compiler en bytecode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    perl -MO=Bytecode,-H,-oFICHIER_RESULTAT.pl FICHIER_SOURCE.pl
    merci a tous pour l'aide


    cordialement black_code

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

Discussions similaires

  1. Problème de compilation script Perl
    Par soho36 dans le forum Langage
    Réponses: 33
    Dernier message: 21/07/2010, 17h26
  2. Compilation script perl
    Par Viduc dans le forum Programmation et administration système
    Réponses: 5
    Dernier message: 30/10/2009, 18h38
  3. [langage] script perl cmd system
    Par kacedda dans le forum Langage
    Réponses: 4
    Dernier message: 02/05/2003, 09h45
  4. [langage] awk et sed dans script perl
    Par scoti dans le forum Langage
    Réponses: 3
    Dernier message: 07/04/2003, 18h26
  5. Réponses: 2
    Dernier message: 11/07/2002, 08h31

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