ksiegarnia-fachowa.pl
wprowadź własne kryteria wyszukiwania książek: (jak szukać?)
Twój koszyk:   0 zł   zamówienie wysyłkowe >>>
Strona główna > opis książki

ASEMBLER PROGRAMOWANIE


FARBANIEC D.

wydawnictwo: HELION , rok wydania 2019, wydanie I

cena netto: 47.10 Twoja cena  44,75 zł + 5% vat - dodaj do koszyka

Asembler

Programowanie

Asembler naprawdę jest dla każdego!

Masz zamiar nauczyć się programować niskopoziomowo?
Chcesz poznać język Asembler dla architektury x86-64?
Pragniesz wykorzystać przydatne narzędzia programistyczne?

Jeśli chociaż na jedno z powyższych pytań odpowiedziałeś twierdząco, jesteś na dobrej drodze! Książka Asembler. Programowanie bezboleśnie i szybko wprowadzi Cię w tajniki programowania niskopoziomowego, nauczy instrukcji języka Asembler, przedstawi podstawowe informacje o sposobach zapisu liczb i kodowania znaków, zaprezentuje architekturę x86-64 i zasadę działania kompilatorów, a także pokaże narzędzia programistyczne, które z pewnością wzbogacą Twój warsztat.

Dzięki lekturze dowiesz się, jak za pomocą Asemblera tworzyć aplikacje działające w systemach Windows, jak korzystać w nich z danych tekstowych, plików i usług sieciowych, a także jak skutecznie łączyć je z programami napisanymi w języku C++.

Poznasz też podstawy Asemblera MSIL/CIL i WebAssembly, jak również sposoby wykorzystania tego języka w inżynierii odwrotnej kodu oraz narzędzia, które mogą się do tego przydać. Całość uzupełnia wyczerpujący opis instrukcji procesorów x86(-64) wraz z praktycznymi przykładami ich zastosowania.


Systemy liczbowe i kodowanie znaków
Podstawy działania kompilatorów
Architektura procesorów x86(-64)
Przegląd narzędzi programistycznych
Podstawy Asemblera x86 i x86-64
Zmienne, stałe, typy i struktury
Instrukcje sterujące i wywoływanie funkcji
Korzystanie z konsoli i okien dialogowych
Zastosowanie danych tekstowych
Użycie plików i funkcji sieciowych
Łączenie Asemblera z kodem C++
Asembler i inżynieria odwrotna kodu
Podstawy Asemblera platformy .NET
Podstawy WebAssembly
Opis instrukcji procesorów x86(-64)

Rozwiń skrzydła! Naucz się Asemblera!

Słowem wstępu
O książce
O autorze

Część I Wprowadzenie

Rozdział 1. Od początku
1.1. Systemy liczbowe
1.2. Liczby ze znakiem i bez znaku
Wartość rozszerzona z zachowaniem znaku
1.3. Kod ASCII i Unicode
1.4. Systemy operacyjne Windows
1.5. Podstawy działania kompilatorów

Rozdział 2. Architektura procesorów x86(-64)
2.1. Tryby pracy
2.2. Rejestry procesora
2.3. Pamięć operacyjna
2.4. Stos
2.5. Tryby adresowania
2.6. Kod maszynowy
2.7. Format kodowania instrukcji
2.8. Przerwania
2.9. Zestawy instrukcji
2.10. Koprocesor

Rozdział 3. Narzędzia programistyczne
3.1. Visual Studio i rozszerzenie do programowania w Asemblerze
Tworzenie projektu MASM w Visual Studio
3.2. Alternatywne podejście wyodrębnienie narzędzi konsolowych
3.3. Edytor zasobów
3.4. Edytor heksadecymalny
3.5. Debugger

Rozdział 4. Wstęp do Asemblera x86
4.1. Trochę historii Asembler dla 16-bitowego podsystemu MS-DOS
4.2. Program Witaj, 32-bitowy świecie Asemblera!
4.3. Składnia wysokopoziomowa w Asemblerze

