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 :

signature mail en perl


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 1
    Par défaut signature mail en perl
    Hello a tous,

    une question de newbie, j'ai vu dans un mail une signature de la forme

    perl -e 'print qq^;@) [###]^^qq^z\.MY{eLQ9^'

    ceci renvoie le nom du gars: Andy Ford

    please please, comment a t'il fait ?

    Merci de votre aide.

    Dan.

  2. #2
    Expert confirmé
    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
    Par défaut
    Ce n'est pas une question de newbie, il n'est pas toujours évident de lire des signatures en Perl "obfusqué" comme ici. En fait si je traduit un peu, ce qu'il a écrit revient à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print ( ";@) [###]"  ^  "z\.MY{eLQ9" );
    Et il "suffit" de savoir que '^' est l'opérateur xor en Perl pour voir que Andy Ford a simplement écrit une chaîne de dix caractères (longueur de "Andy Ford") qui lui plaisait (le ";@)" particulièrement) puis a complété avec une seconde chaîne composée des bons caractères pour obtenir "Andy Ford" une fois le xor appliqué.

    Par ailleurs tu n'es pas sur le bon forum, on ne postes pas sur le forum Perl principal, mais uniquement dans les sous-forums (Langage dans ton cas).

    --
    Jedaï

  3. #3
    Membre Expert Avatar de MarneusCalgarXP
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    911
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 911
    Par défaut
    En complément de la réponse de Jedai, que j'ai eu du mal à comprendre à la première lecture:

    Le code de l'auteur n' utilise aucune variable, uniquement 2 constantes pour générer un effet styllistique de code. C'est comme si au lieu d'écrire "3", il avait écrit en deux parties "1 + 2".

    Il a pris chaque caractère, regardé la valeur ordinale du caractère, décomposé en 2 facteurs à combiner avec l'opérateur xor. Par exemple, le premier caractère de la chaine "Andy Ford" est un "A".

    Il a utilisé pour le représenter ";" ^ "z".

    En ASCII, la valeur ordinale de "A" est 65 ( 01000001 en binaire).
    En ASCII, la valeur ordinale de ";" est 59 ( 00111011 en binaire).
    En ASCII, la valeur ordinale de "z" est 122. ( 01111010 en binaire)
    (voir la table ASCCII : http://www.cdrummond.qc.ca/cegep/inf...iles/ascii.htm )

    La table du xor:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    0 xor 0 = 0
    0 xor 1 = 1
    1 xor 0 = 1
    1 xor 1 = 0
    Donc si on regarde ";" xor "z", on a
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        00111011 # caractère ";"
    xor 01111010 # caractère "z"
      = 01000001 # trouvé le caractère "A" !
    Ce qui correspond bien à la valeur de "A".


    Pour terminer, une petite parenthèse : La décomposition d'un nombre en 2 facteurs à combiner avec xor n'a rien de difficile, car une particularité de xor permet de dire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    A = B xor C <=> A xor B = C
    Ainsi, on choisit un nombre qu'on veut décomposer (ici le caractère A), on choisit un nombre au hasard pour faire une combinaison (ici le caractère ";"), et on obtient le second facteur (caractère "z") par application de xor

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        00111011 # caractère A
    xor 01000001 # caractère ";"
      = 01111010 # caractère "z"


    PS: la longueur de la chaine est de 9 caractères et non 10

Discussions similaires

  1. [Exchange 2010] Signature Mail utilisateur ( Jpeg )
    Par XVI-Joey dans le forum Exchange Server
    Réponses: 1
    Dernier message: 07/06/2012, 17h47
  2. [OL-2007] image signature mail
    Par philatex dans le forum Outlook
    Réponses: 0
    Dernier message: 16/01/2012, 21h44
  3. [OL-2007] Signature mail standard
    Par Junior_jef dans le forum Outlook
    Réponses: 3
    Dernier message: 29/06/2010, 15h50
  4. [XL-2003] Signature mail outlook
    Par buhrne dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/03/2010, 10h43
  5. Réponses: 3
    Dernier message: 10/09/2008, 16h34

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