Reversing d'un soft java

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

Re: Reversing d'un soft java

Messagepar jcvd » 06 Février 2018, 10:24

En fait je pense pas que ce soit bon, car j'ai la même chose dans la console quand j'utilise les essais avec les goto que j'avais fait alors que ça ne fonctionnait pas en voulant se connecter sur le contrôleur...
Bizarre :gné:
jcvd
Elève
Elève
 
Messages: 48
Inscription: 16 Janvier 2018, 08:42

Re: Reversing d'un soft java

Messagepar Hao » 06 Février 2018, 10:26

Ca signifie qu'il ne parvient pas a ouvrir le port COM. Donc il va falloir patcher.
Ca se passe dans la classe ComPortHelper (package communication).
Avatar de l’utilisateur
Hao
Mega Crackeur !
Mega Crackeur !
 
Messages: 275
Inscription: 27 Novembre 2013, 22:24

Re: Reversing d'un soft java

Messagepar jcvd » 06 Février 2018, 10:54

Hao a écrit:Ca signifie qu'il ne parvient pas a ouvrir le port COM. Donc il va falloir patcher.
Ca se passe dans la classe ComPortHelper (package communication).


Oki je vais aller la zieuter cette aprèm merci :mrgreen:
jcvd
Elève
Elève
 
Messages: 48
Inscription: 16 Janvier 2018, 08:42

Re: Reversing d'un soft java

Messagepar jcvd » 06 Février 2018, 13:52

Je viens d'aller la voir, bon à part le prototype d'une fonction y a rien :lol:

Je suppose que cette "func1" doit renvoyer une valeur appropriée pour autoriser l'ouverture du port com ?
Comment es-tu arrivé ici car j'ai déjà farfouillé par là mais je suis bien passé à côté de cette classe qui n'est pas très parlante ...

Et c'est quoi ces deux variables qu'elle prend en paramètre ?

Merci
jcvd
Elève
Elève
 
Messages: 48
Inscription: 16 Janvier 2018, 08:42

Re: Reversing d'un soft java

Messagepar jcvd » 06 Février 2018, 15:20

Ouhou

Image
jcvd
Elève
Elève
 
Messages: 48
Inscription: 16 Janvier 2018, 08:42

Re: Reversing d'un soft java

Messagepar Hao » 06 Février 2018, 16:03

Ah ben voila. :)
Avatar de l’utilisateur
Hao
Mega Crackeur !
Mega Crackeur !
 
Messages: 275
Inscription: 27 Novembre 2013, 22:24

Re: Reversing d'un soft java

Messagepar jcvd » 06 Février 2018, 16:47

Bon donc il me reste à tester avec un contrôleur je suppose ? Ca peut être marrant de voir la console en même temps.
Par contre ne pars pas trop vite, car même si cela fonctionne j'ai encore beaucoup beaucoup de questions à venir :roll:
jcvd
Elève
Elève
 
Messages: 48
Inscription: 16 Janvier 2018, 08:42

Re: Reversing d'un soft java

Messagepar Hao » 06 Février 2018, 17:31

