Outils d'utilisateurs

Outils du Site


ndh2k12_public:crackme:bukakke

Ceci est une ancienne révision du document !


Crackme Bukkake

Overview

$ file crackme 
crackme: ELF 32-bit LSB executable, Intel 80386, version 1 (GNU/Linux), statically linked, for GNU/Linux 2.6.32, BuildID[sha1]=0xfe11128a5dd83a7776ad2f978b1ab64ba5b7ddba, not stripped

Pour une raison que je ne sais pas expliquer, il est impossible de l'ouvrir avec IDA. C'est parti pour du full gdb ;-) !

Main function

gdb$ disas main
Dump of assembler code for function main:
   0x08048f98 <+0>:	push   ebp
   0x08048f99 <+1>:	mov    ebp,esp
   0x08048f9b <+3>:	and    esp,0xfffffff0
   0x08048f9e <+6>:	sub    esp,0x10
   0x08048fa1 <+9>:	cmp    DWORD PTR [ebp+0x8],0x1    ; check le nombre d'argument
   0x08048fa5 <+13>:	jg     0x8048fbf <main+39>        ; il doit être >1
   0x08048fa7 <+15>:	mov    DWORD PTR [esp],0x80c254d  ; "Please enter password ?"
   0x08048fae <+22>:	call   0x8049990 <puts>
   0x08048fb3 <+27>:	mov    DWORD PTR [esp],0x0        ; push 0
   0x08048fba <+34>:	call   0x8049770 <exit>           ; exit(0)
   0x08048fbf <+39>:	mov    eax,DWORD PTR [ebp+0xc]    ; continue ici si au moins un argument est donné
   0x08048fc2 <+42>:	add    eax,0x4
   0x08048fc5 <+45>:	mov    eax,DWORD PTR [eax]        ; eax contient notre premier argument (son adresse)
   0x08048fc7 <+47>:	mov    DWORD PTR [esp],eax        ; push eax
   0x08048fca <+50>:	call   0x8048ea2 <check>          ; check(argv[1]);
   0x08048fcf <+55>:	leave  
   0x08048fd0 <+56>:	ret    
End of assembler dump.

De façon basique, le programme regarde s'il a au moins un argument en entrée. Si ce n'est pas le cas, il retourne un message d'erreur. Dans le cas contraire, il appel la fonction check avec argv[1] en argument.

Check function

ndh2k12_public/crackme/bukakke.1341223985.txt.gz · Dernière modification: 2017/04/09 15:33 (modification externe)