
Je reviens avec un nouveau logiciel : Win MLS
Lien de téléchargement : hxxp://www.winmls.com/2004/WinMLS2004Ve ... lation.exe
La protection : Au démarrage un boite de dialogue s'ouvre et demande si on veut essayer ce logiciel ou l'acheter, dans les deux cas la même fenêtre apparaît ou il y a le serial number du PC, et une zone de texte ou entrer un "unlock code". Comme d'habitude si le code est faut une messageBox s'ouvre pour nous dire "The unlock code XXXXXXX is invalid..."
Ce logiciel à aussi plusieurs niveau d'activation disponible qui débloque de plus en plus de fonctions, 7 !
Pour essayer ce logiciel il faut faire une demande sur le site internet hxxp://www.winmls.com/ en donnant plusieurs informations dont le serial du PC indiqué au lancement de WinMLS puis ils envoient plus tard (sous 1 ou 2 jours) un unlock code pour une version de démo de 30 jours.
Pour le moment je n'ai pas débloqué la version de démo, je n'ai pas envie que ça me bloque et de ne pas pouvoir avancer sur ce logiciel.
Pour débuter j'ai donc utilisé Protection ID, rien de spécial :
- Code: Tout sélectionner
[File Heuristics] -> Flag : 00000000000000000000000000000000 (0x00000000)
[!] Possible CD/DVD-Key or Serial Check -> evaluation period
[CompilerDetect] -> Visual C++ 6.0
[!] File appears to have no protection or is using an unknown protection
- Scan Took : 0.797 Second(s)
Un petit tour dans IDA maintenant, je lance une recherche sur "The unlock code" et je trouve pas mal de résultats, je trouve la "sub_4E0770" qui m'a l'air d'être la partie qui envoie les différents messages correspondant au serial si il est vrai ou faux, "Successful registration" et tous les messages d'erreur, en voyant tous ces messages je me rend compte qu'il y a un "fichier de licence" qui se nomme "unlockcode.txt" il se trouve à la racine de WinMLS et bien entendu est vide. J'essaie de le "forcer" à me dire "Successful Registration" en modifiant les sauts qui amène ici
- Code: Tout sélectionner
loc_4E0FCE:
cmp byte ptr [ebp+5Ch], 1
jnz loc_4E1097
Dans olly :
- Code: Tout sélectionner
CPU Disasm
Address Hex dump Command Comments
004E0E03 /0F84 C5010000 JE 004E0FCE
Mais bien entendu ce n'est pas si simple, un deuxième message d'erreur qui se trouve assez facilement dans IDA apparait : ""The unlock code you entered was invalid" ainsi qu'un message ""The evaluation unlock code %s was not...", très simple à faire disparaitre mais le programme plante tout simplement une fois ces messages déviés.
- Code: Tout sélectionner
text:004E0631 loc_4E0631: ; CODE XREF: .text:004E062Aj
.text:004E0631 cmp eax, ebx
.text:004E0633 jnz short loc_4E0648
.text:004E0635 push 10h
.text:004E0637 push offset aInvalidUnlockC ; "Invalid Unlock Code"
.text:004E063C push offset aTheUnlockCodeY ; "The unlock code you entered was invalid"...
.text:004E0641 mov ecx, ebp
.text:004E0643 call sub_673330
J'ai pu voir dans olly ici :
- Code: Tout sélectionner
CPU Disasm
Address Hex dump Command Comments
004E1265 |. 52 PUSH EDX ; /Arg3 => [LOCAL.26]
004E1266 |. 894C24 30 MOV DWORD PTR SS:[LOCAL.21],ECX ; |
004E126A |. 50 PUSH EAX ; |Arg2 => [ARG.ECX+170]
004E126B |. 68 28477500 PUSH OFFSET 00754728 ; |Arg1 = ASCII "REGISTER"
004E1270 |. 8BCE MOV ECX,ESI ; |
004E1272 |. C645 5E 01 MOV BYTE PTR SS:[EBP+5E],1 ; |
004E1276 |. E8 850D0000 CALL 004E2000 ; \WinMLS.004E2000
Passé ce que je pense être le sérial que j'ai rentré une fois crypté (je ne sais pas si c'est le bon terme), ainsi que le serial du pc, c'est après ce "CALL 004E2000" qu'apparait le message d'erreur "The unlock code you entered is invalid", je n'ai rien vu de spécial en suivant ce call (je ne connais malheureusement pas grand chose sur comment faire un keygen

Je me demande si il est possible de détourner cette protection sans avoir enregistrer le programme en période d'essai, peut être serait-il plus simple de modifier le programme pour qu'il ne tienne pas compte de la date à laquelle la période d'essai se déclenche ? Quel piste suivre selon vous ?
Le logiciel n'est pas très lourd à télécharger

Merci d'avance à tous !
