VB6

Vous avez un problème pour cracker ou vous souhaitez parler de reversing en général...

VB6

Messagepar rvq35 » 27 Août 2020, 16:08

Bonjour à tous
j'essaie de trouver le serial d'un petit soft fait en VB6. il s'agit de *p*p*r.exe pour les fichiers pdf mais inutilisable en version d essai.
Avec olly je crois que j'aurai beaucoup de mal bien que je trouve les strings data mais il ne semble pas adapté au cas particulier.
j'ai chargé la cible avec vb decompileur lite mais je tourne en rond, faute de connaissance sur ce soft et sans doute en raison d'une version basique que j'ai pu trouver sur le net.
Quelqu'un aurait il déjà consacré un article sur la recherche de serial d'un solft en VB ? (à part bien sur la leçon dans le guide de Daemons) ? Quel serait le decompileur le mieux adapté ?
merci d'avance pour vos idées
rvq35
Mega Crackeur !
Mega Crackeur !
 
Messages: 264
Inscription: 07 Mars 2013, 07:21

Re: VB6

Messagepar Hao » 27 Août 2020, 19:51

Salut,

Si tu t'intéresses au strings, essayes l'unicode...

Image

Après ça se poutre en 1 octet sans avoir forcément besoin de recourir aux strings ni à un tool spécial VBouse. :aie:
Avatar de l’utilisateur
Hao
Ultra Crackeur !!
Ultra Crackeur !!
 
Messages: 335
Inscription: 27 Novembre 2013, 22:24

Re: VB6

Messagepar rvq35 » 28 Août 2020, 14:41

salut Hao,
je trouve sans problème ma string du badboy dans les références stings ce qui me permet de poser un BP sur un endroit qui semble me parler, plus haut sur un CMP juste avant un JNE. Le problème est que lorsque je fais F9 ensuite il ne se passe rien, c'est à dire que je n'ai pas la fenetre de la cible qui s'ouvre en bas.
Donc je trace dans le vide n'importe quoi par F8 car aucun serial n'a pu être entré !
D'ailleurs, quel que soit l'endroit du BP et même qu'il y en ait un de mis ou pas, lorsque je fais F9 la cible ne s'ouvre pas ! En fait, elle ne s'ouvre jamais
J'avais déjà rencontré ce type de problème. Lorsque j'attache le processus c'est pareil.
qu'est ce que j'aurai loupé ? :?
rvq35
Mega Crackeur !
Mega Crackeur !
 
Messages: 264
Inscription: 07 Mars 2013, 07:21

Re: VB6

Messagepar Hao » 28 Août 2020, 14:51

Salut un anti-debug quelconque...
Généralement les debuggers permettent se s'attacher au processus cible une fois lancé.
Avatar de l’utilisateur
Hao
Ultra Crackeur !!
Ultra Crackeur !!
 
Messages: 335
Inscription: 27 Novembre 2013, 22:24

Re: VB6

Messagepar rvq35 » 28 Août 2020, 15:20

j'ai réussi à modifier un saut et à l'enregistrer en mettant un mot de passe bidon et ça marche.
J'aurais toutefois préféré trouver la routine :gné:
rvq35
Mega Crackeur !
Mega Crackeur !
 
Messages: 264
Inscription: 07 Mars 2013, 07:21

Re: VB6

Messagepar Hao » 28 Août 2020, 15:25

Bien joué !
J'ai procédé de la même façon. Ça force l'enregistrement.
Avatar de l’utilisateur
Hao
Ultra Crackeur !!
Ultra Crackeur !!
 
Messages: 335
Inscription: 27 Novembre 2013, 22:24

Re: VB6

Messagepar Hao » 28 Août 2020, 18:19

Si tu veux faire un peu plus propre, tu peux fish le serial... Le pointeur vers la chaîne est dans la stack.
Avatar de l’utilisateur
Hao
Ultra Crackeur !!
Ultra Crackeur !!
 
Messages: 335
Inscription: 27 Novembre 2013, 22:24

Re: VB6

Messagepar rvq35 » 30 Août 2020, 19:42

