N*e*t*M*e*t*e*r

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

N*e*t*M*e*t*e*r

Messagepar Chaosphere » 19 Janvier 2018, 09:50

Bonjour,

J'avais besoin de voir la bande passante consommée sur mon portable et donc j'ai installé N*e*t*M*e*t*e*r
J'ai remarqué que ce logiciel était en version d'éssai (pendant 30 jours) et donc je me suis dit pourquoi ne pas éssayer de le cracker moi même ?
Alors j'ai installé Olydbg et suivi quelques tutos par ci par là...
Et là je viens de trouver comment désactiver le nag screen :

Remplacer ceci :
Address Hex dump Command Comments
0041C26A /0F85 93020000 JNZ 0041C503

Par celà :
CPU Disasm
Address Hex dump Command Comments
0041C26A /E9 94020000 JMP 0041C503
0041C26F |90 NOP

Le nag screen ne s'affiche plus, par contre si je vais dans help -> about il me dis toujours "Unregistered copy your 30 days evaluation period has 22 days remaining"

Je ne sais pas si dans 22 jours il voudra toujours se lancer.
Je précise que je suis un débutant en RE, vos conseils sont les bienvenus..

PS : Ma version de N*e*t*M*e*t*e*r : V3.6 build 437
Chaosphere
Elève
Elève
 
Messages: 45
Inscription: 15 Janvier 2018, 13:53

Re: N*e*t*M*e*t*e*r

Messagepar Hao » 19 Janvier 2018, 10:11

Salut,

en fait ça dépend de ton patch. Si il ne fait que virer le nag, alors il y a de grandes chances pour que la protection du soft soit toujours effective.
As-tu essayé d'avancer la date de ta machine de plus de 22 jours ? Histoire d'observer le comportement du soft ?
Avatar de l’utilisateur
Hao
Mega Crackeur !
Mega Crackeur !
 
Messages: 260
Inscription: 27 Novembre 2013, 22:24

Re: N*e*t*M*e*t*e*r

Messagepar Chaosphere » 19 Janvier 2018, 10:15

Non c'est vrai j'ai pas testé ca... je vais éssayer pour voir...
Chaosphere
Elève
Elève
 
Messages: 45
Inscription: 15 Janvier 2018, 13:53

Re: N*e*t*M*e*t*e*r

Messagepar Chaosphere » 19 Janvier 2018, 10:24

Bon alors si j'avance la date d'un mois le programme se lance sans le nag screen mais la fenêtre principale ne marche pas...
Je vais investiguer...
Chaosphere
Elève
Elève
 
Messages: 45
Inscription: 15 Janvier 2018, 13:53

Re: N*e*t*M*e*t*e*r

Messagepar Chaosphere » 19 Janvier 2018, 10:41

Une petite question :

J'ai une fenêtre qui s'affiche, j'aimerais mettre un break point sur le click de l'un des boutons de cette fenêtre...Tu sais si c'est possible ?
Chaosphere
Elève
Elève
 
Messages: 45
Inscription: 15 Janvier 2018, 13:53

Re: N*e*t*M*e*t*e*r

Messagepar Hao » 19 Janvier 2018, 11:18

Il faut regarder dans un premier temps du côté des API. Notamment SendMessage.
Code: Tout sélectionner
https://msdn.microsoft.com/en-us/library/windows/desktop/bb775941(v=vs.85).aspx#handling_button_messages
Avatar de l’utilisateur
Hao
Mega Crackeur !
Mega Crackeur !
 
Messages: 260
Inscription: 27 Novembre 2013, 22:24

Re: N*e*t*M*e*t*e*r

Messagepar Chaosphere » 19 Janvier 2018, 13:40

COOL !!!! J'AI REUSSI !! :D

Remplacer :

Address Hex dump Command Comments
00411564 |. /75 11 JNZ SHORT 00411577

Par :

Address Hex dump Command Comments
00411564 /EB 11 JMP SHORT 00411577

