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 » 18 Janvier 2018, 20:19

Bon la je vais réviser pour des partiels, je check ça dès que j'ai quelques minutes grand merci. En attendant, n'hésitez pas à me donner des pistes si vous voyez quelque chose d'évident :)
jcvd
Elève
Elève
 
Messages: 48
Inscription: 16 Janvier 2018, 08:42

Re: Reversing d'un soft java

Messagepar Hao » 18 Janvier 2018, 21:42

Prends le temps de tester/te familiariser avec les outils, et le bytecode. Une fois que tu maitrises ça, le reste devrait suivre.

Tu as la chance d'être confronté à un programme décompilable et dont le code n'a pas été obfusqué.
Je me trompe peut être, mais je pense que c'est une cible intéressante pour quelqu'un qui débute.

Sur ce, bonnes révisions. :wink:
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 » 23 Janvier 2018, 11:42

Bonjour,

Me revoila :D

Oui je pense également que cette cible n'est pas trop complexe pour débuter, mais j'ai besoin d'être guidé tout de même.

J'ai téléchargé les outils dont tu fais mention à savoir ByteCodeViewer qui me permet de décompiler comme je l'avais fait avec un autre soft.
Et JByteMode qui permet les modifs si j'ai bien compris, mais c'est là que les choses se gâtent...

En effet, à la décompilation je retrouve bien mon code :

Image

Mais c'est lors de l'ouverture dans JByteMode que cela se passe moins bien :

Image

Déjà peux-tu me dire si mon analyse de la décompilation est la bonne ou si je fais fausse route complètement ?
Et ensuite comment passer dans JByteMode pour appliquer les modifications que j'ai analysé dans ByteCodeViewer ?

Merci pour tes explications par avance.

A bientôt pour la suite! :D
jcvd
Elève
Elève
 
Messages: 48
Inscription: 16 Janvier 2018, 08:42

Re: Reversing d'un soft java

Messagepar jcvd » 23 Janvier 2018, 16:46

Bon j'ai changé en mode essai erreur le premier goto 5 en goto 21 il me demande plus la licence et me propose de se connecter direct...
Plus qu'à tester si la connexion à l'équipement aboutit pas comme lors de ma première tentative avant de venir ici ou ça n'aboutissait pas...
jcvd
Elève
Elève
 
Messages: 48
Inscription: 16 Janvier 2018, 08:42

Re: Reversing d'un soft java

Messagepar jcvd » 24 Janvier 2018, 08:50

Par contre, si ça fonctionne il va falloir m'expliquer en détail je veux savoir :gné:
jcvd
Elève
Elève
 
Messages: 48
Inscription: 16 Janvier 2018, 08:42

Re: Reversing d'un soft java

Messagepar jcvd » 24 Janvier 2018, 14:58

Qu'est-ce que vous pensez de cette méthode de bourrin, y a bien un goto la dedans qui dois marcher :mrgreen:

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

Re: Reversing d'un soft java

Messagepar jcvd » 25 Janvier 2018, 08:34

Bonjour,

J'ai voulu tenter de me connecter hier à un contrôleur toujours pas moyen j'ai connection failed comme on voit sur la capture ci-dessous :

Image

Et ce pour chacune des possibilités vertes que j'avais citée plus haut. Aucune d'entre elles n'a permis de faire fonctionner le soft malgré le fait qu'il ne demande plus de clé de licence...

HELP je ne vois pas comment approcher autrement le soft :gné:
jcvd
Elève
Elève
 
Messages: 48
Inscription: 16 Janvier 2018, 08:42

Re: Reversing d'un soft java

Messagepar Hao » 25 Janvier 2018, 09:22

Tu parviens à faire la correlation entre le code java et le bytecode, c'est déjà pas mal. Ca va te permettre de patcher si besoin.
Maintenant ce qu'il te manque c'est peut être une vision plus complete de la logique de protection du soft.

Une première piste serait d'aller voir dans le code java sous quelle(s) condition(s) la connexion RS232 peut échouer.
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 » 25 Janvier 2018, 09:48

Hao a écrit:Tu parviens à faire la correlation entre le code java et le bytecode, c'est déjà pas mal. Ca va te permettre de patcher si besoin.
Maintenant ce qu'il te manque c'est peut être une vision plus complete de la logique de protection du soft.

Une première piste serait d'aller voir dans le code java sous quelle(s) condition(s) la connexion RS232 peut échouer.


