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.

004010DB |> /8033 11004010DE |. |83E9 01004010E1 |. |43004010E2 |. |83F9 00004010E5 |.^\75 F4XOR BYTE PTR DS:[EBX],11SUB ECX,1INC EBXCMP ECX,0JNZ SHORT unpackme.004010DBSada imamo dovoljno informacija da bi smo mogli da napravimo patch. Izova dva loopa smo saznali da se adrese od 004010F5 xoruju prvo sa 44h aonda sa 11h. Posto posle dekripcije bajtovi od 004011B4 do 004011C7moraju da budu 90 uradicemo reversni xor 90h xor 11h xor 44h = C5h a kaorezultat cemo dobiti bajt koji treba da se nalazi na svim adresama izmedju004011B4 i 004011C7. Ove izmene mozemo da uradimo pomocu Ollya i da ihsnimimo. Kada ovo uradimo st<strong>art</strong>ovacemo novo-snimljeni fajl i videcemo dasmo zaboravili na cinjenicu da ovaj kripterima mogucnost provere modifikacije kodaispod adrese 004010F5. Ali ono sto ovajkripter nema je mogucnost provere CRCaiznad adrese 004010F5 a bas ovde senalazi kod za proveru modifikacije sekcijekoda. Posto bi bilo previse lako samomodifikovati skok JE u JNE ja sam kaouslov zadatka postavio da se ovaj skok ne sme modifikovati. Iako ovo zvucikomplikovano uopste nije. Otvoricemo patchovani program pomocu Ollya idocemo do CMP komande koja se nalazi odmah iznad ovog skoka. Ovde smo:00401062 . 81FA B08DEB31 CMP EDX,31EB8DB0Primeticemo da se sadrzaj EAXa (F9B35572) poredi sa 31EB8DB0. Stogacemo samo logicno promeniti CMP komandu u00401062 81FA 7255B3F9 CMP EDX,F9B35572Pre nego sto ovo uradimo moramo da nadjemo kako se adresa na kojoj senalazi CMP komanda dekriptuje. Odgovor lezi ovde:004010BE |. BB 07104000004010C3 |. B9 7F000000004010C8 |> 8033 07004010CB |. 83E9 01004010CE |. 43004010CF |. 83F9 00004010D2 |.^ 75 F4Odnosno dekriptcija bajtova izgleda ovako:86 xor 7 = 81 81 xor 7 = 86FD xor 7 = FAFA xor 7 = FDB7 xor 7 = B0 72 xor 7 = 758A xor 7 = 8D 55 xor 7 = 52EC xor 7 = EBB3 xor 7 = B4MOV EBX,unpackme.00401007MOV ECX,7F/XOR BYTE PTR DS:[EBX],7|SUB ECX,1|INC EBX|CMP ECX,0\JNZ SHORT unpackme.004010C836 xor 7 = 31 F9 xor 7 = FEgde je prva kolona orginalna dekripcija a druga patchovana enkripcija. Uprevodu treba samo patchovati bajtove na adresi 00401062 u86FD7552B4FE da bi smo prilikom dekripcije na istoj adresi dobili:00401062 81FA 7255B3F9 CMP EDX,F9B35572Posle ovog patchovanja mozemo pokrenuti patchovani fajl i videti da se naekranu sada ne pojavljuje NAG. Dakle, uspeli smo !!!<strong>The</strong> Art <strong>of</strong> Cracking by Ap0x Page 158 <strong>of</strong> 165

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

Saved successfully!

Ooh no, something went wrong!