file.pdf

(33 KB) Pobierz
420793913 UNPDF
SQ7RO.NET
Jak crackowaæ programy - czê¶æ 1
Autor: krzysiek
16.08.2006.
Zmieniony 18.08.2006.
Nikt na pewno nie wie co to jest cracking i na pewno nikt nie ma zcrackowanego softu na swoim
komputerze. Na pewno nikt nie chce wiedzieæ jak siê taki crack do programu pisze, ale i tak w celach
zupełnie edukacyjnych sprobujê co¶ na ten temat napisaæ. Wybierzemy najprostsza metodê ale
przewa¿nie najskuteczniejsz± – patching, czyli bêdziemy zmieniaæ sam plik wykonywalny jakiego¶
programu, w dodatku bêdzie to plik pod M$ Wndows – sposób crackowania jest zale¿ny od
platformy.
Do złamania zabezpieczeñ bêdzie nam potrzebnych kilka narzêdzi (use google) :
1. Debugger : mo¿e byæ np. SoftICE albo OllyDbg (ja osobi¶cie wolê ten drugi)
2. Disassembler (W32Dasm – najlepszy)
3. Hex Editor (oczywi¶cie HackerView )
4. i crackowany soft We¿miemy co¶ takiego, aby nikt nie powiedział ¿e jeste¶my
„piratami”. Sa strony z tzw. Crackmes’ami – programiki napisane tylko po to
by je złamaæ (oczywi¶cie maja bardzo podobne zabezpieczenia jak powa¿ne programy
„komercyjne”). Proponuje crackmes
http://www.quequero.org/crackme/filez/crackme04.zip (oczywi¶cie zapraszam te¿ na stronki
http://www.quequero.org/ czy http://www.crackmes.de )
Aby siê nie przemêczaæ zrobimy pierwszy łatwy crack. Poniewa¿ jeste¶my lamami nie bêdziemy szukaæ
wła¶ciwego seriala, ale złamiemy zabezpieczenie, aby program pokazał nam upragniony napis o
„rejestracji” programu . W innych programach mo¿e byæ odwrotnie – trzeba usun±æ
pokazuj±cy siê komunikat….robi siê to analogicznie, ale to mo¿e innym razem.
Odpalamy programik crackme04.exe i jedziemy – wpisujemy np. Lama i 12345, naciskamy
Register i…… nic, program stoi i nic nie pokazuje. No to do roboty !!
Uruchamiamy W32Dasm i wczytujemy plik, potem z menu „Refs” otwieramy opcjê
„String data reference” i… pokazuj± siê nam wszystkie komunikaty jaki program
wy¶wietla w czasie działania! Klikamy na „REGISTERED” - program wskakuje na pozycjê
004014E8 no i mamy pierwsze info, które zaraz wykorzystamy.
Odpalamy OllyDbg i wczytujemy plik (F3).
Przesuwamy na pozycjê 004014E8. Zaraz nad ni± jest instrukcja skoku JNZ, która przeskakuje nad
naszym upragnionym napisem, co siê oznacza ¿e musimy j± zmieniæ na JZ (odwrotno¶æ skoku JNZ
– assembler rulez ) – naciskamy spacjê i w oknie Assemble zmieniamy JZ na JNZ (widzimy
na czerwono zmienion± warto¶æ 74 – było 75). Niestety jak popatrzymy wy¿ej jest jeszcze parê
takich skoków które przeskakuj± nad naszym komunikatem, a wiêc przewijamy do góry, a¿ dochodzimy
do wywołania funckji GetDlgItem. Ta funkcja jest odpowiedzialna za wczytanie danych z okienek
dialogowych, czyli tam gdzie mamy Lama i 12345.
W miejscu :
004013FC . FFD3 CALL EBX ; |\GetDlgItem
004013FE . 8B3D D4214000 MOV EDI,DWORD PTR DS:[<&USER32.SendMessa>;
|USER32.SendMessageA
00401404 . 50 PUSH EAX ; |hWnd
00401405 . FFD7 CALL EDI ; \SendMessageA
00401407 . 83F8 05 CMP EAX,5
0040140A 0F8C 37010000 JL Crackme0.00401547
Sprawdzana jest długo¶æ nazwy &ndash; 5 znaków, tu musimy zrobiæ pierwsz± zmianê &ndash; JL
zmieniamy na JNL. Spowoduje to ¿e mo¿emy wpisaæ cokolwiek co ma <> 5 znaków. Je¶li chcemy aby
mo¿na było wpisaæ cokolwiek o dowolnej długo¶ci &ndash; wpisujemy skok do nastêpnej instrukcji, czyli
JL 00401410. Idziemy dalej &ndash; F9. Program oblicza to co wpisali¶my do okien dialogowych, ale ¿e
nie zgadzaj± siê przeliczenia chce tutaj :
004014A1 . 83C4 2C ADD ESP,2C
004014A4 . 85C0 TEST EAX,EAX
http://www.sq7ro.net/krzysiek
Kreator PDF
Utworzono 29 January, 2008, 20:30
420793913.001.png
 
SQ7RO.NET
004014A6 0F84 9B000000 JE Crackme0.00401547
znów uciec. Nie pozwalamy &ndash; zmieniamy JE na JNE w 004014A6. F9, dalej&hellip;.i zblizamy siê
do naszego pierwszego momentu &ndash; 004014E4, je¶li wcze¶niej nie zmianilismy warto¶ci z JNZ na
JZ, zmieniamy j± teraz . F9, iiiii ???? Program pokazał nam wła¶ciwy komunikat : &bdquo;Well done,
cracker&rdquo;. No to cała robota za nami !!
Niestety jak zamkniemy program to stracimy zmiany, dlatego trzeba zpatchowaæ plik. Otwieramy
HackerView i wczytujemy nieszczêsny plik crackme04.exe. F4, wybieramy tryb Decode. F5 i wpisujemy
pierwszy adres komórki do zmiany, czyli .0040140A (pamiêtajmy o kropce przed adresem!!) &ndash;
naciskamy F3 i 0F8C37010000 zmieniamy na 7C0490909090, potem drugi adres .004014A6 &ndash;
0F84 na 0F85 i ostatni .004014E4 &ndash; 75 na 74. Zapisujemy zmiany F9. Dla testu mo¿emy ju¿
spokojnie odpaliæ program i wpisaæ co nam siê podoba J!!! Jakby siê kto¶ nudził, to mo¿e spróbowaæ
innych crackmesów.
Any comments ???
http://www.sq7ro.net/krzysiek
Kreator PDF
Utworzono 29 January, 2008, 20:30
420793913.002.png
 
Zgłoś jeśli naruszono regulamin