13.07.2015 Views

The art of cracking - Tutoriali

The art of cracking - Tutoriali

The art of cracking - Tutoriali

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Prvo sto treba da uradimo je da da sve simbole iz crc32table.txtpretvorimo u ASCII kodove. U ovom slucaju je ovo jako tesko izvesti, jer suslova prilicno ne standardna, pa cemo napraviti program koji ce to uraditi zanas. Kod Visual Basic programa koji to radi bi izgledao bas ovako:Text2.Text = ""for i = 1 to Len(Text1.Text)Text2.Text = Text2.Text & Asc(Mid$(Text1.Text,i,1))if i < Len(Text1.Text) then Text2.Text = Text2.Text + “,”next iText2 sadrzi rezultat a Text1 sadrzi string za koji se racuna ASCII. Gotovprimer se nalazi u istom folderu pod imenom ascii.exe. Otvorimo ovajprogram i u njega unesimo string iz fajla crc32table.txt. Ono sto ce programpokazati je:27,111,111,20,25,25,30,25Sada treba patchujemo program crc32.exe i snimimo patchovan program kaonew.exe. Patchovacemo 00450E88 adresu u ovo:00450E88 C3 RET00450E89 90 NOPReimenujte originalni crc32.exe u crc32_1.exe, a new.exe u crc32.exe. Sadacemo pomocu getCRC32.exe dobiti CRC vrednost fajla crc32.exe (new.exe)fajla, dobicemo novi CRC koji iznosi 0D2541F9 (zapamtite CRC mora imati 8cifara). Sada cemo i ovaj CRC pretvoriti u ASCII pomocu ascii.exe-a.Dobicemo ovo:48,68,50,53,52,49,70,57Pored ovog nam je poteban i ACII kod originalnog crc32.exe fajla, koji setrenutno zove crc32_1.exe. Posto znamo da ovaj CRC iznosi 7CC85525, injega cemo pretvooriti u ASCII. To izgleda ovako:55,67,67,56,53,53,50,53Sada treba da otkrijemo kako treba enkriptujemo novu CRC vrednost -0D2541F9. Za ovo su nam potrebna dva podatka. ASCII enkriptovanog CRCai ASCII samog CRCa. Ovi podaci su:27,111,111,20,25,25,30,25 i 55,67,67,56,53,53,50,53Ono sto je bitno da se svaka prosta a i komplikovana enkripcija zasniva naobicnom XOR-ovanju. Ovo znaci da je ASCII kod jednog karakteraenkriptovan (xorovan) nekom vrednoscu i tako je dobijena nova ASCIIvrednosti. Mi treba da saznamo kojom vrednoscu je XORovan svaki karakteroriginalnog CRCa - 7CC85525 kako bi bio dobijen enkriptovani string koji senalazi u crc32table.txt fajlu. Ovo cemo dobiti reversnim xorovanjem, to jestuporedjivanjem enkriptovanog stringa i neenkriptovanog originalnog CRCacrc32.exe fajla. Znaci 27 xor ?? = 55, 111 xor ?? = 67,... Ono sto je bitno kod xorfunkcije je da je ona revezibilna to jest da je x xor y = z ali i da je z xor x = y i zxor y = x, i tako cemo otkriti vrednost ??. Znaci 55 xor 27 = 44, 67 xor 111 = 44,... itako smo dobili magicnu xor vrednost za svako slovo CRCa. Sada treba samoda enkriptujemo novi CRC pomocu vrednosti 44, i da dobijenu ASCIIvrednost pretvorenu u slova i simbole snimimo u crc32table.txt fajl. Ovocemo uraditi pomocu novog programa koji cemo sami napisati. Evo kako toizgleda u Visual Basicu:<strong>The</strong> Art <strong>of</strong> Cracking by Ap0x Page 76 <strong>of</strong> 165

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!