Lekcja 1 (2)



Lekcja I - "Informacje wstepne"

Spis tresci:

1) wyjasnienie pojec:
- crack
- cracker (poruszenie aspektu Hacker=!cracker)
- debuger
- disassembler
- inne potrzebne
2) potrzebne narzedzia i gdzie je zdobyc:
- softice
- w32dasm
- ida
- filemon
- regmon
- peeditor
3) ogolne informacje o architekturze komputera:
- jezyk maszynowy
- rejestry procesora (32 bitowe, znacznikow)
- sposob zapisu (hex, dec itp.)
- tryb chroniony
- pomocne teksty (linki)


Let's Begin:

-----====== 1) wyjasnienie pojec: =====-----

Na poczatku wypadaloby zapoznac sie z terminologia, z jaka spotkasz
sie podczas "zabawy w crack" ;-)


- anty-debug: sztuczki majace na celu utrudnienie sledzenia programu... obecnie wiekszosc
takich sztuczek jest skierowana przeciw SoftIco'wi... jednak w najblizszym
czasie tendencja ta zmieni sie na korzysc TRW... najprostszymi sztuczkami
sa np. MeltIce, INT 68, SetUnhandledExceptionFilter

- anty-disasembler: podobnie jak powyzej z tym,ze skierowana przeciw disasemblerowi...
o przykladach takich sztuczek poczytasz powyzej w punkcie o disasemblerach...

- API: zbior funkcji w systemie Win, funkcje zdefioniowane sa w plikach *.dll,
najpopularniejsze to np. user32.dll, kernel32.dll... programu tworzone w
systemie Windows operuja przy wszelkich operacjach na tych wlasnie funkcjach
nie na przerywaniach (jak w Dosie...) choc mozna tez i na przerywaniach w
niektorych momentach (np. przy wykrywaniu SoftIce... :))) )

- Breakpoint: tzw. pulapka, po jej zastawieniu np. na pobranie text'u program
(w ktorym zastawilismy pulapke - najczesciej debuger) bedzie przejmowal kontrole
po wywolaniu funkcji pobierajacej tekst

- Brutal-force: metoda lamania hasel/seriali itp. rzeczy, polega na sprawdzeniu wszystkich
mozliwych hasel/seriali, jedna z najwolniejszych, ale jednoczesnie najlepszych
metod... pomaga wtedy, gdy nie da odwrocic sie haslo normalna metoda reverse...
obecnie wypierana przez swojego mlodszego kolege... algorytmy genetyczne...
Metoda bardzo prosta, uniwersalna i gwarantujaca bardzo dobre wyniki w BARDZO
szybkim czasie...

- Cd-check zabezpieczenie cd-romu, najczesciej uzywane w grach do sprawdzenia
obecnosci w napedzie plyty cd z gra... obecnie duza popularnoscia
ciesza sie cyfrowe podpisy plyt tzw. SafeDisc

- crack: inaczej cracking, ogolnie mozna by powiedziec ze jest to "sztuka
lamania", omijania zabezpieczen programow, ich modyfikacja majaca
na celu zrobienie z nim wszystkiego co nielegalne ;-) Np. wykasowanie
paru przeszkadzajacych okienek, przedluzanie okresu uzytkowania
programu, rejestrowanie go itp.
Crack juz sam w sobie jest nielegalny, zgodnie z polskim prawem
kazde "dotkniecie" cudzego programu (bez zgody wlasciciela) jest
przestepstwem za ktore grozi chyba do 5 lat wiezienia. Cracking
jednak jest NAJBEZPIECZENIJSZYM zajeciem z calego undergroundu!
Wiec nie masz sie czego tak naprawde bac... nawet jakby policja
cos tam zaczela majstrowac, to wierz mi, ze zajma sie jakimis
grubymi rybkami ;-)

- cracker: heh ;-) cracker to jest taki gosc, ktory bawi sie w
crack, tzn. lamie programy ;-) Nie nalezy pod zadnym pozorem
laczyc terminow cracker i hacker. Cracker, dziala tylko na wlasnym
komputerze! Omija zabezpieczenia programow, a nie serverow!
Pod zadnym pozorem cracker nie jest ciemniejsza stronka hackera
(tzn. ta gorsza ;-)) jak maja w zwyczaju pisac rozne "poczytne"
gazety.

- Crackme: program od cracker'a dla cracker'a, swoistego rodzaju proba sil
i umiejetnosci, czesto zlamanie go pozwala na przystapienie do jakiejsc
grupy crackerskiej...

- debuger: podstawowe narzedzie crackera, debuger pracuje w tle dzialajacych
programow, ma on za zadanie analizowac jego dzialanie. W praktyce
wyglada to tak, ze gdzies tam sobie program leci, a w momencie
zadzialania debugera jego wykonywanie zatrzymuje sie, i wtedy
cracker (chociaz debuger jest nie tylko uzywany przez nich!) moze
analizowac program krok po kroku, instrukcja po instrukcji, majac
mozliwosc analizowania wartosci rejestrow i danych. Jak zobaczysz
w praktyce wyglada to o wiele prosciej ;-)

- Dekompilator: program umozliwiajacy wyciagniecie kodu zrodlowego z pliku exe, z tego
co wiem istnieja dekomplilaotry do visual'a, delphi oraz javy...

- disassembler: zasada jego dzialania jest bardzo prosta, disassembleruje
on kod programu, to znaczy analizuje go instrukcja po instrukcji
i wyswietla wyniki na ekranie (troche zakrecilem ;-)). Tak na
chlopski rozum: jest tam sobie gdzie program, disassembler bierze
go i wyswietla po koleji co on tam ma w sobie za instrukcje.
Dodatkowo wyswietla pozostale informacje znajdujace sie w pliku
jak np. uzywane instrukcje, czy spis sekcji.
Wszyskie instrukcje wyswietlane sa w jezyku maszynowym! Co to jest
i czym to sie je zcytaj w pkt. 3.1 dzisiejszej lekcji ;-)

- Dongle: tak zwany klucz sprzetowy, jedne z popularniejszych zabezpieczen
programow graicznych/architektonicznych/geodezyjnych, dzialanie
jego polega na wyslaniu do klucza (podpietego pod port LPT 1) i
na podstawie otrzymanej odpowiedzi sprawdzic jego obecnosc/autentycznosc...
jedno z najbardziej trudnych zabezpieczen (oczywiscie odpowiednio uzyty...)

- Dump; inaczej "zdumpowanie", proces polegajacy na zrzucenie zawartosci pamieci
komputera i zapisanie jej do pliku, sposob czesto stosowany wobec walki z
plikami spakowanymi, na pewno nie raz uzywales ProcDump'a i jego opcji Bhrama
Server...

- Edytor zasobow: bardzo pozyteczne narzedzie umozliwiajace zmienianie napisow wystepujacych
w programie, wyciaganie rysunkow, ikon itp. najpopluraniejszym narzedziem
tego typu jest BRW...

- Entry Point: adres pierwszej instrukcji wykonywanej podczas pracy programu...

- Generic patcher: uniwersalny patch, dzialajacy na kilka wersji programow, za pomoca
wbudowanych mechaniznow znajduje odpowiednia dzialke i ja zmienia...
lepszy od normalnego patch'a jednak trudniejszy w wykonaniu...

- Keyfile: rodzaj zabezpieczen w programie, polega na tym, ze dla wersji
zarejestrowanej tworzony jest plik, gdzie zapisane sa wszystkie dane
rejestracyjne, lamanie takich zabezpieczen polega na utworzeniu pulapki
na otwarcie tych plikow (CreateFileA ???), i przesledzeniu sposobu
odczytu danych z tych plikow...

- Keygenerator: program tworzacy seriale dla podanych przez uzytkownika danych,
inaczej mowiac dziala tak: wpisz kod, a ja podam ci wlasciwy serial
dla twoich danych... wygodne, nieprawdaz???