Vous pourriez éssayer chez vous pour me dire si ca marche svp ?
Chaosphere
Elève
Elève
 
Messages: 45
Inscription: 15 Janvier 2018, 13:53

Re: N*e*t*M*e*t*e*r

Messagepar Chaosphere » 19 Janvier 2018, 14:01

Bon bah en fait ca marche sauf que maintenant l'application ouvre le nag screen au bout de 5 minutes....
Chaosphere
Elève
Elève
 
Messages: 45
Inscription: 15 Janvier 2018, 13:53

Re: N*e*t*M*e*t*e*r

Messagepar Hao » 19 Janvier 2018, 14:17

C'est le problème quand on patch un ou plusieurs sauts. Difficile de savoir si on a pas laissé un truc de côté.
Dans ce cas, il vaut mieux comprendre pourquoi ça saute ou pas.

En remontant, tu vas peut être tomber sur une fonction qui est appelée à plusieurs endroits dans le soft. C'est généralement le cas, car la plupart des développeurs cherchent à factoriser leur code.

En patchant la valeur renvoyée par la fonction de vérification de la licence tu pourras peut-être inhiber la protection du soft.

Sinon, une autre approche "plus propre", consiste à rentrer un nom d'utilisateur et un serial bidon à l'enregistrement du soft, puis d'essayer de trouver un endroit ou "fish" le bon serial.
Le soft calcul le serial à partir du nom d'utilisateur que tu rentres, puis il le compare au serial que tu as saisi. Il faut trouver l'endroit ou il compare les deux.
Avatar de l’utilisateur
Hao
Mega Crackeur !
Mega Crackeur !
 
Messages: 260
Inscription: 27 Novembre 2013, 22:24

Re: N*e*t*M*e*t*e*r

Messagepar Chaosphere » 21 Janvier 2018, 14:22

Oui justement c'est ce que j'ai éssayé de faire mais je ne trouve pas la fonction qui est appellée pour tester la validité de la licence...

Question :

J'ai ca :

CPU Disasm
Address Hex dump Command Comments
004281E3 |. 6A 00 PUSH 0 ; /lParam = 0
004281E5 |. 6A 00 PUSH 0 ; |wParam = 0
004281E7 |. 68 77040000 PUSH 477 ; |Msg = WM_USER+119.
004281EC |. 51 PUSH ECX ; |hWnd
004281ED |. FF15 04F54500 CALL DWORD PTR DS:[<&USER32.PostMessageW>] ; \USER32.PostMessageW

Comment je peux faire pour mettre un BP sur la fenêtre qui recoit le message WM_USER+119 ?
Chaosphere
Elève
Elève
 
Messages: 45
Inscription: 15 Janvier 2018, 13:53

Re: N*e*t*M*e*t*e*r

Messagepar Chaosphere » 21 Janvier 2018, 14:57

Je précise que j'utilise Ollydbg 2
Apparement dans la version 1 il y avait la possibilité de faire ca facilement
Chaosphere
Elève
Elève
 
Messages: 45
Inscription: 15 Janvier 2018, 13:53

Re: N*e*t*M*e*t*e*r

Messagepar Chaosphere » 21 Janvier 2018, 15:23

Bon je pense que j'ai réussi. Je récapitule :

- Pour retirer le Nag screen au lancement de l'appli
Remplacer :

<etherlord : supprimé>

Je continue à regarder s'il n'y a pas moyen de faire plus propre parceque comme disait l'ami Hao ca serais plus cool de patcher juste la fonction de vérification de la licence...

EDIT (etherlord) : Bravo pour avoir solutionné ton problème, et merci de ta velléité de partage. Toutefois, le but du forum est d'encourager l'exercice du reverse-engineering, pas de fournir des recettes à appliquer pour cracker un logiciel. J'apprécierais plutôt une explication sur comment tu a trouvé ce qu'il fallait faire, auquel cas des extraits de codes sont ok, mais pas juste une démarche pas-à-pas sans explications. Le forum ne va pas survivre longtemps si on se met à fournir des méthodes qui visent uniquement à supprimer une protection.
Chaosphere
Elève
Elève
 
