[Lvl 0.5] Baby Crackmes

Des défis de cracking qui vous mettront à l'épreuve...

[Lvl 0.5] Baby Crackmes

Messagepar haiklr » 24 Août 2008, 21:04

Bonsoir !

Deux petits crackmes très simples pour débutants (et c'est le but !)... Ca n'intéressera probablement pas tout le monde (Baboon va encore nous tronçonner ça en quelques minutes !), mais j'annonce direct la couleur : ce coup-ci, pas de maths prises de tête, c'est du bateau...

Voilou, vous pouvez envoyer les solutions par mp !

Baby Crackme #1 : http://perso.wanadoo.fr/l0uk0um/site/crkmes/babycrackme1.rar
Baby Crackme #2: http://perso.wanadoo.fr/l0uk0um/site/crkmes/babycrackme2.rar

haiklr
Avatar de l’utilisateur
haiklr
Crackeur de bas niveau
Crackeur de bas niveau
 
Messages: 106
Inscription: 16 Août 2005, 20:17

Re: [Lvl 0.5] Baby Crackmes

Messagepar baboon » 24 Août 2008, 21:40

ahah
même pas ;)
Je suis sous debian et je n'ai pas ollydbg sous wine ....
j'apt-get de suite !
Newbie mais ayant soif d'apprendre et étant motivé
Avatar de l’utilisateur
baboon
Modérateur
Modérateur
 
Messages: 3274
Inscription: 08 Juillet 2005, 17:49

Re: [Lvl 0.5] Baby Crackmes

Messagepar Kef » 25 Août 2008, 00:50

Ils marchent bien ces tools sous wine ?
FC Forever !
Avatar de l’utilisateur
Kef
Modérateur
Modérateur
 
Messages: 2282
Inscription: 07 Février 2004, 20:48
Localisation: Caen

Re: [Lvl 0.5] Baby Crackmes

Messagepar baboon » 25 Août 2008, 12:39

oui ça va
C'est pas la même chose que sous win mais ça passe ;)
Newbie mais ayant soif d'apprendre et étant motivé
Avatar de l’utilisateur
baboon
Modérateur
Modérateur
 
Messages: 3274
Inscription: 08 Juillet 2005, 17:49

Re: [Lvl 0.5] Baby Crackmes

Messagepar _solo » 25 Août 2008, 17:16

Ils marchent bien ces tools sous wine ?
moi la derniere fois que j'ai utiliser olly sous nux , il foirer a l'affichage , le top c'est la version 4.3 freeware d'ida :) ou alors ht editor , parce que gdb c'est bien mais ca lasse vite avec ses commandes alanoix :(
Image
Avatar de l’utilisateur
_solo
Maître des ténèbres
Maître des ténèbres
 
Messages: 590
Inscription: 13 Février 2006, 11:28
Localisation: dans un cambrousse loin loin

Re: [Lvl 0.5] Baby Crackmes

Messagepar lord! » 12 Septembre 2008, 15:44

Salut Haiklr, merci pour ces deux défis simples mais néanmoins sympathiques,
de la logique simple, avec comme d'habitude des conditions en entonnoir, qui laissent présager au début une large possibilité de serials,
pour aboutir au final à un seul résultat possible, toujours faisable au crayon/papier, avec la satisfaction que cela comprend.

Je viens de finir le premier et je t'envoie ma solution, je regarderais le deuxième ce week end,
en semaine mes études ne me laissent pas de répit.

A bientôt, bonne continuation.

Lord!
lord!
 
Messages: 4
Inscription: 12 Septembre 2008, 14:55

Re: [Lvl 0.5] Baby Crackmes

Messagepar baboon » 20 Octobre 2008, 18:06

Sali sali salut !
j'ai resolu le premier defis, vraiment sympathique !
contrairement a lord! j'ai du utiliser un petit script python pour filtrer les dernieres possibilités (il ne me restait que 12 possibilités, j'aurai pu le faire sur le papier mais bon ...)

vraiment sympa, je me suis quand meme bien trituré les meninges ca meriterait un level 1 voir 1.5

;)

je t'envois mon serial, pas de solution ecrite pour le momment, peut etre plus tard ...
Newbie mais ayant soif d'apprendre et étant motivé
Avatar de l’utilisateur
baboon
Modérateur
Modérateur
 
Messages: 3274
Inscription: 08 Juillet 2005, 17:49

Re: [Lvl 0.5] Baby Crackmes

Messagepar ricke666 » 18 Novembre 2009, 20:40

Bonjour à tous, j'aimerais discuter du 1er baby crackme. Si y en a parmi vous qui souhaitent éclairer une lanterne, en l'occurence la mienne! Bon, juste pour voir le beau message j'ai nopé au bon endroit, et maintenant je désire faire l'exercice correctement...

J'ai lu un peu sur l'assembleur alors je sais ce que certaines fonctions font. Donc, je comprends que dès le début, en 401018 si la longueur de ce qui est entré est moins de 29, ça saute direct au mauvais message.

2e constatation, après 29 itérations de la boucle, il en sort et passe directement au mauvais message.