- Krytografia: czesc dzialu "zabezpieczen", zajumuje sie kodowaniem informacji
czyli tworzeniem takich informacji, aby nie byly mozliwe do odczytania
dla osoby nieprzeznaczonej... ma zastosowania w bardzo wielu
dziedzinach naszego zycia, np. pryz przesylaniu informacji w
Internecie itp.

- Loader: program dzialajacy w pamieci komputera, sluzyc ma zmienianiu
kodow instrukcji w pamieci, najczesciej uzywany, kiedy program
jest spakowany, a ze wzgledow techniczncyh nie mozna go rozpakowac

- Member: czlonek jakiejs grupy, czy to crackerskiej, hackerskiej czy innej,
np. CrackPl, Cookiecrk,

- Nagscreen: rodzaj uprzykrzacza, z reguly jest to okienko informujace o
niezarejstrowanym programie

- Opkod: kod instrukcji asemblera wyrazony w kodach hex'owych, potrzebne jest
to przy zmienianiu na stale plikow exe, dll, aby znalesc kod hexowe
poszczegolnych instrukcji najlepiej uzyc SoftIce z wlaczona opcja
Code (tzn. Code ON).

- Patch: doslownie "nakladka", i taka wlasnie spedza funkcje, dokonuje zmian
w danym programie, poprawiajac jego dzialanie, usuwajac jakies bledy,
niedociagniecia, ktorych autorzy nie zauwazyli przed wydaniem programu.

- PE: naglowek plikow wykonywalnych, znajduja sie w nim informacje o budowie
pliku, adresy sekcji, tabela importow, itp.

- Reverse enginering: jasniejsza ?! strona naszej dzialanosci, polega na sledzeniu
wykonywania czegokolwiek, zrozumienia tego i (ewentualnie) odwrocenia...

- Ring0: tryb pracy systemu Windows, programy w nim dzialajace maja dostep do
dodatkowych zasobow systemowych itp. (a takze innych rzeczy).

- Sekcja: czesc naglowka pliku exe,dll zawierajaca np. deklaracje zmiennych itp.
kilka podstawowych sekcji: data, code, text itp.

- Self modyfing code: w wolnym tlumaczeniu "Samo modyfikujacy sie kod..." i taka wlasnie
spelnia funkcje... poprzez ustawienie atrybutow sekcji Code mozna
robic takie cuda, trick bardzo chetnie wykorzystywany we wszystkich
rodzajach crackme, a takze przy pakerach plikow wyoknywalnych.

- Time-limit: zabezpieczenie czasowe, program dziala tylko przez jakis
okreslony czas

- Tutorial: tekst napisany od crack'era dla crack'era, ma za zadanie przekazac jakas
wiedze, np. jak zabic swinke, czy zlamac patyk...

- Unpacker: program neutralizujcy (rozpakowujacy) pliki spakowane, jakims
pakerem najczesciej unpacker taki jest napisany pod konkretny paker -
dziala tylko na okreslony , choc sa tez uniwersalne takie jak
np. ProcDump

- WideChar: format zapisu danych charakterstyczny dla programow pisanych w Visual'u...,
powstal on na bazie formatu Unicode... na czym to polega??? tekst jest
zapisywany z... przerwami, czyli np. TepeX wyglada T e p e X, gdzie pomiedzy
danymi znajduje sie bajt zero, do zapisu tak danych uzywa sie funkcji
MultiByteToWideChar.

- Wyjatek: moment pracy programu/systemu, podczas ktorego nastepuje blad, tzw. wyjatek
krytyczny, uzytkownikom systemu Windows moze sie to kojarzyc z takim ladnym
niebieskim ekranem, aby zaradzic takim przypadkom istnieje specjalna
funkcja do obslugi wyjatkow, zwie sie... SetUnhandledExceptionFilter, poniekad
sluzaca jako technika anty-debug... wyjatki mozna obslugiwac takze SoftIce'm
poprzez ustawienie opcji Faults na On.



