logo

Knowledge Is Power

 
 

- Reinit des nouveaux posts -

- Recherche -

Messages Privés - Derniers posts
S'enregistrer - Login - Liste des membres
Vous logger : Login Pass

Reverse Engineering >> [Niv 1 - Resolu] ** DEFI 1 ** par elooo Newtopic | Reply
1 | 2 | 3 | Page suivante
poster txt
elooo
Inscrit le 19-05-2003
Avatar
Posté le 13-07-2004 06:43

Je sais, je suis à la bourre, mais voilà c\'est parti

Donc voilà le 1er défi, très simple, sans aucune difficulté apparente (et qui se fera en 10 sec chrono pour ceux qui ont déjà des bases, aussi minimes soient-elles).
Pour des défis plus compliqués, il faudra attendre un petit peu, bref désolée pour ceux qui s\'ennuient en attendant

Vous pouvez télécharger le zip ici :
http://festouilles.free.fr/newffr/elooo1.zip

Info contenues dans le txt de l\'archive :
----- elooo1 -----

Niveau : Debutant
Objectif : Trouver un serial valide

Notes : Absolument aucune difficulté pour ce crackme.
Il est plutot là afin d\'initier au debugging ainsi qu\'à quelques instructions mathématiques en assembleur.

------------------


Je propose qu\'on attende une semaine avant de rédiger une solution. Si des questions sont posées, on y répondra de manière à aiguiller.

Je vais poster un 2eme défi dans la foulée, pour me faire pardonner du léger retard, et histoire d\'occuper encore un peu si le niveau est vraiment vraiment trop easy

Pour ceux qui débarqueraient et qui seraient interessés, mais qui ne savent pas quoi utiliser comme softs, lisez au préalable cette annonce :
http://www.newffr.com/viewtopic.php?&forum=231&topic=8459


_________________________


[ Ce Message a été édité par: elooo le 2004-08-24 04:03 ]
profil | mail | Website | edit | quote
friza
Inscrit le 21-11-2003
Avatar
Posté le 13-07-2004 17:11

J'ai beau avoir quelques bases il m'a fallu + que 10 secondes

Mais c'est un bon crackme pour débuter
profil | Website | edit | quote
amistadman
Inscrit le 07-02-2004
Posté le 13-07-2004 17:44

un ptit indice svp, direct faut éditer le crackme ?
thx

_________________________
je passe tellement de mon temps à ne rien faire que je n'ai plus le temps de travailler.
profil | Website | edit | quote
frog-man
Inscrit le 04-07-2002
Avatar
Posté le 13-07-2004 17:50

Waip.
Enfin en tant que débutant je sais pas trop si y'a une autre solution ? Moi je commence toujours par éditer en asm et chercher les chaines de caractères.
profil | Website | edit | quote
amistadman
Inscrit le 07-02-2004
Posté le 13-07-2004 17:56

oki merci
_________________________
je passe tellement de mon temps à ne rien faire que je n'ai plus le temps de travailler.
profil | Website | edit | quote
elooo
Inscrit le 19-05-2003
Avatar
Posté le 13-07-2004 20:33

Très contente de voir que ça interesse des gens.
Pour ceux qui sont bloqués et qui n'osent pas poster ("Bon OK, j'ai mon debugger et le crackme, mais je fais quoi maintenant ??" ), je vais essayer de donner une ligne de conduite

