Bezpieczne programowanie. Aplikacje hakeroodporne
1. Folder Source Folder Source zawiera przykłady zawarte w treści książki:
- HelloCpp (aplikacja HelloCpp będąca podstawą programów przykładowych w rozdziale 2.3;
- R 2.3.1 (przykład z rozdziału 2.3.1) — CrackMe1 to program demonstrujący, jak łamane są najprostsze zabezpieczenia i na czym polega ich słabość;
- R 2.3.2 (przykład z rozdziału 2.3.2) — CrackMe2 to program demonstrujący, jak łamane są najprostsze zabezpieczenia i na czym polega ich słabość. Jest lepiej zabezpieczony niż CrackMe1, ale wciąż niewystarczająco;
- R 2.3.ZAD (przykład z rozdziału 2.3.2) — CrackMe3 to program, który powstał na podstawie CrackMe1 i CrackMe2 opisanych w rozdziałach 2.3.1 i 2.3.2. Jest on lepiej zabezpieczony, ale wciąż niewystarczająco. Może służyć jako pole doświadczalne dla Czytelnika;
- R 3.5.2 (przykład z rozdziału 3.5.2) — skrypt wyznaczający wartość funkcji skrótu MD5 napisany w języku Javascript;
- R 3.5.3 (przykład z rozdziału 3.5.3) — skrypt wyznaczający wartość funkcji skrótu SHA-1 napisany w języku Javascript;
- R 4.3 (przykłady z rozdziału 4.3 — przekazywanie danych między skryptami;
- R 4.4 (przykłady z rozdziału 4.4 — sprawdzanie tożsamości użytkownika;
- R 4.5 (przykłady z rozdziału 4.5) — użycie niebezpiecznych instrukcji;
- R 4.6 (przykład z rozdziału 4.6) — bezpieczna obsługa błędów;
- R 4.7 (przykład z rozdziału 4.7) — bezpieczeństwo systemu plików;
- R 4.9 (przykłady z rozdziału 4.9) — wstrzykiwanie kodu SQL (SQL injection);
- R 4.13 (przykłady z rozdziału 4.13) — przejęcie sesji (session fixation);
- R 4.14 (przykłady z rozdziału 4.14) — zatruwanie sesji (session poisoning);
- R 4.17 (przykład z rozdziału 4.17) — zaciemnianie kodu PHP;
- R 5.3.2 (przykład z rozdziału 5.3.2) — folder zawiera przykład sprawdzania w trakcie działania programu, czy jego plik wykonywalny nie uległ zmianie;
- R 5.3.3 (przykład z rozdziału 5.3.3) — folder zawiera przykład sprawdzania w trakcie działania programu, czy kod uruchamianej metody nie uległ zmianie;
- R 5.4.4 (przykład z rozdziału 5.4.4) — przykład bezpiecznego przechowywania danych w pliku;
- R 5.5.4 (przykład z rozdziału 5.5.4) — program utrudniający debugowanie poprzez kontrolę czasu wykonywania fragmentów kodu;
- R 5.6.1 (przykład z rozdziału 5.6.1) — przykład prezentuje zabezpieczenie programu za pomocą klucza programowego;
- R 5.6.3 (przykład z rozdziału 5.6.3) — przykład prezentuje zabezpieczenie fragmentu programu poprzez szyfrowanie za pomocą numeru seryjnego (program jest następnie deszyfrowany w trakcie działania;
- R 6.3.2 (przykład z rozdziału 6.3.2) — program prezentuje generator zabezpieczeń utrudniających debugowanie;
- R 9.3.1 (przykłady z rozdziału 9.3.1).
- upx.exe — program kompresujący UPX wersja 3.0.3 (wersja dla systemu Windows 32-bit), omówiony w rozdziale 2.4;
- odbg110.zip — debuger kodu OllyDbg, omówiony w rozdziale 2.3;
- free-hex-editor-neo.exe — instalator programu Free Hex Editor Neo służącego do edycji plików binarnych, omówiony w rozdziale 2.3;
- aspr14demo.zip — system zabezpieczający AsProtect 1.4 wersja demo, omówiony w rozdziale 2.4;
- netz-bin-20— program kompresujący aplikacje dla środowiska .NET, omówiony w rozdziale 2.4;
- resedit — program ResEdit służący do edycji zasobów aplikacji.