Библиотека knigago >> Компьютеры: Операционные системы >> Linux >> Практический анализ двоичных файлов


"Перерождение темного архимага II. Дыхание бездны" - вторая книга захватывающей фэнтези-серии от автора Amazerak. Она продолжает приключения главного героя, темного архимага Рэина, в его стремлении отомстить за разрушение его деревни. * Книга держит читателя в напряжении с самого начала до конца. Рэин и его компаньоны сталкиваются с опасными врагами, интригами и неожиданными поворотами сюжета. * Рэин и другие герои книги яркие и запоминающиеся. Их мотивы и личности раскрываются...

Дэннис Эндриесс - Практический анализ двоичных файлов

Практический анализ двоичных файлов
Книга - Практический анализ двоичных файлов.  Дэннис Эндриесс  - прочитать полностью в библиотеке КнигаГо
Название:
Практический анализ двоичных файлов
Дэннис Эндриесс

Жанр:

Linux, Крэкинг и реверсинжиниринг

Изадано в серии:

неизвестно

Издательство:

ДМК Пресс

Год издания:

ISBN:

978-5-97060-978-1

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Практический анализ двоичных файлов"

В книге представлено подробное описание методов и инструментов, необходимых для анализа двоичного кода, который позволяет убедиться, что откомпилированная программа работает так же, как исходная, написанная на языке высокого уровня. Наряду с базовыми понятиями рассматриваются такие темы, как оснащение двоичной программы, динамический анализ заражения и символическое выполнение. В каждой главе приводится несколько примеров кода; к книге прилагается сконфигурированная виртуальная машина, включающая все примеры. Руководство адресовано специалистам по безопасности и тестированию на проникновение, хакерам, аналитикам вредоносных программ и всем, кто интересуется вопросами защиты ПО.

Читаем онлайн "Практический анализ двоичных файлов". [Страница - 3]

Section............................................................................................ 92
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. Настройка --">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.