begin process at 2010 03 20 14:06:38
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Delphi et asm

 > CRYPTAGE / DÉCRYPTAGE DE STRING (ALGORITHME TRIVIAL)

CRYPTAGE / DÉCRYPTAGE DE STRING (ALGORITHME TRIVIAL)


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
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 983

Auteur : Nebula

Ecrire un message privé
Site perso
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...


 Sources du même auteur

Source avec Zip ATTENDRE X SECONDES DANS UNE BOUCLE

 Sources de la même categorie

Source avec Zip APPELER UNE API EN ASM AVEC DELPHI par DeadlyPredator
RENVOIT UNE CHAINE DE X FOIS LE CARACTÈRE DEMANDÉ par cutmaster
PETIT ÉQUIVALENT DU ?: DU C EN DELPHI POUR LES CHAINES, LONG... par cutmaster
AVOIR LE NOM DU JOUR DE LA SEMAINE DÉSIGNÉ par cutmaster
REMPLISSAGE FORMATÉ D'UN SHORTSTRING par cutmaster

Commentaires et avis

Commentaire de chmod777 le 15/06/2003 21:46:08

C bien, mais quel compilateur?

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"

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 :))

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...

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...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,421 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales