Реверс-инжиниринг 2.0

Курс рассчитан на разработчиков программного обеспечения, системных программистов, системных аналитиков, вирусных аналитиков, специалистов по информационной безопасности, devops-специалистов
IT: Для программистов и IT-специалистов
OTUS Онлайн-образование логоOTUS Онлайн-образование
Дата уточняется
4 месяца
Онлайн
от 50 000 ₽

Что даст вам этот курс

Что такое реверс-инжиниринг? Реверс-инжиниринг кода (обратная разработка кода) - это процесс анализа машинного кода программы, который ставит своей целью понять принцип работы, восстановить алгоритм, обнаружить недокументированные возможности программы, и т.п.

Цель курса. Профессионально сделанных курсов по обратной разработке на российском рынке (почти) нет. Наша цель - восполнить этот пробел и предложить курс, в рамках которого слушатель сможет овладеть на практике навыками обратной разработки программ.

Особенность курса. Это версия 2.0 нашего курса по реверс-инжинирингу. Мы добавили много интерактивной практики, когда студенты заранее получают стенды и разворачивают их у себя локально до начала занятия. И во время вебинара под руководством преподавателя выполняют практику у себя на виртуальных машинах. Добавлена следующая практика:

  • Практика по распаковке файлов
  • Практический разбор PE формата (таблица импорта, таблица экспорта, таблица релокаций)
  • Практический анализ шифровальщиков, банковских троянов, ботов.
Чему научимся?
  • Основательно изучим такую важную тему как низкоуровневое программирование
  • Подробно обсудим важные для дальнейшего аспекты внутреннего устройства Windows
  • Отдельный большой модуль программы будет посвящен системному программированию
  • Наконец, центральная тема курса - обратная разработка кода. Статический и динамический анализ
  • Полный список тем приведен в программе обучения

Единственный основательный курс по реверс-инжинирингу на российском рынке

Много интересной, полезной и актуальной практики на реальных кейсах

Уникальная авторская программа от эксперта в области анализа вредоносных программ, обратной разработки и низкоуровневого программирования 

Необходимые знания

  • Знание архитектуры ЭВМ на начальном уровне
  • Базовые знания внутреннего устройства Windows
  • Преимуществом будет опыт программирования на языке C/C++ (это необязательное условие)
  • Требования к "железу": процессор с тактовой частотой 2,0 ГГц или больше, от 8 ГБ ОЗУ, 100 ГБ свободного места на жестком диске

Процесс обучения

Трудозатраты: 4 академических часа на занятия и 2-4 академических часа на домашнюю работу в неделю
Программа
1 Низкоуровневое программирование на ассемблер под x8086/x64
1.1 Регистры процессора, работа с памятью
1.2 Представление данных, кода, опкоды команд.
1.3 Арифметические, логические команды. Команды условного/безусловного перехода
1.4 Прерывания BIOS. Цепочечные операции
2 Низкоуровневое программирование на ассемблер под MIPS
2.1 Регистры процессора. Работа с памятью
2.2 Арифметические, логические команды. Команды условного/безусловного перехода
2.3 Опкоды команд
3 Защищённый режим процессора
3.1 Режимы работы процессоров. Принцип работы процессора в PM
3.2 Сегментная организация памяти
3.3 Страничная организация памяти
4 Внутреннее устройство Windows
4.1 Объекты ядра
4.2 Менеджер памяти
4.3 Диспетчер ввода-вывода. Работа с памятью
5 Системное программирование
5.1 PE формат
5.2 Таблица импорта.Таблица экспорта. Таблица релокаций
5.3 WinApi функции. Перехваты WinApi функций
5.4 Программирование Native приложений
5.5 Способы добавления в автозагрузку
5.6 Программирование служб
5.7 Настройка рабочей среды для отладки драйверов режима ядра
6 Написание простейших драйверов
6.1 Написание кастомного MBR
7 Обратная разработка программ
7.1 Динамический анализ кода
7.2 Статический анализ кода
7.3 Разработка shell кодов
7.4 Metasploit
7.5 Внедрение реверс шела в некоторые прошивки роутеров
7.6 Поиск и эксплуатация уязвимостей Buffer Overflow/UAF
7.7 Обратная разработка руткитов
8 Проектная работа
8.1 Вводное занятие по проектной работе
8.2 Консультации и обсуждения проектной работы
8.3 Консультации и обсуждения проектной работы
8.4 Итоговое занятие. Обсуждение проектной работы

Выпускной проект

Вместе с участниками группы по ходу курса мы «разревёрсим» несколько реальных вредоносных программ, определим их функционал и в качестве выпускного проекта напишем программу для лечения.

После обучения вы

  • получите материалы по всем пройденным занятиям (видеозаписи курса, дoполнительные материалы, финальный проект для добавления в портфолио)
  • научитесь читать ассемблерный код
  • научитесь работать в специализированном ПО для обратной разработки (IDA Pro, WinDBG, OllyDbg, Hiew)
  • освоите в теории и на практике основные приемы статического и динамического анализа кода
  • повысите свою ценность и конкурентоспособность как специалиста
  • получите сертификат об окончании курса
Записаться на курс
Реверс-инжиниринг 2.0
В месяц: 15 000 ₽
В кредит: 6117 ₽ в месяц
50 000
Часто задаваемые вопросы
Можно ли начать обучение позже даты старта курса?
Да, можно. Доступ к материалам курса будет доступен в личном кабинете. Если вы будете сильно отставать от общей группы, то можно будет перевестись на следующий поток бесплатно.
Дата уточняется
4 месяца
Онлайн
от 50 000 ₽