Lekcja_1.txt

(16 KB) Pobierz
                     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 ch...
Zgłoś jeśli naruszono regulamin