Cours de Crack (#1) pour " Visual Basic 3.0 " par DrJulo
le 13/01/98.


Introduction
Compilation Visual Basic
Crack de CompKino
Vocabulaire
Conclusion

Introduction :

	Non ! Ne vous découragez pas, on peut cracker du Visual Basic (la version 3 pour le moment !). 
En effet, Visual Basic est un langage qui compile assez mal les programmes (ils sont lents) 
mais qui ne se désassemble pas. 
En fait peu de personnes savent et essayent de cracker des logiciels développés avec ce langage.
Pourtant ce n'est pas bien compliqué. 
Il vous suffi de posséder un éditeur hexadécimale et d'avoir sous les yeux le tableau des codes Visual Basic 3.

	Nous allons commencer simplement en crackant des mots de passe. 
CompKino, logiciel de capture d'écran (sous forme de vidéo), fera l'affaire.


Compilation Visual Basic 3:
	
	Les programmes Visual Basic n'utilisent donc pas les mêmes codes que les autres langages 32bits tel le C++. 
Ce qui va faciliter la tache est que ces programmes font appel à de nombreuses routines internes 
( il n'y a même que ça ! ).
ainsi qu'à de nombreuses boites de dialogue. 
Par chance, le texte de ces messages apparaît dans la traduction du code hexadécimale. 
De plus les propriétés de chaque objet (boutons, boites de texte, ...), 
et les routines se trouvent bien séparés par rapport au programme.
Voici répertorié dans ce tableau quelque traduction du code Visual Basic :

Teste entre un objet " Texte " et une variable string :	c31168	Si = 
								c3117a		Si <>

Teste entre deux variables de type " string " :		1a00f6		Si =
								1a00ff		Si <>

Début d'une routine :						4b49 		Juste après 0e5b0e
Fin d'une routine :						0e5b0e

Objets Texte et Bouton (les propriétés concernant les	0900		Invisible et inactif
boutons se trouvent juste après la chaîne 7701 qui se 	0800		Inactif (grisé)
trouve elle même après le nom du bouton).	
	Objets à Cocher (CheckBox)					0800		Inactif
Pour tous les objets						- - - - 		Actif et visible*

* pour réactiver une option vous devrez supprimer la ligne 0800 ou 0900. De ce fait, 
votre fichier fera 2 octets de moins. 
Vous pourrez les rajouter 0000 dans les chaînes de zéro qui se trouvent partout dans 
les programmes Visual Basic.

Je vois que ça n'a pas l'air encore clair pour tout le monde ! 
Voici un petit exemple qui illustre les tests entre Texte et variable.


Crack de CompKino :

Installez-vous confortablement et lancez un première fois CompKino pour voir ce qui se passe dedans !
Bien ! On nous demande un code dans un objet " Texte ". 
Il y aura sûrement un test entre cet objet et une variable comportant le bon code. 
Lorsqu'on entre un mauvais code, une barre apparaît vous disant " Invalid activation code ". 
Allons voir tout ça dans le listing hexadécimale. 
Comme je vous l'ai dit, les chaînes de chaînes de caractères (messages) sont visibles dans le listing ASCII. 
Cherchons le message " Invalid activation code " en respectant la case (les majuscules). 

000019E0 0000 0000 0000 0000 0000 0000 0000 0000  	................
000019F0 0000 0000 0000 0000 0000 0000 0000 0000  	................
00001A00 4B49 E537 B00E A84C 0100 4C00 094C 0BC0  	KI.7...L..L..L..
00001A10 6C2B 3000 C311 6844 B734 7E01 3549 9A38	l+0...zD.4~.5I.8
00001A20 1000 2400 0A00 4272 6176 6F21 2121 2020	..$...Bravo! ! !
00001A30 0000 C311 ED37 B00E A84C 0100 4C00 094C	.....7...L..L..L
00001A40 0BC0 B877 144C 5200 3549 ED37 B00E A84C 	...w.LR.5I.7...L
00001A50 0100 4C00 094C 0BC0 9A38 0600 5E00 0000	..L..L...8..^...
00001A60 0000 C311 6844 B734 C000 1F49 B167 ED37	....zD.4...I.g.7
00001A70 B00E A84C 0100 4C00 C34F 6737 614B 8800 	...L..L..Og7aK..
00001A80 0000 584B 1300 0000 FC4F 0100 6A37 1F49 	..XK.....O..j7.I
00001A90 9A38 1C00 9600 1700 456E 7465 7220 796F 	.8......Enter yo
00001AA0 7572 206E 616D 6520 706C 6561 7365 2100 	ur name please!.
...
00001BE0 E201 1800 496E 7661 6C69 6420 6163 7469	....Invalid acti
00001BF0 7661 7469 6F6E 2063 6F64 6521 0000 C311 	vation code!....
...
00001C90 7221 0000 C311 144C 5200 3549 EC35 4B49	r!.....LR.5I.5KI
00001CA0 EC35 4B49 D965 5E0E 5B0E 4B49 502B 4400	.5KI.e^.[.KIP+D.

En remontant, nous cherchons le début de la routine et plus bas la fin pour voir le domaine d'étude. 
Remarquez les nombreux messages qui font penser à une certaine boite demandant un mot de passe !
C'est donc là-dedans que se trouve le problème. 
Ce que nous cherchons est plutôt un test entre un objet Texte et une variable. 
Nous trouvons deux Codes (C31168). 
Si on regarde bien l'un est avant " bravo " l'autre après. 
En réfléchissant un peu on se dit que " bravo " intervient lorsque le mot de passe entré est juste. 
Donc le test s'effectue avant. C'est donc le premier que l'on remplacera par un c3117a. 
Le deuxième teste est pour le deuxième objet Texte qui va tester la présence d'un nom. 
Si vous n'avez pas inscrit de nom, alors vous tombez sur " Enter your name please ". 
En remplaçant ce test par c3117a vous ne devrez plus entrer de nom sinon vous 
retomberiez sur la même phrase.

Relancez le soft, entrez un mot de passe bidon et un nom 
(si vous n'avez pas changez le deuxième test). 
Le logiciel est maintenant dans sa version enregistrée.

Vocabulaire :

	String : variable ne contenant que du texte. Il est impossible de faire des opérations avec.
	Routine : morceau de programme. Les routines servent à classer 
le programme pour une meilleur compréhension du programmeur.
	ASCII : ce sont tous les caractères qui se trouvent sur votre clavier ainsi que beaucoup 
d'autre encore. 
Chaque caractère ASCII est codé par un code hexadécimale. 
Ex : 7A représente le z.
On trouve cette traduction ASCII dans la plupart des éditeurs hexadécimale 
(à droite).


Conclusion :

	J'espère que ce cour ne vous aura pas parût trop flou. 
En utilisant la même méthode vous serez capable de cracker 80% des softs Visual Basic 3 nécessitant un mot de passe. 
Si il y a des prochains cours (si vous le demandez !), 
nous verrons comment réactiver des options, enlever les nagscreens, etc... 
Vous pouvez déjà commencer à réactiver des boutons à l'aide du tableau.

Il s'avère que les programmes Visual Basic 4 et 5 ne sont pas compilé comme le 3. 
Le codage est beaucoup plus délicat et compliqué. 
Vous devrez vous contentez pour le moment de cracker les quelques nouveau softs 
programmés en Visual Basic 3 !


									Dr Julo


Ps : Vous pouvez m'envoyez vos remarques et commentaires sur :
 drjulo@hotmail.com
RETOUR