|
PhantomL le 07/03/2005 00:33 |
Je viens de decouvrir cette protection et m'interroge sur la maniere de la contourner. J'ai pas trouvé beaucoup d'infos techniques dessus a part ca :
Si qqun a deja eu affaire a ce machin et possede des infos je suis preneur... |
|||
|
.Atchoum le 07/03/2005 08:13 |
Connais pas mais d'aprés la doc... Tu as essayé de t'enregistrer sans internet? Ya t'il d'autres moyen de s'enregistrer?
Quand tu t'enregistre par le net, le prog te donne une clé ou il fait une update auto? Si c'est une clé, c'est un autre prob
Si c'est une update... ben c'est aussi un autre probléme! [ Ce Message a été édité par: .Atchoum le 2005-03-07 08:13 ] |
|||
|
Aegis le 07/03/2005 11:28 |
En fait y'a toutes les infos là presque :
hoop://www.esellerate.net/movies/pa_demo.asp Moi ce que j'en pense : Y'a pas de boîte d'enregistrement pour entrer un serial. Quand un user achète sa licence, eSellerate calcule un clef (avec des infos hardware spécifiques : ça peut être par exemple le serial du disque dur) à base d'algorithme cryptographique non reversible (un petit hash (md5, sha ou autres ?) associé à du RSA à mon avis ou quelque chose du genre). Cette clef est stockée sur les serveurs de eSellerate. Au lancement du shareware, il doit tenter de se connecter à eSellerate afin de vérifier si une clef a été générée (si la clef correspondante à ce PC et à ce soft est stockée sur leur serveur), si c'est le cas, le programme en version full est activé, sinon... bah tant pis. Le fait est que l'algo derrière, on ne sait pas du tout à quoi il ressemble au final, on n'a pas les moyens de choper une quelconque clef privée puisqu'on n'a pas accès aux fichiers du serveur. Le mieux dans ce cas là, ça serait de pouvoir patcher le soft pour qu'il n'accède plus à la vérification. Par contre je doûte qu'en retour, si la clef est effectivement stockée sur le serveur, eSellerate renvoit "seulement" un byte à 1 au lieu de 0 par exemple (ou une connerie du genre). A mon avis c'est plus poussé; peut-être même que le data renvoyé en cas d'activation effective sert ensuite à jumper au bon endroit ou à décrypter un bout de code dans le shareware lui-même (on peut tout hypothéser là... le data renvoyé comme clef de décryptage, pourquoi pas après tout). Bref si c'est juste un bit à 1 renvoyé, une inversion de saut devrait suffir ainsi qu'une connection au serveur désactivé eventuellement. Sinon 'faut retrouver quel data il pourrait renvoyer. Là ça demande un peu d'étude, et ça sera pas forcément easy. Y'a pitetre moyen de gruger facilement, 'faudrait bien étudier le code en fait. Peut-être même que le data renvoyé est lui-aussi spécifique à chaque machine, ce qui compliquerait encore un peu plus en fait. Si c'est le cas faudrait trouver un moyen de récupérer ce data quelque soit la machine. Ca rajoute encore un peu en investigation Si la data renvoyé est un clef unique spécifique au shareware seulement, ça signifie qu'une fois que t'as deviné ce data et patché pour plus qu'il y ait de connection au serveur, tu lui donnes à manger le bon data, et le shareware devrait tourner sur toutes les machines, sinon cf juste au-dessus. Autre chose, si tu trouves pas ce fameux data : tu peux regarder si le shareware est une version full mais limitée dans le temps, ou si c'est une version demo. Si c'est une version full limitée dans le temps, à la rigueur tu t'en fous que le serveur renvoit badboy si tu patches de telles façons que les jours d'essai ne soient pas décrémentés. [addsig] [ Ce Message a été édité par: Aegis le 2005-03-07 11:44 ] |
|||
|
virtualabs le 07/03/2005 12:33 |
Je ne pense pas que ce soit une clef de décryptage qui soit renvoyée (à moins qu'elle soit unique, et dans ce cas la pub faite sur le site est mensongère - soit chaque exemplaire shareware est unique (ce qui est peu probable) - soit le shareware possède une routine d'encryption, qui lors de la première utilisation encrypte la partie sensible de l'exécutable (possible, mais peu probable de même). Pour ma part je n'ai pas analysé le procédé, mais il me semble judicieux d'opter pour un serial renvoyé par internet, et vérifiant une propriété (ils parlent de fonction à sens unique, je ne serais pas étonné d'en voir dans le code de vérification du sérial). Dans ce cas l'algorithme peut être complexe, mais contourné. |
|||
|
.Atchoum le 07/03/2005 13:05 |
Enfait ce qui nous aideré ce serait de savoir de quelle soft y s'agit... A moins que ce soit un prog spécialement réservé au internaute, il doit y avoir d'autre moyen de s'enregistrer que par le net et donc de savoir ce que le serveur veut en input et ce qu'il sort en output(patch, serial, decrypt-key..)!
Alors Phantoml, c'est quel soft? |
|||
|
Aegis le 07/03/2005 13:30 |
Non pas forcément Il y a des shareware qui ne sont enregistrables uniquement via internet. C'est généralement le cas de softs qui utilisent ce genre de protection. Tu sais n'importe quel prog qui nécessite une connection internet pour faire exactement ce qu'on lui demande de faire ( prog de reconnection automatique, etc) ont peu de chances d'être utilisés par des personnes n'ayant pas le net. Je suis assez d'accord avec virtualabs, à mon avis le data renvoyé est unique pour un shareware spécifique (ça m'étonnerait qu'ils aillent chercher plus loin... même si c'est faisable, rien n'est impossible : une encryption d'un bout de code du prog à l'installation de celui-ci, spécifique à des infos hardware de la machine c'est pas irréalisable, mais là on retrouverait le code d'encryption dans l'installeur, à moins qu'il y ait là-aussi une connection au serveur pour le cryptage initial... 'vais chercher trop loin je crois ^^ Virtualabs le dit aussi d'ailleurs, c'est peu probable Par contre le serial stocké sur leur serveur (qui n'est pas renvoyé lui) est spécifique aux infos hardware de la machine. Bref dans tous les cas on en revient en même, 'faut "deviner" ce data quoiqu'il en soit, et qu'est-ce que ce data débloque : un raccordement qui permet de jumper à un autre endroit éventuellement suivi d'une decryption d'un bout de code avec ce data comme clef, ou alors un simple verif de serial typique sur le data renvoyé, etc [addsig] [ Ce Message a été édité par: Aegis le 2005-03-07 13:34 ] |
|||
|
PhantomL le 07/03/2005 18:53 |
Le nom du soft c'est 3DNA Desktop (logiciel pour avoir un semblant de bureau 3D, aucun interet en soi, sauf la protection dont un ami m'avait deja parlé)
Ya moyen de s'enregistrer offline mais j'ai pas encore eu le temps de desassembler... Ou alors si on a l'algo coté serveur, sniffer ce que le client envoie, passer tout ca a l'algo du serveur. un peu comme emuler le serveur. Des que j'aurai racheté du temps, je poste [ Ce Message a été édité par: PhantomL le 2005-03-07 18:55 ] |
|||
|
.Atchoum le 07/03/2005 21:19 |
"Tu sais n'importe quel prog qui nécessite une connection internet pour faire exactement ce qu'on lui demande de faire ( prog de reconnection automatique, etc) ont peu de chances d'être utilisés par des personnes n'ayant pas le net. "
C'est en partie pour ça que je demander de quelle prog il s'agisser... Dans le cas d'un logicile ne nécéssitant pas de connexions pour travailler, il est normale que l'éditeur prévoit une version d'enregistrement offline afin de ne pas pénaliser les client potenciel qui n'ont soit, pas de connexion, soit ne font pas confiance a la sécurité des transaction electronnique. Question: et si je rajoute du hardware alors que je suis déja enregistrer, me faut-il une nouvelle clé? Je DL le prog et je le place sur une machine isolé, si j'ai le temps, je regarderais un peu... Aufait si quelqu'un a déja bosser sur une version récente de WinZip pour faire un key-gen ou un auto-keygen, envoyer moi un mp: je suis bloquer!!! |
|||
|
Deicide le 08/03/2005 13:32 |
eSellerate a ma connaissance utilise(ait?) Armadillo Une vieille version ceci dit. Ensuite faut voir l'implémentation :] [addsig] [ Ce Message a été édité par: Deicide le 2005-03-08 13:35 ] |
|||
|
Aegis le 08/03/2005 13:37 |
Haha ça devient fun là ^^ | |||
|
virtualabs le 08/03/2005 13:43 |
A mon humble avis, le serveur doit appliquer une fonction à sens unique (one-way function) pour générer le serial renvoyé. Le prog vérifie ensuite que ce serial correspond, avec pour seule solution d'appliquer la fonction à sens unique (donc elle est présente dans le soft). Un autre cas de figure est possible : la fonction appliquée coté serveur est réversible. Dans ce cas le soft est obligé d'appliquer soit la fonction elle-même, soit son inverse pour vérifier le serial envoyé. Dans les deux cas la fonction de vérification est dans le soft. Donc a priori un keygen serait possible |
|||
|
Aegis le 08/03/2005 13:53 |
En tout cas si c'est protégé avec arma, faut quand même se taper le loader.
Je sais pas si PhantomL a suffisamment de connaissances en unpacking pour s'y attaquer. |
|||
|
PhantomL le 10/03/2005 21:11 |
Nop en fait l'unpacking c'est pas ma tasse de thé... mais je vais mùe renseigner sur arma et son eventuel loader...
Merci de l'aide, ca avance |
|||
|
meuhlavache le 27/02/2007 16:56 |
au final comment on la détourne cette protection à la noix? Pour 3DNA Desktop par exemple il y a le n° de série vérifié sur le net, et en cas d'échec de connection un code d'activation... Impossible de trouvé un loader déjà fait sur le net pour la protection spécifique de ce logiciel...
Si quelqu'un à plus d'info là dessus je suis prenneur. |