Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00490 009275 10732505 na godz. na dobę w sumie
Vademecum hakera. Edycja plików binarnych - książka
Vademecum hakera. Edycja plików binarnych - książka
Autor: Liczba stron: 304
Wydawca: Helion Język publikacji: polski
ISBN: 83-7361-067-7 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> hacking >> inne
Porównaj ceny (książka, ebook, audiobook).

Zobacz jak wyglądają programy od środka

Większość dostępnych obecnie aplikacji pozwala użytkownikowi dokonywać rozmaitych modyfikacji: od zmian wyglądu i dodawania nowych ikon począwszy, na zapisywaniu własnych makrodefinicji skończywszy. Nie zawsze to wystarcza. Żeby naprawdę zmusić program do działania zgodnie z naszymi oczekiwaniami, trzeba wejść nieco głębiej w jego kod.

Dzięki tej książce poznasz wiele technik, które umożliwią Ci samodzielną modyfikację rozmaitych programów, zarówno aplikacji użytkowych, jak i gier. Dowiesz się, jak 'oszukać' grę, jak zmieniać teksty w programach, jak odnajdywać furtki pozostawione przez programistów. A przy okazji poznasz tajniki programowania, które sam będziesz mógł wykorzystać w swojej praktyce.

Do książki dołączony jest CD-ROM zawierający przydatne narzędzia i kody źródłowe.

'Vademecum hakera' to książka, dzięki której wykonasz w programach zmiany, które wydają się niewykonalne. Zadziwisz siebie i swoich znajomych!

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

