Crack logiciel EOBD-Facile

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

Re: Crack logiciel EOBD-Facile

Messagepar dionosis » 07 Octobre 2015, 12:01

Salut,

@Arthemus> Ok, avec la bonne procédure on y arrive. Merci pour lui.
Et un cheksum fichier plutôt que mémoire... Ca en dit long sur le level des personnes en charge de la sécu de l'appli (sans méchanceté hein, c'est juste qu'on connait de suite leurs limites et on sait à quoi s'attendre ou pas).

@snipzz> Là t'abuses :roll:, elle est vraiment moins compliquée à remonter que l'autre celle-là, un simple BP sur MessageBoxA fait l'affaire... 950194.

++
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: Crack logiciel EOBD-Facile

Messagepar snipzz » 07 Octobre 2015, 12:32

Les switches dont je parle se trouvent en 009617A4, 00949651 et en 968D08. Voici les adresses des différentes versions :

1er switch :
9618A1 ----> Version ultimate
9617CC ----> Evaluation
961813 ----> Version complète
96192C ----> Invalid key
96185A ----> Version professionnelle
9618E8 ----> Version utimate (developpeur mode)

2ème switch :
9496FD ----> Evaluation
949781 ----> Version complète
9497DF ----> Version professionnelle
94983D ----> Version ultimate
949898 ----> Version utimate (developpeur mode)
949679 ----> Version non enregistrée

Le premier switch sert au moment ou l'on rentre la clé d'activation et le deuxième sert au démarrage. Seulement il y a un troisième qui n'est jamais lancé.

La fonction commune à ces switches, c'est celle-ci : 00a2cf9c

Le problème est que je n'ai pas accès aux fonctions du programme et j'ai toujours une messagebox qui me dit version non enregistrée quand j'essaie d'utiliser une fonction premium alors que dans le titre il est écrit Version ultimate.

Merci de votre aide :)
snipzz
Débutant
Débutant
 
Messages: 32
Inscription: 23 Septembre 2015, 20:18

Re: Crack logiciel EOBD-Facile

Messagepar snipzz » 07 Octobre 2015, 12:57

@dionosis en fait le call que tu me montres, ollydbg ne me le réfère pas en tant que MessageBoxA donc voilà pourquoi je n'ai pas pu le breakpoint.
snipzz
Débutant
Débutant
 
Messages: 32
Inscription: 23 Septembre 2015, 20:18

Re: Crack logiciel EOBD-Facile

Messagepar AmandaLear » 07 Octobre 2015, 16:27

Tu n'as pas besoin de patcher le programme pour le forcer à utiliser un serial invalide.

Trace la routine de vérification du numéro de série, tu verras que ton serial est comparé à un serial valide. Donc tu as juste à le fisher pour enregistrer le programme.
Avatar de l’utilisateur
AmandaLear
Elève
Elève
 
Messages: 46
Inscription: 06 Octobre 2015, 17:42

Re: Crack logiciel EOBD-Facile

Messagepar snipzz » 07 Octobre 2015, 18:44

Re,

@AmandaLear, c'est pas si facile que ça et si tu as une piste :)

@Dionosis, j'ai suivi l'adresse 950194. Je suis remonté dans la reference de la fonction ou est le call de la msgbox et j'ai vu un jmp conditionnel (A3E85A) et je l'ai remplacé par JMP 00A3E861. La msgbox ne s'affiche plus mais le programme se quitte quand même. J'ai donc mit un break sur le même jump (A3E85A) et j'ai fait ctrl+f8 et je trouve le call qui quitte le programme (F6E26B). Le problème est, je pense qu'il est déjà trop tard mais je ne parviens pas à remonter à l'origine.. Si tu avais une idée :)

Merci :)
snipzz
Débutant
Débutant
 
Messages: 32
Inscription: 23 Septembre 2015, 20:18

Re: Crack logiciel EOBD-Facile

Messagepar AmandaLear » 07 Octobre 2015, 19:15

Regarde à l'adresse 00A2D0A5 :