À partir de là, je me demande, ce que fais cette boucle!

Donc si vous pouviez clarifier un peu ce qu'elle fait... ça serait super!

Et merci!

-- 18 Nov 2009 16:38 --

Rebonjour,

j'aimerais également discuter du baby crackme #2. Après une non-brève mais efficace analyse, j'en suis arrivé à déterminer que le fichier doit contenir 5 caractères, dont leur valeur en Hex se suit. Aussi, je sais que le carré du caractère #1 + le carré du #2 + le carré du #3 doit égaler au carré du #4 + le carré du #5. Après beaucoup d'essais, j'ai trouvé que ces valeurs sont 10^2 + 11^2 + 12^2 = 13^2 + 14^2.

Mais voilà, dans la table ASCII, ces caractères sont impossibles à taper! on parle ici de "data link escape", "device control" 1 à 4...

Heuh là je suis perdu??

Merci!

-- 20 Nov 2009 9:59 --

J'ai également plusieurs questions sur d'autres crackmes, des questions pertinentes qui plus est!! Alors si quelque'un souhaite fair erevivre un peu ce thread!!

Merci d'avance !

Eric
ricke666
 
Messages: 1
Inscription: 18 Novembre 2009, 20:35

Re: [Lvl 0.5] Baby Crackmes

Messagepar Seyar » 24 Novembre 2009, 17:56

Salut, j'ai 'résolu' (beurk c'est même pas u cracking rhoo ca sert à rien de faire comme j'ai fais :( ) le crackme1, simplement en modifiant tous les JNZ [adresse Message d'erreur] en JMP [adresse bon message]
Mais je ne sais pas si c'est méthode est sale, si?
Ca s'appelle du bruteforcing ? Si oui c'était interdit dans les règles du crackme mince.
Dernière édition par Seyar le 24 Janvier 2010, 14:33, édité 1 fois.
Seyar
Initié
Initié
 
Messages: 73
Inscription: 17 Mai 2009, 11:53

Re: [Lvl 0.5] Baby Crackmes

Messagepar Archi » 25 Novembre 2009, 01:41

Non ce n'est pas du bruteforcing.

Par contre c'est sale. Modifier tous les sauts ca fonctionne parfois, mais ca indique surtout que tu n'as pas été capable de comprendre ce que faisait l'algorithme du crackme.

Il faut persévérer, identifier la partie du code qui correspond à la vérification du serial (routine) et la comprendre. A partir de la tu es capable de calculer le bon mot de passe pour avoir le good boy, voire créer un keygen.

Sur les crackme de débutant total, tu trouves souvent le mot de passe en regardant ce qui défile dans la pile par que la protection se borne à une comparaison entre ton serial et celui stocké dans le crackme.

J'ai pas regardé ce crackme, donc ce ne sont que des spéculations.
Avatar de l’utilisateur
Archi
Triumvirat
Triumvirat
 
Messages: 1951
Inscription: 10 Janvier 2005, 20:00

Re: [Lvl 0.5] Baby Crackmes

Messagepar Seyar » 25 Novembre 2009, 11:47

ouep j'm'en doutais bien en le faisant; dans un coin de ma tête, je me disais que c'était pas ca du cracking donc... ricke666 s'en sort mieux que moi pour l'instant.

PS: Dans quel ordre les instructions du programmes sont exécutées ?
Image
Là par exemple, en 004013B2, il met dans la pile ce qui se trouve en 004013D0, on va voir en 004013D0, quelques insctructions et hop : JE en 004013E2. Ma question, c'est, quand il va en 004013E2, il va exécuter des instructions, faire des JMP qui vont aller encore plus loin dans le programme, mais est-ce que ca va revenir 004013DC(après le JE) pour continuer le reste des instructions un jour ou pas ? Ou il va continuer à s'enfoncer de plus en plus dans les limbes du crackme ?

C'était un exemple mais je sais pas si tu comprends ma question... Merci d'avance ! :-)

(sinon je sais pas comment, avec OllyDGB, savoir la valeur des registres à tels ou tels moment, pour savoir qu'est-ce qui entre dans la pile, q'est-ce qu'on est en train de comparer, vous faites comment pour savoir la valeur des registres ? vous regardez tout le code pour voir les différents changements ? beurk on s'y perd :)

