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

Distance Education Center of KnASU

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

Аннотация

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

О курсе

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

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

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

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

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

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

Введение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 % от максимально возможной суммы баллов – «отлично» (высокий (максимальный) уровень).

Направления подготовки

  • 10.05.03 Информационная безопасность автоматизированных систем



Модулей 4

Часов 108

Недель 16

Часов в неделю 7

КнАГУ

Комсомольский-на-Амуре Государственный Университет

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