Jump to content

Recommended Posts

Banuiesc faptul ca "protectia" se refera la acest cod:

0040171F |. /75 17 JNZ SHORT crkme.00401738

00401721 |. |6A 00 PUSH 0x0 ; /Style = MB_OK|MB_APPLMODAL

00401723 |. |68 5E614000 PUSH crkme.0040615E ; |Title = "bravo, esti supranatural"

00401728 |. |68 5E614000 PUSH crkme.0040615E ; |Text = "bravo, esti supranatural"

0040172D |. |FFB5 F8180000 PUSH DWORD PTR SS:[EBP+0x18F8] ; |hOwner = 00650074

00401733 |. |E8 5E000000 CALL <JMP.&user32.MessageBoxA> ; \MessageBoxA

Verificarea:

004016F5 |. 8D35 10624000 LEA ESI,DWORD PTR DS:[<Serial introdus>] ; Muta in ESI Serialul introdus

004016FB |. 8D3D 22614000 LEA EDI,DWORD PTR DS:[<Hash>]

00401701 |. 8BC8 MOV ECX,EAX

00401703 |. B8 73000000 MOV EAX,0x73

00401708 |. 33DB XOR EBX,EBX

0040170A |> 8A1F /MOV BL,BYTE PTR DS:[EDI]

0040170C |. 0FB01E |CMPXCHG BYTE PTR DS:[ESI],BL

0040170F |. 74 01 |JE SHORT crkme.00401712

00401711 |. 46 |INC ESI

00401712 |> 46 |INC ESI

00401713 |. 47 |INC EDI ; ntdll.7C910228

00401714 |. 49 |DEC ECX

00401715 |.^ 75 F3 \JNZ SHORT crkme.0040170A

00401717 |. 33F8 XOR EDI,EAX

Edited by giv
Link to comment
Share on other sites

@giv ala desi pare a fi hash, nu e. Incearca un string reverse urmat de o transformare din baza 64 in ascii

Deci chiar nu m-am uitat peste el.

Doar a fost o concluzie de 3 minute.

Clar e ca aici se citeste serialul:

004016DC  |.  6A 60         PUSH 0x60                                ; /Count = 60 (96.)
004016DE |. 68 10624000 PUSH crkme.00406210 ; |Buffer = crkme.00406210
004016E3 |. 68 95010000 PUSH 0x195 ; |ControlID = 195 (405.)
004016E8 |. FF75 08 PUSH DWORD PTR SS:[EBP+0x8] ; |hWnd
004016EB |. E8 8E000000 CALL <JMP.&user32.GetDlgItemTextA> ; \GetDlgItemTextA

Apoi acel string poate fi rezultatul a orice. Nu m-am stresat sa vad daca este rezultatul unei functii sau altceva. I-am pus hash generic.

Apoi e si cum spui tu:

satefooinguraesalonatdeclinandlabariile

Comparatia se face aici:

CMPXCHG BYTE PTR DS:[ESI],BL

Explicatiile mai concrete:

004016F5  |.  8D35 10624000 LEA ESI,DWORD PTR DS:[0x406210]          ;  Muta in indexul stivei pointerul serialului introdus
004016FB |. 8D3D 22614000 LEA EDI,DWORD PTR DS:[0x406122] ; Muta in pointerul destinatiei stringul fix
00401701 |. 8BC8 MOV ECX,EAX ; Muta in contor acumulatorul
00401703 |. B8 73000000 MOV EAX,0x73 ; Muta in acumulator 73h
00401708 |. 33DB XOR EBX,EBX ; Goleste baza
0040170A |> 8A1F /MOV BL,BYTE PTR DS:[EDI] ; Muta in BL fiecare caracter din serial
0040170C |. 0FB01E |CMPXCHG BYTE PTR DS:[ESI],BL ; Compara
0040170F |. 74 01 |JE SHORT crkme.00401712 ; Daca este egal incrementeaza indexul stivei
00401711 |. 46 |INC ESI ; Incrementeaza indexul sursei
00401712 |> 46 |INC ESI ; Incrementeaza indexul sursei
00401713 |. 47 |INC EDI ; Incrementeaza destinatia
00401714 |. 49 |DEC ECX ; Scade din contor
00401715 |.^ 75 F3 \JNZ SHORT crkme.0040170A ; Bucla
00401717 |. 33F8 XOR EDI,EAX ; Xor destinatie cu acumulator
00401719 |. 81FF 37134000 CMP EDI,crkme.00401337 ; Compara destinatia cu 00401337

Referinta CMPXCHG:

http://x86.renejeschke.de/html/file_module_x86_id_41.html

Cine are timp de el succes!!!!

Edited by giv
Link to comment
Share on other sites

giv, ceea ce ai expus tu este exact ceea ce eu am numit momeala in postul anterior :)

inca ceva, ori tu esti intr-o mica confuzie, ori eu nu inteleg ce ai vrut sa spui: "INC ESI Incrementeaza indexul stivei" esi este registrul sursa, nu stiva. esp este stackul, respectiv stiva.

in concluzie, nu va mai bateti capul cu momeala, gasiti adevaratul check ;)

Link to comment
Share on other sites

giv, ceea ce ai expus tu este exact ceea ce eu am numit momeala in postul anterior :)

inca ceva, ori tu esti intr-o mica confuzie, ori eu nu inteleg ce ai vrut sa spui: "INC ESI Incrementeaza indexul stivei" esi este registrul sursa, nu stiva. esp este stackul, respectiv stiva.

in concluzie, nu va mai bateti capul cu momeala, gasiti adevaratul check ;)

Am tastat gresit. Este corectat acum (SI=indexul sursei).

  • Source Index (SI) - it is used as source index for string operations
  • Destination Index (DI) - it is used as destination index for string operations.

I'm out.

Las pe altii sa isi bata capul.

Banuiesc faptul ca trebuie sa o ia pas cu pas de la entry point.

Link to comment
Share on other sites

download: https://anonfiles.com/file/37d5f1fcbc6538c1476d50a506c8fae7

cerinte: faceti crack sau gasiti serialul

dificultate: very easy

bahtalo!

Nu faci si un tutorial sa vedem cum trebuia facut ? Ca vad ca e atat de usor (very easy) incat nu a reusit nimeni sa-l crackuiasca sau sa-i faca serial sniffing.

Apropo, de ce nu faci niste tutoriale de cracking cu chestii de astea mai tricky sa avem si noi ce invata ca vad ca te pricepi bine la asa ceva ?

Multumesc anticipat !

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...