Je me répète, mais rien ne prouve que ça fonctionne pour autant. On a patché une partie, mais peut être qu'il y a d'autres protections (c'est le problème des patchs).
De mon côté sans avoir accès à un contrôleur pour tester/debugger, je vais devoir faire ça un peu à l'aveugle.
Avatar de l’utilisateur
Hao
Mega Crackeur !
Mega Crackeur !
 
Messages: 275
Inscription: 27 Novembre 2013, 22:24

Re: Reversing d'un soft java

Messagepar jcvd » 06 Février 2018, 22:20

Effectivement, j'avais oublié cet aspect. J'essaye de tester au plus vite, je viens te poster le résultat quand je l'ai.
jcvd
Elève
Elève
 
Messages: 48
Inscription: 16 Janvier 2018, 08:42

Re: Reversing d'un soft java

Messagepar Hao » 07 Février 2018, 08:44

Il y a plusieurs bouts de code qui ne me plaisent pas énormément, du genre :
Code: Tout sélectionner
long rValue = Drive.getResponseKey(recvNonce);
this.verificationKey[3] = ((int)(rValue & 0xFF));
this.verificationKey[2] = ((int)(rValue >> 8 & 0xFF));
this.verificationKey[1] = ((int)(rValue >> 16 & 0xFF));
this.verificationKey[0] = ((int)(rValue >> 24 & 0xFF));
sendAuthorization();

ou encore
Code: Tout sélectionner
private void showConnetionNotAlowedDlg()
{
  JOptionPane.showMessageDialog(new JFrame(), "Connection not allowed", "Information", 1);
  System.exit(0);
}
Avatar de l’utilisateur
Hao
Mega Crackeur !
Mega Crackeur !
 
Messages: 275
Inscription: 27 Novembre 2013, 22:24

Re: Reversing d'un soft java

Messagepar jcvd » 07 Février 2018, 14:18

Ah... Ca sent pas bon...

Tu conseilles quoi pour la suite ?

J'ai une occaz d'essayer ce soir ça vaut le cout d'aller tenter ou pas ?

Effectivement c'est moche ces morceaux de codes...
jcvd
Elève
Elève
 
Messages: 48
Inscription: 16 Janvier 2018, 08:42

Re: Reversing d'un soft java

Messagepar Hao » 07 Février 2018, 16:59

Un test directement sur un contrôleur c'est le moyen le plus sûr d'être fixé.
Avatar de l’utilisateur
Hao
Mega Crackeur !
Mega Crackeur !
 
Messages: 275
Inscription: 27 Novembre 2013, 22:24

Re: Reversing d'un soft java

Messagepar jcvd » 07 Février 2018, 17:22

Ok, je vois pour essayer soit cette fin de journée, soit demain en fin de journée. Je te tiens informé. 8)
jcvd
Elève
Elève
 
Messages: 48
Inscription: 16 Janvier 2018, 08:42

Re: Reversing d'un soft java

Messagepar jcvd » 09 Février 2018, 09:11

Hello,

Donc maintenant on arrive à se loguer sur le contrôleur c'est déjà un bon point.

Image

Image

Cependant, quand j'envoie des commandes dans le terminal, le contrôleur semble ne pas réagir. J'ai pas pu tester assez longtemps à mes yeux car j'ai eu une urgence juste à ce moment. A savoir aussi que j’exécutais le soft dans une VM avec redirection de mon convertisseur RS232 dans la VM. Donc c'est peut être pas fou non plus, je pense que ça vaudrait le coût d'essayer hors d'une VM et avec un autre contrôleur, car je n'avais jamais non plus tenté de me connecter à ce modèle exact de contrôleur même si c'est censé aller avec.

Qu'en penses-tu de tout cela ?
jcvd
Elève
Elève
 
Messages: 48
Inscription: 16 Janvier 2018, 08:42

Re: Reversing d'un soft java

Messagepar Hao » 09 Février 2018, 10:54

En vue du prochain test, il faudrait peut être préparer une version du .jar avec des modifs pour voir ou ça coince.
Et éventuellement utiliser un sniffer rs232 pour voir ce que le soft et le contrôleur se disent.

Le pire des cas serait que le contrôleur se "protège" lui-même d'un logiciel cracké :
Le contrôleur reçoit une demande de connexion de la part du logiciel.
Suite à ça, il envoi un code d'authentification au logiciel.
Le logiciel reçoit le code, et a partir de celui-ci doit calculer une clé d'authentification qu'il renvoi au contrôleur.
Si la clé d'authentification est fausse, le contrôleur refusera de communiquer.

Dans ce cas, la clé d'authentification serait calculée par une fonction de Softguard. Si cette fonction vérifie la licence d'une manière ou d'une autre, elle renverra une clé erronée.

Je fait référence au code suivant :
Code: Tout sélectionner
long rValue = Drive.getResponseKey(recvNonce);
this.verificationKey[3] = ((int)(rValue & 0xFF));
this.verificationKey[2] = ((int)(rValue >> 8 & 0xFF));
this.verificationKey[1] = ((int)(rValue >> 16 & 0xFF));
this.verificationKey[0] = ((int)(rValue >> 24 & 0xFF));
sendAuthorization();

Si c'est bien ça, la clé est stockée sur 4 octets. Et c'est baisé pour un patch du bytecode. Du moins sans avoir reverse la fonction de calcul de la clé avant.
Je pense qu'il faudrait déjà confirmer/infirmer ce cas lors du prochain test.
Avatar de l’utilisateur
Hao
Mega Crackeur !
Mega Crackeur !
 
Messages: 275
Inscription: 27 Novembre 2013, 22:24

PrécédenteSuivante

Retourner vers Reversing

Qui est en ligne

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