Reversing d'un soft java

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

Reversing d'un soft java

Messagepar jcvd » 16 Janvier 2018, 13:03

Bonjour à tous,

Comme déjà mentionné dans ma présentation, je vais m'attaquer au monde du reversing à l'aide d'un soft qui me rendra par la même occasion service une fois débloqué. Pour information, il ne m'importe pas de me le débloquer et de me le renvoyer, j'aimerais bien comprendre les différents points que vous allez m'expliquer car je ne supporte pas d'appliquer des recettes de cuisine sans les comprendre :mrgreen:
Si il y a des intéressés, je peux faire passer ce soft en privé.
Je vous explique donc le contexte. Il s'agit d'un soft en java (l'essentiel est contenu dans un fichier .jar) que j'ai décompressé. J'ai suivi différents tuto sur le net qui m'ont conduit à utiliser intellij idea, et ida pro. Je suis parvenu à supprimer la demande de la clé de licence, cependant l'application ne fonctionne pas correctement par la suite car elle refuse de se connecter à la carte distante (ce soft permet de se connecter à une carte hors du pc via la liaison série rs232) en clair il ne trouve jamais rien alors qu'en version non crackée avec un vrai code (généré par un chinois avec un keygen qu'il a du fabriquer limité dans le temps qu'il vends cher) ça fonctionne correctement donc le soft est fonctionnel de base.
Je crois que vous avez traité une version plus ancienne de ce même soft ici car j'ai tout lu et c'est le même soft mais en plus vieux je crois :

viewtopic.php?f=6&t=11457&hilit=softguard

Peut-on tout reprendre de la base, repartir ensemble du soft neuf qui est le mien et me guider, m'expliquer pas à pas.

Je pense que dans un premier temps il faudrait me conseiller au niveau des softs à utiliser pour commencer à travailler sur ce programme?
J'ai préparé une VM en XP toute propre pour pouvoir faire toutes les cochonneries qu'il faudra :P

Messieurs j'attends avec impatience vos retours.

Bonne journée!
jcvd
Elève
Elève
 
Messages: 51
Inscription: 16 Janvier 2018, 08:42

Re: Reversing d'un soft java

Messagepar jcvd » 17 Janvier 2018, 08:50

Bonjour,

J'ai recommencé mon analyse, je voulais poster le résultat de mes recherches mais il y a une erreur de permissions sur le serveur du forum est-ce normal ?
jcvd
Elève
Elève
 
Messages: 51
Inscription: 16 Janvier 2018, 08:42

Re: Reversing d'un soft java

Messagepar jcvd » 17 Janvier 2018, 08:53

Bonjour Messieurs,

J'ai donc essayé d'avancer mais il va me falloir des explications sur le code que j'ai trouvé. En réalité, je ne comprends pas le fonctionnement de cette fonction dans le fichier Drive.class.
Ce que je comprends, c'est que les system.exit conduisent à la fermeture du programme.
Que fait au tout début le try/catch ? On voit bien qu'une fonction de softguard est appelée (je ne sais dire ce qu'elle fait), qu'elle renvoie certainement une valeur dans cette variable et que dans l'autre cas on lui affecte la valeur -100.

Ensuite je vois que le if/else fait passer dans le if si on a une valeur négative (certainement le cas du -100) sinon dans le reste du code.
Dans le if on fait un switch toujours sur cette variable dont le cas -4 conditionné par un autre if vérifiant que result est négatif conduit vers un systemexit.
Sinon dans le cas par défaut si result ne vaut pas -4 on va aussi dans un system.exit. Donc si j'en conclus qu'il faut éviter les system.exit on va dire qu'il faut que result ne soit pas négatif pour passer dans le else et pas dans le if.
Ensuite si j'analyse le else, la seule possibilité pour ne pas passer à nouveau dans un system.exit est que result prenne une valeur entre 1 et 75. Mais ce qui me chagrine c'est que ceci ne conduit qu'a l'apparition d'un showMsgBox donc je doute que ça ne règle quoi que ce soit d'un point de vue fonctionnement du soft ?

J'ai besoin de votre aide sur ce coup la.

Dans l'attente de vous lire :D
jcvd
Elève
Elève
 
Messages: 51
Inscription: 16 Janvier 2018, 08:42

Re: Reversing d'un soft java

Messagepar etherlord » 17 Janvier 2018, 08:55

Hello,

Pour information, il ne m'importe pas de me le débloquer et de me le renvoyer


ça tombe bien, les demandes de crack sont interdites sur ce forum...


Il est fort possible que le logiciel vérifie la clé à différents endroits. Si tu utilise un keygen qui te génère une clé valide, tous les endroits vont valider la clé.

Si tu supprime la partie qui te demande la clé pour la valider une première fois, les autres tests ne seront pas positifs.

Il faut donc déjà s'assurer que tu ait identifié toutes les fonctions qui valident la clé si il y en as plusieurs, et surtout tous les endroits qui font référence à cette fonction.

Si tu as besoin d'explication, faut commencer par nous dire sur quoi tu bloque. Tu dit que tu a pu supprimer la demande de la clé. Plutôt que de supprimer la demande,
pourquoi ne pas analyser la validation de la clé ?

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

Re: Reversing d'un soft java

Messagepar etherlord » 17 Janvier 2018, 08:56

jcvd a écrit:je voulais poster le résultat de mes recherches mais il y a une erreur de permissions sur le serveur du forum est-ce normal ?


Quelle erreur ?

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

Re: Reversing d'un soft java