IDZ DO IDZ DO PRZYK£ADOWY ROZDZIA£ PRZYK£ADOWY ROZDZIA£ SPIS TREĎCI SPIS TREĎCI KATALOG KSI¥¯EK KATALOG KSI¥¯EK KATALOG ONLINE KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK TWÓJ KOSZYK DODAJ DO KOSZYKA DODAJ DO KOSZYKA CENNIK I INFORMACJE CENNIK I INFORMACJE ZAMÓW INFORMACJE ZAMÓW INFORMACJE O NOWOĎCIACH O NOWOĎCIACH ZAMÓW CENNIK ZAMÓW CENNIK CZYTELNIA CZYTELNIA FRAGMENTY KSI¥¯EK ONLINE FRAGMENTY KSI¥¯EK ONLINE Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl Vademecum hakera. Edycja plików binarnych Autor: Damian Daszkiewicz ISBN: 83-7361-067-7 Format: B5, stron: 290 Zawiera CD-ROM Wiêkszoġæ dostêpnych obecnie aplikacji pozwala u¿ytkownikowi dokonywaæ rozmaitych modyfikacji: od zmian wygl¹du i dodawania nowych ikon pocz¹wszy, na zapisywaniu w³asnych makrodefinicji skoñczywszy. Nie zawsze to wystarcza. ¯eby naprawdê zmusiæ program do dzia³ania zgodnie z naszymi oczekiwaniami, trzeba wejġæ nieco g³êbiej w jego kod. Dziêki tej ksi¹¿ce poznasz wiele technik, które umo¿liwi¹ Ci samodzieln¹ modyfikacjê rozmaitych programów, zarówno aplikacji u¿ytkowych, jak i gier. Dowiesz siê, jak „oszukaæ” grê, jak zmieniaæ teksty w programach, jak odnajdywaæ furtki pozostawione przez programistów. A przy okazji poznasz tajniki programowania, które sam bêdziesz móg³ wykorzystaæ w swojej praktyce. • Poznasz ró¿ne systemy liczbowe i nauczysz siê przeliczaæ wartoġci pomiêdzy nimi • Nauczysz siê modyfikowaæ kody wynikowe programów za pomoc¹ Hex Workshop i kHexEditor • Dowiesz siê, jak zmieniaæ zasoby (ikony, teksty, skróty klawiaturowe) u¿ywaj¹c programów Resource Hacker, EXEScope i PE Resource Explorer • Nauczysz siê edytowaæ programy wewnêtrznie skompresowane • Dowiesz siê, jak zabezpieczaæ w³asne aplikacje przed modyfikacjami • Poznasz sposoby „oszukiwania” gier • Dowiesz siê, jak odczytywaæ z dyskietek ukryte informacje • Poznasz podstawy pisania w³asnych kompilatorów Do ksi¹¿ki do³¹czony jest CD-ROM zawieraj¹cy przydatne narzêdzia i kody ĥród³owe. „Vademecum hakera” to ksi¹¿ka, dziêki której wykonasz w programach zmiany, które wydaj¹ siê niewykonalne. Zadziwisz siebie i swoich znajomych! Spis treści Przedmowa ......................................................................................... 7 Rozdział 1. Systemy liczbowe ............................................................................. 13 System dziesiętny (decymalny) ...................................................i.............................13 System dwójkowy (binarny) ...................................................i.................................14 System ósemkowy (oktalny)...................................................i.................................14 System szesnastkowy (heksadecymalny)...................................................i................15 Kod BCD...................................................i...................................................i.........16 Wielkie liczby ...................................................i...................................................i..17 Liczby ujemne...................................................i...................................................i..18 Odczytywanie liczby ujemnej ...................................................i...............................22 Młodszy i starszy bajt — programowanie...................................................i...............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)...................................................i..............................29 Rozdział 2. Hex Workshop .................................................................................. 31 Pierwsze kroki w programie Hex Workshop...................................................i...........31 Wygląd programu Hex Workshop ...................................................i.........................34 Menu programu Hex Workshop ...................................................i......................36 Pasek narzędzi (toolbar)...................................................i..................................40 Zapoznanie się z niektórymi narzędziami programu .............................................43 Trochę praktyki ...................................................i...................................................i47 Szukanie tekstu i zastępowanie go własnym tekstem ............................................47 Szukanie i modyfikowanie danych liczbowych ...................................................i.49 Porównywanie plików ...................................................i....................................51 Ćwiczenia z operacjami bitowymi ...................................................i...................51 Ciekawe zastosowanie programu Hex Workshop...................................................i....54 Hex Workshop i Windows 3.1x...................................................i.............................56 Hex Workshop i Linux ...................................................i.........................................57 Rozdział 3. kHexEdit .......................................................................................... 59 Pierwsze kroki w programie kHexEdit...................................................i...................59 Wygląd programu kHexEdit ...................................................i.................................62 Menu programu kHexEdit..................................................i................................63 Pasek narzędzi (toolbar)...................................................i..................................67 Zapoznanie się z niektórymi narzędziami programu .............................................68 4 Vademecum hakera. Edycja plików binarnych Trochę praktyki ...................................................i...................................................i75 Szukanie tekstu i zastępowanie go własnym tekstem ............................................75 Szukanie i modyfikowanie danych liczbowych ...................................................i.76 Porównywanie plików ...................................................i....................................79 Rozdział 4. Resource Hacker .............................................................................. 83 Ostrzeżenie ...................................................i...................................................i......83 Pierwsze kroki w programie Resource Hacker...................................................i........83 Resource Hacker — menu ...................................................i..............................86 Edycja poszczególnych zasobów ...................................................i.....................87 Praktyczne przykłady wykorzystania programu Resource Hacker..............................119 Spolszczenie programu...................................................i.................................119 Migająca ikona ...................................................i............................................119 Nauka pisania plików RC ...................................................i.............................120 Rozdział 5. EXEScope i PE Resource Explorer .................................................. 121 Ostrzeżenie ...................................................i...................................................i....121 Pierwsze kroki w programie EXEScope ...................................................i...............121 EXEScope — menu...................................................i.....................................123 EXEScope — pasek narzędzi ...................................................i........................125 Gałąź Header...................................................i...................................................i..126 Gałąź Import ...................................................i...................................................i..126 Praktyczne wykorzystanie informacji zawartych w gałęzi Import ..............................127 Sprawdzenie deklaracji w programie API Text Viewer, dołączonym do Visual Basic ...................................................i.......................128 Przeszukanie zasobów MSDN ...................................................i......................129 Gałąź Resource...................................................i..................................................130 Pierwsze kroki w programie PE Resource Explorer..................................................130 Menu programu PE Resource Explorer ...................................................i..........131 Pasek narzędzi (toolbar)...................................................i................................134 Tworzenie plików RES..................................................i........................................134 Ciekawsze zastosowania programu PE Resource Explorer........................................135 Podsumowanie ...................................................i..................................................137 Rozdział 6. Pliki wewnętrznie skompresowane ................................................. 139 UPX...................................................i...................................................i..............139 Rozpakowywanie plików spakowanych programem UPX................................... 141 Pozostałe parametry programu UPX ...................................................i..............142 UPX dla Linuksa ...................................................i.........................................143 Porównanie kilku metod kompresji w programie UPX .......................................145 AsPack ...................................................i...................................................i..........146 Parametry programu AsPack...................................................i.........................147 Rozpakowywanie plików spakowanych programem AsPack............................... 148 PkLite...................................................i...................................................i............149 Pe-Pack ...................................................i...................................................i.........151 Rozpakowywanie plików spakowanych programem Pe-Pack..............................151 Pliki skompresowane nieznanym programem pakującym..........................................152 Podsumowanie ...................................................i..................................................153 Rozdział 7. Jak pisać programy, których nie będzie można edytować?............... 155 Wstęp...................................................i...................................................i............155 Sprawdzanie wielkości pliku...................................................i...............................155 Data i czas modyfikacji pliku...................................................i..............................157 Sumy kontrolne ...................................................i.................................................158 Rozbijanie stringów ...................................................i...........................................160 Kodowanie stringów i zmiennych liczbowych ...................................................i......161 Spis treści 5 Program kompresujący pliki wykonywalne ...................................................i..........168 Zapoznanie się z programem AsProtect ...................................................i...............169 Podsumowanie ...................................................i..................................................171 Rozdział 8. Oszukiwanie gier............................................................................. 173 Co to jest plik z zapisem stanu gry? ...................................................i.....................173 Zapoznanie się z grą „Labirynt” ...................................................i..........................174 Jak zlokalizować plik z zapisem stanu gry? ...................................................i..........175 Edycja plików z zapisem stanu gry ...................................................i......................176 Kilka porad na temat edycji plików z zapisem stanu gry ...........................................176 Tworzenie edytora plików z zapisem stanu gry...................................................i.....178 Edycja high scores ...................................................i.............................................181 Podmiana plików ...................................................i...............................................181 Struktura plików z poziomami...................................................i.............................182 Co to są Tipsy?...................................................i..................................................187 Piszę grę, jak uodpornić ją na oszustwa?...................................................i..............188 Pliki z zapisem stanu gry ...................................................i..............................188 Pliki high scores ...................................................i..........................................193 Podmiana plików ...................................................i.........................................195 Dokładne poznanie struktury pliku...................................................i.................195 Sztuczki ...................................................i...................................................i...196 Ciekawy efekt ...................................................i...................................................i196 Jak można ulepszyć grę? ...................................................i....................................197 Rozdział 9. Ukrywanie tajnych informacji........................................................... 199 Wstęp...................................................i...................................................i............199 Jak w plikach BMP można ukryć tajne informacje, np. hasło?...................................199 Ingerencja w nagłówek pliku BMP...................................................i................200 Przekształcanie pliku binarnego w plik BMP...................................................i..201 Ukrywanie tajnych informacji w innych plikach graficznych ....................................207 JPG ...................................................i...................................................i.........207 GIF..................................................i...................................................i...........208 PCX ...................................................i...................................................i........208 TIFF...................................................i...................................................i........209 WMF...................................................i...................................................i.......209 Jak w plikach EXE ukryć tajne informacje? ...................................................i.........209 Celowe uszkadzanie plików ...................................................i................................212 Pliki DOC ...................................................i...................................................i212 Pliki EXE...................................................i...................................................i.213 Pliki ZIP ...................................................i...................................................i..213 Inne pliki...................................................i...................................................i..213 Rozdział 10. Dyskietka ....................................................................................... 215 Wstęp...................................................i...................................................i............215 Jak edytować zawartość sektorów?...................................................i......................216 Sektor zerowy ...................................................i...................................................i217 Ukrywanie informacji na dyskietce...................................................i......................219 Jak działa ScanDisk?...................................................i..........................................220 Budowa tablicy alokacji plików...................................................i...........................222 Atrybuty pliku ...................................................i.............................................223 Czas utworzenia pliku ...................................................i..................................224 Data utworzenia pliku...................................................i...................................224 Numer sektora, w którym rozpoczyna się plik...................................................i.225 Co to jest VolumeID?...................................................i.........................................226 Numer seryjny dyskietki...................................................i.....................................226 Jak odzyskać z dyskietki skasowany plik? ...................................................i............226 6 Vademecum hakera. Edycja plików binarnych Jak oszukać program Direct Connect...................................................i...................227 Krótkie wprowadzenie...................................................i..................................227 Jak oszukać program Direct Connect?...................................................i............228 Modyfikowanie plików na dysku twardym...................................................i.....230 Modyfikowanie plików na RAMdysku...................................................i...........231 Rozdział 11. Poprawianie niedoróbek kompilatorów............................................ 233 Wstęp...................................................i...................................................i............233 Turbo Pascal: Run Time Error 200...................................................i......................233 Naprawianie pliku EXE...................................................i................................234 Naprawianie modułu crt..................................................i.................................235 Jak korzystać z procedury Delay?...................................................i..................235 Pisanie własnej poprawki („łatki”)...................................................i.................236 Visual Basic: ikona w programach bez okna dialogowego ........................................238 Delphi: MessageDlg...................................................i...........................................239 Visual Basic: usuwanie zbędnych informacji ...................................................i........241 FPC dla Windows, XBasic: brak zasobu VersionInfo ...............................................241 Dodawanie zasobu do pliku źródłowego...................................................i.........242 Dodanie zasobu do pliku EXE za pomocą programu Resource Hacker.................243 Jak tworzyć pliki RES, nie mając programu RC.EXE? .......................................243 Większość kompilatorów pod Windows: wersja językowa .......................................244 Delphi — zmiana wyglądu kontrolek...................................................i...................246 Bitmapy dla kontrolki DirListBox...................................................i..................247 Bitmapy dla kontrolki DriveListBox ...................................................i..............248 Wszystkie kompilatory w systemie Windows: spolszczanie programu STUB.............248 Rozdział 12. Pisanie własnego kompilatora ......................................................... 251 Wstęp...................................................i...................................................i............251 Pliki COM ...................................................i...................................................i.....251 Kompilator generujący pliki COM ...................................................i......................253 Jak dodać profesjonalny nagłówek do pliku COM? ..................................................258 Jak tworzyć optymalne pliki COM?...................................................i.....................260 Zoptymalizowany kompilator...................................................i..............................263 Pliki EXE (dla MS-DOS) ...................................................i...................................268 Konwerter plików COM na EXE...................................................i.........................268 Pliki EXE (dla Windows) ...................................................i...................................272 „Bezbolesne” generowanie plików EXE ...................................................i..............272 „Bezbolesne” generowanie plików wykonywalnych dla Linuksa ...............................273 Dodatek A Systemy liczbowe ........................................................................... 275 Liczby dodatnie (od 0 do 255) ...................................................i............................275 Liczby ujemne (od −128 do 0) ...................................................i............................282 Dodatek B Zawartość płyty CD-ROM ................................................................ 287 Uwagi ogólne ...................................................i...................................................i.287 FPC...................................................i...................................................i.........288 Hex...................................................i...................................................i..........288 Inne ...................................................i...................................................i.........288 Programy kompresujące ...................................................i...............................289 Przykłady...................................................i...................................................i.289 Tools ...................................................i...................................................i.......289 Programy dekompresujące...................................................i............................290 Edytory zasobów ...................................................i.........................................290 Skorowidz....................................................................................... 291 Rozdział 9. Ukrywanie tajnych informacji Wstęp W tym rozdziale opiszę kilka sposobów na ukrywanie tajnych informacji na dysku. Nie mam zamiaru opisywać jakichś programów do szyfrowania danych itp., gdyż są one na tyle popularne, że do wielu z nich powstały specjalne deszyfratory, łamiące kod i wy- dobywające z zaszyfrowanych plików cenne dane. Oczywiście nie wszystkie programy szyfrujące da się tak łatwo pokonać. Jednak w tym rozdziale mam zamiar opisać nie- co inne, dość oryginalne sztuczki, pozwalające ukryć nasze cenne dane. Jeśli ukrywa- nie tajnych informacji jest dla Ciebie interesującym tematem, nie zapomnij przeczytać także rozdziału 10., w którym opiszę dość ciekawy sposób na ukrywanie informacji na dyskietce. Jak w plikach BMP można ukryć tajne informacje, np. hasło? Pliki BMP posiadają dość prostą budowę: na początku pliku znajduje się nagłówek, w którym zapisane są różne informacje dotyczące pliku (np. liczba kolorów, wymiary pliku itp.). Dalej umieszczone są już tylko informacje o poszczególnych pikselach. W za- leżności od rodzaju pliku BMP jednemu pikselowi odpowiada określona liczba bitów (szczegóły przedstawiono w tabeli 9.1). W plikach piksele są zapisywane w dość dziw- nej kolejności. Wydawałoby się, że powinny być zapisywane od lewej do prawej i z gó- ry do dołu. Niestety tak nie jest, gdyż są zapisywane z lewej do prawej, ale z dołu do góry! Jednak to nie jest dla nas aż taka istotna informacja. 200 Vademecum hakera. Edycja plików binarnych Tabela 9.1. Różne typy plików BMP Typ pliku BMP Monochromatyczny 16 kolorów 256 kolorów Ilość bitów opisująca jeden piksel 1 4 8 (1 bajt) 24-bitowy (16,7 miliona kolorów) 24 (3 bajty) Pojawia się drobne pytanko: jak można ukrywać informacje w plikach BMP? Odpo- wiedź brzmi: łatwiej niż myślisz. Na potrzeby książki wymyśliłem dwa ciekawe sposo- by ukrywania informacji w plikach BMP. Pierwszy z nich to drobna ingerencja w na- główek, a drugi sposób to przekształcenie pliku binarnego w plik BMP. Ingerencja w nagłówek pliku BMP Zanim będziemy ingerować w nagłówek pliku BMP, należy ten plik utworzyć. Do tego celu wystarczy nawet najprostszy program obsługujący pliki BMP, np. Paint. W progra- mie tym należy zdefiniować rozmiar rysunku, np. 100×200 pixeli (ważne: oba te wy- miary muszą być od siebie różne). Rysunek zapiszemy jako monochromatyczny, gdyż im więcej kolorów, tym więcej miejsca na dysku zajmuje plik. Kiedy rysunek został już zapisany, należy umieścić w nim jakiś napis, np. hasło do konta pocztowego. Można utworzyć tyle napisów, ile się zmieści — nie ma żadnych ograniczeń. Wygląd przykła- dowego pliku BMP zaprezentowano na rysunku 9.1. Rysunek 9.1. Oryginalny plik BMP Skoro już wpisałeś jakieś hasła, zapisz zmiany dokonane w pliku. A teraz najprzyjem- niejsza część, czyli ingerencja w nagłówek. Co chcemy zmienić w nagłówku? Dokona- my w nim zmiany wymiarów rysunku, tj. zmienimy rozmiar rysunku z 200×100 pixeli na 100×200 pixeli. Dzięki temu piksele inaczej się ułożą i utworzą chaotyczną „pa- planinę punktów”. Na rysunku 9.2 zaprezentowano wygląd pliku BMP po dokonaniu ingerencji w nagłówek. Rysunek 9.2. Plik BMP ze zmodyfikowanym nagłówkiem Rozdział 9. ♦ Ukrywanie tajnych informacji 201 Powstaje pytanie: jak dokonać zmian w nagłówku pliku BMP? Wystarczy plik BMP otworzyć w programie Hex Workshop i pod odpowiednimi offsetami zmienić wartości. Szerokość obrazu jest zapisana pod offsetem J, a wysokość — pod offsetem J. Wysokość i szerokość obrazu może wynosić maksymalnie 65 535 pikseli, a więc mamy do czynienia z liczbą 16-bitową (czyli pod offsetem J znajduje się starszy bajt sze- rokości obrazu — w naszym wypadku jest to zero — a pod offsetem J jest zapisany starszy bajt wysokości obrazu — w naszym wypadku również jest to zero). Jednak z modyfikacją nagłówka nie należy przesadzać. Jeśli np. zdefiniujemy zarówno wysokość, jak i szerokość pliku jako 200 pikseli, takiego pliku nie będzie można otwo- rzyć w żadnym programie graficznym, gdyż zostanie on uznany za uszkodzony (pod- czas odczytywania przez program opisów poszczególnych pikseli nagle pojawi się ko- niec pliku, mimo że w nagłówku zostały zdefiniowane większe wymiary niż są możliwe do odczytania; niektóre programy w takiej sytuacji zgłoszą błąd, inne z kolei odczytają poprawnie plik, wypełniając brakujące miejsca kolorem czarnym). Inna pułapka, która może na nas czyhać, to dobranie nieodpowiedniego rozmiaru pliku. Jeśli oryginalny plik ma wymiary 200×100 pikseli, a Ty zmienisz wymiary np. na 400×50 pikseli, istnieje prawdopodobieństwo, że rysunek będzie zawierał dwukrotnie napisane te same hasła, mające naturalną szerokość, ale wysokość o połowę mniejszą niż w oryginalnym pli- ku. Mimo to bez większych problemów będzie je można odczytać! Ten efekt występuje w wypadku edycji pliku 16-kolorowego, 256-kolorowego lub 24-bitowego. W przy- padku plików monochromatycznych efekt ten może nie wystąpić (chyba że oba wymia- ry oryginalnego pliku były podzielne przez 8). Dlatego nie należy dobierać rozmiarów tak, aby pierwszy rozmiar był np. 2, 3, 4… razy większy od oryginalnego a drugi roz- miar — 2, 3, 4… razy mniejszy od oryginalnego. O ile w przypadku plików mono- chromatycznych ten efekt pojawia się sporadycznie, o tyle w plikach zawierających większą ilość kolorów występuje niemal zawsze. Przekształcanie pliku binarnego w plik BMP Powyższy sposób jest dość ciekawy, ale ma jedną wadę: nie można w pliku BMP o wy- miarach 800×600 pikseli zapisać zbyt dużo informacji (raczej nikt normalny nie trzyma na dysku plików BMP o wymiarach np. kilka tysięcy pikseli na kilka tysięcy pikseli). Poza tym taki plik (800×600 pikseli), w którym da się zapisać kilkanaście (kilkadzie- siąt) haseł, zajmuje na dysku dość sporo miejsca (1 MB). Jednak jest też inny sposób na ukrycie ważnych informacji w pliku BMP: otóż można dany plik tekstowy (lub binarny) przekształcić w plik BMP, tj. wstawić typowy nagłówek 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 pojawiłby się mały problem: znów plik BMP wyglądałby dość dziwnie (widoczne by- łyby same chaotycznie rozmieszczone punkty). W listingu 9.1 zaprezentowano przykła- dowy plik tekstowy (plik ten wygenerowałem prostym programem tworzącym losowe pliki tekstowe). Listing 9.1. Fragment pliku dane.txt /?7)8 ,HH/:H4!+@7GA+:) 8I 4C ) 9!2, 7?@F8)*;A)D@C 0+  ?$9 /ADIG $3D ,ED;9* 0.: B4E#.#-(1 EJ14+ 3J ==!C44@ 8 (I4* 202 Vademecum hakera. Edycja plików binarnych ?+ !-33 D6) 4G(:AD0,$)? I1(48=. / 9 6 G G*@*( D DAE2 6F, @$##J 7)=H86# ? D (#--73 IA; E#!::H0 (8=*F #3?;=0- 8 H27 /D5=? !;4B)7#1J:+ /D:A! :) /FA26A 0 ,2? 3 4=#9 *IF GA.6H9,2 2E(G6+?8*0( H;1.  RNKMCLOWLGRQPCF-$LGFPCMVWVCLRT[VQE[NGOV[NMQMKNMCRKGTYU[EJ YKGTU[  Rysunek 9.3 prezentuje plik BMP, który został wygenerowany na podstawie powyższe- go pliku tekstowego. Rysunek 9.3. Plik BMP, w którym umieszczono plik tekstowy Niestety ten plik w książce wygląda tak ładnie tylko dlatego, że musiałem go zapisać w 256 odcieniach szarości. Tymczasem mój program zapisuje go w 256 kolorach, wi- doczne są więc takie kolory jak zielony, czerwony, żółty, niebieski itp. Listing 9.2 zawiera kod źródłowy programu do generowania plików BMP. Listing 9.2. kodujbmp.pas — program, który z ważnych plików generuje pliki BMP 2TQITCO-QFWL2NKMK$/2 WUGUETV XCT 4Q:YQTF]Y[OKCT[RNKMW$/2_ 4Q;YQTF]_ 4GUVCYQTF]+NGQUVCVPKEJDCLVQYYRNKMW$/2VQUOKGEKG_ 4QOKCT6:6NQPIKPV]YKGNMQUERNKMW6:6_ RRRHKNGQHD[VG]OKGPPGRNKMQYG6:6$/2MQFWLDORFCV_ 2NKM2NKMUVTKPI]0CY[RNKMQY_ 2TQEGFWTG0CY[2NKMQY $GIKP ENTUET YTKVG -QFWL Q$/2X E  COKCP CUMKGYKE  YTKVGNP 2TQITCOVYQT[RNKM$/2YMVQT[OQRKU[MQNQTQYRQUEGIQNP[EJRKMUGNKVQ  YTKVGNP CYCTVQUEKPPGIQRNKMW,GUVVQFQUEEKGMCY[URQUQDPCWMT[YCPKG  YTKVGNP KPHQTOCELK2QCV[OECUCOKRQYUVCLCECNMKGOKPVGTGUWLCEGRNKMK$/2  YTKVGNP 2TQITCOQUVCNPCRKUCP[PCRQVTGD[MUKCMK F[ELC2NKMQY$KPCTP[EJFNC  YTKVGNP Y[FCYPKEVYC*GNKQP0KGCUVTGQPQFQPKGIQRTCYCWVQTUMKEJ  YTKVGNP 2NKM2CTCO5VT   KHRNKM VJGP$GIKP 4GRGCV YTKVG 2QFCLPCYGRNKMWMVQT[EJEGUCMQFQYCE  Rozdział 9. ♦ Ukrywanie tajnych informacji 203 TGCFNP 2NKM  WPVKN2NKM GPF 2NKM2CTCO5VT   KH2NKM VJGP$GIKP 4GRGCV YTKVG 2QFCLPCYGRNKMW$/2MVQT[EJEGUWVYQT[E  TGCFNP 2NKM  WPVKN2NKM GPF GPF ],CMKGOCLCD[EY[OKCT[RNKMW$/2_ 2TQEGFWTG,CMK4QOKCT :NQPIKPV  XCT4:4;TGCN $GIKP :: ]PCINQYGMKPHQTOWLCE[KNGOCQFE[VCEPCMQY_ 4:KPV USTV :  4Q:TQWPF 4:  4;KPV :4Q:  4Q;TQWPF 4;  4GUVC: 4Q: 4Q;  4Q;  KHTGUVC  TQ[ VJGPTGUVCTGUVC TQ[ GPF (WPEVKQP1MTGU4QOKCT2NKMW6:6 2NKM:UVTKPI NQPIKPV XCTHHKNGQHD[VG $GIKP CUUKIP H2NKM:  TGUGV H  1MTGU4QOKCT2NKMW6:6HKNGUKG H  ENQUG H  GPF 2TQEGFWTG1VYQT2NKMK $GIKP CUUKIP RRNKM  CUUKIP RRNKM  CUUKIP R MQFWLDORFCV  TGUGV R  TGYTKVG R  TGUGV R  GPF 2TQEGFWTG-QRKWL0CINQYGM XCTCNQPIKPV FD[VG 5NQPIKPV :YQTF $GIKP HQTCVQFQTGCF RF  FYTKVG RF ]$_ FYTKVG RF ]/_ ]9KGNMQUERNKMWYRKU\_ 5TGUVC TQOKCTVZV   204 Vademecum hakera. Edycja plików binarnych F5OQF YTKVG RF  F5FKX YTKVG RF  :5FKX F:OQF YTKVG RF  F:FKX YTKVG RF  HQTCVQFQ DGIKP TGCF RF  YTKVG RF  GPF ]TQ:_ FNQ TQ  YTKVG RF  FJK TQ  YTKVG RF  F YTKVG RFF  ]TQ;_ FNQ TQ[  YTKVG RF  FJK TQ[  YTKVG RF  HQTCVQFQTGCF RF  HQTCVQFQDGIKP TGCF RF  YTKVG RF  GPF ENQUG R  GPF 2TQEGFWTG-QRKWL2NKM6:6 XCTFD[VG KNQPIKPV $GIKP FNQ 4GUVC  YTKVG RF  FJK 4GUVC  YTKVG RF  HQTKVQ4QOKCT6:6FQ$GIKP]CRKUCYCTVQUERNKMW_ TGCF RF  YTKVG RF  GPF ENQUG R  HQTKVQ4GUVCFQ$GIKP]CRKUNQUQYGUOKGEKG_ FTCPFQO   YTKVG RF  GPF ENQUG R  GPF Rozdział 9. ♦ Ukrywanie tajnych informacji 205 $ )+0 TCPFQOKG 0CY[2NKMQY 4QOKCT6:61MTGU4QOKCT2NKMW6:6 FCPGVZV  ,CMK4QOKCT 4QOKCT6:6  1VYQT2NKMK -QRKWL0CINQYGM -QRKWL2NKM6:6 0  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 plików binarnych, np. plików z rozszerzeniem EXE. Jednak nic nie stoi na przeszkodzie, aby dodać do programu malutki algorytm szyfrujący 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, szczegól- nie, jeśli program odczytuje duże pliki. Należy tak zmienić program, aby odczytywał naraz 1 000 znaków i tyle samo zapisywał. Wtedy program będzie dużo szybciej wy- konywał swoje zadanie. Nawet jeśli nie chcesz ukrywać plików za pomocą tego pro- gramu, uruchom go, gdyż czasami potrafi wygenerować naprawdę ciekawe pliki BMP. Możesz dodatkowo zwiększyć bezpieczeństwo zakodowanego pliku, dodając ten plik jako nowy zasób 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. Odnaleźć na dysku nasz plik BMP zawierający zakodowany plik. 5. Podać jakąś nazwę zasobu np. Tajne1. 6. Kliknąć przycisk Add resource. 7. Zapisać zmiany dokonane w pliku. Listing 9.3 prezentuje źródło programu, który z pliku BMP „wyciąga” wcześniej za- kodowany plik. Listing 9.3. odkodujb.pas — program, który z plików BMP „wyciąga” plik zakodowany programem kodujbmp.pas 2TQITCO1FMQFWL$/2 7UGUETV XCT22HKNGQHD[VG 2NKM2NKMUVTKPI 4GUVCYQTF  D[VG CYQTF /$5$D[VG 4QOKCT$/2NQPIKPV 4QOKCT6:6NQPIKPV 206 Vademecum hakera. Edycja plików binarnych 2TQEGFWTG0CY[2NKMQY $GIKP ENTUET YTKVG QF-QFWL$/2X E  COKCP CUMKGYKE  YTKVGNP 2TQITCOY[EKCICRNKMQY$/2RNKMKCMQFQYCPGRTQITCOGO-1 7,$/2  YTKVGNP 79#)#RTQITCOPKGQFTQPKCY[MN[EJRNKMQY$/2QFRNKMQY$/2UVYQTQP[EJ  YTKVGNP RTGRTQITCO-1 7,$/22T[Y[MN[EJRNKMCEJ$/2RTQITCOOQGUKGYKGUCE  YTKVGNP 2TQITCOQUVCNPCRKUCP[PCRQVTGD[MUKCMK F[ELC2NKMQY$KPCTP[EJFNC  YTKVGNP Y[FCYPKEVYC*GNKQP0KGCUVTGQPQFQPKGIQRTCYCWVQTUMKEJ  YTKVGNP 2NKM2CTCO5VT   KHRNKM VJGP$GIKP 4GRGCV YTKVG 2QFCLPCYGRNKMWMVQT[EJEGUQFMQFQYCE  TGCFNP 2NKM  WPVKN2NKM GPF 2NKM2CTCO5VT   KH2NKM VJGP$GIKP 4GRGCV YTKVG ,CMCPCFCEPCYGQFMQFQYCPGOWRNKMQYK!  TGCFNP 2NKM  WPVKN2NKM GPF GPF (WPEVKQP1MTGU4QOKCT2NKMW 2NKM:UVTKPI NQPIKPV XCTHHKNGQHD[VG $GIKP CUUKIP H2NKM:  TGUGV H  1MTGU4QOKCT2NKMWHKNGUKG H  ENQUG H  GPF 2TQEGFWTG1VYQT2NKMK $GIKP CUUKIP RRNKM  CUUKIP RRNKM  TGUGV R  TGYTKVG R  GPF 2TQEGFWTG1FE[VCL0CINQYGM $GIKP HQTCVQFQTGCF RF  4GCF ROD  TGCF RUD  4GUVCOD  UD 4QOKCT6:64QOKCT$/2   4GUVC  GPF 2TQEGFWTG9[EKCICL CPG XCTKNQPIKPV Rozdział 9. ♦ Ukrywanie tajnych informacji 207 $GIKP HQTKVQ4QOKCT6:6FQ$GIKP TGCF RF  YTKVG RF  GPF GPF 2TQEGFWTG COMPKL2NKMK $GIKP ENQUG R  ENQUG R  GPF $ )+0 0CY[2NKMQY 4QOKCT$/21MTGU4QOKCT2NKMW 2NKM  1VYQT2NKMK 1FE[VCL0CINQYGM 9[EKCICL CPG  COMPKL2NKMK 0  Program ma jedną wadę: jeśli próbujemy nim „wyciągnąć” dane z pliku BMP, który nie został 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 „znakował” pliki BMP zawierające dane — np. oprócz nagłówka informującego, ile następnych bajtów w pliku BMP to zawartość in- nego pliku, umieszczona byłaby np. 4-znakowa sygnatura. Program dekodujący po na- trafieniu na plik nie posiadający tej sygnatury informowałby, że jest to zwykły plik BMP, który 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 graficzny mi jest już gorzej, ale postanowiłem omówić kilka innych typów plików graficznych, aby docenić prostotę plików BMP. JPG Pliki JPG to skompresowane pliki bitmapowe. Jest to dość popularny typ plików gra- ficznych, gdyż można za jego pomocą kompresować bitmapy, stosując różne współ- czynniki kompresji (im większy współczynnik, tym więcej 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 polegająca na ingerencji w nagłówek nie jest dobra, gdyż w zmodyfikowanym pliku widoczne są fragmenty wyrazów z oryginalnego pliku (patrz rysunek 9.4). 208 Vademecum hakera. Edycja plików binarnych Rysunek 9.4. Plik JPG ze zmodyfikowanym nagłówkiem 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, które zo- stały stworzone w jakimś programie graficznym. Niezbyt dobrze natomiast nadają się do kompresji zdjęć, gdyż maksymalnie mogą zawierać 256 kolorów, a minimalnie 16. Pliki GIF również 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 nagłówkiem 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 był jeszcze możliwy w pro- gramie Paint w wersji dla Windows 3.11, ale już kolejne wersje tego programu dla sys- temów Windows 9x/Me/XP nie obsługiwały formatu PCX. Niestety sztuczka ze zmody- fikowaniem nagłówka również nie jest dobrym pomysłem, o czym świadczy rysunek 9.6. Rysunek 9.6. Plik PCX ze zmodyfikowanym nagłówkiem Rozdział 9. ♦ 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 nagłówek, 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 własnym formacie, to większość programów pozwala na zapisanie grafiki do pliku WMF. Z naszego punktu widzenia pliki WMF są mało użyteczne, gdyż po doko- naniu ingerencji w nagłówek plik i tak wyświetla oryginalne napisy, o czym świadczy rysunek 9.7. Rysunek 9.7. Plik WMF ze zmodyfikowanym nagłówkiem Jak w plikach EXE ukryć tajne informacje? W plikach EXE nie ma zbyt dużo miejsca, aby móc ukryć wiele tajnych informacji. Ale szczególnie w plikach EXE przeznaczonych dla systemu operacyjnego Windows znaj- dzie się kilkanaście lub kilkadziesiąt bajtów, które można swobodnie zastąpić 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 zastąpić własnymi danymi? Odpowiedź jest prosta: należy zlokalizować w pliku EXE miejsce, w którym znajdują się same zera (tzn. kody ASCII 0). Takie miejsce istnieje na samym początku pliku, gdzie znajduje się kilka-kilkanaście zer. Te pola można śmiało zastąpić własnymi 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 przywrócić plik z kopii za- pasowej. Jeśli nam się poszczęści, można znaleźć całkiem spory fragment pliku EXE, w którym da się zmieścić nawet 1,5 KB danych! Przykładem takiego pliku EXE jest program txt2ascii, który znajduje się na płycie CD-ROM w katalogu aplikacje/tools. Pod offsetem J znajduje się 1,5 KB wolnego miejsca. Dotyczy to również wszystkich pli- ków EXE, które były kompilowane w Microsoft Visual Basic 6.0. Niestety nie wszyst- kie pliki wykonywalne posiadają w swym wnętrzu aż tak dużo miejsca, które można zagospodarować. Ale nic nie stoi na przeszkodzie, aby do pliku EXE coś dopisać. Bez większego problemu na końcu pliku EXE dodałem plik tekstowy o rozmiarze 15 KB, 210 Vademecum hakera. Edycja plików binarnych a program nadal działał poprawnie. Dotyczy to również plików COM. Jednak przed dodaniem na końcu pliku EXE pewnych informacji warto jest wykonać kopię takiego pliku. Aby do pliku EXE dopisać dane, należy wykonać następujące 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ć cały tekst i skopiować go do schowka. 5. W programie Hex Workshop należy umieścić kursor na końcu pliku. 6. Z menu Edit wybrać pozycję Paste Special. 7. Pojawi się okno dialogowe, w którym 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 również do pliku EXE dopisać zawartość innego pliku binarnego. Aby tego do- konać, należy wykonać następujące czynności: 1. W programie Hex Workshop otworzyć plik EXE oraz plik, który 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ć cały plik (podczas tej operacji zaznaczyć tę część, w której umieszczone są heksadecymalne cyfry). 4. Umieścić kursor na końcu pliku EXE. 5. Z menu Edit wybrać pozycję Paste Special. Pojawi się okno dialogowe, w którym 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 napisałem malutki program, który wykona to za nas (patrz listing 9.4). Należy tylko podać nazwę pliku, z którego należy „odkleić” binarny fragment, nazwę nowego pliku oraz długość naszego nowego pliku binarnego (czyli ile ostatnich bajtów należy skopiować do nowego pliku). Programik napisałem w FPC, więc można go swobodnie uruchomić zarówno w systemie MS-DOS (Windows), jak i w sys- temie Linux. Listing 9.4. odklej.pas — program zapisujący do innego pliku ostatnie x bajtów dowolnego pliku 2TQITCO1FMNGL WUGUETV XCT 22HKNGQHD[VG Rozdział 9. ♦ Ukrywanie tajnych informacji 211 9KGNMQUE2NKMW+NG5MQRKQYCENQPIKPV 2TQEGFWTG1VYQT2NKMK 2NKM2NKMUVTKPI HQTYCTF 2TQEGFWTG2[VCL XCT 2NKM2NKMUVTKPI MQFKPVGIGT $GIKP ENTUET YTKVGNP 1FMNGLX E  COKCP CUMKGYKE  YTKVGNP 2TQITCOFQQUQDPGIQRNKMWMQRKWLGZQUVCVPKEJDCLVQYKPPGIQRNKMW  YTKVGNP 2NKM2CTCOUVT   KH2NKM VJGPDGIKP TGRGCV YTKVG 2QFCLPCYGRNKMWYGLUEKQYGIQ   TGCFNP 2NKM  WPVKNRNKM GPF 2NKM2CTCOUVT   KH2NKM VJGP$GIKP TGRGCV YTKVG 2QFCLPCYGRNKMWY[LUEKQYGIQ   TGCFNP 2NKM  WPVKNRNKM  GPF XCN RCTCOUVT  +NG5MQRKQYCEMQF  KH+NG5MQRKQYCEVJGP$GIKP TGRGCV YTKVG 2QFCLKNGQUVCVPKEJDCLVQYOCOUMQRKQYCE  TGCFNP +NG5MQRKQYCE  WPVKN+NG5MQRKQYCE  GPF 1VYQT2NKMK 2NKM2NKM  GPF 2TQEGFWTG1VYQT2NKMK 2NKM2NKMUVTKPI  XCT+NQPIKPV  D[VG $GIKP CUUKIP RRNKM  TGUGV R  CUUKIP R2NKM  4GYTKVG 2  9KGNMQUE2NKMW HKNGUKG R  HQTKVQ9KGNMQUE2NKMW+NG5MQRKQYCEFQ4GCF 2  HQTKVQ+NG5MQRKQYCEFQ$GIKP 4GCF 2  9TKVG 2  GPF 212 Vademecum hakera. Edycja plików binarnych ENQUG R  ENQUG R  GPF $GIKP 2[VCL GPF Celowe uszkadzanie plików Dość prostym sposobem na ukrycie informacji jest uszkodzenie pliku. Być może brzmi to dziwnie, ale jest to bardzo proste i skuteczne rozwiązanie, gdyż większość progra- mów nie będzie w stanie otworzyć uszkodzonych plików. Aby otworzyć uszkodzony plik, należy go naprawić. Poniżej opiszę kilka typów plików, które można uszkodzić i przedstawię metody ich uszkadzania. Pliki DOC Jest to dość popularny typ plików. Pliki te tworzone są przez program Microsoft Word, który jest najpopularniejszym edytorem tekstu w systemie Windows. Pliki DOC otwie- rane są przez kilka innych programów, np. StarOffice lub OpenOffice dla systemów Li- nux i Windows czy choćby zwykły WordPad, dołączony do systemu operacyjnego Win- dows. Pliki DOC oprócz tekstu mogą zawierać również rysunki i wykresy. Aby uszkodzić plik DOC, nie trzeba się wcale natrudzić. Wystarczy otworzyć taki plik w programie Hex Workshop (lub dowolnym innym edytorze plików 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 ciągi znaków („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”, między nimi będzie widoczny zwykły tekst (patrz rysunek 9.8). Rysunek 9.8. Uszkodzony plik DOC Rozdział 9. ♦ Ukrywanie tajnych informacji 213 Pliki EXE Pliki EXE są plikami wykonywalnymi. Uszkodzenie plików EXE nie jest trudne. Pliki EXE posiadają własny nagłówek, który zaczyna się od znaków / (lub /). Wystarczy zmienić te 2 znaki na jakieś inne, np. XX, i plik EXE będzie uznawany za uszkodzo- ny. Na rysunku 9.9 przedstawiono komunikat, jaki pojawi się przy próbie uruchomie- nia uszkodzonego pliku EXE. Rysunek 9.9. Komunikat pojawiający się podczas próby uruchomienia uszkodzonego pliku EXE Przed uszkodzeniem pliku EXE można do niego dodać jakąś bitmapę, zawierającą np. hasła do kont pocztowych. Po uszkodzeniu pliku edytory zasobów nie otworzą go, gdyż uznają go za uszkodzony. Pliki ZIP Pliki ZIP są to pliki popularnego programu pakującego WinZip, służącego do pakowa- nia innych plików, czyli zmniejszania ich objętości za pomocą skomplikowanych algo- rytmów. Plik ZIP może zawierać jeden skompresowany plik lub więcej plików. Pliki ZIP bardzo dobrze nadają się do ukrywania tajnych informacji, gdyż można spakować kilka ważnych plików do jednego pliku ZIP, a potem uszkodzić tylko jeden plik ZIP — nie trzeba po kolei uszkadzać wielu plików. Pliki ZIP, podobnie jak pliki poprzednio omó- wione, posiadają nagłówek. Dwa pierwsze bajty pliku PK informują, iż jest to plik ZIP. Po zmianie tych bajtów na dowolne inne plik automatycznie zostaje uszkodzony. Nie- które programy takowy plik otworzą i nawet wyświetlą pliki, jakie zostały skompreso- wane, ale już ich nie rozpakują; z kolei inne programy w ogóle nawet nie otworzą ta- kiego pliku. Inne pliki Nie sposób tutaj omówić wszystkich możliwych plików, które można uszkodzić. Jednak chyba zauważyłeś pewien uniwersalny wzorzec: zwykle wystarczy zamienić 2 pierwsze bajty na inne, aby plik nie mógł być otworzony przez program, w którym został utwo- rzony. Zachęcam do dalszego eksperymentowania!
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Vademecum hakera. Edycja plików binarnych
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: