Cracking_bez_tajemnic_cracbt.pdf

(678 KB) Pobierz
IDZ DO
PRZYK£ADOWY ROZDZIA£
SPIS TRE CI
KATALOG KSI¥¯EK
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
Cracking bez
tajemnic
Autor: Jakub Zemanek
T³umaczenie: Jerzy Kêdziera
ISBN: 83-7361-444-3
Tytu³ orygina³u:
Cracking bez tajemstvi
Format: B5, stron: 304
TWÓJ KOSZYK
DODAJ DO KOSZYKA
Zabezpieczanie programów i danych jest nierozerwalnie zwi¹zane ze sposobami
omijania lub ³amania blokad. Nie mo¿na stworzyæ skutecznych mechanizmów
chroni¹cych programy i dane przez nielegalnym kopiowaniem, nie wiedz¹c, jak dzia³aj¹
ludzie, który te mechanizmy forsuj¹. Oczywi cie, niemo¿liwe jest wprowadzenie
zabezpieczenia, które bêdzie niemo¿liwe do z³amania lub obej cia. Ca³a sztuka polega
na stworzeniu takich sposobów zablokowania dostêpu do danych lub kodu programu,
których z³amanie bêdzie bardzo czasoch³onne. Im d³u¿ej program pozostanie
niedostêpny dla crackerów, tym d³u¿ej u¿ytkownicy bêd¹ kupowaæ wersjê legaln¹.
Ksi¹¿ka „Cracking bez tajemnic” opisuje wszystko, co zwi¹zane jest z crackingiem
i tworzeniem zabezpieczeñ — od podstawowych zagadnieñ do bardzo zaawansowanych
technik. Zawiera informacje dotycz¹ce prostych algorytmów zabezpieczeñ, jak równie¿
sposoby tworzenia w³asnych szyfratorów. Jest przeznaczona zarówno dla
programistów, którzy chc¹ siê nauczyæ zabezpieczania swoich programów przed
crackingiem, ale równie¿ dla wszystkich, którzy zamierzaj¹ poznaæ techniki
crackowania.
W kolejnych rozdzia³ach ksi¹¿ki znajdziesz:
• Informacje o istniej¹cych metodach zabezpieczania programów i danych
• Metody ochrony przed deasemblacj¹
• Opisy narzêdzi u¿ywanych przez crackerów
• Sposoby tworzenia szyfratorów i deszyfratorów PE
• Metody crackowania programów
• Podstawowe informacje dotycz¹ce asemblera
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWO CIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treści
Przedmowa........................................................................................ 9
Wstęp ............................................................................................. 11
Czym jest cracking ............................................................................................................12
Ogólne zasady ochrony przed crackingiem ......................................................................13
Zasady Marka..............................................................................................................13
Kolejne zasady ............................................................................................................14
Podstawowe pogramy u ywane do crackingu ..................................................................15
Czy w ogóle zabezpieczanie oprogramowania ma sens („I tak ktoś to scrackuje”) .........16
Zawartość płyty CD ..........................................................................................................16
Rozdział 1. Istniejące sposoby zabezpieczeń i ich podatność na ataki ................. 17
Szyfrowanie danych ..........................................................................................................17
Programy niepełne.............................................................................................................18
Podstawowa klasyfikacja dzisiejszych typów zabezpieczeń ......................................18
Ograniczenia czasowe ..........................................................................................19
Kolejne ograniczenia ilościowe............................................................................22
Numer seryjny ......................................................................................................22
Plik klucza ............................................................................................................27
Programy z ograniczoną funkcjonalnością...........................................................32
Klucz sprzętowy ...................................................................................................34
Kontrola obecności płyty CD ...............................................................................36
Zabezpieczenia przed kopiowaniem płyt CD z danymi .............................................39
Fizyczne błędy nośnika CD ..................................................................................39
Błędne pliki (Dummy Files) .......................................................................................39
Płyty CD o pojemności większej ni 74 minuty (Oversized CD) ..............................40
Błędna wartość TOC (Illegal Table of Contents) .......................................................40
Du e pliki....................................................................................................................40
Programowe (fikcyjne) błędy i inne ingerencje w proces produkcji płyt CD ............41
Zabezpieczenia komercyjne..................................................................................41
SafeDisc ......................................................................................................................42
SecuROM....................................................................................................................43
ProtectCD....................................................................................................................43
Armadillo (The Armadillo Software Protection System) ...........................................44
ASProtect ....................................................................................................................45
SalesAgent ..................................................................................................................46
4
Cracking bez tajemnic
VBox ...........................................................................................................................46
Programy napisane w Visual Basicu ....................................................................46
Porównanie łańcuchów ...............................................................................................47
Porównanie zmiennych (Variant data type)................................................................48
Porównanie zmiennych (Long data type) ...................................................................48
Przekształcanie typów danych ....................................................................................48
Przemieszczanie danych .............................................................................................49
Matematyka.................................................................................................................49
Ró ne ..........................................................................................................................49
Kolejne powa ne błędy obecnych zabezpieczeń..................................................49
Rozdział 2. Ochrona przed debugingiem ............................................................. 55
Stosowane debugery..........................................................................................................56
Podstawy u ywania programu SoftICE ............................................................................56
Konfiguracja programu...............................................................................................56
Podstawowe polecenia, funkcje i obsługa ..................................................................58
Okna......................................................................................................................58
Punkty wstrzymania .............................................................................................60
Praca z punktami wstrzymania .............................................................................63
SEH — Strukturalna obsługa wyjątków ...........................................................................64
Czym jest i do czego słu y SEH .................................................................................64
Konstrukcje korzystające z SEH.................................................................................65
U ywane algorytmy ....................................................................................................66
Algorytmy wykorzystujące funkcję API CreateFileA..........................................66
Interfejs BoundsChecker i wykorzystanie przerwania INT 3...............................67
Wykorzystanie przerwania INT 1.........................................................................69
Wykorzystanie przerwania INT 68h.....................................................................71
Wyszukiwanie wartości w rejestrach ...................................................................72
Wyszukiwanie wartości w pliku autoexec.bat......................................................72
Punkty wstrzymania ..........................................................................................................73
Programowe punkty wstrzymania...............................................................................74
Punkt wstrzymania na przerwanie (BPINT).........................................................74
Punkt wstrzymania na wykonanie (BPX).............................................................75
Punkt wstrzymania na dostęp do zakresu pamięci (BPR) ....................................75
Sprzętowe punkty wstrzymania ..................................................................................76
Opis przykładowego programu do detekcji sprzętowych punktów wstrzymania ...78
Metody zaawansowane .....................................................................................................80
Tryby Ring ..................................................................................................................80
Sposoby przejścia pomiędzy Ring3 i Ring0.........................................................81
Wykrycie programu SoftICE za pomocą VxDCall ....................................................86
Dezaktywacja skrótu klawiaturowego programu SoftICE .........................................88
Kolejne proste mo liwości i wykorzystanie SEH .............................................................90
Rozdział 3. Ochrona przed deasemblacją ............................................................ 93
U ywane deasemblery.......................................................................................................93
Podstawy u ytkowania W32Dasm....................................................................................94
Stosowane algorytmy ........................................................................................................96
Algorytmy podstawowe ..............................................................................................97
Ochrona łańcuchów ..............................................................................................97
Ochrona importowanych funkcji ..........................................................................97
SMC — kod samomodyfikujący się ...........................................................................98
Pasywny SMC ......................................................................................................99
Aktywny SMC....................................................................................................101
Edycja kodu programu w trakcie pracy programu....................................................102
Spis treści
5
Rozdział 4. Program FrogsICE i obrona przed nim ............................................. 103
Podstawy u ytkowania programu FrogsICE...................................................................103
Basic options.......................................................................................................103
Advanced options ...............................................................................................104
Stosowane algorytmy ......................................................................................................105
VxDCall funkcji VMM_GetDDBList ......................................................................105
Wykorzystanie funkcji CreateFileA .........................................................................107
Rozdział 5. Program ProcDump i obrona przed nim ........................................... 109
Podstawy u ytkowania programu ProcDump .................................................................109
Co to jest dumping i do czego słu y ...............................................................................112
U ywane algorytmy ........................................................................................................112
Rozdział 6. Edycja kodu programu.................................................................... 115
Metody stosowane przy edycji kodu programu ..............................................................115
Podstawy u ytkowania programu Hiew..........................................................................116
Edycja programu do detekcji SoftICE ......................................................................117
Stosowane algorytmy ......................................................................................................119
Kontrola spójności danych........................................................................................119
Kontrola spójności danych w pliku ....................................................................120
Kontrola spójności danych w pamięci................................................................122
Inne sposoby .............................................................................................................126
Rozdział 7. Szyfratory i kompresory PE oraz format PE...................................... 127
Co to jest format PE pliku? .............................................................................................127
Czym jest szyfrator (kompresor) PE i jak działa.............................................................128
Jak stworzyć szyfrator (kompresor) PE..............................................................129
Wady szyfratorów (kompresorów) PE ...............................................................130
Stosowane szyfratory (kompresory) PE....................................................................130
ASPack ...............................................................................................................130
CodeSafe.............................................................................................................131
NeoLite ...............................................................................................................131
NFO ....................................................................................................................131
PE-Compact........................................................................................................132
PE-Crypt .............................................................................................................132
PE-Shield ............................................................................................................133
Petite ...................................................................................................................133
Shrinker ..............................................................................................................134
UPX ....................................................................................................................134
WWPack32 .........................................................................................................135
Format plików PE............................................................................................................135
Weryfikacja formatu PE ...........................................................................................135
Nagłówek PE ............................................................................................................138
Tabela sekcji .............................................................................................................140
Nie wiesz, co oznaczają słowa Virtual, Raw i RVA? ........................................141
Tabela importów .......................................................................................................142
Tabela eksportów ......................................................................................................145
Tworzymy szyfrator PE ..................................................................................................146
Dodanie nowej sekcji do pliku..................................................................................147
Przekierowanie strumienia danych ...........................................................................150
Dodanie kodu do nowej sekcji..................................................................................151
Skok z powrotem i zmienne......................................................................................152
Funkcje importowane................................................................................................156
Utworzenie tabeli importów ...............................................................................157
Przetworzenie oryginalnej tabeli importów........................................................160
U ycie importowanej funkcji .............................................................................164
6
Cracking bez tajemnic
Obróbka TLS ............................................................................................................165
Szyfrowanie ..............................................................................................................167
Jaki wybrać algorytm szyfrowania .....................................................................167
Znane algorytmy szyfrowania ............................................................................167
Co się stanie, gdy ktoś złamie szyfr ...................................................................169
Co szyfrować, a czego nie ..................................................................................170
Demonstracja prostego szyfrowania w szyfratorze PE ......................................171
Finalna postać stworzonego szyfratora PE ...............................................................175
Dodatkowe mo liwości zabezpieczeń ......................................................................192
Anti-SoftICE Symbol Loader .............................................................................192
Kontrola Program Entry Point ............................................................................193
RSA...........................................................................................................................193
Przykład zastosowania RSA ...............................................................................196
Podsumowanie szyfratorów i formatu PE.................................................................197
Rozdział 8. Kolejne programy stosowane przez crackerów ................................ 199
Registry Monitor .............................................................................................................199
File Monitor.....................................................................................................................201
R!SC’S Process Patcher ..................................................................................................202
Polecenia w skryptach ........................................................................................203
The Customiser ...............................................................................................................204
Rozdział 9. Crackujemy ................................................................................... 207
Cruehead — CrackMe v1.0.............................................................................................207
Cruehead — CrackMe v2.0.............................................................................................210
Cruehead — CrackMe v3.0.............................................................................................211
CoSH — Crackme1.........................................................................................................214
Mexelite — Crackme 4.0 ................................................................................................215
Immortal Descendants — Crackme 8 .............................................................................216
Easy Serial ..........................................................................................................217
Harder Serial.......................................................................................................218
Name/Serial ........................................................................................................218
Matrix .................................................................................................................219
KeyFile ...............................................................................................................219
NAG....................................................................................................................220
Cripple ................................................................................................................220
Duelist — Crackme #5....................................................................................................220
Ręczne deszyfrowanie pliku ...............................................................................221
Zmiany bezpośrednio w pamięci ........................................................................224
tC — CrackMe 9 <id:6> .................................................................................................225
Uzyskanie poprawnego numeru seryjnego.........................................................225
Zamiana programu na generator numerów seryjnych ........................................227
tC — CrackMe 10 <id:7> ...............................................................................................228
tC — Crackme 13 <id:10>..............................................................................................229
tC — Crackme 20 <id:17>..............................................................................................231
ZemoZ — Matrix CrackMe ............................................................................................234
ZemoZ — CRCMe..........................................................................................................237
Edycja programu w edytorze heksadecymalnym ...............................................239
Wykorzystanie programu ładującego .................................................................242
Rozdział 10. Kolejne informacje o crackingu ...................................................... 245
Wielki wybuch, czyli jak się to wszystko zaczęło ..........................................................245
Kto poświęca się crackingowi.........................................................................................246
Znani crackerzy i grupy crackerskie ...............................................................................246
+HCU..................................................................................................................247
Immortal Descendants ........................................................................................247
Zgłoś jeśli naruszono regulamin