Asembler. Programowanie

Товар

2 840  ₽
Asembler. Programowanie

Доставка

  • Почта России

    1412 ₽

  • Курьерская доставка EMS

    1768 ₽

Характеристики

Артикул
16110735001
Состояние
Новый
Język publikacji
polski
Waga produktu z opakowaniem jednostkowym
0.335 kg
Okładka
miękka
Nośnik
książka papierowa
Rok wydania
2019
Tematyka
Techniki programowania
Tytuł
Asembler Programowanie
Autor
Dawid Farbaniec
Wydawnictwo
Helion
Liczba stron
216
Numer wydania
2
Szerokość produktu
16 cm
Wysokość produktu
23 cm

Описание

Asembler. Programowanie

Asembler. Programowanie

Dawid Farbaniec

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!

O autorze książki

mgr inż. Dawid Farbaniec ukończył kierunek Informatyka na Karpackiej Państwowej Uczelni w Krośnie (dawniej Państwowa Wyższa Szkoła Zawodowa im. Stanisława Pigonia w Krośnie). Swoją przygodę z programowaniem rozpoczął pod koniec szkoły podstawowej, kiedy dostał pierwszy komputer (Intel Celeron 333Mhz, 128 MB RAM, 6 GB HDD).  Zafascynowany językiem Asembler, wirusami komputerowymi i tematyką cybersecurity. Chętny do pomocy i dzielenia się wiedzą. W 2011 roku zdobył certyfikat Microsoft IT Academy: C#.NET Programowanie obiektowe

Spis treści:

  • 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

Гарантии

  • Гарантии

    Мы работаем по договору оферты и предоставляем все необходимые документы.

  • Лёгкий возврат

    Если товар не подошёл или не соответсвует описанию, мы поможем вернуть его.

  • Безопасная оплата

    Банковской картой, электронными деньгами, наличными в офисе или на расчётный счёт.

Отзывы о товаре

Рейтинг товара 4.7 / 5

37 отзывов

Russian English Polish