Le 8 Juillet 1998
Crack de NetMedic v1.22 par Artex
Ceci est un de mes premiers cracks et mon troisiΦme compte-rendu de crack. Il est assez simple.
Bon allons-y. On a besoins de :
- NetMedic v1.22 qui se trouve sur http://vitalsigns.com/ (environ 800 ko.) Si vous le trouvez pas, envoyez-moi un message. Ce petit programme sympa permet de vΘrifier que tout se passe bien au niveau de votre modem et de la liasion avec l' internet. En fait, je ne l' ai pas encore vraiment testΘ mais il est assez mignon avec son interface graphique, alors… ;)
- Wdasm (hum, n' importe lequel ; en ce qui me concerne j' utilise plusieurs versions en mΩme temps car parfois (souvent) ils ne donnent pas les mΩmes 'string data references')
- Un Editeur hΘxadΘcimal quelconque (j’ aime pas trop hexworkshop, je lui prΘfΦre Aris hexedit32, question de go√t…)
- 10 minutes pour tout faire et tout comprendre.
- Un Coke car il faut craquer Zen et pas BiturΘ ;) (l' alcool c' est toujours mauvais pour la santΘ;)
Zou !
3- On regarde les 'string data references' : on trouve plein de trucs intΘressants genre "your advanced feature trial expires in 1 day"; " your advanced feature trial expires in %d days", "the feature you have requested", "your license expires" etc, etc…
4- On va utiliser " the feature you have requested ". Double clique dessus (dans le menu 'string data reference') et une 2Φme fois pour voir si il n' y a pas d' autres occurences dans le prog. Non, une seule rΘfΘrence.
Voici ce que l' on obtient pour la string data reference
* Referenced by a CALL at Address:
|:0043F21A
|
:0043F220 64A100000000 mov eax, dword ptr fs:[00000000]
:0043F226 55 push ebp
:0043F227 8BEC mov ebp, esp
* Possible Reference to Menu: MenuID_00FF
|
:0043F229 6AFF push FFFFFFFF
:0043F22B 6847F34300 push 0043F347
:0043F230 50 push eax
:0043F231 64892500000000 mov dword ptr fs:[00000000], esp
:0043F238 83EC78 sub esp, 00000078
:0043F23B 894DE8 mov dword ptr [ebp-18], ecx
:0043F23E 53 push ebx
:0043F23F 56 push esi
:0043F240 8D4DF0 lea ecx, dword ptr [ebp-10]
:0043F243 57 push edi
:0043F244 33F6 xor esi, esi
* Reference To: MFC40.MFC40:NoName0181, Ord:01E6h
|
:0043F246 E8CDBB0400 Call 0048AE18
:0043F24B 8975FC mov dword ptr [ebp-04], esi
:0043F24E 8975E4 mov dword ptr [ebp-1C], esi
:0043F251 A1CC914A00 mov eax, dword ptr [004A91CC]
:0043F256 2580000000 and eax, 00000080
:0043F25B 83F801 cmp eax, 00000001
:0043F25E 8B4508 mov eax, dword ptr [ebp+08]
:0043F261 1BFF sbb edi, edi
:0043F263 83E7E2 and edi, FFFFFFE2
:0043F266 83C73C add edi, 0000003C
:0043F269 3BC6 cmp eax, esi
:0043F26B 7403 je 0043F270
:0043F26D 8B7020 mov esi, dword ptr [eax+20]
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0043F26B(C)
|
:0043F270 8D4DEC lea ecx, dword ptr [ebp-14]
* Reference To: MFC40.MFC40:NoName0181, Ord:01E6h
|
:0043F273 E8A0BB0400 Call 0048AE18
:0043F278 8B45E8 mov eax, dword ptr [ebp-18]
:0043F27B C645FC01 mov [ebp-04], 01
:0043F27F 83B8C800000005 cmp dword ptr [eax+000000C8], 00000005
:0043F286 7550 jne 0043F2D8
* Possible Reference to String Resource ID=57882: "The feature you have requested is available only in the reta"
|
:0043F288 681AE20000 push 0000E21A
:0043F28D 8D4DF0 lea ecx, dword ptr [ebp-10]
* Reference To: MFC40.MFC40:NoName0183, Ord:0E48h
|
:0043F290 E88FBB0400 Call 0048AE24
:0043F295 57 push edi
:0043F296 8B45F0 mov eax, dword ptr [ebp-10]
:0043F299 50 push eax
:0043F29A 8D4DEC lea ecx, dword ptr [ebp-14]
:0043F29D 51 push ecx
Bon, ce qui est intΘressant ici, ce n' est pas ce qui se passe α cet endroit car dans ce cas, le programme sait dΘjα que l' on n' est pas Ok, et que donc par consΘquent, il doit nous afficher sa petit fenΩtre trΦs, mais vraiment trΦs pΘnible. On remonte donc plus haut, bien plus haut pour voir que cette partie du prog est en fait un call fait α l' adresse 0043F21A. Allons voir lα bas ce qu' il se passe :
* Referenced by a CALL at Addresses:
|:004094FD , :0040953D , :0040957D , :004095DD , :0040963D
|:0040969D , :004096FD , :0040975D , :004097BD , :0040981D
|:00409F04 , :00409F51 , :00409F9E , :00409FEB , :0040A038
|:0040A0AF , :0040A69E , :0042717D , :004283DE , :0042C2CE
|:00437E6D
|
:0043F210 8B442404 mov eax, dword ptr [esp+04]
:0043F214 B968904A00 mov ecx, 004A9068
:0043F219 50 push eax
:0043F21A E801000000 call 0043F220 -> le call qui affiche "the feature you have requested bla bla bla"
:0043F21F C3 ret
Eh ! Mais diantre (et oui ;) il y a plein d' adresses qui appellent cette routine pour afficher la fameuse petite fenΩtre si pΘnible α nos pauvres yeux de Crackerz. AprΦs un petit dΘtours en 004094FD, en 0040953D etc, on constate que c' est toujours la mΩme chose qui se produit, α savoir :
Call 0043F1F0
Test eax, eax
Jne cool_gentil_garτon_
Push esi
Call 0043F210 = Call qui affiche la fenΩtre qui nous nargue.
Bon, moi τα y est j' ai compris. Pas vous ? Si, bien sur !
Il faut qu' au retour du Call 0043F1F0, eax soit diffΘrent de 0 (par exemple eax=1).
On fait un tour en 0043F1F0 et on voit quoi ? Ceci :
* Referenced by a CALL at Addresses:
|:00407975 , :004094F3 , :00409523 , :00409573 , :004095D3
|:00409633 , :00409693 , :004096F3 , :00409753 , :004097B3
|:00409813 , :0040988F , :00409A3B , :00409EE6 , :00409F33
|:00409F80 , :00409FCD , :0040A01A , :0040A091 , :0040A691
|:00427173 , :004283D4 , :0042C2C4 , :00437E63
|
:0043F1F0 833D30914A0004 cmp dword ptr [004A9130], 00000004
:0043F1F7 740C je 0043F205 -> je cool_je_mets_1_dans_eax
:0043F1F9 833D30914A0001 cmp dword ptr [004A9130], 00000001:0043F200 7403 je 0043F205 -> je cool_je_mets_1_dans_eax
:0043F202 33C0 xor eax, eax -> sinon (et c' est notre cas au dΘpart) eax=0
:0043F204 C3 ret
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:0043F1F7(C), :0043F200(C)
|
:0043F205 B801000000 mov eax, 00000001 -> Oui ! c' est ce que l' on veut !
:0043F20A C3 ret
Bon, en clair il va suffire de changer un des deux cmp, je en cmp, jne. A vous de choisir celui qui vous plait le plus. Et pourquoi pas les deux ?
Voilα ! Simple, non ?
J' espΦre recevoir des nouvelles, des commentaires, des questions, des propositions de crack. Faites comme nous (hugs2000, poulpi, frog's print, cyberbobjr etc etc) Θcrivez des textes pour faire progresser la scΦne Franτaise. Pas besoins d' Ωtre bon (j' en suis la preuve vivante !)
A++
Artex
----------------------------------------------------------------------------------------------------------