salut
en principe j'analyse la stack par des coups de F8 après avoir pu poser un Bp et entrer un code mais là rien à faire, impossible de poser un Bp et de tracer car la boite de lialogue ne s'affiche jamais.
Toi, tu as réussi à poser un BP ? ou alors tu fais directement F9 et tu regardes ensuite dans la pile après chaque coup de F8 ?
rvq35
Mega Crackeur !
Mega Crackeur !
 
Messages: 264
Inscription: 07 Mars 2013, 07:21

Re: VB6

Messagepar Hao » 31 Août 2020, 18:36

Il y a une sorte d'antidebug (je pense ?) qui te lève une exception dès que tu as le focus sur la fenêtre pour rentrer le serial. Et il y a en a un autre aussi avant quand tu veux ouvrir la fenêtre en question depuis la fenêtre principale du soft.

Ce que j'ai fait c'est que j'ai déjà lancé le soft puis ouvert la fenêtre de saisie du serial, puis je me suis attaché avec Olly (c'est plus simple, et comme ça t'es pas embêté par la première exception).
Ensuite pour l'exception qui se lève quand tu as le focus sur la fenêtre du serial, normalement Olly break automatiquement quand l'exception est levée. Donc à partir du bp tu remonte la pile d'appels jusqu'au usercode et tu nop le call. Ça désactive la levée d'exception qui fait chi... et tu peux rentrer le serial tranquil pour debug le truc.

Une autre solution plus propre, x64dbg ([edit] Olly aussi) permet de filtrer les exceptions pour éviter de prendre la main sur certaines.
Dernière édition par Hao le 01 Septembre 2020, 22:16, édité 1 fois.
Avatar de l’utilisateur
Hao
Ultra Crackeur !!
Ultra Crackeur !!
 
Messages: 335
Inscription: 27 Novembre 2013, 22:24

Re: VB6

Messagepar rvq35 » 01 Septembre 2020, 14:54

Salut Hao,
je procédais comme toi c'est à dire que j'attache la cible à olly une fois effectivement le serial bidon entré mais est ce que tu cliques sur " ok" après la réponse du serial invalide avant d'aller ensuite l'attacher sur olly ?
j'ai retrouvé dans la pile le vrai serial qui commence par FLA... mais ce qui est curieux est qu'il n'apparait pas à chaque fois dans la pile :o c'est quoi le bug ?
j'ai quand même un peu de mal à suivre ta démarche, manque de technique et ayant perdu l'habitude, tu parles de bp mais je suppose que tu veux parler de l'adresse qui se met directement dans olly car il ne s'agit pas de F2 ici. Donc en adresse 756B2C5C ?
quand tu parles de usercode tu fais référence au serial saisi ? et enfin pour noper ton call tu recherches dans la pile le 1er goto to module principal en rouge? dans ce cas ça me retourne sur le call en 004FEBC2 mais tout plante ! quelle pouasse ! je crois que je vais abandonner. De toute façon j'ai trouvé le seriel :wink:
rvq35
Mega Crackeur !
Mega Crackeur !
 
Messages: 264
Inscription: 07 Mars 2013, 07:21

Re: VB6

Messagepar Hao » 01 Septembre 2020, 18:47

Perso, je me suis attaché avant de rentrer le serial.
Oui quand je parle de bp, c'est Olly qui break automatiquement lors de l’exception, ça n'est pas un bp que tu places manuellement. Normalement ça devrait break dès que tu amènes le curseur au dessus de la fenêtre de saisie du serial.
Quand je parle du user code, je fait référence au module principal.
Pour trouver le call, quand Olly a break suite à l'exception, tu regarde dans la pile le premier appel depuis le module principal puis follow in dissassembler, ça t'amène sur le call en question, ou sur l'instruction d'après. Il s'agit d'un appel à la fonction __vbaVarLateMemSt. Une fois nop, tu devrais pouvoir entrer le serial sans problème et debug comme tu le souhaites.

Image :aie:
Avatar de l’utilisateur
Hao
Ultra Crackeur !!
Ultra Crackeur !!
 
Messages: 335
Inscription: 27 Novembre 2013, 22:24


Retourner vers Reversing

Qui est en ligne

Utilisateurs parcourant ce forum: Dem0nizer, Google [Bot] et 4 invités