EPRXXLASXTIC

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

Re: EPRXXLASXTIC

Messagepar etherlord » 18 Avril 2017, 08:03

M!X0R a écrit:Par contre là, ça recommence, il y a un appel vocal qui dit qu'un virus est entré et qu'il faut appeler tel numéro pour décontaminer!
dans ce cas j'éteins direct l'ordi car tout se bloque.
Impossible donc d'y accéder :evil: Que faire ?


Le problème est peut-être situé sur ton ordinateur, pas sur le site que tu visite ?

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

Re: EPRXXLASXTIC

Messagepar rvq35 » 21 Avril 2017, 21:56

Hello
M!X0R a écrit:https://tuts4you.com/download.php?view.2539

RAR PASS: tuts4you

ok mais je ne peux rien saisir du tout dans l'invite de commande, pas plus que de copier coller
http://hpics.li/32cd123
J'utilise Universal extractor 2

etherlord a écrit:Le problème est peut-être situé sur ton ordinateur, pas sur le site que tu visite ?

Je ne sais pas car j'ai eu le même message sur le PC du boulot.
De toute façon je dois ré installer windows car il est plein de merde mais j'attends pour mettre une VM, faute de puissance sur ce micro.

Le plus important est d'étudier la cible unpackée et de trouver le sérial !
Je reviendrai vers vous au besoin
bonne soirée à tous
rvq35
Mega Crackeur !
Mega Crackeur !
 
Messages: 255
Inscription: 07 Mars 2013, 07:21

Re: EPRXXLASXTIC

Messagepar rvq35 » 06 Mai 2017, 08:09

Bonjour
Je me heurte toujours à une difficulté majeure qui est de trouver le début de la routine de contrôle de sérial.
J'ai posé un BP sur cette adresse car c'est le début de la fonction qui renvoie le message d'erreur
00596D0D /$ 55 PUSH EBP ; unpacked.00596D0D(guessed Arg1,Arg2,Arg3)
et je rentre un serial bidon. Dans la pile, je constate que le serial a été testé, donc j'en déduit qu'il faut poser le BP en amont.
voici la pile à ce moment :
CPU Stack
Address Value ASCII Comments
0012D064 [00596E16 nY ; /RETURN to unpacked.00596E16
0012D068 /01F49B00 ›ô ; |Arg1 = UNICODE "Le code d'enregistrement est incorrect."
0012D06C |00000010  ; |Arg2 = 10
0012D070 |00000000 ; \Arg3 = 0
0012D074 |0012D0B8 ¸Ð
0012D078 \0044216B k!D ; /RETURN from unpacked.00596DF4 to unpacked.0044216B
0012D07C /01F49B00 ›ô ; |Arg1 = UNICODE "Le code d'enregistrement est incorrect."
0012D080 |00000010  ; |Arg2 = 10
0012D084 |00000000 ; \Arg3 = 0
0012D088 |0012D7AC ¬×
0012D08C |005C5B30 0[\
0012D090 |00000001 
0012D094 |01F49B00 ›ô ; UNICODE "Le code d'enregistrement est incorrect."
0012D098 |755E6057 W`^u ; RETURN from USER32.755EC440 to USER32.GetParent+5E
0012D09C |38411B53 SA8
0012D0A0 |001501B0 °
0012D0A4 |01F499E0 à™ô ; UNICODE "toto"
0012D0A8 |01619140 @‘a ; UNICODE "123456"
0012D0AC |0012D1DC ÜÑ ; Pointer to next SEH record
0012D0B0 |005ACD98 ˜ÍZ ; SE handler
0012D0B4 |0000000A

0012D0B8 |0012D0C8 ÈÐ
0012D0BC \005922C4 Ä"Y ; RETURN to unpacked.005922C4
Je fais un goto disasembleur en 0012DOCB afin de me trouver dans le code principal
Je constate qu'il y a pas mal d'incrementation et de décrémentation dans la section
Si quelqu'un travaille sur cette cible, peut il me dire si je suis loin de la routine de CTRL ?
Je ne pense pas que ce soit préférable d'aller sur 0012D064 ou D078. La démarche que je suis est elle cohérente ?

J'ai aussi essayé de mettre un BP ici :
00580529 |. FF15 54E85B00 CALL DWORD PTR DS:[<&user32.GetWindowTex ; \USER32.GetWindowTextA
mais lorsque je rentre le code, la message box de renvoi de message d'erreur reste à lécran et si je fais ok, ça me renvoie en user32
merci
rvq35
Mega Crackeur !
Mega Crackeur !
 
Messages: 255
Inscription: 07 Mars 2013, 07:21

Re: EPRXXLASXTIC

Messagepar rvq35 » 14 Juin 2017, 22:30

Bonsoir. Certains ont ils eu la curiosité de travailler sur cette cible qui, une fois déplombée, rendrait de grands services à beaucoup d'entre nous ! La seule chose c'est qu'elle est moins évidente que j'aurai cru. :arf:
On essaye ceci et après cela à la recherche de ce à quoi on espère, mais en vain, en tout cas pour l'instant.
Je me dis qu'en rechechant une messagebox qui indique le mauvais serial, il faut remonter le fil. Je passe par un sendmessagebox. Je remonte en haut de procédure et recherche le call qui amène ici. Local call from 596E23
Je me retrouve dans une autre procédure et en remontant je constate qu'une vingtaine de call m'amènent ici :x
Un truc de dingue. C'est sur que l'idéal serait de forcer un enregistrement par base de registre car je vois certaines api revelatrices du style regcreatekey ou regopenkey... mais la solution est bien moins évidente que ici http://kibaaaa.free.fr/Jobs/APPCrack/Co ... ing_03.htm
si quelqu'un travaille parallèlement sur la même cible, je suis preneur d'indices :)
mreci
rvq35
Mega Crackeur !
Mega Crackeur !
 
Messages: 255
Inscription: 07 Mars 2013, 07:21

Re: EPRXXLASXTIC

Messagepar Hao » 25 Juin 2017, 14:13

Je n'ai pas compris complètement la procédure de M!X0R pour unpack le soft.
Notamment l'utilité de mettre un memory bp sur la section code de "Normaliz" ?
Quelqu'un pourrait m'expliquer ?

Pour ce qui est du serial, j'ai jeté un oeil et apparemment la méthode de validation du serial est la suivante (du moins la première partie, je ne suis pas allé plus loin) :
Le soft vérifie déjà les deux derniers caractères du serial. Ceux-ci correspondent à une sorte de somme de contrôle du début du serial (serial - les deux derniers caractères).
Salage ?

Exemple : Si tu rentres "12345" le soft prend le début du serial (serial - les 2 derniers caratères) "123", calcule la "somme de contrôle" qui est "uB" et la compare à "45". Il voit que c'est pas bon, il se dirige vers la routine qui t'affiche le message mauvais serial.

Donc tu réessayes, cette fois-ci avec "123uB" pour pouvoir passer ce premier test.

C'est après que ça se gâte...

Le soft calcule le md5 du serial ("123uB").
Il calcule ensuite le Sha256 du serial.

A partir de ça, il pond une chaîne de 64 caractères de la forme suivante :

Les 32 premiers caractères correspondent au md5 (en hexa).
Les 32 derniers caractères correspondent à la deuxième moitié du Sha256 (en hexa).

Exemple :
MD5("123uB") = 8A6CC84345A3E65DF28D46C2EA62C1B6
SHA-256("123uB") = 5CCD144AA980B0FDF3CC4AE8EA1C3B05C3A3B1F1E02E600D72B7BEAA0B81E1F5

La chaîne résultante sera = "8a6cc84345a3e65df28d46c2ea62c1b6c3a3b1f1e02e600d72b7beaa0b81e1f5"
("8a6cc84345a3e65df28d46c2ea62c1b6" + "c3a3b1f1e02e600d72b7beaa0b81e1f5")

Il compare ensuite cette chaîne à une constante (chaîne ASCII présente dans le PE une fois unpack). Si la chaîne précédemment calculée n'est pas égale à la constante, il va vers la routine qui affiche le message mauvais serial.

Je ne suis pas allé plus loin, car je ne connais pas la marche à suivre dans ce genre de cas (bruteforce du md5 ?).

Note : Jusqu'ici le nom d'utilisateur saisi ne semble pas être pris en compte.
Avatar de l’utilisateur
Hao
Crackeur de bas niveau
Crackeur de bas niveau
 
Messages: 130
Inscription: 27 Novembre 2013, 22:24

Re: EPRXXLASXTIC

Messagepar dionosis » 25 Juin 2017, 18:42

Salut,

Hao a écrit:Je ne suis pas allé plus loin, car je ne connais pas la marche à suivre dans ce genre de cas (bruteforce du md5 ?).

S'il ne se sert pas du serial pour déchiffrer autre chose, la procédure dans ce cas là c'est :

- Unpack
- Faire le calcul avec "TonSerialQuiRox"
- Patcher le résultat attendu avec celui de "TonSerialQuiRox"

++
Avatar de l’utilisateur
dionosis
Maître des ténèbres
Maître des ténèbres
 
Messages: 507
Inscription: 09 Octobre 2009, 21:43

Re: EPRXXLASXTIC

Messagepar Hao » 25 Juin 2017, 19:33

Salut dionosis. Merci pour ta réponse.

J'avais testé ta solution en remplaçant "à chaud" lors de l’exécution la constante par le hash de mon serial (qui rox pas tellement que ça :oops: ).
Ca permet effectivement d'éviter d'aller dans la routine qui affiche le message mauvais serial. Malheureusement le soft plante. Donc j'ai pas suivi la piste plus loin.

Je viens de patcher directement le PE. Le comportement est identique, plantage, ce qui me semble cohérent.

Mais je pense que ta piste est bonne, il faut que j'explore un peu plus (voir pourquoi ça plantouille).
Avatar de l’utilisateur
Hao
Crackeur de bas niveau
Crackeur de bas niveau
 
Messages: 130
Inscription: 27 Novembre 2013, 22:24

Re: EPRXXLASXTIC

Messagepar Hao » 26 Juin 2017, 08:50

En poursuivant sur la piste du patch, je parviens à enregistrer le soft avec le nombre de crédits de décryptage que je veux (le soft consomme 1 crédit pour chaque décryptage de mot de passe apparemment).

Malheureusement, j'ai l'impression que le serial est utilisé par la suite pour déchiffrer les mots de passe des fichiers Excel avant de les afficher.
Il existe également une fonctionnalité qui permet de supprimer le mot de passe d'un fichier Excel, et je suppose qu'elle a besoin aussi d'un serial valide pour fonctionner.

Lorsque j'enregistre le logiciel avec la version patchée, il crée dans la base de registre une clé chiffrée qui contient je suppose :
Le serial entré lors de l'enregistrement.
Le nombre de crédits de décryptage restant.

La clé placée dans le registre est une chaîne de 22 caractères représentant une valeur hexa.
Avatar de l’utilisateur
Hao
Crackeur de bas niveau
Crackeur de bas niveau
 
Messages: 130
Inscription: 27 Novembre 2013, 22:24

Re: EPRXXLASXTIC

Messagepar Hao » 29 Juin 2017, 08:36

J'ai réussi à débloquer quelques fonctionnalités une fois enregistré avec le serial bidon et le PE patché.
Cependant, la méthode que j'ai utilisé est vraiment tordue...

En regardant le comportement du soft en mode démo puis en mode enregistré, j'ai remarqué que l'instruction suivante est exécutée :

Code: Tout sélectionner
CALL DWORD PTR DS:[EDX+34]


Appel une procédure différente suivant le mode (démo, enregistré).
  • En mode démo, la fonction appelée déchiffre le mot de passe Excel, mais affiche <démo> si le mot de passe dépasse 3 caractères.
  • En mode enregistrement, je ne parviens pas à comprendre le fonctionnement de la fonction appelée. J'ai simplement l'impression qu'au lieu de déchiffrer le mot de passe Excel, le programme va prendre une valeur dans la pile, et l'affiche.

Donc, j'ai forcé l'appel à la fonction démo, même en mode enregistré, et j'ai enlevé la limitation de 3 caractères. Ça semble faire le taff pour certaines fonctionnalités du soft (à condition d'être enregistré, sinon il y a encore d'autres protections qui font que le soft affiche <démo>).

Je ne sais pas s'il faut persister à tout prix dans cette voie ou reprendre le problème depuis le début sous un autre angle... :roll:
Avatar de l’utilisateur
Hao
Crackeur de bas niveau
Crackeur de bas niveau
 
Messages: 130
Inscription: 27 Novembre 2013, 22:24

Re: EPRXXLASXTIC

Messagepar HappyMan » 22 Juillet 2017, 23:27

Pas besoin de ce genre de soft. Dans la plupart des cas notepad suffit pour se débarrasser de la protection d'excel. Que ce soit ôter la protection des feuilles ou supprimer le mdp d'un projet vba. Mais ça n'enlève rien à l'intérêt d'étude de ce binaire.
Qui rira n'amasse pas mousse.
A la saint Barnabé on fait la chasse au boulet.
A la saint Alban la misère s'abat sur le gland.
Avatar de l’utilisateur
HappyMan
Mega Crackeur !
Mega Crackeur !
 
Messages: 296
Inscription: 21 Novembre 2006, 11:43
Localisation: Paris

Précédente

Retourner vers Reversing

Qui est en ligne

Utilisateurs parcourant ce forum: Bing [Bot] et 3 invités