Résolution Synok's CrackMe 2 in 1
|
17-10-2013, 12h18
Message : #1
|
|
MLT
MauriceLeTendu Messages : 40 Sujets : 10 Points: 26 Inscription : Dec 2012 |
Résolution Synok's CrackMe 2 in 1
Cette résolution est assez facile. En terme de difficulté, elle peut être placée entre les tutoriels de ArK et mes 2 précédentes résolution.
La différence majeure avec les 2 résolutions précédentes, c'est que celui-ci est codé en C++ et le password est donné dans un fichier. Caractéristiques du crackme: Lien du crackme: http://crackmes.de/users/synok/crackme_2_in_1/ Difficulty: 2 - Needs a little brain (or luck) Platform: Windows Language: C/C++ Résolution Nous exécutons le programme, nous avons le message suivant: Code : License function not patched Donc nous en déduisons qu'une fonction doit être modifiée. Nous ouvrons ollyDBG, et nous faisons clic droit > Search for > All referenced text strings. Ensuite clic droit sur ASCII "License function not patched" Nous arrivons ici: Après analyse, nous voyons le jnz en 001B10DA, il suffit de le changer en JE ou JMP pour patcher la fonction. Pour ma part j'ai enregistré la modification pour simplifier l'analyse. Nous exécutons le programme avec la modification, il nous demande un login, ensuite il nous met (pour le name "maurice"): Code : 1217117664License invalid! Curieusement, il nous indique un numéro qui est la licence valide (Erreur de codage ) Maintenant tout ce passe ici : D'abord, une boucle est présente, elle ne sert pas à grand chose, juste elle prend la longueur du pseudo est la multiplie par 0x29a. Code : 001B11AB |. 69F6 9A020000 IMUL ESI,ESI,29A ; on multiplie la valeur esi par 29a (qui est la lg multiplié par 29a) Avec la ligne IMUL ESI,ESI,29A, on multiplie la longueur du pseudo par 0x29a qui a dejà auparavent été multiplié par 0x29a. Pour résumé: longueur du pseudo * 0x29a * 0x29a. Ensuite on multiplié la valeur acquise par la longueur du pseudo (IMUL ESI,EAX). Puis on multiplie le tout par 0x1C (IMUL ESI,ESI,1C). Pour finir on décale de un bit vers la gauche (SHL ESI,1). Et voilà, la valeur décimale de ce résultat est la licence valide. Elle doit être mis dans le fichier licence.dat sous forme décimale. Voici le keygen: Code PHP : #include <stdio.h> |
|
« Sujet précédent | Sujet suivant »
|
Messages dans ce sujet |
Résolution Synok's CrackMe 2 in 1 - par MLT - 17-10-2013, 12h18
RE: Résolution Synok's CrackMe 2 in 1 - par MLT - 17-10-2013, 19h34
RE: Résolution Synok's CrackMe 2 in 1 - par Horgh - 18-10-2013, 17h55
RE: Résolution Synok's CrackMe 2 in 1 - par gruik - 18-10-2013, 18h01
RE: Résolution Synok's CrackMe 2 in 1 - par MLT - 18-10-2013, 19h45
RE: Résolution Synok's CrackMe 2 in 1 - par Loup - 18-10-2013, 20h12
RE: Résolution Synok's CrackMe 2 in 1 - par MLT - 18-10-2013, 21h40
RE: Résolution Synok's CrackMe 2 in 1 - par Loup - 18-10-2013, 22h23
RE: Résolution Synok's CrackMe 2 in 1 - par MLT - 18-10-2013, 22h26
RE: Résolution Synok's CrackMe 2 in 1 - par Loup - 18-10-2013, 22h36
RE: Résolution Synok's CrackMe 2 in 1 - par Ark - 18-10-2013, 23h26
|
Sujets apparemment similaires… | |||||
Sujet | Auteur | Réponses | Affichages | Dernier message | |
Résolution LaFarges crackme #2 | MLT | 0 | 102 |
28-09-2013, 14h23 Dernier message: MLT |
|
Résolution greedy_fly keygenme_v1.6 | MLT | 0 | 121 |
29-08-2013, 22h14 Dernier message: MLT |
Utilisateur(s) parcourant ce sujet : 1 visiteur(s)