Messages: 45
Inscription: 15 Janvier 2018, 13:53

Re: N*e*t*M*e*t*e*r

Messagepar Bango » 22 Janvier 2018, 15:09

Pour rebondir sur l'aspect éducatif et pour plussoyer la proposition de Hao, il y a aussi l'approche analyse de serial qui ne demande aucune modification de l'executable ;)
Et qui est, à mon sens, plus ludique et plus propre, en plus d'être plus efficace... un numéro de série peut durer longtemps. Un patch aussi mais c'est moins vrai :P
Code: Tout sélectionner
0040D6E7    > 8B1B                      MOV EBX,DWORD PTR DS:[EBX]
0040D6E9    . 8D8E 94010000             LEA ECX,DWORD PTR DS:[ESI+194]
0040D6EF    . 51                        PUSH ECX
0040D6F0    . 53                        PUSH EBX
0040D6F1    . E8 EA860200               CALL HooNetMe.00435DE0
0040D6F6    . 83C4 08                   ADD ESP,8
0040D6F9    . 85C0                      TEST EAX,EAX
0040D6FB    . 74 1E                     JE SHORT HooNetMe.0040D71B
0040D6FD    . 6A 40                     PUSH 40
0040D6FF    . 68 98084600               PUSH HooNetMe.00460898                                            ;  UNICODE "Net Meter"
0040D704    . 68 FC0A4600               PUSH HooNetMe.00460AFC                                            ;  UNICODE "Register successfully. Thank you for your support."


Quand on voit ça, on peut légitimement se dire qu'on ne va pas chercher longtemps où ça va se passer.

Dans le call:
Code: Tout sélectionner
00435DE0   /$ 81EC A0000000             SUB ESP,0A0
00435DE6   |. 56                        PUSH ESI
00435DE7   |. 8BB424 A8000000           MOV ESI,DWORD PTR SS:[ESP+A8]
00435DEE   |. 56                        PUSH ESI                                                          ; /String
00435DEF   |. FF15 5CF34500             CALL DWORD PTR DS:[<&KERNEL32.lstrlenW>]                          ; \lstrlenW
00435DF5   |. 83F8 40                   CMP EAX,40
00435DF8   |. 74 0A                     JE SHORT HooNetMe.00435E04


Maintenant tu as la longueur du serial à insérer et le reste vient après, rien n'est caché.Ce sont des petits calculs, ça demande un poil d'organisation mais c'est tout à fait abordable ;)
\ô/
Avatar de l’utilisateur
Bango
Modérateur
Modérateur
 
Messages: 1554
Inscription: 23 Juillet 2007, 15:33
Localisation: Gotham city

Re: N*e*t*M*e*t*e*r

Messagepar Chaosphere » 24 Janvier 2018, 12:58

Etherlord : Oops désolé, pour les bouts de code je ne savais pas....

Bango : Oui j'ai déja éssayé de patcher cette fonction mais ca ne marche pas. Il me dis bien "Register succesfully bla bla" mais on dirait qu'il ne mémorise pas le fait qu'il est enregistré...
Chaosphere
Elève
Elève
 
Messages: 45
Inscription: 15 Janvier 2018, 13:53

Re: N*e*t*M*e*t*e*r

Messagepar Hao » 25 Janvier 2018, 08:47

Chaosphere a écrit:Bango : Oui j'ai déja éssayé de patcher cette fonction mais ca ne marche pas. Il me dis bien "Register succesfully bla bla" mais on dirait qu'il ne mémorise pas le fait qu'il est enregistré...


Bango ne parle pas de patcher, mais de trouver un serial valide.
Avatar de l’utilisateur
Hao
Mega Crackeur !
Mega Crackeur !
 
Messages: 260
Inscription: 27 Novembre 2013, 22:24


Retourner vers Reversing

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 3 invités