Epreuve NC

Salut,

J’ai une petite question : on peux décompiler un .exe ?
Si vous connaissez NC ( Newbie Contest ), j’ai une épreuve ou je dois “cracké” le programme mais je vois pas du tout comment faire à part accèder au code source, alors si quelqu’un peux me dire comment faire :unamused:

Il existe des désassembleurs qui permettent de récupérer le code Assembleur du programme, cependant l’ASM je crains que tu n’aie pas encore le niveau (ça n’est pas une insulte, l’ASM c’est vraiment super-dur), il me semble que Windasm permet ça.

Oui, on peut décompiler un exe, il est alors décompilé en Assembleur, un langage extrêmement plus dur que le C++.
Résultat, tous les commentaires, noms de variables sont perdus. :wink:

Exemple d’assembleur : (source Wikipédia)
(voici un programme qui affiche “Bonjour” dans la console, les trucs suivis de ; sont des commentaires)

[code].globl _start
BONJ: .ascii “Bonjour\n” ; Definition en memoire de la chaine a afficher. \n correspond au saut de ligne
_start: mov $4 , %eax ; Mettre 4 dans le registre eax (appel système ‘’‘Write’’)
mov $1 , %ebx ; Mettre 1 dans le registre ebx (descripteur de fichier ‘‘STDOUT’’)
mov $BONJ , %ecx ; Mettre l’adresse memoire de notre chaine de caractere dans le registre ecx
mov $8 , %edx ; Mettre la taille de la chaine dans edx
int $0x80 ; Interruption 0x80, executant un appel systeme sous Linux)

     mov     $1      , %eax   ; Mettre 1 dans eax (appel systeme ''Exit'')
     mov     $0      , %ebx   ; Mettre 0 dans ebx (valeur de retour du programme)
     int     $0x80            ; Interruption 0x80, executant un appel système sous Linux)[/code]

Je vois à quoi ressemble l’Assembleur, je crois même que c’est le langage le plus difficile :’(
Bon merci quand même

Largement le plus dur, mais le plus rapidement, quoique le C++ est quasi aussi rapide.

En réfléchissant, il y a aussi le binaire qui est très très complexe :imp:

L’Assembleur est “juste” du binaire lisible, on peut prouver des similitude entre tel octet et tel instruction.
Bref, ça a les mêmes performances. :wink:

Le binaire est quand même plus compliqué, allez relire un script comme ça vous.

11101001000011010101010101110100101010100101001011

Sinon y a pire que l’ASM hein, genre le brainfuck tout ça…

PS : cependant dans le cracking il faut généralement chercher les sauts entre les différents états du programme (avec des instructions de type jmp) qui nous “bloquent” et chercher à les annuler en injectant un petit morceau de code. Si ta competition est pour les débutants je pense que ça doit pas être très compliqué à ce niveau là (pas trop de code).

Oué c’est pas le plus dur de le lire … Le plus dur c’est de le comprendre xD

J’ai édité trop tard…