close

Вход

Забыли?

вход по аккаунту

Протокол о получении учебников;docx

код для вставкиСкачать
Новгородский Государственный Университет им. Ярослава Мудрого
Динамический анализ и обратная
отладка мобильных приложений
Н.И. Фурсова
П.М. Довгалюк
И.А. Васильев
М.А. Климушенкова
В.А. Макаров
Постановка задачи
Приложения, работающие в реальном
времени
Недетерминированные приложения
Новгородский Государственный Университет им. Ярослава Мудрого
2
Подходы к обратной отладке
Детерминированное воспроизведение
Трассировка
Новгородский Государственный Университет им. Ярослава Мудрого
3
UndoDBG
Двунаправленный отладчик
Поддержка нативных приложений под
Android
Ограничения:
Работает только с отдельными
приложениями
Работает только под ОС Linux
Новгородский Государственный Университет им. Ярослава Мудрого
4
ДВ в QEMU
Клавиатура
Мышь
Аудио адаптер
QEMU
Журнал
Сетевая карта
Системные часы
Запись работы программы
Воспроизведение работы программы
Журнал
QEMU
Инструменты
анализа
Новгородский Государственный Университет им. Ярослава Мудрого
5
Обратная отладка c помощью gdb
func3()
reverse-stepi
reverse-nexti
reverse-continue
reverse-finish
{
...
...
...
}
func2()
{
...
...
}
func1()
{
...
...
func2();
func3();
...
}
Новгородский Государственный Университет им. Ярослава Мудрого
6
Трассировка
Новгородский Государственный Университет им. Ярослава Мудрого
7
Трассировка Java-приложений
*.jar
*.apk
QEMU
Система динамического
анализа кода
Модуль
Android
DalvikVM
Механизм
трассировки
Файл
трассы
“method1” instr_1
instr_2
Instr_3
“method2” instr_4
Instr_5
...
...
Информация о методах и инструкциях
Новгородский Государственный Университет им. Ярослава Мудрого
8
Dalvik Debug Monitor Server
Новгородский Государственный Университет им. Ярослава Мудрого
9
Симулятор + DDMS
QEMU
Dalvik
application
adbd
PC
adb
DDMS
Новгородский Государственный Университет им. Ярослава Мудрого
10
ДВ + DDMS
Запись: сохраняется единственный
сценарий работы с отладчиком
Воспроизведение: отладчик не может
получить ответ от системы
Новгородский Государственный Университет им. Ярослава Мудрого
11
Идея
Детерминированное воспроизведение
DDMS
Модуль сбора данных
Среда динамического анализа кода
DDMS
Стоп
Детерминированное
воспроизведение
S
Модуль
сбора
данных
Хранилище
Старт
S
Детерминированное
воспроизведение
Восстановление состояния системы
Новгородский Государственный Университет им. Ярослава Мудрого
12
Аналоги
Crosscut
– Выделение работы приложений при
воспроизведении
DroidScope
– Интроспекция Java-приложений для
платформы Android
Новгородский Государственный Университет им. Ярослава Мудрого
13
Результаты
Реализовано детерминированное
воспроизведение работы мобильных
приложений
Обратная отладка нативных приложений
Трассировка нативных приложений
Предложен метод трассировки и отладки
java-приложений
Новгородский Государственный Университет им. Ярослава Мудрого
14
Дальнейшие планы
Трассировка java-приложений
Отладка java-приложений
Исследование интроспекции и реализация
без внедрения модулей в DalvikVM
Новгородский Государственный Университет им. Ярослава Мудрого
15
1/--страниц
Пожаловаться на содержимое документа