-----====== 2) potrzebne narzedzia i gdzie je zdobyc: =====-----

Ok... ponizej masz spis podstawowych narzedzi wraz z krotkim opisem, stopniem
potrzeby, wielkoscia.

- softice: najwazniejsze narzedzie w pracy crackera. Jest to wysoko wyspecjalizowany
debuger, nadaje sie do wszelkiego rodzaju prac. Musisz go miec, azeby
myslec o byciu crackerem. Potrzebujesz wersji: 3.x w zwyz (dostepne sa juz
wersje 4.21). Dostepny na stronie under, objetosc ok. 5 mb.

- w32dasm: disassembler, bardzo pomocne przy lamaniu zabezpieczen typy nagscreen.
Na stronie under znajduje sie wersja 8.93 (ok. 1 mb).

- ida: potezny disassembler, w wykfalifikowanych rekach moze zastapic softice

- filemon i regmon: sa to monitory rejestru i dostepu do pliku. Pomocne gdy lamiesz jakies
aplikacje, ktore odwolywuja sie do setek kluczy, czy plikow, pozwala latwo sie
polapac co i jak... kazdy ma kilkadziesiat kb (of course na stronie under)

- peeditor: w koncu nastanie taki czas, ze bedziesz musial pomieszac co nieco w plikach
wykonywalnych, wszelkie obliczenia i zmiany o wiele lepiej wykona wlasnie on.
Nie zwalnie to jednak ze znania ich budowy ;-) Dostepnych jest mnostwo tego
typu programow, zobacz dzial "Down ---> ExE" na UnderPl.


-----====== 3) ogolne informacje o architekturze komputera: =====-----

- jezyk maszynowy: kazdy program ktory zostaje skompilowany przez kompilator, zostaje
przerobiony do kodu maszynowego (tzn. do kodu assemblera). W takiej postaci
bedziecie go ogladac w debugerze i disassemblerze.

- rejestry procesora (32 bitowe, znacznikow): procesor posiada tzw. rejestry. Wyrozniamy
9 glownych rejestrow (EAX,EBX,ECX,EDX,EDI,ESI,EBP,ESP,EIP). Kazdy z tych rejestrow
jest 32 bitowy, tzn. zbudowany z dwoch 16 bitowych czesci. Z koleji kazda z tych
czesci dzieli sie na dwie 8 bitowe polowki (np. EAX dzieli sie na na dwie polowki,
polowka prawa [np. gdy EAX=34224466 to prawa, mniejsza polowka jest 4466] zwana AX
dzieli sie na AH i AL, analogicznie z pozostalymi rejestrami). Istnieje tez rejestr
znacznikow, sa to: o d i s z a p c. Kazdy z nich moze przyjmowac dwie warotosci : 1
(ustawiony) i 0 (nie ustawiony). Rejestry glowne sluza do przeprowadza operacji na
danych, wrzucamy cos do rejestru i mieszamy ;-) Rejestr znacznikow (inaczej mowiac
flagi procesora) przechowuja chwilowe informacje o wynikach komend, takich jak np.
porownania, xor, sub, itp.

- sposob zapisu (hex, dec itp.): jak pewnie wiesz istnieja trzy glowne rodzaje zapisu cyfr:
- binarny: zero jedynkowy, kazdy bit moze przyjmowac wartosc jeden albo zero (np. 01101)
- decymendalny: normlany system dziesietny powszechnie uzywany w zyciu codziennym
- hexymendalny: wyrazany jest przez cyfry i litery (od A-F), czyli np. mamy 1,2,3 ...
9, A, B... F, 10.

Do przeliczania tych wartosci najlepiej nadaje sie kalkulator windowsowy (w trybie profesjonalnym),
lub sam SoftIce.

