Książka jest NOWA, w stanie IDEALNYM. Niezależnie od ilości zakupionych książek płacisz tylko jednorazowy koszt wysyłki. C++. Elementarz hakera
Wydawnictwo: Helion Poznaj techniki tworzenia programów, które zadziwią użytkowników swoim działaniem - Zoptymalizuj kod źródłowy
- Napisz programy wykorzystujące elementy pulpitu Windows
- Naucz się zasad programowania sieciowego
Haker, wbrew utartym poglądom, nie jest osobą, której głównym celem jest niszczenie -- haker to ktoś, kto podchodzi do standardowych problemów programistycznych w niestandardowy sposób, tworząc własne rozwiązania, często zaskakujące innych. Opracowywanie takich nietypowych rozwiązań wymaga wszechstronnej wiedzy z zakresu programowania, znajomości systemu operacyjnego i umiejętności wynajdowania i stosowania nieudokumentowanych funkcji języków programowania i platform systemowych. "C++. Elementarz hakera" to książka przeznaczona dla wszystkich tych, którym "zwykłe" programowanie już nie wystarcza i którzy chcą stworzyć coś wyjątkowego. Przedstawia techniki, dzięki którym programy będą działać szybciej, a efekty ich działania będą zachwycać i zaskakiwać. Czytając ją, nauczysz się pisać aplikacje, które rozbawią lub zirytują innych użytkowników, tworzyć narzędzia do skanowania portów oraz wykorzystywać wiedzę o systemach operacyjnych i językach programowania do optymalizacji i przyspieszania działania programów. - Optymalizacja kodu źródłowego i usuwanie wąskich gardeł
- Zasady prawidłowego projektowania aplikacji
- Tworzenie programów-żartów
- Programowanie w systemie Windows
- Sieci i protokoły sieciowe
- Implementacja obsługi sieci we własnych aplikacjach
- Sztuczki ze sprzętem
- Techniki hakerskie
Wiedząc, jak działają hakerzy, będziesz mógł zabezpieczyć swoje aplikacje przed atakami tych, którzy swoją wiedzę wykorzystują w niewłaściwy sposób.
Spis treści: Wstęp (7)
Wprowadzenie (9)
- O książce (9)
- Kim jest haker? Jak zostać hakerem? (11)
Rozdział 1. Jak uczynić program zwartym, a najlepiej niewidzialnym? (19)
- 1.1. Kompresowanie plików wykonywalnych (19)
- 1.2. Ani okna, ani drzwi... (24)
- 1.3. Wnętrze programu (30)
- 1.3.1. Zasoby projektu (31)
- 1.3.2. Kod źródłowy programu (33)
- 1.4. Optymalizacja programu (43)
- Zasada 1. Optymalizować można wszystko (44)
- Zasada 2. Szukaj wąskich gardeł i słabych ogniw (44)
- Zasada 3. W pierwszej kolejności optymalizuj operacje często powtarzane (45)
- Zasada 4. Pomyśl dwa razy, zanim zoptymalizujesz operacje jednorazowe (47)
- Zasada 5. Poznaj wnętrze komputera i sposób jego działania (48)
- Zasada 6. Przygotuj tabele gotowych wyników obliczeń i korzystaj z nich w czasie działania programu (49)
- Zasada 7. Nie ma niepotrzebnych testów (50)
- Zasada 8. Nie bądź nadgorliwy (50)
- Podsumowanie (51)
- 1.5. Prawidłowe projektowanie okien (51)
- 1.5.1. Interfejs okna głównego (54)
- 1.5.2. Elementy sterujące (55)
- 1.5.3. Okna dialogowe (55)
Rozdział 2. Tworzenie prostych programów-żartów (61)
- 2.1. Latający przycisk Start (62)
- 2.2. Zacznij pracę od przycisku Start (71)
- 2.3. Zamieszanie z przyciskiem Start (73)
- 2.4. Więcej dowcipów z paskiem zadań (76)
- 2.5. Inne żarty (83)
- Jak "zgasić" monitor? (83)
- Jak uruchamiać systemowe pliki CPL? (83)
- Jak wysunąć tackę napędu CD-ROM? (84)
- Jak usunąć zegar z paska zadań? (86)
- Jak ukryć cudze okno? (86)
- Jak ustawić własną tapetę pulpitu? (87)
- 2.6. Berek z myszą (88)
- Szalona mysz (88)
- Latające obiekty (89)
- Mysz w klatce (90)
- Jak zmienić kształt wskaźnika myszy? (91)
- 2.7. Znajdź i zniszcz (92)
- 2.8. Pulpit (93)
- 2.9. Bomba sieciowa (94)
Rozdział 3. Programowanie w systemie Windows (97)
- 3.1. Manipulowanie cudzymi oknami (97)
- 3.2. Gorączkowa drżączka (102)
- 3.3. Przełączanie ekranów (103)
- 3.4. Niestandardowe okna (107)
- 3.5. Finezyjne kształty okien (113)
- 3.6. Sposoby chwytania nietypowego okna (119)
- 3.7. Ujawnianie haseł (121)
- 3.7.1. Biblioteka deszyfrowania haseł (122)
- 3.7.2. Deszyfrowanie hasła (126)
- 3.7.3. Obróćmy to w żart (128)
- 3.8. Monitorowanie plików wykonywalnych (130)
- 3.9. Zarządzanie ikonami pulpitu (132)
- 3.9.1. Animowanie tekstu (133)
- 3.9.2. Odświeżanie pulpitu (134)
- 3.10. Żarty z wykorzystaniem schowka (134)
Rozdział 4. Sieci komputerowe (139)
- 4.1. Teoria sieci i protokołów sieciowych (139)
- 4.1.1. Protokoły sieciowe (141)
- Protokół IP (142)
- Protokół ARP a protokół RARP (143)
- 4.1.2. Protokoły transportowe (143)
- Protokół UDP - szybki (143)
- Protokół TCP - wolniejszy, ale solidniejszy (144)
- TCP - zagrożenia i słabości (145)
- 4.1.3. Protokoły warstwy aplikacji - tajemniczy NetBIOS (145)
- 4.1.4. NetBEUI (146)
- 4.1.5. Gniazda w Windows (147)
- 4.1.6. Protokoły IPX/SPX (147)
- 4.1.7. Porty (148)
- 4.2. Korzystanie z zasobów otoczenia sieciowego (148)
- 4.3. Struktura otoczenia sieciowego (151)
- 4.4. Obsługa sieci za pośrednictwem obiektów MFC (158)
- 4.5. Transmisja danych w sieci za pośrednictwem obiektu CSocket (165)
- 4.6. Bezpośrednie odwołania do biblioteki gniazd (174)
- 4.6.1. Obsługa błędów (175)
- 4.6.2. Wczytywanie biblioteki gniazd (175)
- 4.6.3. Tworzenie gniazda (179)
- 4.6.4. Funkcje strony serwera (180)
- 4.6.5. Funkcje strony klienta (184)
- 4.6.6. Wymiana danych (186)
- 4.6.7. Zamykanie połączenia (191)
- 4.6.8. Zasady stosowania protokołów bezpołączeniowych (192)
- 4.7. Korzystanie z sieci za pośrednictwem protokołu TCP (194)
- 4.7.1. Przykładowy serwer TCP (194)
- 4.7.2. Przykładowy klient TCP (199)
- 4.7.3. Analiza przykładów (202)
- 4.8. Przykłady wykorzystania protokołu UDP (204)
- 4.8.1. Przykładowy serwer UDP (204)
- 4.8.2. Przykładowy klient UDP (205)
- 4.9. Przetwarzanie odebranych danych (207)
- 4.10. Wysyłanie i odbieranie danych (209)
- 4.10.1. Funkcja select (210)
- 4.10.2. Prosty przykład stosowania funkcji select (211)
- 4.10.3. Korzystanie z gniazd za pośrednictwem komunikatów systemowych (213)
- 4.10.4. Asynchroniczna wymiana danych z wykorzystaniem obiektów zdarzeń (220)
Rozdział 5. Obsługa sprzętu (223)
- 5.1. Parametry podsystemu sieciowego (223)
- 5.2. Zmiana adresu IP komputera (229)
- 5.3. Obsługa portu szeregowego (234)
- 5.4. Pliki zawieszające system (239)
Rozdział 6. Sztuczki, kruczki i ciekawostki (241)
- 6.1. Algorytm odbioru-wysyłania danych (242)
- 6.2. Szybki skaner portów (245)
- 6.3. Stan portów komputera lokalnego (252)
- 6.4. Serwer DHCP (257)
- 6.5. Protokół ICMP (260)
- 6.6. Śledzenie trasy wędrówki pakietu (267)
- 6.7. Protokół ARP (273)
Podsumowanie (283)
Skorowidz (285)
|