____________________________________________________________________________________
_________\ | __________
/ \ __-+- __ | /\
/___________/ /'( |_ )`\ |________/ \
| \ / / . \/^\/ . \ / /
\ \ / _)_`-'_(_ \ / /
\ \ /.-~ ).( ~-.\ / /
\ \ /' /\_/\ `\ / /
\ / __ ___ " __" __ _ _ \/ /
\/ / _)( ,) ( ) / _)( ) ) \__/_
( (_ ) \ /()\( (_ ) \
\__)(_)\_)(_)(_)\__)(_)\_)
___ __
( ,\o l a n d ( )
) _/ cRACKING )(__
(_) gROUP (____)
____ /\
/ \ / \
/\ \ / /
\ \ / /
\___\___/
_______________________________________________________________________________________
CrackPl prezentuje
McKiler's Beginner Tut #1 (WinZip 7.0 SR-1)
_______________________________________________________________________________________
Cel: WinZip 7.0
Skad: http://www.winzip.com, prawie kazda plyta shareware
Rozmiar: 943KB
Czym: SoftIce 3.20
--------------------------------------------------------------------------------------
Wstep:
WinZip 7.0 jest najpopularniejszym i chyba najlepszym programem do obslugi archiwow
zip. Wygodne pakowanie i rozpakowywanie, obsluga archiwow cab, menu kontekstowe
umozliwiajace spakowanie rozpakowanie kazdego pliku/katalogu bez koniecznosci
wchodzenia do archiwum. Program w wersji niezarejestrowanej "uprzyjemnia" nam czas
wyswietlajac nag-screeny. Do WinZipa powstalo mnostwo kodow rejestracyjnych i
keygenow, wiec jesli szukasz tu tylko kodu to lepiej przestan to czytac.
Klasyczne, bardzo proste zabezpieczenie Nazwa/Serial. Prosta procedura, standardowe
pulapki, szybkie znalezienie kodu - idealny do nauki crackowania.
--------------------------------------------------------------------------------------
Opis:
W tym tutorialu poznasz podstawy obslugi SoftIce oraz jeden z najprostszych (i co
najdziwniejsze najczesciej spotykanych) schematow znajdowania kodu rejestracyjnego.
Jest to praktycznie zadne zabezpieczenie, haslo sie znajduje wykonujac schematycznie
okreslone czynnosci - dlatego idealnie nadaje sie do nauki tego pieknego fachu :)
Jesli widziesz tutaj jakies niezrozumiale symbole, nie zrazaj sie, bo to jest
naprawde proste, poprowadze cie krok po kroku.
---------------------------
Newbies Note!
Zanim cokolwiek zaczniesz robic w SoftIce upewnij sie ze w pliku winice.dat dokonales
niezbedne poprawki, mianowicie sprawdz czy nie masz srednikow przed liniami
EXP=c:\windows\system\kernel32.dll
EXP=c:\windows\system\user32.dll
EXP=c:\windows\system\gdi32.dll
Jesli ich nie usuniesz SoftIce nie zalozy pulapek na funkcje z ktorych za chwile
skorzystamy!
Linijke INIT=costam zamien na ponizsza, ulatwi to analize kodu:
INIT="lines 60; wd 22; wc 25; wr; code on; X;"
---------------------------
1. W pole Name wpisujemy McKiler/CrackPL'99 zas w pole Code 123456 (lub inny dowolny
numerek). Nie naciskamy OK !
2. Wchodzimy do SoftIce (CTRL+D) i wpisujemy:
bpx getdlgitemtexta
W tym momecie zastawilismy pulapke (breakpoint). Wykonywanie programu zostanie
przerwane jesli skorzysta on z tej funkcji. Funkcja getdlgitemtexta podobnie
jak getwindowtexta pobiera dane z pola tekstowego. Wychodzimy z SI (naciskamy
CTRL+D lub F5), naciskamy OK w programie i jestesmy spowrotem w SoftIce.
Widzimy mniej wiecej cos takiego:
Break due to BPX USER32!GetDlgItemTextA (ET=3.42 seconds)
USER32!GetDlgItemTextA
Oznacza to ze wlasnie program skorzystal z funkcji getdlgitemtexta.
Naciskamy jeszcze raz F5 aby pozwolic programowi dalej sie wykonywac.
Po chwili znowu jestesmy w SI
Break due to BPX USER32!GetDlgItemTextA (ET=207.96 microseconds)
USER32!GetDlgItemTextA
Dlaczego? Poniewaz dane wpisywalismy do dwoch pol tekstowych, a wiec musza one
byc dwa razy odczytane. Pierwszy raz name, drugi raz serial.
Mozesz spotkac program, ktory juz po pobraniu name generuje serial, jednak wiekszosc
(takze WinZip) serial generuje dopiero po pobraniu naszego wpisanego seriala,
nastepnie je porownuje.
3. Jestesmy w momencie pobrania danych z drugiego pola tekstowego.
Naciskamy F11 aby wyjsc z funkcji i przejsc do procedur, ktore beda cos z naszymi
danymi robic. Na ekranie widzimy linie kodu:
UWAGA! Wartosci moga sie roznic.
Tutaj niezbedne sa przynajmniej podstawy assemblera. Jesli ich nie znasz, bedziesz
mial trudniejszy start, ale po przerobieniu kilku tutoriali mozna zalapac co i jak.
015F:0040803C 56 PUSH ESI | wloz ESI na stos
015F:0040803D E857160200 CALL 00429699 | skok do funkcji
015F:00408042 59 POP ECX | zdejmij ECX ze stosu
015F:00408043 56 PUSH ESI | wloz ESI na stos
015F:00408044 E879160200 CALL 004296C2 | skok do funkcji
4. Wyraznie widzimy zaznaczona linie w ktorej sie znajdujemy. Aby przejsc dalej
mozemy nacisnac F10 (przejscie bez wchodzenia w funkcje wywolywane CALLem) lub
F8 (przejscie z wchodzeniem w funkcje).
Zauwazmy ze na stos jest wkladane ESI. Mozemy zobaczyc co jest pod ESI wpisujac:
d ESI
Zobaczymy w oknie kodu nasz wpisany serial!
Idziemy dalej naciskajac F10 - nie wchodzimy w zadne funkcje
015F:00408049 CMP BYTE PTR [0047D928],00 | porownaj dlugosc name z zero
015F:00408050 POP ECX
015F:00408051 JZ 004080B2 | jesli nasz name jest pusty to skok
015F:00408053 CMP BYTE PTR [0047D958],00 | porownaj dlugosc seriala z zero
015F:0040805A JZ 004080B2 | jesli nasz serial jest pusty to skok
015F:0040805C CALL 00407B4B <----- wejscie do procedury weryfikacji kodu
5. W ta funkcje wywolana CALL-em nalezy wejsc - inaczej "rozminiemy" sie z procedura
porownujaca nasze seriale. Najprostsza metoda to wchodzic we wszystkie procedurki,
w tym tutorialu jednak poprowadze cie tylko przez te ktore musimy "odwiedzic".
Tak wiec naciskamy F8.
015F:00407B4B 55 PUSH EBP
015F:00407B4C 8BEC MOV EBP,ESP
015F:00407B4E 81EC08020000 SUB ESP,00000208
015F:00407B54 53 PUSH EBX
015F:00407B55 56 PUSH ESI
6. Sprawdzmy co jest pod ebx i esi, wpisujac:
d ebx
Widzimy nasz Name! (McKiler/CrackPL'99)
d esi
Widzimy nasz Serial! (123456)
Idziemy dalej naciskajac F10
Przechodzimy przez rozne instrukcje ktorych nie musimy analizowac, z ciekawosci
mozna jedynie posprawdzac wartosci rejestrow, przez ktore beda sie przewijac nasz
username oraz serial (ale tylko ten nasz wpisany hehe). Dochodzimy do:
015F:00407C0E 8D85C0FEFFFF LEA EAX,[EBP-0140]
015F:00407C14 50 PUSH EAX
015F:00407C15 57 PUSH EDI
015F:00407C16 E8AB000000 CALL 00407CC6
015F:00407C1B 59 POP ECX
015F:00407C1C BE58D94700 MOV ESI,0047D958
015F:00407C21 59 POP ECX
015F:00407C22 8D85C0FEFFFF LEA EAX,[EBP-0140]
015F:00407C28 56 PUSH ESI | wrzuc ESI na stos
015F:00407C29 50 PUSH EAX | wrzuc EAX na stos
015F:00407C2A E8D1FC0400 CALL 00457900
7. A to co to? Program cos przerzuca do rejestrow i wrzuca cos na stos. Zobaczmy:
d edi
Widzimy nasz wpisany name.
d esi
Widzimy nasz wpisany serial
d eax
Hmmm... chyba to jest nasz wlasciwy kod!
Nastepnie wywolywana jest CALL-em procedurka ktora porowna wartosci zapisane
w ESI oraz w EAX. Wprawdzie nasz kod pojawia sie w pamieci juz troche wczesniej,
jednak w tym momencie jest on juz latwy do odnalezienia. Wystarczylo podejrzec
wartosc rejestru EAX.......
8. Ciekawostka. Podczas analizy kodu mozna znalezc porownania naszego wpisanego
kodu z jakimis innymi nazwami w pamieci. Jest to tzw. shitlista. Po prostu
jesli program zauwazy ze nasz wpisany name jest taki jak ten w shitliscie skacze
od razu do procedury generujacej blad i nawet nie sprawdza kodu. Czyli nawet jesli
wpiszemy kod prawidlowy dla takich name i tak nie zarejestrujemy programu!
W WinZip-ie 7.0 na shitliscie sa tylko dwa name: MuradMeraly oraz bcom.
9. Kolejna ciekawostka. W prawie identyczny sposob mozna znalezc serial do
programu WinZip Self-Extractor. Potwierdza to twierdzenie ze programy z jednej
firmy sa zabezpieczone niemal identycznie.
9. Podsumowanie
Program: WinZip 7.0 SR-1
Name: McKiler/CrackPL'99
Code: BCAxxxD5 (patrz ponizej)
--------------------------------------------------------------------------------------
Jezeli szukasz tu jedynie seriali, to zle trafiles.
Dzialania opisane powyzej maja na celu analize kodu programu i poznanie schematu jego
zabezpieczenia. Jezeli masz zamiar uzywac tego programu dluzej, kup go (nie dotyczy M$).
Pozwoli to producentom udoskonalac oferowane programy, jak rowniez ich zabezpieczenia.
--------------------------------------------------------------------------------------
1999.04.02 by McKiler (mck@zg.home.pl)
Wyszukiwarka
Podobne podstrony:
cracokwanie kurs musk1[1]cracokwanie kurs u crack3cracokwanie kurs GetRight331cracokwanie kurs katcdcracokwanie kurs VCLCRKcracokwanie kurs ftpcontrcracokwanie kurs winpoppluscracokwanie kurs tutorial2cracokwanie kurs Tigercracokwanie kurs janio1cracokwanie kurs u crack2cracokwanie kurs How to XARA 3Dcracokwanie kurs WINFAXcracokwanie kurs ?Pluscracokwanie kurs locus32cracokwanie kurs ?lphi5więcej podobnych podstron