- pare dodatkowych info: jak zapewne wiesz istnieje podzial na bity, bajt, slowa i podwojne
slowa. Masz info ponizej:
- bit: 1 albo 0 w systemie zerojedynkowym
- bajt to zbior 8 znakowej kombinacji zer i jedynek, tworza one liczy w zakresie:
decymendalnym (0-255) i hexowym (0-FF)
- slowo to zbior dwoch bajtowych, np. 2A 4C (jest to liczba 16 bitowa)
- podwojne slowo, zlozone z 4 bajtow np. FF FF FF FE (jest to liczba 32 bitowa).

Wypdaloby wspomniec ze procesor przy roznych przenoszeniach liczb z pamieci do rejestru odwraca cala
liczbe, np. jesli mamy w pamieci 1234, to po przeniesienia do rejestru otrzyumamy '34 33 32 31'
(w trybie hexowym, w takim tez operuje softice wiec zapoznaj sie z tabela ascii dosc dobrze, inaczej
bedziesz siedzial nad kodami znakow pare godzin ;-)).

- tryb chroniony: programy w systemie windows moga pracowac w 2 trybach: ring 3 i ring 0. Ring 3
tzw. tryb chroniony, jest standardowy dla wszystkich programow, programy w nim dzialajacy
ma dostep tylko do zasobow wlasnego programu. Tryb ring 0 jest trybem uprzywilejowanym
programy ktore w nim dzialaja maja calkowity dostep do zasobow systemu.

- pomocne teksty (linki): w internecie znajduje sie bardzo duzo tutoriali, programow, zrodel, ktore
bez problemu dostarcza pozadanych informacji. Istnieje wiele polskich stron poswieconych
crackingowi. Praktycznie nie bedziesz musial korzystac ze stron obcojezycznych, no chyba ze
bedziesz chcial dowiedziec sie rzeczy bardziej profesjonalnych.

www.under2oo1.prv.pl - wszystkie potrzebne programy, duzo ksiazek, textow

www.crackpl.site.pl - duzo tutoriali pisanych przez czlonkow crackpl, glownie
pisanych pod newbies, wiec jesli szukasz informacji dobrze
trafiles.

www.aaocg.prv.pl - tutoriale

www.crackmes.prv.pl - crackmesy wraz z rozwiazaniami

www.cookiecrk.org - duzo toolsow i textow

www.ctrl-d.prv.pl - pare tutoriali dla newbies, reszta to juz for advenced ;-)

www.crack.prv.pl - narzedzia i inne ...


Mozesz czytac wszystko to co tam znajdziesz, nie lam sie jak nie bedziesz wiekszosci
rozumial, wiedza przyjdzie z doswiadczeniem.









--
Chcialbys zarobic lub "dorobic" naprawde dobre pieniadze?
Otrzymasz do 300zl za kazda firme ktora wprowadzisz do Centrum e-biznesu
Poszukaj wsrod znajomych, znajdz firme i wypelnij z nia prosty formularz
Aby rozpoczac wejdz do http://praca.getin.pl i zostan Partnerem Getin

------------------------------------------

sent for educational purposes only :-)

ViSiT http://ucspl.cjb.net/ for details



[Sponsored by:]
_____________________________________________________________________________
4 DVDs for only $0.49 each (plus s&h)! What are you waiting for?
Start building your library today with your favorite films.
With so many titles to choose from, youre bound to find some essential
titles you just can't live without! Click for more details.
Click Here: http://28.nu/ac
AOL users click here




Wyszukiwarka

Podobne podstrony:
www livemocha com angielski lekcja audio
jezyk ukrainski lekcja 03
Lekcja sortowanie
lekcja12
Kris Jamsa Wygraj Z C lekcja32
lekcja1 (2)
Lekcja7
ćw oswajające z piłką lekcja dla dzieci
Logo na lekcjach matematyki w szkole podstawowej
C LEKCJA18
lekcja
C LEKCJA23
Kris Jamsa Wygraj Z C lekcja 5
Lekcja algorytmy w geometrii
LEKCJA 1 Uwierz w siebie, możesz wszystko!
Lekcja 7 Trening pamieci to nie wszystko Zadbaj o swoja koncentracje
lekcja6

więcej podobnych podstron