Центр дистанционного обучения КнАГУ

Distance Education Center of KnASU

Обратная разработка программ

Аннотация

Данный курс посвящен анализу приложений без исходных кодов. Рассмотрены различные операционные системы, различные отладчики и дизассемблеры

О курсе

Курс посвящен

Данный курс является вводным к курсам связанным с обратной инженерией программного обеспечения. Целью курса является знакомство студентов с различным инструментарием и программным обеспечением используемым при проведении обратной разработки программ и анализом исполняемых файлов. В курсе используются различные технологии обучения - смешанные, традиционные. 

При прохождении тестов используйте кодовое слово - Reverse.

"Не ищи ошибку, а ищи её решение". - Генри Форд.

Расписание курса

Модуль: Основные сведения об assembler.

Введение

  • Основные сведения (Традиционная лекция)

  • Правовое поле, обфускация и деобфускация (Дополнительный материал)

Основы функционирования ЭВМ

  • Функционирование ЭВМ и assembler (Традиционная лекция)

  • Регистры (Традиционная лекция)

  • Флаги (Традиционная лекция)

  • Адресация реальный и защищенный режим (Традиционная лекция)

  • Адресация реальный и защищенный режим (Рубежный тест)

  • Флаги (Рубежный тест)

  • Регистры (Рубежный тест)

  • Функционирование ЭВМ и assembler (Рубежный тест)

Память и логика организации исполнения программ

  • Трансляция и сборка программ для 16-разрядной DOS (Традиционная лекция)

  • Стэк, переходы, циклы (Традиционная лекция)

  • Подпрограммы и прерывания (Традиционная лекция)

  • Трансляция и сборка программ для 16- и 32- разрядной Windows (Традиционная лекция)

  • Цикл обработки сообщений от окна в Windows (Традиционная лекция)

  • Трансляция и сборка программ для 16- и 32- разрядной Windows (Лабораторная работа)

  • Трансляция и сборка программ для 16-разрядной DOS (Лабораторная работа)

  • Стэк, переходы, циклы (Рубежный тест)

  • Подпрограммы и прерывания (Рубежный тест)

  • Цикл обработки сообщений от окна в Windows (Лабораторная работа)

Использование TD и AFD, Hview

  • Использование отладчиков в реальном режиме (Видеолекция)

  • Использование отладчиков в реальном режиме (Рубежный тест)

Модуль: Обратная разработка приложений под Windows.

Использование OllyDBG

  • Отладчик с возможностью просмотра исходного кода OllyDbg (Традиционная лекция)

  • Пример отладки приложения (Дополнительный материал)

  • Отладчик с возможностью просмотра исходного кода OllyDbg (Лабораторная работа)

Использование x32Dbg, x64Dbg

  • Эволюция отладчиков с открытым кодом (Традиционная лекция)

  • Пример отладки приложеиня (Дополнительный материал)

  • Отладчик x64Dbg (Лабораторная работа)

Использование IDA Pro

  • Интерактивный дизассемблер IDA (Традиционная лекция)

  • Пример отладки приложения (Дополнительный материал)

  • Отладчик IDA Pro (Лабораторная работа)

  • Генерация серийного ключа (Дополнительный материал)

Модуль: Обратная разработка приложений под Linux.

Установка Ubuntu на виртуальную машину

  • Установка дистрибутива Linux на виртуальную машину (Практическая работа)

Компиляция и сборка

  • Сборка простого приложения с gcc,g++ (Традиционная лекция)

  • Сборка простого приложения с gcc, g++ (Лабораторная работа)

Использование gdb

  • Отладка с использованием gdb (Традиционная лекция)

  • Отладка с использованием gdb (Лабораторная работа)

Реверс инжиниринг приложений

  • root-me.org (Домашнее задание)

Модуль: Итоговая работа.

Итоговая работа

  • Расчетно-графическая работа (Расчетно-графическая работа)

Информационные ресурсы

1. Трещев И.А. Низкоуровневый анализ машинного кода. Издательские решения, 2020 - 165с.
2. Касперски К. Искусство дизассемблирования. БХВ-Петербург, 2008 - 888с.
3. https://wasm.in/blogs/vvedenie-v-krehking-s-nulja-ispolzuja-ollydbg-glava-1.433/
4. https://wasm.in/threads/perevod-vvedenie-v-reversing-s-nulja-ispolzuja-ida-pro.32249/
5. Тихомиров В.А. Операционные системы реального режима работы микропроцессора. Учебное пособие. Изд. ИНИТ КНАГТУ, 2012 г. -127с.
6. Тихомиров В.А. Операционные системы защищенного режима работы микропроцессора.Учебное пособие. Изд. ИНИТ КНАГТУ, 2014 г. -136с.
7. Хусаинов А.А. Организация ЭВМ и систем. Учебное пособие. Изд. ИНИТ КНАГТУ, 2014 г. -98с.

Дополнительный инструментарий

Операционная система Windows 7/8/8.1/10 (желательно иметь и 32 и 64 разрядные версии)

Офисный пакет Microsoft Office 2016 или аналогичный, например OpenOffice (распространяется свободно).

Обозреватель Google Chrome или аналогичный(распространяется свободно)

Эмулятор DosBox (распространяется свободно)

Компонивщик Turbo Assebler, Сборщик Turbo Linker, Отладчик Turbo Debbugger для MS DOS (распространяется свободно)

Компонивщик Turbo Assebler, Сборщик Turbo Linker, Отладчик Turbo Debbugger для 16-разрядных Microsoft Windows (распространяется свободно)

Компонивщик Turbo Assebler, Сборщик Turbo Linker, Отладчик Turbo Debbugger для 32-разрядных Microsoft

Windows (распространяется свободно)

Редактор Hexview/Hview (распространяется свободно).

Отладчик OllyDbg (распространяется свободно).

Отладчики x32Dbg и x64Dbg (распространяются свободно)

Интерактивный дизассемблер IDA Pro (ознакомительная версия распространяется свободно производителем).

Среда разработки Visual Studio 2019 (распространяется свободно в рамках политики лицензирования Comunity).

Операционная система Linux Ubuntu или аналог (распространяется бесплатно)

Программный гипервизор Virtual Box (распространяется бесплатно)

Оценивание и документы

Правила Формирования оценки

Лабораторные работы (7 шт.)

10 баллов за работу

Расчетно-графическая работа 

30 баллов за работу

Система оценивания

Максимально возможная сумма баллов за курс - 70.

0 – 64 % от максимально возможной суммы баллов – «неудовлетворительно» (недостаточный уровень для промежуточной аттестации по дисциплине);

65 – 74 % от максимально возможной суммы баллов – «удовлетворительно» (пороговый (минимальный) уровень);

75 – 84 % от максимально возможной суммы баллов – «хорошо» (средний уровень);

85 – 100 % от максимально возможной суммы баллов – «отлично» (высокий (максимальный) уровень).



Занятий 39

Часов 108

Недель 16

ЧАСОВ В НЕДЕЛЮ 7

КнАГУ

КОМСОМОЛЬСКИЙ-НА-АМУРЕ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

Преподаватель