Крис Касперски, Юрий Язев - Фундаментальные основы хакерства. Анализ программ в среде Win64. [2023, PDF, RUS]

Страницы:  1
Ответить
 

Чужеземец

Старожил

Стаж: 15 лет 6 месяцев

Сообщений: 20

Чужеземец · 10-Июн-26 11:06 (1 месяц 10 дней назад, ред. 10-Июн-26 11:29)

Фундаментальные основы хакерства. Анализ программ в среде Win64.
Год издания: 2023
Автор: Крис Касперски, Юрий Язев
Жанр или тематика: Компьютерная литература
Издательство: "СОЛОН-Пресс"
ISBN: 978-5-91359-527-0
Язык: Русский
Формат: PDF
Качество: Издательский макет или текст (eBook)
Интерактивное оглавление: Да
Количество страниц: 632
Описание: Подшивка собранная из статей в журнале
Пытливому уму хакера раскрываются не только методы анализа, взлома и защиты программ, но и особый образ мышления. Ведь хакерство — это не просто взлом, это попытка узнать, что в голове у человека, написавшего код анализируемого приложения.
В первой части обсуждаются основные инструменты хакера. Рассказывается, как их применять для исследования и взлома простых защит, которые до сих пор часто встречаются в программах. Приводятся примеры взлома консольных и GUI-приложений. Также обсуждаются механизмы современных операционных систем, стоящие на службе защиты приложений.
Центральная часть книги посвящена методам дизассемблирования с помощью мощнейшего дизассемблера IDA Pro. В этой части много внимания уделяется поиску в дизассемблерных листингах конструкций языков высокого уровня:
объектов;
структур;
аргументов;
циклов разных типов;
условных операторов разных типов;
функций, в том числе библиотечных и виртуальных.
Приводятся способы определения компилятора (и зачем это может быть нужно), рассказывается о методах передачи и возвращения параметров, соглашениях вызовов функций. Объяснено, каким образом ищутся переменные, операнды, строки. Не оставлены без внимания команды, появившиеся в расширениях современных микропроцессоров, таких как MMX, SSE различных версий.
Обладая этими сведениями, ты всегда будешь иметь под рукой инструменты, которые сможешь применить для анализа, поиска багов и их эксплуатации в любой программе.
Третья часть книги посвящена атакам на программное обеспечение. В ней рассказывается о противостоянии различным методам взлома. Способы противодействия распространяются от запутывания хакера до использования самомодифицирующегося кода.
В результате обновления материала с учетом новой микропроцессорной архитектуры книга значительно потолстела и прибавила в весе по сравнению с оригинальным изданием. Плюс обзавелась твердой обложкой.
Примеры страниц (скриншоты)

