Дэннис Эндриесс - Практический анализ двоичных файлов
Название: | Практический анализ двоичных файлов | |
Автор: | Дэннис Эндриесс | |
Жанр: | Linux, Крэкинг и реверсинжиниринг | |
Изадано в серии: | неизвестно | |
Издательство: | ДМК Пресс | |
Год издания: | 2021 | |
ISBN: | 978-5-97060-978-1 | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Практический анализ двоичных файлов"
В книге представлено подробное описание методов и инструментов, необходимых для анализа двоичного кода, который позволяет убедиться, что откомпилированная программа работает так же, как исходная, написанная на языке высокого уровня. Наряду с базовыми понятиями рассматриваются такие темы, как оснащение двоичной программы, динамический анализ заражения и символическое выполнение. В каждой главе приводится несколько примеров кода; к книге прилагается сконфигурированная виртуальная машина, включающая все примеры. Руководство адресовано специалистам по безопасности и тестированию на проникновение, хакерам, аналитикам вредоносных программ и всем, кто интересуется вопросами защиты ПО.
Читаем онлайн "Практический анализ двоичных файлов". [Страница - 3]
- 1
- 2
- 3
- 4
- 5
- . . .
- последняя (121) »
4.2.3
Класс Symbol............................................................................................ 92
Реализация загрузчика двоичных файлов. .................................................... 93
4.3.1
Инициализация libbfd и открытие двоичного файла. .................. 94
4.3.2
Разбор основных свойств двоичного файла.................................... 96
4.3.3
Загрузка символов................................................................................. 99
4.3.4
Загрузка секций.....................................................................................102
Тестирование загрузчика двоичных файлов................................................104
Резюме....................................................................................................................106
ЧАСТЬ II. ОСНОВЫ АНАЛИЗА ДВОИЧНЫХ ФАЙЛОВ
Глава 5. Основы анализа двоичных файлов в Linux. ........................109
5.1
5.2
5.3
5.4
5.5
5.6
5.7
Разрешение кризиса самоопределения с помощью file. ...........................110
Использование ldd для изучения зависимостей..........................................113
Просмотр содержимого файла с помощью xxd............................................115
Разбор выделенного заголовка ELF с помощью readelf. ............................117
Разбор символов с помощью nm. ....................................................................119
Поиск зацепок с помощью strings...................................................................122
Трассировка системных и библиотечных вызовов с помощью strace
и ltrace.....................................................................................................................125
5.8 Изучение поведения на уровне команд с помощью objdump..................129
5.9 Получение буфера динамической строки с помощью gdb........................131
5.10 Резюме....................................................................................................................134
Глава 6. Основы дизассемблирования и анализа двоичных
файлов............................................................................................................................135
6.1
6.2
6.3
6.4
6.5
6.6
Статическое дизассемблирование...................................................................136
6.1.1
Линейное дизассемблирование.........................................................136
6.1.2
Рекурсивное дизассемблирование. ..................................................139
Динамическое дизассемблирование. .............................................................142
6.2.1
Пример: трассировка выполнения двоичного файла в gdb........143
6.2.2
Стратегии покрытия кода...................................................................146
Структурирование дизассемблированного кода и данных.......................150
6.3.1
Структурирование кода.......................................................................151
6.3.2
Структурирование данных. ................................................................158
6.3.3
Декомпиляция.......................................................................................160
6.3.4
Промежуточные представления........................................................162
Фундаментальные методы анализа................................................................164
6.4.1
Свойства двоичного анализа. ............................................................164
6.4.2
Анализ потока управления.................................................................169
6.4.3
Анализ потока данных.........................................................................171
Влияние настроек компилятора на результат дизассемблирования......175
Резюме....................................................................................................................177
Содержание
9
Глава 7. Простые методы внедрения кода для формата ELF.......178
7.1
7.2
7.3
7.4
7.5
Прямая модификация двоичного файла с помощью
шестнадцатеричного редактирования...........................................................178
7.1.1
Ошибка на единицу в действии. .......................................................179
7.1.2
Исправление ошибки на единицу.....................................................182
Модификация поведения разделяемой библиотеки с помощью
LD_PRELOAD..........................................................................................................186
7.2.1
Уязвимость, вызванная переполнением кучи...............................186
7.2.2
Обнаружение переполнения кучи....................................................189
Внедрение секции кода......................................................................................192
7.3.1
Внедрение секции в ELF-файл: общий обзор. ...............................192
7.3.2
Использование elfinject для внедрения секции в ELF-файл.......195
Вызов внедренного кода....................................................................................198
7.4.1
Модификация точки входа. ................................................................199
7.4.2
Перехват конструкторов и деструкторов........................................202
7.4.3
Перехват записей GOT.........................................................................205
7.4.4
Перехват записей PLT...........................................................................208
7.4.5
Перенаправление прямых и косвенных вызовов.........................209
Резюме....................................................................................................................210
ЧАСТЬ III. ПРОДВИНУТЫЙ АНАЛИЗ ДВОИЧНЫХ ФАЙЛОВ
Глава 8. Настройка --">
- 1
- 2
- 3
- 4
- 5
- . . .
- последняя (121) »
Книги схожие с «Практический анализ двоичных файлов» по жанру, серии, автору или названию:
Пол Тронкон, Карл Олбинг - Bash и кибербезопасность: атака, защита и анализ из командной строки Linux Жанр: Linux Год издания: 2020 Серия: Для профессионалов |
Брайан Уорд - Внутреннее устройство Linux Жанр: Современные российские издания Год издания: 2015 |