Messagepar jcvd » 17 Janvier 2018, 08:58

Je n'arrive pas à poster le code j'ai ce message d'erreur :

Image

Donc voici le code dont je fais mention plus haut en capture d'écran :

Image

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

Re: Reversing d'un soft java

Messagepar etherlord » 17 Janvier 2018, 09:01

jcvd a écrit:Bonjour Messieurs,

Que fait au tout début le try/catch ? On voit bien qu'une fonction de softguard est appelée (je ne sais dire ce qu'elle fait), qu'elle renvoie certainement une valeur dans cette variable et que dans l'autre cas on lui affecte la valeur -100.


try/catch sert à gérer les exceptions.

https://openclassrooms.com/courses/appr ... exceptions

J'ai besoin de votre aide sur ce coup la.


Il faut poster les extraits de codes (pas des pages non plus...) si tu veut qu'on valide ton analyse, c'est difficile de se prononcer sans cela

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

Re: Reversing d'un soft java

Messagepar jcvd » 17 Janvier 2018, 09:13

etherlord a écrit:
jcvd a écrit:Bonjour Messieurs,

Que fait au tout début le try/catch ? On voit bien qu'une fonction de softguard est appelée (je ne sais dire ce qu'elle fait), qu'elle renvoie certainement une valeur dans cette variable et que dans l'autre cas on lui affecte la valeur -100.


try/catch sert à gérer les exceptions.

https://openclassrooms.com/courses/appr ... exceptions

J'ai besoin de votre aide sur ce coup la.


Il faut poster les extraits de codes (pas des pages non plus...) si tu veut qu'on valide ton analyse, c'est difficile de se prononcer sans cela

etherlord


Effectivement, j'ai posté plus haut ces extraits de code nos messages ont du se croiser :D
jcvd
Elève
Elève
 
Messages: 51
Inscription: 16 Janvier 2018, 08:42

Re: Reversing d'un soft java

Messagepar Hao » 18 Janvier 2018, 08:29

Salut,

Peut-être que tu trouveras quelques pistes ici :
http://www.forumcrack.com/viewtopic.php?f=6&t=11457.
Avatar de l’utilisateur
Hao
Mega Crackeur !
Mega Crackeur !
 
Messages: 283
Inscription: 27 Novembre 2013, 22:24

Re: Reversing d'un soft java

Messagepar jcvd » 18 Janvier 2018, 12:58

Hao a écrit:Salut,

Peut-être que tu trouveras quelques pistes ici :
http://www.forumcrack.com/viewtopic.php?f=6&t=11457.


Oui mais je n'ai pas bien saisi la chose pour ce soft, et le mien est plus récent donc très certainement différent. J'ai mentionné dans mon premier sujet que je l'avais déjà vu :)
jcvd
Elève
Elève
 
Messages: 51
Inscription: 16 Janvier 2018, 08:42

Re: Reversing d'un soft java

Messagepar Hao » 18 Janvier 2018, 14:37

jcvd a écrit:J'ai mentionné dans mon premier sujet que je l'avais déjà vu :)

Oups, au temps pour moi. :oops:

La version du soft sur laquelle tu travailles est peut être différente, mais la logique de protection présentée semble très similaire.
Il faut continuer à creuser.
Dernière édition par Hao le 18 Janvier 2018, 18:28, édité 2 fois.
Avatar de l’utilisateur
Hao
Mega Crackeur !
Mega Crackeur !
 
Messages: 283
Inscription: 27 Novembre 2013, 22:24

Re: Reversing d'un soft java

Messagepar jcvd » 18 Janvier 2018, 17:23

Oui ça se ressemble vraiment ils ont pas du changer beaucoup de choses à mon avis. C'est pourquoi je demande un coup de pouce, étant de plus débutant en reversing surtout sur du java :D
jcvd
Elève
Elève
 
Messages: 51
Inscription: 16 Janvier 2018, 08:42

Re: Reversing d'un soft java

Messagepar Hao » 18 Janvier 2018, 18:50

jcvd a écrit:Je suis parvenu à supprimer la demande de la clé de licence


Comment ? Patch ? En décompilant puis recompilant ? Ou en patchant directement du bytecode ?
Avatar de l’utilisateur
Hao
Mega Crackeur !
Mega Crackeur !
 
Messages: 283
Inscription: 27 Novembre 2013, 22:24

Re: Reversing d'un soft java

Messagepar jcvd » 18 Janvier 2018, 18:57

En modifiant un saut avec IDA mais j'ai galéré et je pense que je me suis planté.
En fait mon problème réside dans l'identification du code lu avec Java Decompiler dans la partie hexa avec IDA.
Déjà je souhaiterais savoir si mon interprétation du Java est la bonne, et ensuite comprendre comment identifier et modifier la partie concernée en hexa avec IDA car je ne sais pas recompiler si je modifie directement le java.
Je souhaite donc repartir de 0 c'est à dire l'analyse du code java jusqu'au saut à modifier. On oublie le fait que j'ai déjà tenté quelque chose ce sera plus simple :)
jcvd
Elève
Elève
 
Messages: 51
Inscription: 16 Janvier 2018, 08:42

Re: Reversing d'un soft java

Messagepar Hao » 18 Janvier 2018, 19:19

Ce sujet peut t'apporter des pistes (notamment les différents outils cités).
Avatar de l’utilisateur
Hao
Mega Crackeur !
Mega Crackeur !
 
Messages: 283
Inscription: 27 Novembre 2013, 22:24

Suivante

Retourner vers Reversing

Qui est en ligne

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