Rozdział 5. Wstęp do Asemblera x86-64
5.1. Program Witaj, 64-bitowy świecie Asemblera!
5.2. Debugger analiza programu krok po kroku
5.3. Zmienne i stałe
Typy całkowite
Zmienne o rozmiarze bajta lub ciągu bajtów
Zmienne o rozmiarze słowa
Zmienne o rozmiarze podwójnego słowa
Zmienne o rozmiarze poczwórnego słowa
Zmienne o rozmiarze sześciu bajtów
Zmienne o rozmiarze dziesięciu bajtów
Zmienna o rozmiarze szesnastu bajtów
Typy zmiennoprzecinkowe
Struktury
Stałe
5.4. Instrukcje skoku warunkowego i bezwarunkowego
5.5. Etykiety nazwane i anonimowe
5.6. Metody tworzenia pętli
5.7. Konwencje wywoływania funkcji
5.8. Tworzenie własnych funkcji (procedur)

Część II Programowanie w Asemblerze x86-64 dla Windows

Rozdział 6. Podstawy programowania aplikacji Windows
6.1. Tworzenie konsoli tekstowej
6.2. Pobieranie i wyświetlanie danych
6.3. Kolory tła i tekstu w konsoli
6.4. Tworzenie okna dialogowego
6.5. Kontrolki interfejsu graficznego użytkownika

Rozdział 7. Napisy (ciągi znaków)
7.1. Deklaracja ciągów znaków
7.2. Dyrektywa byte ptr [] i podobne
7.3. Kopiowanie napisów

Rozdział 8. Informacje o środowisku pracy
8.1. Identyfikacja procesora
8.2. Odczytywanie wersji systemu

Rozdział 9. Praca z plikami
9.1. Tworzenie plików i folderów
9.2. Zapis danych do pliku
9.3. Odczyt danych z pliku
9.4. Ustawianie wskaźnika pliku
9.5. Usuwanie plików
9.6. Zamykanie uchwytu pliku

Rozdział 10. Podstawy wielozadaniowości
10.1. Wątki
10.2. Procesy
10.3. Czasomierz

Rozdział 11. Programowanie sieciowe
11.1. Obsługa protokołu FTP
11.2. Gniazda systemu Windows
Funkcje WinSock
Aplikacja w architekturze klient serwer

Rozdział 12. Łączenie Asemblera z językiem C++
12.1. Funkcje Asemblera w projekcie Visual C++
12.2. Funkcje wewnętrzne (ang. intrinsics) w Visual C++
Przykład użycia funkcji wewnętrznej (ang. intrinsic)

Część III Asembler x86-64 w inżynierii odwrotnej kodu (RCE)

Rozdział 13. Narzędzia używane w RCE
13.1. Podstawowe narzędzia
Odpluskwiacz (ang. debugger)
Deasembler (ang. disassembler)
Edytor szesnastkowy (heksadecymalny)
Identyfikator plików
Edytor zasobów (ang. resource editor)
Dekompilator (ang. decompiler)
13.2. Więcej narzędzi szybsza praca

Rozdział 14. Format plików Portable Executable
14.1. Ogólna budowa pliku PE
14.2. Przeglądanie struktury pliku PE

Rozdział 15. Proste metody utrudniające analizę
15.1. Szyfrowanie napisów
15.2. Wykrywanie narzędzi typu debugger
15.3. Dynamiczne wywoływanie funkcji API
15.4. Wykrywanie okna określonego narzędzia
15.5. Śmieciowy kod (ang. junk code)

Rozdział 16. Modyfikacja plików wykonywalnych PE
16.1. Modyfikacja kodu w debuggerze
16.2. Modyfikacja kodu w edytorze szesnastkowym
16.3. Tworzenie programu typu crack

Część IV Inne odmiany języka Asembler

Rozdział 17. Wprowadzenie do MSIL/CIL Asemblera platformy .NET
17.1. MSIL/CIL informacje ogólne
17.2. Program Witaj, świecie! w Asemblerze MSIL
17.3. Dekompilacja uzyskanie kodu pośredniego z pliku EXE
Metody ochrony przed dekompilacją i analizą

Rozdział 18. Wprowadzenie do WebAssembly Asemblera dla aplikacji webowych
18.1. WebAssembly informacje ogólne
18.2. Program Witaj, świecie WebAssembly!

Część V Instrukcje procesorów x86(-64)

Rozdział 19. Asembler x86(-64) instrukcje ogólnego przeznaczenia

19.1. Instrukcje transferu danych
Instrukcja MOV
Instrukcje kopiowania warunkowego CMOVcc
Instrukcja XCHG
Instrukcja BSWAP
Instrukcja XADD
Instrukcja CMPXCHG
Instrukcje CMPXCHG8B/CMPXCHG16B
Instrukcja PUSH
Instrukcja POP
Instrukcje PUSHA/PUSHAD
Instrukcje POPA/POPAD
Instrukcje CWD/CDQ/CQO
Instrukcje CBW/CWDE/CDQE
Instrukcje MOVSX/MOVSXD
Instrukcja MOVZX
19.2. Instrukcje arytmetyczne
Instrukcja ADCX
Instrukcja ADOX
Instrukcja ADD
Instrukcja ADC
Instrukcja SUB
Instrukcja SBB
Instrukcja IMUL
Instrukcja MUL
Instrukcja IDIV
Instrukcja DIV
Instrukcja INC
Instrukcja DEC
Instrukcja NEG
Instrukcja CMP
19.3. Instrukcje logiczne
Instrukcja AND
Instrukcja OR
Instrukcja XOR
Instrukcja NOT
19.4. Instrukcje przesunięć i obrotów
Instrukcje SAL/SHL
Instrukcja SAR
Instrukcja SHR
Instrukcja RCL
Instrukcja RCR
Instrukcja ROL
Instrukcja ROR
Instrukcja SHRD
Instrukcja SHLD
19.5. Instrukcje do operacji na bitach i bajtach
Instrukcja BT
Instrukcja BTS
Instrukcja BTR
Instrukcja BTC
Instrukcja BSF
Instrukcja BSR
Instrukcje SETcc
Instrukcja TEST
Instrukcja CRC32
Instrukcja POPCNT
19.6. Instrukcje manipulacji bitowych
Instrukcja ANDN
Instrukcja BEXTR
Instrukcja BLSI
Instrukcja BLSMSK
Instrukcja BLSR
Instrukcja BZHI
Instrukcja LZCNT
Instrukcja MULX
Instrukcja PDEP
Instrukcja PEXT
Instrukcja RORX
Instrukcje SARX, SHLX, SHRX
Instrukcja TZCNT
19.7. Instrukcje kontroli przepływu
Instrukcja JMP
Instrukcje Jcc
Instrukcje LOOP/LOOPcc
Instrukcja CALL
Instrukcja RET
19.8. Instrukcje do operacji na napisach
Instrukcje MOVS*
Instrukcje CMPS*
Instrukcje LODS*
Instrukcje STOS*
Instrukcje SCAS*
19.9. Instrukcje wejścia-wyjścia
Instrukcja IN
Instrukcja OUT
Instrukcje INS*
Instrukcje OUTS*
19.10. Instrukcje kontroli flag
19.11. Instrukcje różne
Instrukcja LEA
Instrukcja NOP
Instrukcja UD2
Instrukcja CPUID
Instrukcja MOVBE
Zakończenie

216 stron, Format: 16.0x23.0cm, oprawa miękka


Po otrzymaniu zamówienia poinformujemy,
czy wybrany tytuł polskojęzyczny lub anglojęzyczny jest aktualnie na półce księgarni.

 
Wszelkie prawa zastrzeżone PROPRESS sp. z o.o. 2012-2024