grim7reaper

A Code Craftsman

Crackme — strings

Le crackme étudié dans cet article provient d’ici.

Ce premier crackme va nous permettre de voir la première chose à faire en rétroingénierie : lorsque l’on cherche une information textuelle dans un binaire, il faut commencer par lancer un coup de strings.
Ici, on obtient :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
% strings ch1.bin
/lib/ld-linux.so.2
__gmon_start__
libc.so.6
_IO_stdin_used
puts
realloc
getchar
__errno_location
malloc
stderr
fprintf
strcmp
strerror
__libc_start_main
GLIBC_2.0
PTRh@
[^_]
%s : "%s"
Allocating memory
Reallocating memory
123456789
############################################################
##        Bienvennue dans ce challenge de cracking        ##
############################################################
Veuillez entrer le mot de passe :
Bien joue, vous pouvez valider l’epreuve avec le pass : %s!
Dommage, essaye encore une fois.

La chaîne 123456789 ressemble étrangement à un mot de passe.
Essayons :

1
2
3
4
5
6
7
% ./ch1.bin
############################################################
##        Bienvennue dans ce challenge de cracking        ##
############################################################

Veuillez entrer le mot de passe : 123456789
Bien joue, vous pouvez valider l’epreuve avec le pass : 123456789!

Gagné !
Celui-ci était vraiment simple, le mot de passe était stocké en clair dans le binaire. Les prochains ne seront pas aussi évident ;-)