La 1ere chose à faire, c'est de reussir à trouver l'endroit du code qui va être interessant pour nous et pour ça, il n'y a pas 36000 solutions en fait. Les plus courantes :
* clique-droit sur la fenetre du listing asm -> "search for" -> "All referenced text string".
Un double-clique sur la string en question vous emmenera à l'endroit où elle apparaît dans le code.
* CTRL+N qui affichera les imports (fonctions importées), allez voir la msdn pour ceux qui ne connaissent pas les api win ou une recherche sur google sinon, et ensuite clique-droit sur l'api qu'on trouve interessante et "Set breakpoint on every reference" (ca posera un bp partout dans le code où l'api est appelée).
* Pour ceux qui aiment l'aventure, comme le crackme est petit, on peut éventuellement poser des bp à tatons et voir si ça breake ou pas. Bref c'est un peu comme au loto là, et pour le passage sur des softs ça devient carrement de la barbarie

Commandes de base sous ollydbg:
F9 : execute le process
F8 : trace pas à pas mais n'entre pas dans les call
F7 : trace pas à pas et entre dans les call
F2 : pose un bpx

Les différentes fenêtres sous olly :
* En haut à droite : la fenetre de code
* En haut à gauche : la fenetre des registres
* En bas à gauche : la fenetre de dump (mémoire)
* En bas à droite : la fenetre de la stack (tout ce qui est stocké sur la pile)

Je ne veux pas de patching même si je sais que ça serait tentant pour beaucoup de monde. Y'a rien d'interessant à patcher ces crackme, au mieux une inversion de saut... bref c'est lame et vous n'apprendrez rien en patchant ces défis.
Je veux un serial... donc va falloir comprendre quelques lignes d'asm... pas le choix
Donc pour les instructions asm, une recherche sur google donne de bons résultats, mais comme je me sens en forme là, je vous donne deux liens :
http://www.iut-arles.up.univ-mrs.fr/eremy/Archi/asm.html
http://perso.magic.fr/sleon/prog/DIBUltra/asm.htm

Et sinon, faire un tutorial complet sur ollydbg relevant du masochisme, je vous conseille de fouiner partout, dans tous les menus, de tester toutes les actions possibles sous olly, vous allez forcement tomber amoureux de certains trucs .
C'est d'ailleurs ça qui fait qu'on a tous une maniere de debugger qui nous est propre, et tant mieux

Pour ceux qui pataugent réellement avec l'utilisation d'ollydbg, je vous conseille le tuto en 3 parties de mon ami Darus (remis en ligne par Nemrod34, merci à lui )
http://le-nem-show.com/TUTS/ollydbg-tuto-partie1.htm
http://le-nem-show.com/TUTS/ollydbg-tuto-partie2.htm
http://le-nem-show.com/TUTS/ollydbg-tuto-partie3.htm

Et pour acquérir des techniques de debugging avec olly, un site sympa qui regroupe pas mal de tuto avec ollydbg justement :
http://biw.rult.at/index.php?page=tuts&
Mon site aussi, sur lequel trainent quelques tutos un peu miséreux mais qui peuvent aider à se lancer :
http://elooo.fff.free.fr/tutoriaux.html

Voilà, amusez-vous bien.
Et n'hésitez pas pour les questions On a tous été débutant, y'a pas de questions sottes, ce qui serait stupide par contre ça serait de ne pas les poser

_________________________


[ Ce Message a été édité par: elooo le 2004-07-13 18:36 ]
profil | mail | Website | edit | quote
tweakie
Inscrit le 01-02-2002
Posté le 15-07-2004 04:10

Je me permets d'ajouter que pour ce defi, dans lequel le code est "statique" (le code ne se modifie pas, et rien n'est "crypte'"), on peut aussi simplement utiliser un desassembleur, par exemple la version freeware de IDA (enfin moi, c'est ce que j'ai utilise') :

http://www.simtel.net/product.php?url_fb_product_page=29498

Au premier abord, l'interface parait un peu rude, mais a l'usage, je trouve qu'on s'y fait presque...
profil | Website | edit | quote
elooo
Inscrit le 19-05-2003
Avatar
Posté le 15-07-2004 05:01

Exact tweakie
Pour des débutants par contre du dead listing, sans connaître l'asm c'est pas forcément évident.
Par contre si vous connaissez déjà quelques instructions de base il ne devrait pas y avoir de souci avec IDA pour ce défi.
_________________________

profil | mail | Website | edit | quote
friza
Inscrit le 21-11-2003
Avatar
Posté le 15-07-2004 13:20

Au passage un bon tut en fr pour IDA :

http://membres.lycos.fr/w32assembly/ace/morgatte/IdaPro45x.ace
profil | Website | edit | quote
amistadman
Inscrit le 07-02-2004
Posté le 16-07-2004 11:15

j'aimerais juste savoir si on voit le serial, pas en clair, dans la fenêtre ou ya lhexadécimal. Merci.


_________________________
je passe tellement de mon temps à ne rien faire que je n'ai plus le temps de travailler.
et aussi, lorsque l'on "MOv" une valeur dans un registre, si celui-ci a déjà une valeur, sa s'ajoute ou sa s'écrase ?

exemple :
eax vaut 2

mov eax,2

sa donne quoi ? 4 ou 2 ?


[ Ce Message a été édité par: amistadman le 2004-07-16 09:34 ]
profil | Website | edit | quote
miamasse
Inscrit le 16-07-2004
Posté le 16-07-2004 12:06

Coucou elooo (chuis déguisé )

Il faut quand même plus de dix secondes pour faire ton crackme , ou alors tu fais de tête des opérations en hexa sur 32 bits.

amistadman : nan, il faut le calculer.
profil | Website | MSN | edit | quote
kyfran
Inscrit le 13-07-2004
Posté le 16-07-2004 12:26

j'aimerais savoir si un code en asm s'execute de haut en bas ou est ce que c'est complètement anarchique...
C'est vraiment pas du turbo pascal !!!!!

Y'a t il des procédés pour remettre le code asm dans un langage plus compréhensible ( du C par exemple )?Juste pour comprendre la philosophie du code, savoir comment le programmeur a pensé son prog.

Mon soucis c'est que j'ai jamais discuté avec un processeur...alors on a un peu de difficulté à se comprendre...

Merci d'avance.
profil | Website | edit | quote
miamasse
Inscrit le 16-07-2004
Posté le 16-07-2004 12:59

Oulah ! Y a de la formation à faire par ici.

Il faut savoir qu'un CPU c'est stupide, ça ne fait rien de très genial mais ça le fait vite.
Il y a un registre important pour le CPU Intel c'est EIP (Extended Instruction Pointer). Ce registre pointe sur l'instruction qui va être exécuter, il est incrementer à la suite de l'opération du même nombre d'octets que compte l'instruction. En clair il va pointer vers l'instruction suivante après l'opération.
On peut modifier EIP par des CALL (l'adresse de l'instruction suivante est mise dans la pile puis recupérée par RET pour revenir après le CALL) ou avec des sauts (jmp et les jxx). Il n'y a donc rien de chaotique dans le fonctionnement d'un CPU.

Il existe d'autres registres pour les calculs, gestion de la pile (stack) ou pour l'écriture dans la mémoire. Je ne vais pas fait un cours la dessus, vous risquez de tous vous endormir, même à cette heure là. Il existe plein de tuts sur l'assembleur x86.

M. O'Gaïa
profil | Website | MSN | edit | quote
elooo
Inscrit le 19-05-2003
Avatar
Posté le 16-07-2004 13:06

Quote:

Le 16-07-2004 10:06, miamasse a écrit :
___________________________________________________
Coucou elooo (chuis déguisé )


Raah pourquoi vous vous cachez tous ? Z'êtes pas droles, après je suis perdue moi
M'enfin ceci dit ton pseudo ici ne me laisse presqu'aucun doûte sur ta réelle identité, et toc

Pour répondre à amistadman : oui il va falloir comprendre quelques instructions asm, tu ne trouveras pas le pass en clair, où que ce soit dans le debugger d'ailleurs. Il faut le calculer, mais rien de bien méchant en fait. Et je suis objective là

Et pour kyfran, effectivement il existe de quoi convertir de l'asm en C (par exemple : http://www.microapl.co.uk/asm2c/RelogixAvailability.html ). J'avoue n'avoir jamais testé, donc je ne sais pas ce que ça vaut.
Le crackme a été codé en asm à la base, donc dans le debugger on y voit grosso modo ce que j'ai codé. Très peu de "changements" face à ma source en fait.
Et sinon ben ça s'execute sequentiellement oui, à partir de l'entrypoint (l'endroit où ca pointe dans le debugger au chargement du crackme), sauf quand il y a des sauts (jmp, je, jnz, etc) où là ca va sauter "ailleurs" dans le code, ou encore quand il y a des appels à des procédures ou fonctions (call).

----- edit -----
miamasse est plus rapide :>

[ Ce Message a été édité par: elooo le 2004-07-16 11:08 ]
profil | mail | Website | edit | quote
elooo
Inscrit le 19-05-2003
Avatar
Posté le 16-07-2004 13:43

Quote:

Le 16-07-2004 09:15, amistadman a écrit :
___________________________________________________
et aussi, lorsque l'on "MOv" une valeur dans un registre, si celui-ci a déjà une valeur, sa s'ajoute ou sa s'écrase ?

exemple :
eax vaut 2

mov eax,2

sa donne quoi ? 4 ou 2 ?



Mov sert à affecter une valeur, pour une addition ça sera add qui sera utilisé.
Donc "mov eax, 2" donnera eax = 2, quelque soit la valeur précédente de eax.
_________________________

profil | mail | Website | edit | quote
miamasse
Inscrit le 16-07-2004
Posté le 16-07-2004 16:07

Quote:

Le 16-07-2004 11:06, elooo a écrit :

Raah pourquoi vous vous cachez tous ? Z'êtes pas droles, après je suis perdue moi
M'enfin ceci dit ton pseudo ici ne me laisse presqu'aucun doûte sur ta réelle identité, et toc


Elle est trop forte elooo ! C'est même la plus forte .

Pour la réalisation de ce crackme il va surtout falloir sortir vos calculatrices en mode hexa et un peu de doc. le lien : http://www.iut-arles.up.univ-mrs.fr/eremy/Archi/asm.html devrait suffir pour le moment.

Puis savourer le choix des opérandes. 37000.
profil | Website | MSN | edit | quote
kyfran
Inscrit le 13-07-2004
Posté le 16-07-2004 16:15

j'en suis pas à prendre ma calculatrice mais plutot à essayer de suivre le cheminement du prog en asm....

D'ailleurs si qqu'un pouvait commencer une correction du DEFI 1 , ça m'arrangerait!
Juste mettre en commentaires les différentes lignes du prog pour voir à quoi ça correspond....ça aiderait pas mal!

C'est quoi ce prog non commenté?c'est eloo qui fait des prog non commenté commme ça???



je comprends maintenant pourquoi le cracking est reservé à une ELITE !!!!!!!!!
profil | Website | edit | quote
elooo
Inscrit le 19-05-2003
Avatar
Posté le 16-07-2004 16:52

Quote:

Le 16-07-2004 14:15, kyfran a écrit :
___________________________________________________
D'ailleurs si qqu'un pouvait commencer une correction du DEFI 1 , ça m'arrangerait!
Juste mettre en commentaires les différentes lignes du prog pour voir à quoi ça correspond....ça aiderait pas mal!


Ben je peux commenter le listing asm oui, si ça peut aider... et faire un lien vers cette "grosse aide" pour ceux qui galèrent vraiment. J'éditerai pour rajouter ça en-dessous quand ça sera fait
Quote:

je comprends maintenant pourquoi le cracking est reservé à une ELITE !!!!!!!!!


C'est pas du tout réservé à une élite. En plus on a la chance d'avoir énormément de docs sur le sujet maintenant, contrairement à quelques années en arrière. Je pense qu'il suffit d'être un peu curieux et motivé en fait.
Et si même moi j'y arrive, preuve en est que n'importe qui peut obtenir des résultats
Par contre, je ne renie par le fait qu'au début ça n'est pas évident... 'Faut s'accrocher

Quote:

Le 16-07-2004 14:07, miamasse a écrit :
___________________________________________________
Elle est trop forte elooo ! C'est même la plus forte .


Euh je suis pas franchement du même avis, m'enfin un bon coup de lèche de temps en temps ça fait du bien, je vais pas cracher dessus :>
Tu sais que je t'aime bien miamasse ?

----- edit -----

A la demande de kyfran, voici un listing commenté rapidement :
http://festouilles.free.fr/newffr/code/code_defi1.htm
ATTENTION ! Ceux qui sont contres ne sont pas obligés de regarder... ça va de soit...



_________________________


[ Ce Message a été édité par: elooo le 2004-07-16 17:31 ]
profil | mail | Website | edit | quote
kyfran
Inscrit le 13-07-2004
Posté le 16-07-2004 17:30

t'as raison elooo, il faut aussi recolter les lauriers!!!!
Mais il ne faut pas se sous estimée...c'est bien toi qui est à l'initiative de ce Defi...c'est donc toi la brute dans le domaine....
RESPECT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


profil | Website | edit | quote
amistadman
Inscrit le 07-02-2004
Posté le 16-07-2004 19:11

"D'ailleurs si qqu'un pouvait commencer une correction du DEFI 1 , ça m'arrangerait!"

NNOOOOOOOONNN !!!!


j'ai pas encore trouvé !

merci au fait elooo d'avoir deigné répondre à la deuxième partie de mon poste.

au fait, c'est ton anniversaire elooo ? tous sont à tes pieds.

_________________________
je passe tellement de mon temps à ne rien faire que je n'ai plus le temps de travailler.
profil | Website | edit | quote
Newtopic | Reply 1 | 2 | 3 | Page suivante

Online : Agustinbluts, Agustinwhase, DorothyVam, Jamesgroub, Jeffreylib, Kor-ShachGog, RalphAlabs, Robertbeply et 102 Guests


Retour Index NewFFR Repository : http://taz.newffr.com
Cagades à Stick : http://alcane.newffr.com
Forum HTML et Archive -> ici
ForumFR Sql/Xml (2006/04) (SF pas à jour du tout...) - Alive since 2001 Newffr.com
Pour toute plainte ou problème -> Contacter Borax, Hyatus, Tweakie ou Stick par message privé (ou Gueulez sur le forum :) )
Retour haut de page