Code: Tout sélectionner
00A2D0A5 | FF 75 C8                 | push dword ptr ss:[ebp-38]                        | ;1st half serial
00A2D0A8 | FF 75 C4                 | push dword ptr ss:[ebp-3C]                        | ;2nd half serial
00A2D0AB | FF 75 C0                 | push dword ptr ss:[ebp-40]                        | ;user code
00A2D0AE | E8 6D 00 00 00           | call eobd-facile.A2D120                           |


T'as juste à regarder dans la fonction A2D120 pour voir ce qu'il s'y passe.
Avatar de l’utilisateur
AmandaLear
Elève
Elève
 
Messages: 46
Inscription: 06 Octobre 2015, 17:42

Re: Crack logiciel EOBD-Facile

Messagepar Arthemus » 07 Octobre 2015, 19:38

Salut snipzz,

Bon je ne vais spas de donner trop de précisions car tu as déjà beaucoup de pistes à instruire.
Pour la fenêtre d'erreur "violation FFFF etc", je te conseille la méthode de la pile. lorsque la fenêtre apparait, tu mets olly en pause puis tu utilises la pile pour remonter à son origine -> http://www.forumcrack.com/viewtopic.php?f=6&t=5174&p=55441&hilit=utilise+pile+pas+de+string#p55441

@+
Arthemus
Arthemus
Crackeur de bas niveau
Crackeur de bas niveau
 
Messages: 130
Inscription: 02 Janvier 2007, 17:25

Re: Crack logiciel EOBD-Facile

Messagepar snipzz » 07 Octobre 2015, 21:55

@AmandaLear, merci j'essaierai demain mais comment es-tu tombé la dessus ?

@Arthemus, j'ai essayé la methode de la pile mais quand je regarde dedans ensuite, j'obtiens ça et ça puis plus rien.

Image
Image

J'ai pourtant bien fait ce qui est écrit.

Et aussi, maintenant que j'ouvre mon fichier modifié avec olly, quand je lance le programme j'ai une NTDLL.RtlRaiseException que je dois passer avec F9 je sais pas pourquoi mais en tout cas ça a un rapport avec leur sécurité car si l'original est là, il n'y a pas d'erreur

Merci en tout cas
snipzz
Débutant
Débutant
 
Messages: 32
Inscription: 23 Septembre 2015, 20:18

Re: Crack logiciel EOBD-Facile

Messagepar AmandaLear » 07 Octobre 2015, 23:29

Je suis juste parti de l'endroit dont tu as parlé avec le check du type de licence. A partir de là j'ai regardé ce que le programme faisait et j'ai tracé tranquillement le code.

Sans vouloir insister, si tu t'occupais de la routine de génération et de vérification du serial que je t'ai montré tu n'aurais pas à perdre du temps avec le test d'intégrité. La génération du serial est ultra basique, y'a même pas de crypto, tu peux calculer des serials juste avec la calculette de Windows quand t'as vu comment c'était fait dans le soft.

Enfin tu fais comme tu veux, mais si tu veux patcher, pour faire péter le check il faut que tu regardes à quel moment le programme accède à son propre fichier et faire la vérification du nom et des l'intégrité des données. C'est pas au moment ou il affiche le nag et quitte, ça c'est déclenché plus tard. Regarde du côté des APIs ReafFile et GetModuleHandle. Mais je pense que c'est une perte de temps quand le soft est si facile à fisher/keygener. :)
Avatar de l’utilisateur
AmandaLear
Elève
Elève
 
Messages: 46
Inscription: 06 Octobre 2015, 17:42

Re: Crack logiciel EOBD-Facile

Messagepar dionosis » 08 Octobre 2015, 12:16

Salut,

@snippz>
Madame Lear a très bien résumé la situation.
Peut-être qu'il faudrait que tu nous expliques pourquoi tu t'acharnes autant à vouloir faire précisément un crack ?
C'est la lecture de l'assembleur autre que les comparaisons/jumps qui te pose problème ?
Parce que là on commence à sévèrement brasser du vent qui ne sera au final utile vraiment qu'à toi... :roll:

++
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: Crack logiciel EOBD-Facile

Messagepar snipzz » 08 Octobre 2015, 15:28

C'est la lecture de l'assembleur autre que les comparaisons/jumps qui te pose problème ?


Je dirais oui, en fait je vois toujours des tonnes de calls ou le serial est passé et je ne sais jamais ou aller voir.
snipzz
Débutant
Débutant
 
Messages: 32
Inscription: 23 Septembre 2015, 20:18

Re: Crack logiciel EOBD-Facile

Messagepar snipzz » 08 Octobre 2015, 17:16

@AmandaLear, j'ai suivi ton conseil, j'ai refait pas à pas ce que fait le programme et j'arrive finalement à cette fonction. 00A2CA4A.

Le premier argument c'est le user id, le deuxième est la première moitié de la clé, le troisième l'autre moitié et le 4ème c'est un byte en fonction de la version (cette fonction est apelée 5 fois pour vérifier la bonne version). Le problème c'est qu'après, je ne vois pas comment en déduire la clé ou le user id.
snipzz
Débutant
Débutant
 
Messages: 32
Inscription: 23 Septembre 2015, 20:18

Re: Crack logiciel EOBD-Facile

Messagepar AmandaLear » 08 Octobre 2015, 19:02

Le user code est juste un nombre aléatoire.

Le serial est généré depuis le user code + le numéro de série du disque sur lequel est installé le logiciel (C: par défaut).

Le numéro de série du disque il est récupéré par un appel à la fonction GetVolumeInformation :

Code: Tout sélectionner
https://msdn.microsoft.com/en-us/library/windows/desktop/aa364993%28v=vs.85%29.aspx


Pour tester il te suffit de rentrer un user code aléatoire, un serial aléatoire et de tracer le code pour voir ce que fait le programme avec ces données.

Allez, t'y es presque. :)
Avatar de l’utilisateur
AmandaLear
Elève
Elève
 
Messages: 46
Inscription: 06 Octobre 2015, 17:42

Re: Crack logiciel EOBD-Facile

Messagepar snipzz » 11 Octobre 2015, 16:19

Merci, je vais essayer de trouver :)

J'ai deux questions, que représente LOCAL.1, ...
et comment sont passés les "arguments" aux call ?

J'ai trouvé le call qui utilise le s/n mais j'ai trop de mal à trouver ce qu'il se passe après :(
snipzz
Débutant
Débutant
 
Messages: 32
Inscription: 23 Septembre 2015, 20:18

Re: Crack logiciel EOBD-Facile

Messagepar AmandaLear » 12 Octobre 2015, 14:56

snipzz a écrit:J'ai deux questions, que représente LOCAL.1, ...


Aucune idée, j'ai pas ma boule de cristal sur moi. :p

Tu peux être un peu plus précis ?

snipzz a écrit:et comment sont passés les "arguments" aux call ?


Ça dépend, avec certains compilateurs les arguments sont placés sur la pile avec l'instruction "push" (Microsoft, Borland, Intel...), avec d'autres c'est avec "mov" (GCC, MingW...).

Dans ton soft c'est avec "push" (compilateur Borland).

La arguments sont poussés de l'argument n à l'argument 1. Par exemple si ton call prends 3 arguments :

Code: Tout sélectionner
push [arg3]
push [arg2]
push [arg1]
call [sub]


Au début du "sub" (code appelé par le call) tu vas te retrouver avec la pile qui ressemble à ça :

Code: Tout sélectionner
000000 -> adresse de l'instruction qui suit le call qui appelé ce sub
000004 -> arg1
000008 -> arg2
00000C -> arg3
etc...
Dernière édition par AmandaLear le 12 Octobre 2015, 20:56, édité 1 fois.
Avatar de l’utilisateur
AmandaLear
Elève
Elève
 
Messages: 46
Inscription: 06 Octobre 2015, 17:42

PrécédenteSuivante

Retourner vers Reversing

Qui est en ligne

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