2)Crack de WebExpert 3.0

Le 04/06/1999

Cour de crack par BgCode

Pour ce cours-ci nous allons cracker un logiciel pour faire ses pages Web

C'est un excellent logiciel (ca c'est mon avis)

Ce sera WebExpert 3.0 Ce Crack fonctionnera sur toutes les versions de WebExpert

Ce Crack a été fait avec Visual C++ (Comme quoi chez Microsoft il n'y a pas que des choses de Nul)

C'est parti !

1) Principe de fonctionnement.

Au démarrage Web Expert appelle un routine qui teste si le code (lu dans la base de registre) est valide (la 1ère idée qui vient en tête c'est de saboter la routine de test du code). S'il n'est pas valide, une boite de dialogue est affichée. Lorsqu'on clique sur le bouton enregistrer, la boite de dialogue d'enregistrement est affichée.

Le click sur le bouton OK de la boite de dialogue d'enregistrement active une routine qui génère (on peut modifier la routine de génération du code) le code d'enregistrement à partir du nom (c'est à ce moment qu'on peut trouver un numéro de série personnel). Ensuite le code généré est comparé au code saisi. Si le code saisi n'est pas le même, un message d'erreur est affiché.

J'espere que vous avez compris sinon relisez !

2) Comment le cracker ce logiciel !

Entrer dans les programmes

Tout d'abord il faut réussir à voir le code du programme et pouvoir le déboguer. Avec Visual C++ 5 (Visual C++ 4 ou 6 sont un peu différents mais les étapes sont les mêmes) vous devez passer par les étapes suivantes:

Créer un nouveau projet:

Cliquer File, New.

Dans l'onglet Projects sélectionner Win 32 Application,

Donner un nom quelconque au projet puis valider.

Indiquer où se trouve le fichier exécutable à déplomber:

Cliquer Project, Settings.

Sélectionner l'onglet Debug de la boite des paramètres du projet.

Indiquer le chemin de l'exécutable à déplomber dans la zone "Executable for debug session", puis valider les paramètres.

Commencer le déboggage:

Sélectionner le menu Build, Start debug, Step Into (ou la touche F11).

Si Visual C++ vous indique que votre fichier ne contient pas d'informations de déboggage désactivez ce message et continuez quand même.

Vous pouvez avoir plusieurs autres messages. Ignorez-les, désactivez-les, mais continuez coûte que coûte.

Déboguer:

C'est magique! Maintenant vous avez le code désassemblé du programme et vous pouvez en faire ce que vous voulez. Les commandes les plus importantes sont:

F10, Step Over: exécuter un pas sans entrer dans les CALL

F11, Step Into: exécuter un pas en entrant dans les CALL

F5, Go: exécuter le programme sans l'arrêter

Set Next Statement (bouton droit de la souris sur l'instruction): Forcer le programme à s'exécuter à partir de la position cliquée. Par exemple pour contourner le test de la validité du code.

Vous pouvez aussi afficher les fenêtres des registres, de la mémoire, créer les variables à surveiller.

C'est vrai que c'est pas facile de cracker sous Visual C++,Mais c'est très intérressant !

3)Le crack

Commencez le déboggage: Regardez le paragraphe Entrer dans les programmes.

Normalement vous devez voir la première instruction: push ebp à l'adresse 00626A28 (Les adresses sont valides pour la version 3.0 beta 1) A un certain moment Web Expert génère un code pour le comparer. Presque toutes les opérations doivent passer par le registre EAX y compris ce code. Définissez un espion de EAX:

Affichez la fenêtre Watch.

Saisissez la variable à espionner: (char*)eax Lancez l'exécution du programme (touche F5).

Une fenêtre d'insultes ;-) doit apparaître Cliquez sur le bouton Enregistrer pour afficher la boite de dialogue d'enregistrement. Tapez votre nom(En ocurrence le mien donc BgCode) et un code quelconque dans cette boite de dialogue. Cliquez OK. Encore une insulte s'affiche: "Mauvais numéro d'enregistrement". Mais il ce programme va être puni pour ses insultes car cette boite de dialogue est le meilleur point de départ pour le déplombage. Cliquez sur le menu Debug, Break. Alors ? Rien ne se passe. C'est normal. La boite de dialogue qui est affichée est une boite de dialogue système. Or Visual C++ ne sait pas déboguer le système. Le programme ne s'arrêtera que lorsque la boite de dialogue sera fermée. En plus il s'arrêtera sûrement à quelques instructions du test du code d'enregistrement. Cliquez sur OK de la boite de dialogue "Mauvais numéro d'enregistrement". Le programme s'arrête. Vous devez voir mov dword ptr [ebp-8],eax

