Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CRYPTAGE / DÉCRYPTAGE DE STRING (ALGORITHME TRIVIAL)


Information sur la source

Catégorie :Delphi et asm Niveau : Débutant Date de création : 06/06/2003 Date de mise à jour : 06/06/2003 19:01:53 Vu : 5 212

Note :
6,5 / 10 - par 2 personnes
6,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

Description

Tout est dit dans le titre...

Crypt : on prend un caractère, on le XOR avec le suivant, et on inverse le tout

Decrypt : bah, on fait le contraire ;o)
 

Source

  • // cette procédure crypte une chaine en la parcourant de son premier à son dernier caractère (l'adresse du premier caractère étant passé dans EAX)
  • procedure crypt(s: String); register;
  • asm
  • mov ecx, eax
  • @loop:
  • mov al, byte ptr [ecx]
  • test al, al
  • jz @exit
  • mov al, byte ptr [ecx + 1]
  • xor byte ptr [ecx], al
  • not byte ptr [ecx]
  • inc ecx
  • jmp @loop
  • @exit:
  • end;
  • // cette procédure crypte une chaine en la parcourant de son dernier à son premier caractère (l'adresse du premier caractère étant passé dans EAX, il faut tout d'abord parcourir la chaine pour trouver son dernier caractère)
  • procedure decrypt(s: String); register;
  • asm
  • mov ecx, eax
  • xor edx, edx
  • @init:
  • mov al, byte ptr [ecx]
  • test al, al
  • jz @loop
  • inc ecx
  • inc edx
  • jmp @init
  • @loop:
  • test edx, edx
  • jz @exit
  • dec ecx
  • not byte ptr [ecx]
  • mov al, byte ptr [ecx + 1]
  • xor byte ptr [ecx], al
  • dec edx
  • jmp @loop
  • @exit:
  • end;
// cette procédure crypte une chaine en la parcourant de son premier à son dernier caractère (l'adresse du premier caractère étant passé dans EAX)

procedure crypt(s: String); register;
asm
  mov ecx, eax
@loop:
  mov al, byte ptr [ecx]
  test al, al
  jz @exit
  mov al, byte ptr [ecx + 1]
  xor byte ptr [ecx], al
  not byte ptr [ecx]
  inc ecx
  jmp @loop
@exit:
end;

// cette procédure crypte une chaine en la parcourant de son dernier à son premier caractère (l'adresse du premier caractère étant passé dans EAX, il faut tout d'abord parcourir la chaine pour trouver son dernier caractère)

procedure decrypt(s: String); register;
asm
  mov ecx, eax
  xor edx, edx
@init:
  mov al, byte ptr [ecx]
  test al, al
  jz @loop
  inc ecx
  inc edx
  jmp @init
@loop:
  test edx, edx
  jz @exit
  dec ecx
  not byte ptr [ecx]
  mov al, byte ptr [ecx + 1]
  xor byte ptr [ecx], al
  dec edx
  jmp @loop
@exit:
end;

Conclusion

Bon vu la trivialité du cryptage çà ne sert peut-être pas à grand chose, mais çà a le mérite de m'avoir fait comprendre pas mal de choses ;o)

Pas de bugs connus, tout fonctionne correctement...
 

Commentaires et avis

signaler à un administrateur
Commentaire de chmod777 le 15/06/2003 21:46:08

C bien, mais quel compilateur?

signaler à un administrateur
Commentaire de Nebula le 16/06/2003 00:02:24

Heu... Regarde la catégorie dans laquelle j'ai placée ma source ? lol

PS pour ceux qui auraient peur d'user leur molette en remontant la page : "Catégorie : Delphi et asm"

signaler à un administrateur
Commentaire de Catman le 03/07/2003 20:27:15

Bon ben moi ça marche pas sous nasm, et en quoi ça nous renseigne sur le compilateur la categorie ?
(à mon avis y a quiproquo :))

signaler à un administrateur
Commentaire de kisscool62 le 06/07/2003 13:36:52

mmmm je suis pas sûr ms je pense kil voulait parler de DELPHI.... d'ou le post dns cette rubrike me semble t'il...

signaler à un administrateur
Commentaire de wiouiwioui le 03/09/2008 16:11:55

C'est bien de l'assembleur mais pour DELPHI.
P.S. Cette source m'a été utile pour la base d'un de mes encrypteur.
TY

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,328 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.