EDIT : (et dans Olly, c'est quoi la différence entre les labels et les comments ?)
Dernière édition par Seyar le 25 Novembre 2009, 16:30, édité 3 fois.
Seyar
Initié
Initié
 
Messages: 73
Inscription: 17 Mai 2009, 11:53

Re: [Lvl 0.5] Baby Crackmes

Messagepar Archi » 25 Novembre 2009, 12:18

C'est toute la difficulté du cracking : tracer le code sans se perdre dans les limbes du programme tout en identifiant ce qui est utile de ce qui ne l'est pas.

Selon le langage de programmation utilisé pour coder le crackme, selon les bibliothèques aussi, tu peux avoir un code qui se barre dans tous les sens et fait des appels tout azimuts à des fonctions et ressources qui ne t'intéressent pas.

Il faut s'aider des API, des noms des fenêtres ou d'autres trucs comme ca pour identifier le morceau de code intéressant. Si tu y vas à la barbare en tracant le programme de A à Z, en espérant tomber à un moment sur un truc intéressant, tu risques d'être dégouté du cracking rapidement.

Penses également à utiliser intelligemment les fonctions step over et step into. Notamment sur certains CALL.
Avatar de l’utilisateur
Archi
Triumvirat
Triumvirat
 
Messages: 1951
Inscription: 10 Janvier 2005, 20:00

Re: [Lvl 0.5] Baby Crackmes

Messagepar Seyar » 25 Novembre 2009, 12:42

okay mais archi, pourquoi tu réponds pas à toutes mes questions?
Seyar
Initié
Initié
 
Messages: 73
Inscription: 17 Mai 2009, 11:53

Re: [Lvl 0.5] Baby Crackmes

Messagepar Archi » 25 Novembre 2009, 14:06

Parce que je n'ai pas regardé ce crackme et que je n'en ai pas le temps ni l'envie.

Ton image cliquable foire, donc je peux même pas voir le code.

Puisque la qualité de ma réponse ne te sied point, tu verras avec les autres intervenants du forum pour en obtenir une autre.
Avatar de l’utilisateur
Archi
Triumvirat
Triumvirat
 
Messages: 1951
Inscription: 10 Janvier 2005, 20:00

Re: [Lvl 0.5] Baby Crackmes

Messagepar etherlord » 25 Novembre 2009, 15:36

je ne pense pas qu'il y voyait du mal Archi :)

TerresMines, certaines de tes question indiquent un leger manque de connaissance generale dans le
domaine du reverse-engineering. Je comprends que tu cherche a faire du cracking avant d'etendre tes
connaissance, c'est bien plus plaisant, mais tu te penalise toi-meme. Avant de chercher a comprendre comment
fonctionne le programme, tu devrait comprendre comment fonctionne Windows lorsqu'il interprete un programme.


PS: Dans quel ordre les instructions du programmes sont exécutées ?


Sequentielleemnt, et c'est valable depuis la niassance de l'informatique.

il va exécuter des instructions, faire des JMP qui vont aller encore plus loin dans le programme, mais est-ce que ca va revenir 004013DC(après le JE) pour continuer le reste des instructions un jour ou pas


Cela depend de la facon dont a ete developpe le programme, et surtout ce que doit faire le programme.. Si tu tombe
sur un JMP, l'adresse d'appel est posee sur la pile. Si apres les fonctions executees, et que la pile soit preservee, tu
tombe sur un RET, il va revenir a l'instruction apres le JMP. Si il n'y as pas de RET, il part ailleurs. A noter que
certaines instruction peuvent emuler un RET.

sinon je sais pas comment, avec OllyDGB, savoir la valeur des registres à tels ou tels mome


Quand tu est sur une instruction et que le flux du programme est stoppe, l'ecran en haut a droite t'indique le
contenu de tous les registres.

pour savoir qu'est-ce qui entre dans la pile


Tu regarde le haut de la pile, lorsqu'il y as un nouvel ajout, tu le voit immediatement apparaitre. La pile dans Olly
est en bas a droite.

q'est-ce qu'on est en train de comparer


Si tu veux comparer quelque chose, il y as une instrcution qui fait la comparaison (cas le plus simple). Si tu
est arrete au niveau de l'instruction qui fait la comparaison, elle apparait en bas de l'ecran.

vous faites comment pour savoir la valeur des registres


En regardant en haut a droite, la ou c'est affiche.

vous regardez tout le code pour voir les différents changements ? beurk on s'y perd


Exactement, c'est pour ca qu'on utilise des outils comme Olly qui nosu evitent de devoir se rappeler toutes
les valeurs qui transitent dans le programme.

et dans Olly, c'est quoi la différence entre les labels et les comments


Un comment, ou commentaire, est un texte que tu pose a cote d'une intruction pour y indiquer ce que tu veut,
lorsque tu ouvre le source Olly tu retrouve tes commentaires, cela facilite l'analyse lorsque elle dure plusieurs jours.

Un label te permet de remplacer une adresse obscure (sans signification) par un texte qui te permet de retrouver
ce que fait une fonction, pour autant que tu l'ait correctement comprise lorsque tu as note le label.

Pour information, OllyDbg dispose d'un fichier d'aie tres bien fait, une majorite de tes question y aurait trouve reponse.

Il ne faut pas negliger les fichiers d'aide, surtout avec des outils aussi avance qu'un debuggeur. Imagine bien que
souvent c'est le developpeur qui fait le fichier d'aide, il sait mieux que toi comment fonctionne son programme, donc
c'es la personne la plus apte a te'xpliquer comment il fonctionne....

etherlord
etherlord
Triumvirat
Triumvirat
 
Messages: 2471
Inscription: 22 Mars 2004, 16:12

Suivante

Retourner vers Défis & Crackmes

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités