plik


IDZ DO IDZ DO PRZYKADOWY ROZDZIA PRZYKADOWY ROZDZIA Vademecum hakera. SPIS TRE CI SPIS TRE CI Edycja plikw binarnych KATALOG KSIEK KATALOG KSIEK Autor: Damian Daszkiewicz KATALOG ONLINE KATALOG ONLINE ISBN: 83-7361-067-7 Format: B5, stron: 290 ZAMW DRUKOWANY KATALOG ZAMW DRUKOWANY KATALOG Zawiera CD-ROM TWJ KOSZYK TWJ KOSZYK Wikszo dostpnych obecnie aplikacji pozwala uytkownikowi dokonywa DODAJ DO KOSZYKA DODAJ DO KOSZYKA rozmaitych modyfikacji: od zmian wygldu i dodawania nowych ikon poczwszy, na zapisywaniu wasnych makrodefinicji skoczywszy. Nie zawsze to wystarcza. eby naprawd zmusi program do dziaania zgodnie z naszymi oczekiwaniami, CENNIK I INFORMACJE CENNIK I INFORMACJE trzeba wej nieco gbiej w jego kod. Dziki tej ksice poznasz wiele technik, ktre umoliwi Ci samodzieln modyfikacj ZAMW INFORMACJE ZAMW INFORMACJE O NOWO CIACH O NOWO CIACH rozmaitych programw, zarwno aplikacji uytkowych, jak i gier. Dowiesz si, jak  oszuka gr, jak zmienia teksty w programach, jak odnajdywa furtki ZAMW CENNIK pozostawione przez programistw. A przy okazji poznasz tajniki programowania, ZAMW CENNIK ktre sam bdziesz mg wykorzysta w swojej praktyce. " Poznasz rne systemy liczbowe i nauczysz si przelicza warto ci pomidzy nimi CZYTELNIA CZYTELNIA " Nauczysz si modyfikowa kody wynikowe programw za pomoc Hex Workshop i kHexEditor FRAGMENTY KSIEK ONLINE FRAGMENTY KSIEK ONLINE " Dowiesz si, jak zmienia zasoby (ikony, teksty, skrty klawiaturowe) uywajc programw Resource Hacker, EXEScope i PE Resource Explorer " Nauczysz si edytowa programy wewntrznie skompresowane " Dowiesz si, jak zabezpiecza wasne aplikacje przed modyfikacjami " Poznasz sposoby  oszukiwania gier " Dowiesz si, jak odczytywa z dyskietek ukryte informacje " Poznasz podstawy pisania wasnych kompilatorw Do ksiki doczony jest CD-ROM zawierajcy przydatne narzdzia i kody rdowe.  Vademecum hakera to ksika, dziki ktrej wykonasz w programach zmiany, ktre wydaj si niewykonalne. Zadziwisz siebie i swoich znajomych! Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl Spis tre[ci Przedmowa........................................................................................ 7 RozdziaB 1. Systemy liczbowe ............................................................................ 13 System dziesitny (decymalny) ................................................................................13 System dwjkowy (binarny) ....................................................................................14 System semkowy (oktalny)....................................................................................14 System szesnastkowy (heksadecymalny)...................................................................15 Kod BCD...............................................................................................................16 Wielkie liczby ........................................................................................................17 Liczby ujemne........................................................................................................18 Odczytywanie liczby ujemnej ..................................................................................22 MBodszy i starszy bajt  programowanie..................................................................24 Konwersja liczb na r|ne systemy za pomoc kalkulatora (Windows) .........................27 Konwersja liczb na r|ne systemy za pomoc kalkulatora (Linux)...............................28 Przeliczanie liczb na r|ne systemy za pomoc konwertera liczb (MS-DOS, Windows, Linux).................................................................................29 RozdziaB 2. Hex Workshop ................................................................................. 31 Pierwsze kroki w programie Hex Workshop..............................................................31 Wygld programu Hex Workshop ............................................................................34 Menu programu Hex Workshop .........................................................................36 Pasek narzdzi (toolbar).....................................................................................40 Zapoznanie si z niektrymi narzdziami programu .............................................43 Troch praktyki ......................................................................................................47 Szukanie tekstu i zastpowanie go wBasnym tekstem ............................................47 Szukanie i modyfikowanie danych liczbowych ....................................................49 Porwnywanie plikw .......................................................................................51 wiczenia z operacjami bitowymi ......................................................................51 Ciekawe zastosowanie programu Hex Workshop.......................................................54 Hex Workshop i Windows 3.1x................................................................................56 Hex Workshop i Linux ............................................................................................57 RozdziaB 3. kHexEdit ......................................................................................... 59 Pierwsze kroki w programie kHexEdit......................................................................59 Wygld programu kHexEdit ....................................................................................62 Menu programu kHexEdit..................................................................................63 Pasek narzdzi (toolbar).....................................................................................67 Zapoznanie si z niektrymi narzdziami programu .............................................68 4 Vademecum hakera. Edycja pIIkw bInarnych Troch praktyki ......................................................................................................75 Szukanie tekstu i zastpowanie go wBasnym tekstem ............................................75 Szukanie i modyfikowanie danych liczbowych ....................................................76 Porwnywanie plikw .......................................................................................79 RozdziaB 4. Resource Hacker ............................................................................. 83 Ostrze|enie ............................................................................................................83 Pierwsze kroki w programie Resource Hacker...........................................................83 Resource Hacker  menu .................................................................................86 Edycja poszczeglnych zasobw ........................................................................87 Praktyczne przykBady wykorzystania programu Resource Hacker..............................119 Spolszczenie programu....................................................................................119 Migajca ikona ...............................................................................................119 Nauka pisania plikw RC ................................................................................120 RozdziaB 5. EXEScope i PE Resource Explorer .................................................. 121 Ostrze|enie ..........................................................................................................121 Pierwsze kroki w programie EXEScope..................................................................121 EXEScope  menu........................................................................................123 EXEScope  pasek narzdzi...........................................................................125 GaBz Header........................................................................................................126 GaBz Import ........................................................................................................126 Praktyczne wykorzystanie informacji zawartych w gaBzi Import ..............................127 Sprawdzenie deklaracji w programie API Text Viewer, doBczonym do Visual Basic ..........................................................................128 Przeszukanie zasobw MSDN .........................................................................129 GaBz Resource.....................................................................................................130 Pierwsze kroki w programie PE Resource Explorer..................................................130 Menu programu PE Resource Explorer .............................................................131 Pasek narzdzi (toolbar)...................................................................................134 Tworzenie plikw RES..........................................................................................134 Ciekawsze zastosowania programu PE Resource Explorer........................................135 Podsumowanie .....................................................................................................137 RozdziaB 6. Pliki wewntrznie skompresowane ................................................. 139 UPX....................................................................................................................139 Rozpakowywanie plikw spakowanych programem UPX...................................141 PozostaBe parametry programu UPX.................................................................142 UPX dla Linuksa ............................................................................................143 Porwnanie kilku metod kompresji w programie UPX .......................................145 AsPack ................................................................................................................146 Parametry programu AsPack............................................................................147 Rozpakowywanie plikw spakowanych programem AsPack...............................148 PkLite..................................................................................................................149 Pe-Pack ...............................................................................................................151 Rozpakowywanie plikw spakowanych programem Pe-Pack..............................151 Pliki skompresowane nieznanym programem pakujcym..........................................152 Podsumowanie .....................................................................................................153 RozdziaB 7. Jak pisa programy, ktrych nie bdzie mo|na edytowa?............... 155 Wstp..................................................................................................................155 Sprawdzanie wielko[ci pliku..................................................................................155 Data i czas modyfikacji pliku.................................................................................157 Sumy kontrolne ....................................................................................................158 Rozbijanie stringw ..............................................................................................160 Kodowanie stringw i zmiennych liczbowych .........................................................161 SpIs tre[cI 5 Program kompresujcy pliki wykonywalne .............................................................168 Zapoznanie si z programem AsProtect ..................................................................169 Podsumowanie .....................................................................................................171 RozdziaB 8. Oszukiwanie gier............................................................................ 173 Co to jest plik z zapisem stanu gry?........................................................................173 Zapoznanie si z gr  Labirynt .............................................................................174 Jak zlokalizowa plik z zapisem stanu gry? .............................................................175 Edycja plikw z zapisem stanu gry .........................................................................176 Kilka porad na temat edycji plikw z zapisem stanu gry ...........................................176 Tworzenie edytora plikw z zapisem stanu gry........................................................178 Edycja high scores ................................................................................................181 Podmiana plikw ..................................................................................................181 Struktura plikw z poziomami................................................................................182 Co to s Tipsy?.....................................................................................................187 Pisz gr, jak uodporni j na oszustwa?.................................................................188 Pliki z zapisem stanu gry .................................................................................188 Pliki high scores .............................................................................................193 Podmiana plikw ............................................................................................195 DokBadne poznanie struktury pliku....................................................................195 Sztuczki .........................................................................................................196 Ciekawy efekt ......................................................................................................196 Jak mo|na ulepszy gr? .......................................................................................197 RozdziaB 9. Ukrywanie tajnych informacji.......................................................... 199 Wstp..................................................................................................................199 Jak w plikach BMP mo|na ukry tajne informacje, np. hasBo?...................................199 Ingerencja w nagBwek pliku BMP...................................................................200 PrzeksztaBcanie pliku binarnego w plik BMP.....................................................201 Ukrywanie tajnych informacji w innych plikach graficznych ....................................207 JPG ...............................................................................................................207 GIF................................................................................................................208 PCX ..............................................................................................................208 TIFF..............................................................................................................209 WMF.............................................................................................................209 Jak w plikach EXE ukry tajne informacje? ............................................................209 Celowe uszkadzanie plikw...................................................................................212 Pliki DOC ......................................................................................................212 Pliki EXE.......................................................................................................213 Pliki ZIP ........................................................................................................213 Inne pliki........................................................................................................213 RozdziaB 10. Dyskietka...................................................................................... 215 Wstp..................................................................................................................215 Jak edytowa zawarto[ sektorw?.........................................................................216 Sektor zerowy ......................................................................................................217 Ukrywanie informacji na dyskietce.........................................................................219 Jak dziaBa ScanDisk?.............................................................................................220 Budowa tablicy alokacji plikw..............................................................................222 Atrybuty pliku ................................................................................................223 Czas utworzenia pliku .....................................................................................224 Data utworzenia pliku......................................................................................224 Numer sektora, w ktrym rozpoczyna si plik....................................................225 Co to jest VolumeID?............................................................................................226 Numer seryjny dyskietki........................................................................................226 Jak odzyska z dyskietki skasowany plik?...............................................................226 6 Vademecum hakera. Edycja pIIkw bInarnych Jak oszuka program Direct Connect......................................................................227 Krtkie wprowadzenie.....................................................................................227 Jak oszuka program Direct Connect?...............................................................228 Modyfikowanie plikw na dysku twardym........................................................230 Modyfikowanie plikw na RAMdysku..............................................................231 RozdziaB 11. Poprawianie niedorbek kompilatorw............................................ 233 Wstp..................................................................................................................233 Turbo Pascal: Run Time Error 200.........................................................................233 Naprawianie pliku EXE...................................................................................234 Naprawianie moduBu crt...................................................................................235 Jak korzysta z procedury Delay?.....................................................................235 Pisanie wBasnej poprawki ( Batki )....................................................................236 Visual Basic: ikona w programach bez okna dialogowego ........................................238 Delphi: MessageDlg..............................................................................................239 Visual Basic: usuwanie zbdnych informacji...........................................................241 FPC dla Windows, XBasic: brak zasobu VersionInfo ...............................................241 Dodawanie zasobu do pliku zrdBowego............................................................242 Dodanie zasobu do pliku EXE za pomoc programu Resource Hacker.................243 Jak tworzy pliki RES, nie majc programu RC.EXE? .......................................243 Wikszo[ kompilatorw pod Windows: wersja jzykowa .......................................244 Delphi  zmiana wygldu kontrolek......................................................................246 Bitmapy dla kontrolki DirListBox.....................................................................247 Bitmapy dla kontrolki DriveListBox .................................................................248 Wszystkie kompilatory w systemie Windows: spolszczanie programu STUB.............248 RozdziaB 12. Pisanie wBasnego kompilatora ........................................................ 251 Wstp..................................................................................................................251 Pliki COM ...........................................................................................................251 Kompilator generujcy pliki COM .........................................................................253 Jak doda profesjonalny nagBwek do pliku COM?..................................................258 Jak tworzy optymalne pliki COM?........................................................................260 Zoptymalizowany kompilator.................................................................................263 Pliki EXE (dla MS-DOS) ......................................................................................268 Konwerter plikw COM na EXE............................................................................268 Pliki EXE (dla Windows) ......................................................................................272  Bezbolesne generowanie plikw EXE .................................................................272  Bezbolesne generowanie plikw wykonywalnych dla Linuksa...............................273 Dodatek A Systemy liczbowe .......................................................................... 275 Liczby dodatnie (od 0 do 255) ...............................................................................275 Liczby ujemne (od -128 do 0) ...............................................................................282 Dodatek B Zawarto[ pByty CD-ROM ............................................................... 287 Uwagi oglne .......................................................................................................287 FPC...............................................................................................................288 Hex................................................................................................................288 Inne...............................................................................................................288 Programy kompresujce ..................................................................................289 PrzykBady.......................................................................................................289 Tools .............................................................................................................289 Programy dekompresujce...............................................................................290 Edytory zasobw ............................................................................................290 Skorowidz...................................................................................... 291 RozdziaB 9. Ukrywanie tajnych informacji Wstp W tym rozdziale opisz kilka sposobw na ukrywanie tajnych informacji na dysku. Nie mam zamiaru opisywa jakich[ programw do szyfrowania danych itp., gdy| s one na tyle popularne, |e do wielu z nich powstaBy specjalne deszyfratory, Bamice kod i wy- dobywajce z zaszyfrowanych plikw cenne dane. Oczywi[cie nie wszystkie programy szyfrujce da si tak Batwo pokona. Jednak w tym rozdziale mam zamiar opisa nie- co inne, do[ oryginalne sztuczki, pozwalajce ukry nasze cenne dane. Je[li ukrywa- nie tajnych informacji jest dla Ciebie interesujcym tematem, nie zapomnij przeczyta tak|e rozdziaBu 10., w ktrym opisz do[ ciekawy sposb na ukrywanie informacji na dyskietce. Jak w plikach BMP mo|na ukry tajne informacje, np. hasBo? Pliki BMP posiadaj do[ prost budow: na pocztku pliku znajduje si nagBwek, w ktrym zapisane s r|ne informacje dotyczce pliku (np. liczba kolorw, wymiary pliku itp.). Dalej umieszczone s ju| tylko informacje o poszczeglnych pikselach. W za- le|no[ci od rodzaju pliku BMP jednemu pikselowi odpowiada okre[lona liczba bitw (szczegBy przedstawiono w tabeli 9.1). W plikach piksele s zapisywane w do[ dziw- nej kolejno[ci. WydawaBoby si, |e powinny by zapisywane od lewej do prawej i z g- ry do doBu. Niestety tak nie jest, gdy| s zapisywane z lewej do prawej, ale z doBu do gry! Jednak to nie jest dla nas a| taka istotna informacja. 200 Vademecum hakera. Edycja pIIkw bInarnych TabeIa 9.1. R|ne typy plikw BMP Typ pIIku BMP IIo[ bItw opIsujca jeden pIkseI Monochromatyczny 1 16 kolorw 4 256 kolorw 8 (1 bajt) 24-bitowy (16,7 miliona kolorw) 24 (3 bajty) Pojawia si drobne pytanko: jak mo|na ukrywa informacje w plikach BMP? Odpo- wiedz brzmi: Batwiej ni| my[lisz. Na potrzeby ksi|ki wymy[liBem dwa ciekawe sposo- by ukrywania informacji w plikach BMP. Pierwszy z nich to drobna ingerencja w na- gBwek, a drugi sposb to przeksztaBcenie pliku binarnego w plik BMP. Ingerencja w nagBwek pliku BMP Zanim bdziemy ingerowa w nagBwek pliku BMP, nale|y ten plik utworzy. Do tego celu wystarczy nawet najprostszy program obsBugujcy pliki BMP, np. Paint. W progra- mie tym nale|y zdefiniowa rozmiar rysunku, np. 100200 pixeli (wa|ne: oba te wy- miary musz by od siebie r|ne). Rysunek zapiszemy jako monochromatyczny, gdy| im wicej kolorw, tym wicej miejsca na dysku zajmuje plik. Kiedy rysunek zostaB ju| zapisany, nale|y umie[ci w nim jaki[ napis, np. hasBo do konta pocztowego. Mo|na utworzy tyle napisw, ile si zmie[ci  nie ma |adnych ograniczeD. Wygld przykBa- dowego pliku BMP zaprezentowano na rysunku 9.1. Rysunek 9.1. Oryginalny plik BMP Skoro ju| wpisaBe[ jakie[ hasBa, zapisz zmiany dokonane w pliku. A teraz najprzyjem- niejsza cz[, czyli ingerencja w nagBwek. Co chcemy zmieni w nagBwku? Dokona- my w nim zmiany wymiarw rysunku, tj. zmienimy rozmiar rysunku z 200100 pixeli na 100200 pixeli. Dziki temu piksele inaczej si uBo| i utworz chaotyczn  pa- planin punktw . Na rysunku 9.2 zaprezentowano wygld pliku BMP po dokonaniu ingerencji w nagBwek. Rysunek 9.2. Plik BMP ze zmodyfikowanym nagBwkiem RozdzIaB 9. f& UkrywanIe tajnych InformacjI 201 Powstaje pytanie: jak dokona zmian w nagBwku pliku BMP? Wystarczy plik BMP otworzy w programie Hex Workshop i pod odpowiednimi offsetami zmieni warto[ci. Szeroko[ obrazu jest zapisana pod offsetem , a wysoko[  pod offsetem . Wysoko[ i szeroko[ obrazu mo|e wynosi maksymalnie 65 535 pikseli, a wic mamy do czynienia z liczb 16-bitow (czyli pod offsetem znajduje si starszy bajt sze- roko[ci obrazu  w naszym wypadku jest to zero  a pod offsetem jest zapisany starszy bajt wysoko[ci obrazu  w naszym wypadku rwnie| jest to zero). Jednak z modyfikacj nagBwka nie nale|y przesadza. Je[li np. zdefiniujemy zarwno wysoko[, jak i szeroko[ pliku jako 200 pikseli, takiego pliku nie bdzie mo|na otwo- rzy w |adnym programie graficznym, gdy| zostanie on uznany za uszkodzony (pod- czas odczytywania przez program opisw poszczeglnych pikseli nagle pojawi si ko- niec pliku, mimo |e w nagBwku zostaBy zdefiniowane wiksze wymiary ni| s mo|liwe do odczytania; niektre programy w takiej sytuacji zgBosz bBd, inne z kolei odczytaj poprawnie plik, wypeBniajc brakujce miejsca kolorem czarnym). Inna puBapka, ktra mo|e na nas czyha, to dobranie nieodpowiedniego rozmiaru pliku. Je[li oryginalny plik ma wymiary 200100 pikseli, a Ty zmienisz wymiary np. na 40050 pikseli, istnieje prawdopodobieDstwo, |e rysunek bdzie zawieraB dwukrotnie napisane te same hasBa, majce naturaln szeroko[, ale wysoko[ o poBow mniejsz ni| w oryginalnym pli- ku. Mimo to bez wikszych problemw bdzie je mo|na odczyta! Ten efekt wystpuje w wypadku edycji pliku 16-kolorowego, 256-kolorowego lub 24-bitowego. W przy- padku plikw monochromatycznych efekt ten mo|e nie wystpi (chyba |e oba wymia- ry oryginalnego pliku byBy podzielne przez 8). Dlatego nie nale|y dobiera rozmiarw tak, aby pierwszy rozmiar byB np. 2, 3, 4& razy wikszy od oryginalnego a drugi roz- miar  2, 3, 4& razy mniejszy od oryginalnego. O ile w przypadku plikw mono- chromatycznych ten efekt pojawia si sporadycznie, o tyle w plikach zawierajcych wiksz ilo[ kolorw wystpuje niemal zawsze. PrzeksztaBcanie pliku binarnego w plik BMP Powy|szy sposb jest do[ ciekawy, ale ma jedn wad: nie mo|na w pliku BMP o wy- miarach 800600 pikseli zapisa zbyt du|o informacji (raczej nikt normalny nie trzyma na dysku plikw BMP o wymiarach np. kilka tysicy pikseli na kilka tysicy pikseli). Poza tym taki plik (800600 pikseli), w ktrym da si zapisa kilkana[cie (kilkadzie- sit) haseB, zajmuje na dysku do[ sporo miejsca (1 MB). Jednak jest te| inny sposb na ukrycie wa|nych informacji w pliku BMP: ot| mo|na dany plik tekstowy (lub binarny) przeksztaBci w plik BMP, tj. wstawi typowy nagBwek pliku BMP, zdefiniowa odpo- wiednie rozmiary, a dalej skopiowa zawarto[ naszego pliku. Po takowym sklejeniu otworzenie pliku BMP w dowolnym programie graficznym powinno by mo|liwe, tyle |e pojawiBby si maBy problem: znw plik BMP wygldaBby do[ dziwnie (widoczne by- Byby same chaotycznie rozmieszczone punkty). W listingu 9.1 zaprezentowano przykBa- dowy plik tekstowy (plik ten wygenerowaBem prostym programem tworzcym losowe pliki tekstowe). LIstIng 9.1. Fragment pliku dane.txt 202 Vademecum hakera. Edycja pIIkw bInarnych Rysunek 9.3 prezentuje plik BMP, ktry zostaB wygenerowany na podstawie powy|sze- go pliku tekstowego. Rysunek 9.3. Plik BMP, w ktrym umieszczono plik tekstowy Niestety ten plik w ksi|ce wyglda tak Badnie tylko dlatego, |e musiaBem go zapisa w 256 odcieniach szaro[ci. Tymczasem mj program zapisuje go w 256 kolorach, wi- doczne s wic takie kolory jak zielony, czerwony, |Bty, niebieski itp. Listing 9.2 zawiera kod zrdBowy programu do generowania plikw BMP. LIstIng 9.2. kodujbmp.pas  program, ktry z wa|nych plikw generuje pliki BMP RozdzIaB 9. f& UkrywanIe tajnych InformacjI 203 204 Vademecum hakera. Edycja pIIkw bInarnych RozdzIaB 9. f& UkrywanIe tajnych InformacjI 205 Program jest dosy ciekawy, ale je[li otworzymy plik BMP w Notatniku, zobaczymy zawarto[ wklejonego do niego pliku tekstowego. Ten program nadaje si jedynie do doklejania do bitmap plikw binarnych, np. plikw z rozszerzeniem EXE. Jednak nic nie stoi na przeszkodzie, aby doda do programu malutki algorytm szyfrujcy zapisy- wane dane. Je[li masz zamiar ulepsza ten program, to warto zmieni procedur czyta- nia i zapisywania danych do pliku, gdy| czytanie po 1 bajcie jest do[ wolne, szczegl- nie, je[li program odczytuje du|e pliki. Nale|y tak zmieni program, aby odczytywaB naraz 1 000 znakw i tyle samo zapisywaB. Wtedy program bdzie du|o szybciej wy- konywaB swoje zadanie. Nawet je[li nie chcesz ukrywa plikw za pomoc tego pro- gramu, uruchom go, gdy| czasami potrafi wygenerowa naprawd ciekawe pliki BMP. Mo|esz dodatkowo zwikszy bezpieczeDstwo zakodowanego pliku, dodajc ten plik jako nowy zasb do dowolnego pliku EXE za pomoc programu Resource Hacker. Aby to zrobi, nale|y: 1. Uruchomi program Resource Hacker. 2. Otworzy w tym programie dowolny plik wykonywalny. 3. Z menu Action wybra polecenie Add a new resource. 4. Odnalez na dysku nasz plik BMP zawierajcy zakodowany plik. 5. Poda jak[ nazw zasobu np. Tajne1. 6. Klikn przycisk Add resource. 7. Zapisa zmiany dokonane w pliku. Listing 9.3 prezentuje zrdBo programu, ktry z pliku BMP  wyciga wcze[niej za- kodowany plik. LIstIng 9.3. odkodujb.pas  program, ktry z plikw BMP  wyciga plik zakodowany programem kodujbmp.pas 206 Vademecum hakera. Edycja pIIkw bInarnych RozdzIaB 9. f& UkrywanIe tajnych InformacjI 207 Program ma jedn wad: je[li prbujemy nim  wycign dane z pliku BMP, ktry nie zostaB utworzony poprzednim programem, to albo zostan odczytane jakie[  [mie- cie , albo dojdzie do zatrzymania pracy programu. Aby si przed tym zabezpieczy, nale|y tak przerobi program, aby  znakowaB pliki BMP zawierajce dane  np. oprcz nagBwka informujcego, ile nastpnych bajtw w pliku BMP to zawarto[ in- nego pliku, umieszczona byBaby np. 4-znakowa sygnatura. Program dekodujcy po na- trafieniu na plik nie posiadajcy tej sygnatury informowaBby, |e jest to zwykBy plik BMP, ktry nie zawiera w sobie cennych danych. Ukrywanie tajnych informacji w innych plikach graficznych Pliki BMP maj bardzo prost budow, dlatego bardzo dobrze nadaj si do ukrywania tajnych informacji. Z innymi plikami graficznymi jest ju| gorzej, ale postanowiBem omwi kilka innych typw plikw graficznych, aby doceni prostot plikw BMP. JPG Pliki JPG to skompresowane pliki bitmapowe. Jest to do[ popularny typ plikw gra- ficznych, gdy| mo|na za jego pomoc kompresowa bitmapy, stosujc r|ne wspB- czynniki kompresji (im wikszy wspBczynnik, tym wicej miejsca na dysku zajmuje plik, ale zarazem jego jako[ jest lepsza). Pliki JPG bardzo dobrze nadaj si do kom- presji r|nych zdj. Niestety sztuczka polegajca na ingerencji w nagBwek nie jest dobra, gdy| w zmodyfikowanym pliku widoczne s fragmenty wyrazw z oryginalnego pliku (patrz rysunek 9.4). 208 Vademecum hakera. Edycja pIIkw bInarnych Rysunek 9.4. Plik JPG ze zmodyfikowanym nagBwkiem GIF Pliki GIF, podobnie jaki pliki JPG, to skompresowane mapy bitowe. Jednak pliki GIF maj inny algorytm kompresji i bardziej nadaj si do kompresowania bitmap, ktre zo- staBy stworzone w jakim[ programie graficznym. Niezbyt dobrze natomiast nadaj si do kompresji zdj, gdy| maksymalnie mog zawiera 256 kolorw, a minimalnie 16. Pliki GIF rwnie| nie nadaj si do przechowywania tajnych informacji, gdy|  po- dobnie jak w plikach JPG  widoczne s napisy z oryginalnego pliku, o czym [wiad- czy rysunek 9.5. Rysunek 9.5. Plik GIF ze zmodyfikowanym nagBwkiem PCX Pliki PCX to skompresowane pliki bitmapowe. Nie s tak skuteczne jak formaty GIF i JPG, ale za to maj bardzo prosty algorytm kompresji. Niestety, obecnie te pliki s ju| bardzo rzadko u|ywane; zapis bitmapy do tego formatu byB jeszcze mo|liwy w pro- gramie Paint w wersji dla Windows 3.11, ale ju| kolejne wersje tego programu dla sys- temw Windows 9x/Me/XP nie obsBugiwaBy formatu PCX. Niestety sztuczka ze zmody- fikowaniem nagBwka rwnie| nie jest dobrym pomysBem, o czym [wiadczy rysunek 9.6. Rysunek 9.6. Plik PCX ze zmodyfikowanym nagBwkiem RozdzIaB 9. f& UkrywanIe tajnych InformacjI 209 TIFF Jest to format grafiki bitmapowej. Pliki TIFF po cz[ci nadaj si do wykorzystania ich w sztuczce z ingerencj w nagBwek, gdy| chyba wszystkie programy graficzne taki plik uznaj za uszkodzony. WMF Format WMF jest dla grafiki wektorowej takim standardem, jakim dla grafiki rastrowej jest format BMP. Mimo |e r|ne programy do tworzenia grafiki wektorowej zapisuj grafiki we wBasnym formacie, to wikszo[ programw pozwala na zapisanie grafiki do pliku WMF. Z naszego punktu widzenia pliki WMF s maBo u|yteczne, gdy| po doko- naniu ingerencji w nagBwek plik i tak wy[wietla oryginalne napisy, o czym [wiadczy rysunek 9.7. Rysunek 9.7. Plik WMF ze zmodyfikowanym nagBwkiem Jak w plikach EXE ukry tajne informacje? W plikach EXE nie ma zbyt du|o miejsca, aby mc ukry wiele tajnych informacji. Ale szczeglnie w plikach EXE przeznaczonych dla systemu operacyjnego Windows znaj- dzie si kilkana[cie lub kilkadziesit bajtw, ktre mo|na swobodnie zastpi naszymi informacjami. Niestety w r|nych plikach EXE bajty te znajduj si pod r|nymi off- setami. Pojawia si pytanie: jak mo|na rozpozna, czy dany fragment pliku EXE mo|na zastpi wBasnymi danymi? Odpowiedz jest prosta: nale|y zlokalizowa w pliku EXE miejsce, w ktrym znajduj si same zera (tzn. kody ASCII 0). Takie miejsce istnieje na samym pocztku pliku, gdzie znajduje si kilka-kilkana[cie zer. Te pola mo|na [miaBo zastpi wBasnymi warto[ciami i sprawdzi, czy program si uruchomi. Je[li si nie uruchomi, oznacza to, |e te dane s jednak wa|ne i nale|y przywrci plik z kopii za- pasowej. Je[li nam si poszcz[ci, mo|na znalez caBkiem spory fragment pliku EXE, w ktrym da si zmie[ci nawet 1,5 KB danych! PrzykBadem takiego pliku EXE jest program txt2ascii, ktry znajduje si na pBycie CD-ROM w katalogu aplikacje/tools. Pod offsetem znajduje si 1,5 KB wolnego miejsca. Dotyczy to rwnie| wszystkich pli- kw EXE, ktre byBy kompilowane w Microsoft Visual Basic 6.0. Niestety nie wszyst- kie pliki wykonywalne posiadaj w swym wntrzu a| tak du|o miejsca, ktre mo|na zagospodarowa. Ale nic nie stoi na przeszkodzie, aby do pliku EXE co[ dopisa. Bez wikszego problemu na koDcu pliku EXE dodaBem plik tekstowy o rozmiarze 15 KB, 210 Vademecum hakera. Edycja pIIkw bInarnych a program nadal dziaBaB poprawnie. Dotyczy to rwnie| plikw COM. Jednak przed dodaniem na koDcu pliku EXE pewnych informacji warto jest wykona kopi takiego pliku. Aby do pliku EXE dopisa dane, nale|y wykona nastpujce czynno[ci: 1. Otworzy plik EXE w programie Hex Workshop. 2. Wykona kopi pliku. Najlepiej z menu File wybra opcj Save As& i zapisa plik pod inn nazw. 3. Otworzy w Notatniku plik tekstowy. 4. Zaznaczy caBy tekst i skopiowa go do schowka. 5. W programie Hex Workshop nale|y umie[ci kursor na koDcu pliku. 6. Z menu Edit wybra pozycj Paste Special. 7. Pojawi si okno dialogowe, w ktrym mo|na wybra format, w jakim ma by wklejony tekst. Wybierz pozycj CF_TEXT. Upewnij si, czy  ptaszek przy polu wyboru z napisem Interpret as a hexadecimal string nie jest zaznaczony. Mo|na rwnie| do pliku EXE dopisa zawarto[ innego pliku binarnego. Aby tego do- kona, nale|y wykona nastpujce czynno[ci: 1. W programie Hex Workshop otworzy plik EXE oraz plik, ktry mamy zamiar wklei do pliku EXE. 2. Wykona kopi pliku. Najlepiej z menu File wybra opcj Save As& i zapisa plik pod inn nazw. 3. Zaznaczy caBy plik (podczas tej operacji zaznaczy t cz[, w ktrej umieszczone s heksadecymalne cyfry). 4. Umie[ci kursor na koDcu pliku EXE. 5. Z menu Edit wybra pozycj Paste Special. Pojawi si okno dialogowe, w ktrym mo|na wybra format, w jakim ma by wklejony tekst. Wybierz pozycj CF_TEXT. Upewnij si, czy  ptaszek przy polu wyboru z napi- sem Interpret as a hexadecimal string jest zaznaczony. By mo|e wklejenie pliku binarnego nie jest trudne, ale trudniej jest potem  odklei od pliku EXE plik binarny. Dlatego napisaBem malutki program, ktry wykona to za nas (patrz listing 9.4). Nale|y tylko poda nazw pliku, z ktrego nale|y  odklei binarny fragment, nazw nowego pliku oraz dBugo[ naszego nowego pliku binarnego (czyli ile ostatnich bajtw nale|y skopiowa do nowego pliku). Programik napisaBem w FPC, wic mo|na go swobodnie uruchomi zarwno w systemie MS-DOS (Windows), jak i w sys- temie Linux. LIstIng 9.4. odklej.pas  program zapisujcy do innego pliku ostatnie x bajtw dowolnego pliku RozdzIaB 9. f& UkrywanIe tajnych InformacjI 211 212 Vademecum hakera. Edycja pIIkw bInarnych Celowe uszkadzanie plikw Do[ prostym sposobem na ukrycie informacji jest uszkodzenie pliku. By mo|e brzmi to dziwnie, ale jest to bardzo proste i skuteczne rozwizanie, gdy| wikszo[ progra- mw nie bdzie w stanie otworzy uszkodzonych plikw. Aby otworzy uszkodzony plik, nale|y go naprawi. Poni|ej opisz kilka typw plikw, ktre mo|na uszkodzi i przedstawi metody ich uszkadzania. Pliki DOC Jest to do[ popularny typ plikw. Pliki te tworzone s przez program Microsoft Word, ktry jest najpopularniejszym edytorem tekstu w systemie Windows. Pliki DOC otwie- rane s przez kilka innych programw, np. StarOffice lub OpenOffice dla systemw Li- nux i Windows czy choby zwykBy WordPad, doBczony do systemu operacyjnego Win- dows. Pliki DOC oprcz tekstu mog zawiera rwnie| rysunki i wykresy. Aby uszkodzi plik DOC, nie trzeba si wcale natrudzi. Wystarczy otworzy taki plik w programie Hex Workshop (lub dowolnym innym edytorze plikw binarnych) i zmieni pierwszy bajt. Pierwszy bajt powinien mie warto[ , ale gdy zmienimy t warto[ na inn, program albo poinformuje, |e plik jest uszkodzony, albo potraktuje plik jako plik tekstowy i wy[wietli nieczytelne cigi znakw ( krzaczki ). Aby to na- prawi, nale|y plik otworzy w programie Hex Workshop i pierwszy bajt z powrotem zmieni na . Pliki DOC nie nadaj si do ukrywania danych, gdy| tekst w plikach DOC nie jest ko- dowany. Mimo |e na ekranie pojawi si  krzaczki , midzy nimi bdzie widoczny zwykBy tekst (patrz rysunek 9.8). Rysunek 9.8. Uszkodzony plik DOC RozdzIaB 9. f& UkrywanIe tajnych InformacjI 213 Pliki EXE Pliki EXE s plikami wykonywalnymi. Uszkodzenie plikw EXE nie jest trudne. Pliki EXE posiadaj wBasny nagBwek, ktry zaczyna si od znakw (lub ). Wystarczy zmieni te 2 znaki na jakie[ inne, np. XX, i plik EXE bdzie uznawany za uszkodzo- ny. Na rysunku 9.9 przedstawiono komunikat, jaki pojawi si przy prbie uruchomie- nia uszkodzonego pliku EXE. Rysunek 9.9. Komunikat pojawiajcy si podczas prby uruchomienia uszkodzonego pliku EXE Przed uszkodzeniem pliku EXE mo|na do niego doda jak[ bitmap, zawierajc np. hasBa do kont pocztowych. Po uszkodzeniu pliku edytory zasobw nie otworz go, gdy| uznaj go za uszkodzony. Pliki ZIP Pliki ZIP s to pliki popularnego programu pakujcego WinZip, sBu|cego do pakowa- nia innych plikw, czyli zmniejszania ich objto[ci za pomoc skomplikowanych algo- rytmw. Plik ZIP mo|e zawiera jeden skompresowany plik lub wicej plikw. Pliki ZIP bardzo dobrze nadaj si do ukrywania tajnych informacji, gdy| mo|na spakowa kilka wa|nych plikw do jednego pliku ZIP, a potem uszkodzi tylko jeden plik ZIP  nie trzeba po kolei uszkadza wielu plikw. Pliki ZIP, podobnie jak pliki poprzednio om- wione, posiadaj nagBwek. Dwa pierwsze bajty pliku PK informuj, i| jest to plik ZIP. Po zmianie tych bajtw na dowolne inne plik automatycznie zostaje uszkodzony. Nie- ktre programy takowy plik otworz i nawet wy[wietl pliki, jakie zostaBy skompreso- wane, ale ju| ich nie rozpakuj; z kolei inne programy w ogle nawet nie otworz ta- kiego pliku. Inne pliki Nie sposb tutaj omwi wszystkich mo|liwych plikw, ktre mo|na uszkodzi. Jednak chyba zauwa|yBe[ pewien uniwersalny wzorzec: zwykle wystarczy zamieni 2 pierwsze bajty na inne, aby plik nie mgB by otworzony przez program, w ktrym zostaB utwo- rzony. Zachcam do dalszego eksperymentowania!

Wyszukiwarka

Podobne podstrony:
Ćwiczenie 3 Parsowanie plików tekstowych i binarnych
Anti Hacker Tool Kit Edycja polska
Nauka Kompresowanie plików
9 01 07 drzewa binarne
Cięcie pliku ac3, Ekspresowe cięcie pliku ac3, Łączenie plików audio
Linux System Plików
utk uklad binarny
iCare Format Recovery naprawa systemu plikow

więcej podobnych podstron