Фундаментальные основы хакерства

Фундаментальные основы хакерства

Техника хакерских атак Фундаментальные основы хакерства
Аннотация
Предисловие редактора
Что нового во втором издании
Кто такие хакеры
Чем мы будем заниматься
Что нам понадобиться

Классификация защит
Философия стойкости
Шаг первый. Разминочный.


Шаг второй. Знакомство с дизассемблером
Шаг третий. Хирургический

Шаг четвертый. Знакомство с отладчиком
Способ 0. Бряк на оригинальный пароль.

Способ 1. Прямой поиск введенного пароля в памяти
Способ 2. Бряк на функции ввода пароля
Способ 3. Бряк на сообщения
Шаг пятый. На сцене появляется IDA
Шаг шестой. Дизассемблер отладчик в связке

Шаг седьмой. Идентификация ключевых структур языков высокого уровня
Идентификация функций
Идентификация стартовых функций
Идентификация конструктора и деструктора

Фундаментальные основы хакерства

Идентификация this
Идентификация new и delete

Идентификация библиотечных функций
Идентификация значения, возвращаемого функцией
Идентификация локальных стековых переменных
Идентификация локальных стековых переменных - 2
Идентификация регистровых и временных переменных

Идентификация глобальных переменных
Идентификация глобальных переменных - 8
Идентификация констант и смещений

Фундаментальные основы хакерства

Идентификация литералов и строк
Идентификация if – then – else
Идентификация switch – case – break
Идентификация циклов
Идентификация математических операторов

Способы затруднения анализа программ
Немного истории
Как работает отладчик
Обработка исключений в реальном и защищенном режимах
Как хакеры ломают программы
Как защитить свои программы
Как противостоять трассировке

Как противостоять контрольным точкам останова
Как обнаружить отладку средствами Windows

Самомодифицирующийся код в современных операционных системах
Архитектура памяти Windows
Использование WriteProcessMemory
Выполнение кода в стеке
"Подводные камни" перемещаемого кода
Елей и деготь оптимизирующих компиляторов
Самомодифицирующийся код как средство защиты приложений

Пара слов в заключении
Приглашение к дискуссии или новые приемы защиты
Пояснение 1
Ошибки Джефри Рихтера
Грубые ошибки автора
Неточности, недоговорки
Досадные описки и ляпы

Заключение