UCS lesson 7 tut 3 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Bardzo proste zabezpieczenie. Program nie jest spakowany, crackmes to messagebox. Coraz czesciej takie "zabezpieczenie" maja komercyjne programy. No wiec odpalamy. pojawia sie nagscreen z napisem "Spathuj tak, zeby tego nie widziec". No wiec do dziela. Odpalamy wdasm'a i diasemblerujemy program {Diasembler/Open file for Disassemlbe..} Sprobujmy poszukac tekstu z naga{Search/Search Text}. Nic. Trzeba inaczej. W Soft-Ice zakladamy pulapke na funkcje MessageBoxA {"bpx MessageBoxA"}. Odpalamy crackme. SI zaskoczyl. Wciskamy F12. Znowu program. Wcisnij OK, i jestesmy w SI.Sprawdz adres wywolania funkcji MessageBoxA(Jak ??? Powinienes wiedziec. No dobra.Musisz zapisac sobie 8 cyfr z pierwszej kolumny okna danych [zaczynajac od miejsca 5]). Wroc do Wdasm'a. W funkcji Goto/Code Location wpisz nasz adres (00401079). Jestesmy przy interesujacej nas instrukcji. * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:0040102F(C) {1} | :0040106B 6A00 push 00000000 * Possible StringData Ref from Data Obj ->"About" :0040106D 6832304000 push 00403032 :00401072 686E304000 push 0040306E :00401077 6A00 push 00000000 * Reference To: USER32.MessageBoxA, Ord:01BBh :00401079 E80E000000 Call 0040108C Widzimy adres z ktore program skakal do tej instrukcji {1} Sprawdzmy to. :0040102B 663D1001 cmp ax, 0110 :0040102F 743A je 0040106B {bad/good boy} :00401031 6683F802 cmp ax, 0002 :00401035 7412 je 00401049 :00401037 6683F810 cmp ax, 0010 :0040103B 740C je 00401049 :0040103D 663D1101 cmp ax, 0111 :00401041 741D je 00401060 :00401043 2BC0 sub eax, eax No wiec teraz easy. W hex edytorze zmieniamy offset 0000042F z 74(je) na 90(nop), a takze offset wyzej na NOP(90).Oki gotowe. Crackme dziala. made by holus^Un +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
gootia