et juste avant call 00407A40 (celui qui affiche la boite de dialogue)( les adresses peuvent être différentes) Maintenant il faut avoir un peu de flair et un peu de chance. Affichez la fenêtre Call Stack. Vous voyez tous les appels:

=>WEXPERT3! 00452e63()

WEXPERT3! 0050ab6e()

WEXPERT3! 004370d0()

WEXPERT3! 0042e5c9()

Ces appels signifient qu'il y a 4 call imbriqués. On peut se douter que la routine dans laquelle on se trouve (WEXPERT3! 00452e63()) est une routine d'affichage du message "Mauvais numéro ...". Donc cette boite de dialogue a été appelée par le 2ème call (WEXPERT3! 0050ab6e()). Ca veut dire que test de la validité a été fait un peu avant l'adresse WEXPERT3! 0050ab6e()(si vous n'avez pas tout a fait la même adresse utilisez la vôtre). Double cliquez sur le 2ème call (WEXPERT3! 0050ab6e()) pour trouver l'adresse qui suit l'appel de la routine qui affiche le message d'erreur. C'est dans cette routine que se trouve le test de la validité du code. Recherchez où se trouve le début de la routine de test. Vous pouvez le repérer grâce à un grand nombre (de 4 à 10) de push ECX; push ECX; push EBX .... Normalement il doit se trouver environ 80 lignes plus haut. Mettez un point d'arrêt à cet endroit. Laissez le programme s'exécuter (touche F5 - Go) Saisissez de nouveau votre nom et un numéro quelconque. Puis cliquez sur OK.

Normalement le programme doit s'arrêter juste au moment du click. Si ce n'est pas le cas relisez tout et réessayez en faisant un peu plus attention. Maintenant vous pouvez exécuter pas à pas toute la routine. Comme à un moment elle fait une comparaison entre le code saisi et le code généré vous aurez l'occasion de voir le code d'enregistrement. Faites une trentaine de pas avec la touche F10. Vous verrez que l'espion (char*)eax va changer et à un certain moment il affichera une valeur du genre 0x01d654c4 "CCH6-C2ES-5NEZ-ZZZZ"

C'est votre code personnel !!! Notez le. Relancez Web Expert. Enregistrez-vous avec votre nom et le code que vous avez trouve. Il sera accepté et vous aurez une version complète. C'est tout !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

4)La fabrique d'un petit patch

Maintenant qu'on a le nom et le serial on se fait un patch !

Tiens tiens,on sait que le logiciel va chercher un code dans la base de registre alors pourquoi pas faire un patch qui mettrait le bon nom et le bon serial dans la base de registre !

**On y va :

Pour cela il faut créer un fichier avec une extension .reg

Puis on va voir la clef d'enregistrement dans la base de registre

On tape regedit dans executer et nous voila !

On va dans HKEY_CURRENT_USER puis dans Software

Maintenant on regarde dans la liste des logiciels si il n'y a pas WebExpert (Compagnie Visicom Media et la on va dans Enregistrement !

Y a rien c'est normal il est encore en shareware !

Pas pour longtemps.

Pour acceder a la clef d'enregistrement on a HKEY_CURRENT_USER\Software\Visicom Media\WebExpert v3\Enregistrement

Et maintenant on fait le patch !

Pour vous lecteurs faites un copier-coller dans le fichier !

Eh voila !

Voila le patch

REGEDIT4

Crée par Bgcode !

[HKEY_CURRENT_USER\Software\Visicom Media\WebExpert v3\Enregistrement]

"Nom"="BgCode"

"NoSerie"="CCH6-C2ES-5NEZ-ZZZZ"

Voila ce sera tout !!

Un peu long mais 300 francs de gagner encore !!

Et en + la fierte d'avoir cracker le ...... Puissance n logiciel !

@++ pour un nouveau cours !


Bye BgCode