Исследование и разработка методов декомпиляции программ

Трошина Екатерина Николаевна. Исследование и разработка методов декомпиляции программ : диссертация ... кандидата физико-математических наук : 05.13.11 / Трошина Екатерина Николаевна; [Место защиты: Моск. гос. ун-т им. М.В. Ломоносова].- Москва, 2009.- 134 с.: ил. РГБ ОД, 61 09-1/1178
Автор
Трошина Екатерина Николаевна
Год
2009
  • 99 000 UZS

Оглавление диссертации
Введение
1 Декомпиляция как задача обратной инженерии 13
1.1 Задача декомпиляции как составляющая задачи обратной инженерии . 13
1.1.1 Обзор задачи дизассемблирования 17
1.1.2 Декомпозиция задачи декомпиляции на подзадачи 19
1.1.3 Универсальность в задаче декомпиляции 20
1.1.4 Корректность декомпиляции 21
1.2 Декомпиляция Си программ 22
1.2.1 Строго удовлетворяющие стандарту Си программы 23
1.2.2 Качество декомпиляции 26
1.2.3 Постановка задачи 29
2 Методы и инструментальные средства декомпиляции программ 31
2.1 Восстановление функционального интерфейса программы 31
2.1.1 Обнаружение функции main 31
2.1.2 Восстановление библиотечных функций и системных вызовов . 33
2.1.3 Восстановление функций 34
2.1.4 Выявление параметров и возвращаемых значений 36
2.2 Восстановление управляющих конструкций 38
2.3 Восстановление типов данных 41
2.3.1 Методы математической логики в задаче восстановления типов . 42
2.3.2 Интервальный анализ в задаче восстановления типов данных . 43
2.3.3 Восстановление типов на основе шаблонов 44
2.3.4 Смежные подходы решения задачи восстановления базовых типов данных 46
2.4 Использование информации времени выполнения для повышения качества декомпиляции 47
2.4.1 Обзор работ, рассматривающих использование информации времени выполнения программы 48
2.4.2 Система Valgrind 49
2.5 Инструментальные средства 50
2.5.1 Boomerang 50
2.5.2 DCC 51
2.5.3 REC 51
2.5.4 HexRays 51
2.5.5 Исследование возможностей декомпиляторов 52
3 Восстановление типов данных 56
3.1 Основные идеи алгоритма 56
3.2 Объекты 57
3.3 Восстановление базовых типов данных 59
3.3.1 Представление типов данных 59
3.3.2 Система уравнений модельных типов 62
3.3.3 Ограничения 63
3.3.4 Объединение типовых переменных 64
3.3.5 Решение системы уравнений зависимости типов 66
3.3.6 Алгоритм восстановления базовых типов данных 69
3.4 Восстановление производных типов данных 70
3.4.1 Общее описание работы алгоритма 72
3.4.2 Формальное описание алгоритма 75
4 Использование информации о выполнении программы для повышения качества декомпиляции 84
4.1 Профилирование значений ячеек памяти 84
4.2 Распознование инструкций memset и memcpy 90
4.3 Профилирование кучи 92
4.4 Экспериментальные результаты 99
5 Декомпилятор TyDec 102
5.1 Инструментальная среда декомпиляции программ TyDec 103
5.1.1 Архитектура 103
5.2 Компоненты системы 104
5.2.1 Реализация восстановления функционального интерфейса 104
5.2.2 Восстановление структурных конструкций 106
5.2.3 Восстановление типов данных 110
5.3 Утилиты профилирования 115
5.3.1 Утилита TDTrace 115
5.3.2 Утилита TDHeap 120
5.3.3 Накладные расходы профилирования 122
5.4 Сравнительная оценка качества восстановления программ декомпилятором TyDec 123
Заключение 126

Рекомендуем вам товары

99 000 UZS
Автор
Никифоров Андрей Юрьевич
Количество страниц
Год
2009
99 000 UZS
Автор
Найханова Лариса Владимировна
Количество страниц
Год
2009
99 000 UZS
Автор
Жебет Сергей Юрьевич
Количество страниц
Год
2009
99 000 UZS
Автор
Пасечников Константин Алексеевич
Количество страниц
Год
2009
Модули для Opencart 2, Опенкарт 3