Оглавление
Введение (1) | Этап 1 (1) | Этап 2 (1-2) | Этап 3 (2-3)
Знакомство с базовыми примерами работы хакера (4)
◽ Проверка аутентичности (4)
◽ Шаг 1. Разминочный — Листинг 1 (5-6), Вывод dumpbin (7)
◽ Шаг 2. Знакомство с дизассемблером — секция .kpnc, прагма data_seg (8-10)
◽ Шаг 3. Хирургический — HIEW, HxD, замена TEST на XOR, JE на JNE (11-13)
Знакомство с отладчиком (15)
◽ Герои прошлого: SoftICE, Syser (15-16)
◽ Современный инструмент кодокопателя: WinDbg, x64dbg (17)
◽ Способ 0. Бряк на оригинальный пароль — .symfix, .reload, bp, g... (18-20)
◽ Поиск адреса — бряк по доступу (ba r4) (20-23)
◽ ASLR, смещение адреса в памяти vs на диске (24)
Продолжаем осваивать отладчик (25)
◽ Перемещаемость EXE и DLL — fixupdemo.dll, LoadLibraryA (25-32)
◽ Способ 1. Прямой поиск пароля в памяти — стек, куча, .data (34-38)
◽ Способ 2. Бряк на функции ввода пароля (взлом GUI) — MFC, GetWindowTextW (39-42)
На сцене появляется IDA (44)
◽ Пример «Hello, Sailor!» — анализ стартового кода, DATA XREF (44-50)
◽ Отключение «замангливания» имён (Demangled names) (99)
◽ IDA и зашифрованные программы (Crypt00.com) — сегменты, скрипты IDC (52-65)
Дизассемблер и отладчик в связке (66)
◽ Создание MAP-файла, конвертация map2dbg (67-68)
◽ Подключение WinDbg к IDA и настройка отладчика (68-69)
Идентификация ключевых структур языков высокого уровня (72)
◽ Идентификация функций — CALL, JMP, указатели, таблицы (72-80)
◽ Пролог и эпилог — x86, RET n, cdecl vs stdcall (81-84)
◽ «Голые» (naked) и встраиваемые (inline) функции (85-89)
Идентификация стартового кода и виртуальных функций (Win64) (91)
◽ Стартовые функции — mcrtexe.cpp, параметры x64 (RCX, RDX, R8, R9) (91-95)
◽ Виртуальные функции — VTBL, VPTR, mangled names (96-103)
◽ Сложные случаи наследования — общие таблицы, шлюзы (thunk) (106-115)
◽ Статические объекты и виртуальные таблицы (116-121)
Идентификация конструктора и деструктора (123)
◽ Объекты в куче (new / delete) и стеке (123-130)
◽ Глобальные объекты — вызов _atexit (131-134)
◽ Виртуальные и пустые конструкторы/деструкторы (134-135)
Как идентифицировать структуры и объекты в чужой программе (136)
◽ Идентификация структур — выравнивание (padding), гомогенность (136-145)
◽ Идентификация объектов — неявный this (RCX), атрибуты доступа (146-153)
◽ Размещение в памяти: стек, сегмент данных, куча (153-154)
Распределение динамической памяти и указатели (156)
◽ Операторы new и delete (156-158)
◽ Умные указатели (std::unique_ptr) — MSVC vs C++Builder (158-166)
◽ Подходы к реализации кучи — HeapAlloc, VirtualAlloc (167-171)
Идентификация библиотечных функций и аргументов (172)
◽ Определение библиотек и их версий (172-177)
◽ Соглашения о передаче параметров и адресация в стеке (179-191)
Соглашения о вызовах (194)
◽ stdcall, cdecl, WINAPI, PASCAL, Delphi (194-210)
◽ fastcall (передача вещественных значений) и __thiscall (216-238)
◽ Параметры по умолчанию и исследование неизвестного компилятора (241)
Идентификация возвращаемого значения (243)
◽ Оператор return, типы возвращаемого значения (243-260)
◽ Возврат через ссылки, кучу, глобальные переменные, флаги процессора (264-277)
Способы обнаружения переменных разных типов (280)
◽ Локальные стековые переменные — размещение, выравнивание (280-285)
◽ FPO (Frame Pointer Omission) (291)
◽ Регистровые, временные, глобальные и статические переменные (294-311)
Определение операндов, литералов и строк (313)
◽ Идентификация констант, смещений, типов операндов (313-315)
◽ Математические операции с указателями — использование LEA (319-325)
◽ Типы строк — C, DOS, Pascal, Delphi, STL (327-337)
◽ Turbo‑инициализация строковых переменных (348)
Нахождение условных операторов в двоичном коде (354)
◽ Идентификация if‑then‑else, типы условий и деревья (354-364)
◽ Условные команды, булевы сравнения, тернарный оператор (374-387)
◽ Вложенные условия и оптимизация ветвлений (391-399)
Трансляция оператора выбора и циклов (402)
◽ Нахождение switch‑case‑break и балансировка деревьев (402-421)
◽ Циклы с пред- и постусловием, for, while, do (423-429)
◽ Вложенные циклы, множественные условия (break, continue) (430-468)
Нахождение математических операторов в листингах (472)
◽ Идентификация операторов: +, –, /, %, * (472-492)
◽ Комплексные операторы (++, ––) (499)
Способы затруднения анализа и реверса программ (503)
◽ Приёмы против отладчиков и трассировки (504-512)
◽ Дополнительная защита — потоки, SEH, точки останова (INT 3) (515-522)
◽ Самомодифицирующийся код — WriteProcessMemory, выполнение в стеке (525-535)
◽ Зашифрованный код – следующий уровень защиты (537)
Заключительное слово от Юрия Язева (540)
Доп. информация: Это не скан печатной версии. Версия электронная. В раздаче присутствует репо с гитхаба с примерами для глав. -> https://github.com/yurembo/HackersBasics
Структура оглавления соответствует бумажной версии в целом. Немного сокращено введение.
Download
Сайт не распространяет и не хранит электронные версии произведений, а лишь предоставляет доступ к создаваемому пользователями каталогу ссылок на торрент-файлы, которые содержат только списки хеш-сумм
Как скачивать? (для скачивания .torrent файлов необходима регистрация)
[Профиль]  [ЛС] 

lilithmrcy

Стаж: 1 год

Сообщений: 1


lilithmrcy · 08-Июл-26 13:51 (спустя 28 дней)

Боже СПАСИБО за раздачу!
[Профиль]  [ЛС] 

npx

Стаж: 18 лет 8 месяцев

Сообщений: 54


npx · 09-Июл-26 23:07 (спустя 1 день 9 часов)

Не похоже на издательский макет.
Крис Касперски погиб в результате несчастного случая много лет назад.
[Профиль]  [ЛС] 

d3v1l0rn

Стаж: 1 год 5 месяцев

Сообщений: 4

d3v1l0rn · 11-Июл-26 13:54 (спустя 1 день 14 часов, ред. 11-Июл-26 13:54)

АП, хоть 1 сидер, сижу на сотовом инете в глухой деревне, под платными ВПНами...
[Профиль]  [ЛС] 

el_bregg

Старожил

Стаж: 17 лет 2 месяца

Сообщений: 62

el_bregg · 11-Июл-26 15:13 (спустя 1 час 19 мин.)

Вроде 27 сидов на сейчас.
[Профиль]  [ЛС] 

ulbrecht504

Стаж: 3 года 3 месяца

Сообщений: 3

ulbrecht504 · 12-Июл-26 20:06 (спустя 1 день 4 часа)

есть в печатном виде для коллекции. в целом хорошая книга, но , очевидно, ничего сверхъестественного вы в ней не вычитаете. узнаете как читать асм листинги со спецификой winapi, узнаете про calling conventions, распознавание всяких конструкций в коде и тд. как первая книга по теме пойдет. есть еще книга в таком же стиле, но с примерами из многих других архитектур - reverse for beginners от дениса юричева.
[Профиль]  [ЛС] 
 
Ответить
Loading...
Error