Niebieski lis. Polecenia procesor - Helion
ebook
Autor: Maria MarkstedterTytuł oryginału: Blue Fox: Arm Assembly Internals and Reverse Engineering
ISBN: 978-83-289-0676-1
stron: 408, Format: ebook
Data wydania: 2024-03-26
Księgarnia: Helion
Cena książki: 48,95 zł (poprzednio: 87,41 zł)
Oszczędzasz: 44% (-38,46 zł)
Osoby które kupowały "Niebieski lis. Polecenia procesor", wybierały także:
- Windows Media Center. Domowe centrum rozrywki 66,67 zł, (8,00 zł -88%)
- Przywództwo w świecie VUCA. Jak być skutecznym liderem w niepewnym środowisku 58,64 zł, (12,90 zł -78%)
- Mapa Agile & Scrum. Jak si 57,69 zł, (15,00 zł -74%)
- Sztuka podst 53,46 zł, (13,90 zł -74%)
- Lean dla bystrzaków. Wydanie II 49,62 zł, (12,90 zł -74%)
Spis treści
Niebieski lis. Polecenia procesorów Arm i inżynieria wsteczna eBook -- spis treści
Spis treści
O autorce
Podziękowania
Wprowadzenie
Część I. Asembler procesora Arm
- Rozdział 1. Wprowadzenie do inżynierii wstecznej
- Wprowadzenie do asemblera
- Bity i bajty
- Kodowanie znaków
- Kod maszynowy i asembler
- Asemblacja
- Języki wysokiego poziomu
- Dezasemblacja
- Dekompilacja
- Wprowadzenie do asemblera
- Rozdział 2. Właściwości formatu plików ELF
- Struktura programu
- Języki wysokiego poziomu a języki niskiego poziomu
- Proces kompilacji
- Kompilacja pod kątem różnych architektur
- Asemblacja i linkowanie
- Struktura pliku ELF
- Nagłówek pliku ELF
- Pola informacyjne nagłówka pliku ELF
- Pola platformy docelowej
- Pole punktu wejściowego
- Pola lokalizacji tabel
- Nagłówki programu ELF
- Nagłówek programu PHDR
- Nagłówek programu INTERP
- Nagłówki programu LOAD
- Nagłówek programu DYNAMIC
- Nagłówek programu NOTE
- Nagłówek programu TLS
- Nagłówek programu GNU_EH_FRAME
- Nagłówek programu GNU_STACK
- Nagłówek programu GNU_RELRO
- Nagłówki sekcji pliku ELF
- Metasekcje pliku ELF
- Główne sekcje pliku ELF
- Symbole
- Sekcja dynamiczna i ładowanie dynamiczne
- Ładowanie zależności (NEEDED)
- Relokacje programu
- Sekcje inicjalizacji i terminacji programu
- Pamięć lokalna wątków
- Model dostępu local-exec
- Model dostępu TLS initial-exec
- Model dostępu TLS general-dynamic
- Model dostępu TLS local-dynamic
- Rozdział 3. Podstawy systemu operacyjnego
- Ogólna architektura systemu operacyjnego
- Tryb użytkownika a tryb jądra
- Procesy
- Wywołania systemowe
- Wątki
- Zarządzanie pamięcią procesu
- Strony pamięci
- Zabezpieczenia pamięci
- Pamięć anonimowa i mapowana
- Randomizacja układu przestrzeni adresowej
- Implementacje stosu
- Pamięć współdzielona
- Ogólna architektura systemu operacyjnego
- Rozdział 4. Architektura Arm
- Architektury i profile
- Architektura Armv8-A
- Poziomy wyjątków
- Stany wykonywania Armv8-A
- Stan wykonywania AArch64
- Zestaw rozkazów A64
- Rejestry AArch64
- PSTATE
- Stan wykonywania AArch32
- Zestawy rozkazów A32 i T32
- Rejestry AArch32
- Rejestr bieżącego stanu programu
- Rejestry stanu wykonywania
- Rozdział 5. Rozkazy przetwarzania danych
- Operacje przesunięcia i obrotu
- Przesunięcie logiczne w lewo
- Przesunięcie logiczne w prawo
- Przesunięcie arytmetyczne w prawo
- Obrót w prawo
- Obrót w prawo z przeniesieniem
- Formy rozkazów
- Operacje manipulacji bitami
- Operacje logiczne
- Binarna operacja AND
- Binarna operacja OR
- Binarna operacja OR wykluczającego
- Operacje arytmetyczne
- Dodawanie i odejmowanie
- Porównywanie
- Operacje mnożenia
- Operacje mnożenia w zestawie A64
- Operacje mnożenia w zestawach A32/T32
- Operacje dzielenia
- Operacje przeniesienia
- Przeniesienie stałej wartości bezpośredniej
- Przeniesienie rejestru
- Przeniesienie z negacją
- Operacje przesunięcia i obrotu
- Rozdział 6. Rozkazy dostępu do pamięci
- Podstawowe informacje
- Tryby adresowania i formy offsetu
- Adresowanie z offsetem
- Tryb preindeksowany
- Adresowanie postindeksowane
- Adresowanie literałowe (względem PC)
- Rozkazy ładowania i zapisu
- Ładowanie i zapis słów i podwójnych słów
- Ładowanie i zapis półsłów lub bajtów
- Ładowanie i zapis wielu wartości (A32)
- Ładowanie i zapis par (A64)
- Rozdział 7. Wykonywanie warunkowe
- Wykonywanie warunkowe - informacje ogólne
- Kody warunkowe
- Flagi warunkowe NZCV
- Kody warunkowe
- Rozkazy warunkowe
- Rozkaz IT w Thumb
- Rozkazy ustawiające flagi
- Przyrostek rozkazu S
- Rozkazy testowania i porównywania
- Rozkazy wyboru warunkowego
- Rozkazy porównywania warunkowego
- Operacje warunkowe z logicznym AND i rozkazem CCMP
- Operacje warunkowe z logicznym OR i rozkazem CCMP
- Rozdział 8. Kontrola przepływu sterowania
- Rozkazy rozgałęziające
- Rozgałęzienia warunkowe i pętle
- Rozgałęzienia z testem i porównaniem
- Rozgałęzienia tabelowe
- Rozgałęzienie i zamiana
- Rozgałęzienia do podprocedur
- Funkcje i podprocedury
- Standard wywoływania procedur
- Rejestry ulotne i nieulotne
- Argumenty i wartości zwrotne
- Przekazywanie większych wartości
- Funkcje liście i funkcje niebędące liśćmi
- Rozkazy rozgałęziające
Część II. Inżynieria wsteczna
- Rozdział 9. Środowiska Arm
- Płytki Arm
- Emulator QEMU
- Emulacja w trybie użytkownika QEMU
- Pełna emulacja systemu w QEMU
- Rozdział 10. Analiza statyczna
- Narzędzia do analizy statycznej
- Narzędzia wiersza poleceń
- Dezasemblery i dekompilatory
- Binary Ninja Cloud
- Przykład analizy wywołania przez referencję
- Analiza przepływu sterowania
- Funkcja main
- Podprocedura
- Konwersja na char
- Instrukcja if
- Dzielenie współczynnika
- Pętla for
- Analiza algorytmu
- Narzędzia do analizy statycznej
- Rozdział 11. Analiza dynamiczna
- Debugowanie w wierszu poleceń
- Polecenia GDB
- Konfiguracja GDB
- Rozszerzenie GEF debugera GDB
- Radare2
- Debugowanie zdalne
- Radare2
- IDA Pro
- Debugowanie błędu pamięci
- Debugowanie procesu w GDB
- Debugowanie w wierszu poleceń
- Rozdział 12. Inżynieria wsteczna programów arm64 w systemie macOS
- Podstawowe informacje
- Pliki binarne arm64 dla systemu macOS
- Program powitalny dla systemu macOS (arm64)
- Polowanie na złośliwe pliki binarne arm64
- Analiza złośliwego oprogramowania arm64
- Techniki utrudniające analizę
- Logika utrudniająca debugowanie (przez ptrace)
- Logika utrudniająca debugowanie (przez sysctl)
- Zabezpieczenie przed maszynami wirtualnymi (stan SIP i wykrywanie artefaktów maszyny wirtualnej)
- Podsumowanie
- Podstawowe informacje
Skorowidz