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 Delphi Discussion :

Codage de chaine avec XOR


Sujet :

Langage Delphi

  1. #1
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut Codage de chaine avec XOR
    Bonjour à tous.
    Nous avons une petite application existant qui fonctionne très bien mais je dois le réécrire pour modifier un traitement et rajouter une fonctionnalité.
    Le souci actuel est l'accès au programme qui necessite un couple User/Mot de passe. J'ai appelé le gars qui a developpé le soft et il m'a dit qu'il suffit de faire un XoR 0xAAAAAAAB sur le mdp cripter pour l'avoir en clair.

    Comment faire ?

    Merci
    On progresse .....

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 448
    Points
    28 448
    Par défaut
    Citation Envoyé par Andry Voir le message
    Bonjour à tous.
    Nous avons une petite application existant qui fonctionne très bien mais je dois le réécrire pour modifier un traitement et rajouter une fonctionnalité.
    Le souci actuel est l'accès au programme qui necessite un couple User/Mot de passe. J'ai appelé le gars qui a developpé le soft et il m'a dit qu'il suffit de faire un XoR 0xAAAAAAAB sur le mdp cripter pour l'avoir en clair.

    Comment faire ?

    Merci
    à vu de nez, le mot de passe crypté a une longueur multiple de 4

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    function Decrypt(const pass:string):string;
    var
      p : pcardinal;
      i  : Integer;
    begin
      Result := pass;
      p := @Result[1];
      for i := 0 to (Length(Result) div 4)-1 do
      begin
       p^:=p^ xor $AAAAAAAB;
       inc(p);
      end;
    end;
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    Cool Paul.
    Effectivement, le mdp max est de 4 caractères. J'ai verifier avec l'ancien prog en creant un utilisateur et en testant la valeur avec chaque password entrée et enregistrer par l'appli.
    Le hic c'est que la longueur maximal autorisé est de 4 caractères, or je me suis amusé à ne rentrer que 3 caractères, et la ça bug.

    Comment y remedier.
    On progresse .....

  4. #4
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 448
    Points
    28 448
    Par défaut
    une solution simple est de le retailler à 4 caractère plus de le tronquer à sa taille initiale

    sinon il faut faire un XOR 8bit au lieu de le faire sur 32 bits avec $AA ou $AB selon le cas
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  5. #5
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    Merci Paul.
    Effectivement, j'ai déjà modifier la routine pour détecter la taille du passe et ensuite retailler le résultat en fonction.

    En tous cas, merci pour ton aide.
    On progresse .....

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

Discussions similaires

  1. Décrypter une chaine sans clé avec XOR
    Par mastraze dans le forum Sécurité
    Réponses: 1
    Dernier message: 28/06/2010, 08h49
  2. [LG]Type chaine avec plus de 255 car et EOF intempestif.
    Par jpclabaux dans le forum Langage
    Réponses: 2
    Dernier message: 27/10/2004, 10h39
  3. Chaines avec caractères accentués dans interbase
    Par Tsimplice dans le forum Bases de données
    Réponses: 4
    Dernier message: 08/03/2004, 17h12
  4. [sous-chaine] Avec strpos ou substring ??
    Par terziann dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 17/07/2003, 15h28
  5. Script test de deux chaine avec if
    Par kacedda dans le forum Linux
    Réponses: 6
    Dernier message: 02/05/2003, 15h38

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