Mettre 1337 à la fin de ses MD5

Pourquoi j'ai fait ça

Avant toute chose, c'était le nouvel an, j'avais des partiels à préparer pour êter sur de passer, donc plutôt que d'aller boire avec les quadragénaires au rez-de-chaussée, j'ai pondu un peu de C.

C'est disponible ici : https://github.com//0000md5.git.

C'est quoi ?

C'est un bout de code simple et rapide qui lit un fichier et un masque (genre 1337 ou 0000) et qui va bruteforcer un suffixe pour que le md5 du fichier se termine par le masque demandé.

Plutôt qu'un long discours, une petite démonstration :

Prenons un fichier d'entrée :

$ hexdump -C entree 
00000000  48 61 70 70 79 20 6e 65  77 20 79 65 61 72 20 21  |Happy new year !|
00000010  0a                                                |.|
00000011

Calculons son MD5

$ md5sum entree 
a3c5fca333c36296dc676c2ac9af2691  entree

Trouvons le bon suffixe pour que le md5 finisse par 001337 :

$ ./0000md5 entree sortie 001337
Mask          : 00 13 37 
Mask len      : 3
md5('entree') : a3c5fca333c36296dc676c2ac9af2691
Suffix length :
Thread reaches level 1
Thread reaches level 2
Thread reaches level 3
Time : 4s
md5( entree + ' a2 04 a1 ' ) = 1d76ea63fb000658e37fdaaf76001337
3 bytes written.

Observons le résultat :

$ hexdump -C sortie 
00000000  48 61 70 70 79 20 6e 65  77 20 79 65 61 72 20 21  |Happy new year !|
00000010  0a a2 04 a1                                       |....|
00000014

$ md5sum sortie 
1d76ea63fb000658e37fdaaf76001337  sortie

\o/

blogroll

social