Oui je suis en train de chercher les termes "Connection to controller failed" mais j'arrive pas à les trouver.
Du coup j'épluche un peu le code mais il y a tellement de classe je suis pomé...
Tu voudrais le soft pour regarder en parallèle ?
jcvd
Elève
Elève
 
Messages: 48
Inscription: 16 Janvier 2018, 08:42

Re: Reversing d'un soft java

Messagepar Hao » 26 Janvier 2018, 21:10

Hum. Je doute que ce message "Connection to controller failed" soit lié à la protection. Plus une erreur à l'ouverture du port com.
Mais je peux me tromper...

L'originalité ici, c'est que le soft fait appel à la JNI (Java Native Interface) pour utiliser la bibliothèque SoftGuard.dll (langage machine) qui contient (en autre ?) les fonctions de protection du soft.

jcvd a écrit:Oui je suis en train de chercher les termes "Connection to controller failed" mais j'arrive pas à les trouver.

Ça c'est parce que tu ne regardes pas au bon endroit. :P
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 » 29 Janvier 2018, 09:45

Hao a écrit:Hum. Je doute que ce message "Connection to controller failed" soit lié à la protection. Plus une erreur à l'ouverture du port com.
Mais je peux me tromper...

L'originalité ici, c'est que le soft fait appel à la JNI (Java Native Interface) pour utiliser la bibliothèque SoftGuard.dll (langage machine) qui contient (en autre ?) les fonctions de protection du soft.

jcvd a écrit:Oui je suis en train de chercher les termes "Connection to controller failed" mais j'arrive pas à les trouver.

Ça c'est parce que tu ne regardes pas au bon endroit. :P


Mais je ne comprends pas un truc... Il se lance et ne m'affiche plus le screen de saisie de clé de licence et tout le tralala MAIS refuse pour autant d'ouvrir la connexion. Pourquoi cela ?

J'ai l'impression que tu as trouvé quelque chose, peux tu me rediriger vers le bon chemin :mrgreen:

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

Re: Reversing d'un soft java

Messagepar Hao » 29 Janvier 2018, 14:22

J'ai debug le truc à la truelle. Donc il est tout à fait possible que quelque chose m’ait échappé. Mais je pense que le message s'affiche suite au lancement d'une exception.

Code: Tout sélectionner
https://docs.oracle.com/cd/E17802_01/products/products/javacomm/reference/api/javax/comm/PortInUseException.html

A savoir que je n'ai pas patché le soft exactement comme toi. Je suis allé modifier directement la classe SoftGuard.
J'ai patché les fonctions 1 et 2 qui sont celles qui sont utilisées pour check la validité de la licence (serial + date).

En ce qui concerne les chaînes de caractères, celles qui t'intéressent ne sont pas stockées dans le code. Un indice jdbc-odbc.
Il faut garder à l'esprit que 9 fonctions sont fournies par la bibliothèque SoftGuard, donc il est tout à fait possible qu'il y ait des protections supplémentaires.
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 » 29 Janvier 2018, 15:36

Quand tu dis à la truelle cela signifie quoi ? J'ai déjà vu ce terme sur d'autres discussions.

Comment as-tu patché, il s'agit de la DLL ou directement dans la classe ? Car je ne sais pas ouvrir la DLL j'ai bien tenté j'y ai pensé aussi ...
jcvd
Elève
Elève
 
Messages: 48
Inscription: 16 Janvier 2018, 08:42

Re: Reversing d'un soft java

Messagepar Hao » 29 Janvier 2018, 16:46

Ça veut dire à l'arrache avec des méthodes peu orthodoxes si tu préfères.
J'ai patché la classe SoftGuard.class. Je n'ai pas touché ni regardé la dll encore.
Pensant qu'un simple patch du bytecode permettrait de faire sauter la protection.

Si ça ne fait pas l'affaire, une solution pourrait être de s'attaquer directement à la dll. Notamment la fonction4 qui s'occupe de check le serial que tu rentre dans la fenêtre d'enregistrement.
Avatar de l’utilisateur
Hao
Mega Crackeur !
Mega Crackeur !
 
Messages: 275
Inscription: 27 Novembre 2013, 22:24

Re: Reversing d'un soft java

Messagepar baboon » 30 Janvier 2018, 16:11

Je n'ai pas testé mais peut être que ça peut t'aider : hxxps://grax.info/
Newbie mais ayant soif d'apprendre et étant motivé
Avatar de l’utilisateur
baboon
Modérateur
Modérateur
 
Messages: 3345
Inscription: 08 Juillet 2005, 17:49

PrécédenteSuivante

Retourner vers Reversing

Qui est en ligne

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