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 :

Empecher la visualisation du code d'un script PERL


Sujet :

Langage Perl

  1. #21
    Mr6
    Mr6 est déconnecté
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Septembre 2004
    Messages
    607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2004
    Messages : 607
    Points : 794
    Points
    794
    Par défaut
    Honnêtement, le conseil de Jedai est très bien pour ce qu'il te faut !
    Installe le module Acme::EyeDrops fais-toi un script obfus comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    use strict;
    use Acme::EyeDrops qw(sightly);
     
    my ($shape, $source) = @ARGV;
     
    print sightly( { Shape       => $shape,
                     SourceFile  => $source,
                     Regex       => 1 } );
    Ensuite tu l'appelles en faisant "perl obfus.pl camel mon_cgi.pl > mon_nouveau_cgi.pl" . c'est tout simplement magnifique !!!!

    @+
    Mr6

  2. #22
    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
    Ouais c'est joli... mais si le client s'y connaît en Perl il fait un simple "perl -MO=Deparse" et hop ça devient tout de suite plus lisible !

    --
    Jedaï

  3. #23
    Mr6
    Mr6 est déconnecté
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Septembre 2004
    Messages
    607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2004
    Messages : 607
    Points : 794
    Points
    794
    Par défaut
    arf ! on en apprend tous les jours !

  4. #24
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 79
    Points : 46
    Points
    46
    Par défaut
    Donc, reste plus que l'EXE comme "solution ultime"...?
    Est ce que Perl2EXE est bien à ce niveau? Vu que c'est le plus simple d'utilisation, j'ai essayé avec celui là, mais est ce que des gens ont des retours négatifs sur ce produit?

  5. #25
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    pas moi, moi j'utilise PAR, c'est vraiment tres tres simple.

  6. #26
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 79
    Points : 46
    Points
    46
    Par défaut
    Salut!

    J'ai des problèmes pour utiliser PP....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    C:\UTIL\Modules Perl\PAR-0.92\script>perl pp -o test accueil.pl
    File::Glob object version 1.04 does not match bootstrap parameter 1.02 at C:/Perl/lib/DynaLoader.pm line 185.
    Compilation failed in require at C:/Perl/lib/ExtUtils/MM_Win32.pm line 134.
    BEGIN failed--compilation aborted at C:/Perl/lib/ExtUtils/MM_Win32.pm line 134.
    Compilation failed in require at (eval 7) line 3.
    Compilation failed in require at C:/Perl/lib/ExtUtils/MakeMaker.pm line 37.
    Compilation failed in require at C:/Perl/lib/PAR/Packer.pm line 26.
    BEGIN failed--compilation aborted at C:/Perl/lib/PAR/Packer.pm line 26.
    Compilation failed in require at pp line 5.
    BEGIN failed--compilation aborted at pp line 5.
    Je ne sais pas trop comment faire.... j'ai bien le module DynaLoader.Pm...J'ai fait quelques recherches mais je ne trouve po la solution..

    Merci d'avance!

  7. #27
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    Tu as oublié l'extension .exe
    Si tu as bien installé le module PAR Tu tapes la commande suivante :
    perl pp -o test.exe accueil.pl
    Il te creera un fichier test..exe de ton script accueil.pl.
    Il faut que tu sois dans le repertoire ou il y a le script accueil.pl ou bien lui donner le bon chemin.
    voilà!!

  8. #28
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 79
    Points : 46
    Points
    46
    Par défaut
    Rhaa, je connais meme pas les bases....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    C:\Documents and Settings>ppm install PAR
    File::Glob object version 1.04 does not match bootstrap parameter 1.02 at C:/Perl/lib/DynaLoader.pm line 185.
    Compilation failed in require at C:\Perl\site\lib\ppm-conf\ppminst.bat line 645.
     
    BEGIN failed--compilation aborted at C:\Perl\site\lib\ppm-conf\ppminst.bat line
    645.
    Error: connect: Unknown error
    Ce que j'ai fait :
    J'ai téléchargé le module à l'adresse suivante:
    http://search.cpan.org/CPAN/authors/id/S/SM/SMUELLER/PAR-0.92.tar.gz

    J'ai copié les fichiers de lib ds un de mes repertoires LIB

    Et c'est tout... quand j'essaye ppm install par, cela m'affiche l'erreur ci-dessus.....

    Mince, c'est le premier module qui me pose problème...

  9. #29
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    t'es sous WinXP, j'ai ecrit une doc sur l'installation de module pour windows (confere FAQ dans ma signature).
    Dans une fenetre DOS, ppm install PAR, et hop le tout est joué.
    Vire les fichiers que t'as telechargé. et recommence proprement via le DOS

  10. #30
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 79
    Points : 46
    Points
    46
    Par défaut
    J'ai désintallé/réinstallé Perl, et cette fois, le ppm install PAR est passé.. par contre,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    perl pp -o test.exe accueil.pl
    me donne toujours la même erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    C:\UTIL\Modules Perl\PAR-0.92\script>perl pp -o test accueil.pl
    File::Glob object version 1.04 does not match bootstrap parameter 1.02 at C:/Perl/lib/DynaLoader.pm line 185.
    Compilation failed in require at C:/Perl/lib/ExtUtils/MM_Win32.pm line 134.
    BEGIN failed--compilation aborted at C:/Perl/lib/ExtUtils/MM_Win32.pm line 134.
    Compilation failed in require at (eval 7) line 3.
    Compilation failed in require at C:/Perl/lib/ExtUtils/MakeMaker.pm line 37.
    Compilation failed in require at C:/Perl/lib/PAR/Packer.pm line 26.
    BEGIN failed--compilation aborted at C:/Perl/lib/PAR/Packer.pm line 26.
    Compilation failed in require at pp line 5.
    BEGIN failed--compilation aborted at pp line 5.
    ..

    Ca commence à m'irriter...
    Merci pour votre aide... sinon, je vais finir par utiliser Perl2EXE.. le problème est que c'est un shareware...

  11. #31
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pp -o test.exe accueil.pl
    et non
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    perl pp -o test.exe accueil.pl

  12. #32
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 79
    Points : 46
    Points
    46
    Par défaut
    J'ai cru que ca serait bon... à cause du " " dans ton post (genre "erreur complètement conne")... mais en fait, , ca ne marche pas non plus et c'est exactement la même erreur que j'ai.. erreur que je ne comprends d'ailleurs pas en fait..

  13. #33
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 79
    Points : 46
    Points
    46
    Par défaut
    J'ai désinstallé le Perl sur ma machine (Active Perl 5.8.7) et réinstallé la dernière version (Active Perl 5.8.8) et là.. ça marche ...

    Je ne pense pas que ca soit l'upgrade de version qui ait résolu le pb, plutôt le nettoyage par effet de bord qui a du l'accompagner... bon, je vais essayer d'avancer maintenant
    Merci à tous ceux qui m'ont aidé

  14. #34
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 79
    Points : 46
    Points
    46
    Par défaut
    Bon... la joie aura été de courte durée.
    En fait, je me rends compte que vu que l'EXE embarque l'interpréteur Perl, je multiplie par 100 la taille du fichier, passant de 10ko à 1Mo...

    Et comme j'ai plusieurs dizaines de scripts... Ma question est la suivante:

    Comme je l'ai déjà dit, mes scripts sont accesibles par le WEB (CGI) et en gros, 1 page WEB=1 script PERL.
    Donc supposons que j'ai script1.pl et script2.pl
    script1.pl contient un lien HTML vers script2.pl

    Quand je fais localhost/script1.pl via WEB, j'ai donc un lien HTML vers localhost/script2.pl
    Maintenant, j'utilise PP pour créer script1.EXE auquel j'ajoute (avec -a) script2.pl

    J'écris donc : pp -o script1.exe script1.pl -a script2.pl
    Mais quand je lance script1.exe via Firefox, le lien n'est plus fonctionnel car il pointe vers script2.pl que j'ai viré parce que je me dis que je l'ai intégré dans script1.exe...

    Comment faire pour faire un unique EXE qui serait le point d'entrée de tous mes autres scripts, qui, eux, seraient intégrés dans cette EXE principal? J'espère avoir été à peu près clair..

    Sinon, j'ai la solution brutale de tout passer en EXE et de transformer partout mes liens .pl vers des liens .EXE... mais question optimisation...

Discussions similaires

  1. exécuter code graphviz avec script perl ?
    Par Caro81 dans le forum Langage
    Réponses: 12
    Dernier message: 06/05/2010, 09h28
  2. empecher de visualiser le code HTML
    Par legouvernueur dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 28/02/2006, 23h37
  3. Return code d'un script sur serveur distant
    Par Koobor dans le forum Linux
    Réponses: 2
    Dernier message: 10/11/2005, 09h09
  4. empecher la visualisation du code source
    Par Teo dans le forum ASP
    Réponses: 7
    Dernier message: 24/10/2003, 14h11

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