Курсы по реверс-инжинирингу. Запишитесь на курс по анализу машинного кода программы
⚡ Подписка на курсы OTUS!
Интенсивная прокачка навыков для IT-специалистов!
Подробнее

Курсы

Программирование
JavaScript Developer. Professional React.js Developer JavaScript Developer. Basic PostgreSQL Программист С C++ Developer. Basic PHP Developer. Basic Flutter Mobile Developer Rust Developer Специализация C#
-24%
Golang Developer. Professional Разработчик на Spring Framework Базы данных Scala-разработчик Highload Architect Java Developer. Professional Java Developer. Basic MS SQL Server Developer C++ Developer. Professional Android Developer. Professional Framework Laravel Cloud Solution Architecture Unity Game Developer. Basic Agile Project Manager Супер-практикум по использованию и настройке GIT iOS Developer. Basic Супер-интенсив "Tarantool" HTML/CSS Специализация Python Developer
Инфраструктура
Экспресс-курс по управлению миграциями (DBVC) PostgreSQL Administrator Linux.Basic Экспресс-курс "Версионирование и командная работа с помощью Git" Специализация Administrator Linux
-24%
Экспресс-курс «CI/CD» DevOps практики и инструменты Highload Architect MS SQL Server Developer NoSQL SRE практики и инструменты Cloud Solution Architecture Внедрение и работа в DevSecOps Супер-практикум по работе с протоколом BGP Супер-практикум по использованию и настройке GIT Супер-интенсив "Tarantool" Специализация Network engineer
Корпоративные курсы
Экспресс-курс по управлению миграциями (DBVC) Spark Developer Reverse-Engineering Системный аналитик. Advanced Экспресс-курс "Версионирование и командная работа с помощью Git" Экспресс-курс «CI/CD» DevOps практики и инструменты Machine Learning. Professional Экспресс-курс «Введение в непрерывную поставку на базе Docker» Дизайн сетей ЦОД SRE практики и инструменты Cloud Solution Architecture Agile Project Manager Супер-практикум по работе с протоколом BGP Infrastructure as a code Промышленный ML на больших данных Экспресс-курс «IaC Ansible» Основы Windows Server
Специализации Курсы в разработке Подготовительные курсы Подписка
+7 499 938-92-02
Курс обновлен
При поддержке
логотип партнера
При поддержке
логотип партнера
Курс обновлен
Reverse-Engineering

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

Научитесь находить и исправлять уязвимости своих систем и приложений Единственный практический курс на российском рынке

Длительность обучения:

5 месяцев

4 ак. часа в нед.

Формат:

Online

Начало занятий:

30 сентября

Дни занятий:

Чт 20:00, Пн 20:00

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

Вы освоите на практике важнейшие приемы реверс-инжиниринга: статический и динамический анализ. Познакомитесь с низкоуровневым и системным программированием, подробно разберете аспекты внутреннего устройства Windows. Вам предстоит изучить и классифицировать вредоносное ПО на примерах реальных malware, выловленных в сети.

ЧТО ТАКОЕ РЕВЕРС-ИНЖИНИРИНГ?

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

Для кого этот курс?

    • Для системных программистов, разрабатывающих низкоуровневый софт. Вы поймете, как код работает изнутри после компиляции, и сможете повысить качество своих решений.
    • Для начинающих вирусных аналитиков и специалистов ИБ. Вы научитесь всем must have практикам реверс-инжиниринга и получите комплексное представление о вредоносном ПО.

Как проходит практика?

Студенты заранее получают стенды и разворачивают их у себя локально до начала занятия. Практику вы будете выполнять у себя на виртуальной машине во время вебинара под руководством преподавателя. На курсе вас ждет:

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


Наши партнеры Certiport предоставляют скидку 10% на сдачу сертификационных экзаменов EC-Council (EHA, CFA) всем студентам курса!

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

Артур Пакулов
Ex-вирусный аналитик в Kaspersky Lab.
Специалист в области низкоуровневого программирования, обратной разработки и анализа вредоносного программного обеспечения. В период 12.2015 - 05.2017 — специалист по образовательным программам и преподаватель Образовательного департамента «Лаборатории Касперского». Преподаватель и методист-разработчик курсов и программ по направлениям: «Защита информации от вредоносного ПО», «Низкоуровневое программирование», «Профессиональный пентестинг». Программы, разработанные Пакуловым, включены в учебные планы российских и зарубежных университетов, в том числе МГТУ им. Н.Э. Баумана, МГУ им. М.В. Ломоносова. Преподаватель международных магистерских программ по информационной безопасности.

Навыки:
Низкоуровневое программирование,
Системное программирование,
Реверс-инжиниринг,
Анализ вредоносного ПО,
Веб-безопасность,
Программирование: Assembler, C/C++, Delphi, Python

Руководитель программы

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

Артур Пакулов
Ex-вирусный аналитик в Kaspersky Lab.
Специалист в области низкоуровневого программирования, обратной разработки и анализа вредоносного программного обеспечения. В период 12.2015 - 05.2017 — специалист по образовательным программам и преподаватель Образовательного департамента «Лаборатории Касперского». Преподаватель и методист-разработчик курсов и программ по направлениям: «Защита информации от вредоносного ПО», «Низкоуровневое программирование», «Профессиональный пентестинг». Программы, разработанные Пакуловым, включены в учебные планы российских и зарубежных университетов, в том числе МГТУ им. Н.Э. Баумана, МГУ им. М.В. Ломоносова. Преподаватель международных магистерских программ по информационной безопасности.

Навыки:
Низкоуровневое программирование,
Системное программирование,
Реверс-инжиниринг,
Анализ вредоносного ПО,
Веб-безопасность,
Программирование: Assembler, C/C++, Delphi, Python

Руководитель программы

Отзывы

5
Артем
Богомолов
Отличный курс. Описывает самые необходимые основы по реверсу. Достаточно подробно рассказывается о многих важных аспектах обратной разработки. Дается полноценное объяснение функционирования вредоносных программ. Мне очень понравился. А главное - все по теме
Читать целиком
Марсель
Здравствуйте,

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

Во-вторых, Артур очень компетентный специалист и классный препод. Пройдя примерно 3/4 курса я нашёл работу реверсера. Очень много из того, что говорил Артур было на собесах.

Буду рекомендовать ваш курс. Спасибо!
Читать целиком
Константин
Козулин
Курс больше подходит для вирусных аналитиков, но мне был интересен этот курс с точки зрения разработки операционных систем. Едва ли где-то есть курсы по этой тематике, да и книг немного. Но здесь даются знания об ассемблере (я хочу писать именно на ассемблере). Мне интересен реверс-инжиниринг, поскольку при разработке операционных систем нужно разрабатывать и драйверы. А многие драйверы имеют закрытый код и чтобы их понять, нужны навыки реверс-инжиниринга. Этот курс даёт хорошие знания о строении операционной системы Windows, что мне тоже очень пригодится. Я узнал больше про режимы процессора, устройство памяти, научился работать с дизассемблерами, отладчиками и шестнадцатиричными редакторами. Из недостатков - очень малое внимание к ОС Linux. В курсе не разбираются отладчики и дизассемблеры под эту систему: GDB, Ghidra. Но курс прекрасный! Задания сложные: CrackMe, внедрение кода в прошивку маршрутизатора, работа с загрузочным сектором... Они помогут мне значительно продвинуться в движении к мечте. Спасибо!
Читать целиком
Вадим
Демьянов
Я инженер-программист АСУТП, часто сталкиваюсь с задачами низкоуровневого программирования, программирования embedded-устройств. Иногда интересуюсь онлайн-обучением в этих областях, даже начинал один курс на Coursera, но забросил. В целом я не видел интересного обучающего курса, который стоило бы начать, ведь вся информация и так есть в сети, можно самостоятельно все изучать.
Случайно узнал про данный курс по реверс-инжинирингу, видимо попалась реклама, до этого даже не слышал, что есть такая специальность как реверс-инженер. Это показалось мне возможностью глубже понять, как все работает внутри компьютера, научиться анализу скомпилированного кода, изучить какую-то совсем новую интересную предметную область. Конечно всю информацию по реверсу также можно найти в сети, но для начала нужно понимать, что искать. Проблема в том, что информации слишком много, и конечно наличие базы в виде такого курса сильно экономит время, дает какое-то структурированное понимание.
Сам курс для меня оказался довольно сложным, часто приходилось пересматривать лекции чтобы понять, что же мы вообще делали. Домашние задания также оказались сложнее, чем я думал и некоторые требовали довольно много времени. В своей практике я никогда не сталкивался с дебаггерами, дизасемблерами и прочими утилитами, которые применяются на курсе, все программы были для меня совершенно новыми, это тоже создавало некоторые трудности. Но в целом курсом я очень доволен, наверно именно потому, что он оказался таким сложным. Однозначно хочется дальше продолжать изучение реверс-инжиниринга.
Отдельная благодарность преподавателю – Артуру Пакулову, за интересный курс и готовность отвечать на все вопросы.
Есть пара моментов, которые я бы хотел добавить. Во-первых, уделить какое-то время изучению используемых программ, даже в рамках существующих лекций и домашних заданий. Во-вторых, выделить больше времени на итоговый проект, т.к. запланированного явно недостаточно.
Читать целиком
Александра
Киба
Очень качественный курс. Хотя я уже была знакома с изрядной долей материала, все равно понравилось. Больше всего впечатлил разбор того, как хранятся аргументы/локальные переменные с точки зрения ассемблера (т.е. как их найти и понять, что код к ним обращается) и работа с крэкми и идой

Немного поленилась выполнять домашку, не уверена, что это ключевой момент для освоения, но ковыряться в иде - давняя мечта
Читать целиком
Артем
Богомолов
Отличный курс. Описывает самые необходимые основы по реверсу. Достаточно подробно рассказывается о многих важных аспектах обратной разработки. Дается полноценное объяснение функционирования вредоносных программ. Мне очень понравился. А главное - все по теме
Читать целиком
Марсель
Здравствуйте,

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

Во-вторых, Артур очень компетентный специалист и классный препод. Пройдя примерно 3/4 курса я нашёл работу реверсера. Очень много из того, что говорил Артур было на собесах.

Буду рекомендовать ваш курс. Спасибо!
Читать целиком
Константин
Козулин
Курс больше подходит для вирусных аналитиков, но мне был интересен этот курс с точки зрения разработки операционных систем. Едва ли где-то есть курсы по этой тематике, да и книг немного. Но здесь даются знания об ассемблере (я хочу писать именно на ассемблере). Мне интересен реверс-инжиниринг, поскольку при разработке операционных систем нужно разрабатывать и драйверы. А многие драйверы имеют закрытый код и чтобы их понять, нужны навыки реверс-инжиниринга. Этот курс даёт хорошие знания о строении операционной системы Windows, что мне тоже очень пригодится. Я узнал больше про режимы процессора, устройство памяти, научился работать с дизассемблерами, отладчиками и шестнадцатиричными редакторами. Из недостатков - очень малое внимание к ОС Linux. В курсе не разбираются отладчики и дизассемблеры под эту систему: GDB, Ghidra. Но курс прекрасный! Задания сложные: CrackMe, внедрение кода в прошивку маршрутизатора, работа с загрузочным сектором... Они помогут мне значительно продвинуться в движении к мечте. Спасибо!
Читать целиком
Вадим
Демьянов
Я инженер-программист АСУТП, часто сталкиваюсь с задачами низкоуровневого программирования, программирования embedded-устройств. Иногда интересуюсь онлайн-обучением в этих областях, даже начинал один курс на Coursera, но забросил. В целом я не видел интересного обучающего курса, который стоило бы начать, ведь вся информация и так есть в сети, можно самостоятельно все изучать.
Случайно узнал про данный курс по реверс-инжинирингу, видимо попалась реклама, до этого даже не слышал, что есть такая специальность как реверс-инженер. Это показалось мне возможностью глубже понять, как все работает внутри компьютера, научиться анализу скомпилированного кода, изучить какую-то совсем новую интересную предметную область. Конечно всю информацию по реверсу также можно найти в сети, но для начала нужно понимать, что искать. Проблема в том, что информации слишком много, и конечно наличие базы в виде такого курса сильно экономит время, дает какое-то структурированное понимание.
Сам курс для меня оказался довольно сложным, часто приходилось пересматривать лекции чтобы понять, что же мы вообще делали. Домашние задания также оказались сложнее, чем я думал и некоторые требовали довольно много времени. В своей практике я никогда не сталкивался с дебаггерами, дизасемблерами и прочими утилитами, которые применяются на курсе, все программы были для меня совершенно новыми, это тоже создавало некоторые трудности. Но в целом курсом я очень доволен, наверно именно потому, что он оказался таким сложным. Однозначно хочется дальше продолжать изучение реверс-инжиниринга.
Отдельная благодарность преподавателю – Артуру Пакулову, за интересный курс и готовность отвечать на все вопросы.
Есть пара моментов, которые я бы хотел добавить. Во-первых, уделить какое-то время изучению используемых программ, даже в рамках существующих лекций и домашних заданий. Во-вторых, выделить больше времени на итоговый проект, т.к. запланированного явно недостаточно.
Читать целиком
Александра
Киба
Очень качественный курс. Хотя я уже была знакома с изрядной долей материала, все равно понравилось. Больше всего впечатлил разбор того, как хранятся аргументы/локальные переменные с точки зрения ассемблера (т.е. как их найти и понять, что код к ним обращается) и работа с крэкми и идой

Немного поленилась выполнять домашку, не уверена, что это ключевой момент для освоения, но ковыряться в иде - давняя мечта
Читать целиком

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

  • Знание архитектуры ЭВМ на начальном уровне
  • Базовые знания внутреннего устройства Windows
  • Преимуществом будет опыт программирования на языке C/C++ (это необязательное условие)
  • Требования к "железу": процессор с тактовой частотой 2,0 ГГц или больше, от 8 ГБ ОЗУ, 100 ГБ свободного места на жестком диске
Корпоративное обучение для ваших сотрудников
>
Программа обучения
В процессе обучения вы получите комплексные знания и навыки.
Тема 1. Регистры процессора, работа с памятью
Тема 2. Представление данных, кода, опкоды команд. Основные команды ЯА
Тема 3. Арифметичесие и логические команды
Тема 4. Цепочечные операции
Тема 5. Подпрограммы
Тема 6. Прерывания BIOS
Тема 7. Написание кастомногоMBR
C 28 октября
Тема 8. Регистры процессора. Работа с памятью
Тема 9. Арифметические, логические команды. Команды условного/безусловного перехода
Тема 10. Опкоды команд
C 15 ноября
Тема 11. Режимы работы процессоров. Принцип работы процессора в PM. Сегментная организация памяти
Тема 12. Страничная организация памяти
Тема 13. Типы дескрипторов
C 25 ноября
Тема 14. Объекты ядра
Тема 15. Менеджер памяти
Тема 16. Диспетчер ввода-вывода
C 6 декабря
Тема 17. PE формат
Тема 18. Таблица импорта
Тема 19. Таблица экспорта/Таблица релокаций
Тема 20. Ловушки Windows
Тема 21. Перехват WinApi функций
Тема 22. Программирование Native приложений
Тема 23. Способы добавления в автозагрузку
Тема 24. Программирование служб
Тема 25. Настройка рабочей среды для отладки драйверов режима ядра
C 13 января
Тема 26. Динамический анализ кода
Тема 27. Статический анализ кода
Тема 28. Разработка shell кодов
Тема 29. Практика: ручная распаковка
Тема 30. Практика: анализ эксплойта
Тема 31. Практика: анализ вредоносного образца
Тема 32. Уязвимость Buffer Overflow
Тема 33. Уязвимость UAF
Тема 34. Буткиты
C 14 февраля
Тема 35. Выбор темы и организация проектной работы
Тема 36. Консультация по проектам и домашним заданиям
Тема 37. Защита проектных работ
Скачать подробную программу
Выпускной проект
Вместе с участниками группы по ходу курса мы «разревёрсим» несколько реальных вредоносных программ, определим их функционал и в качестве выпускного проекта напишем программу для лечения.

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

Трудозатраты: 4 академических часа на занятия в неделю и 2-4 академических часа на домашнюю работу раз в 2 недели.
Первый месяц занятия будут проходить в режиме 1 раз в неделю (по средам), для плавного погружения в процесс обучения.
Получить консультацию
Наш специалист свяжется с вами в ближайшее время. Если у вас возникли трудности в выборе курса или проблемы технического плана, то мы с радостью поможем вам.
Спасибо!
Мы получили Вашу заявку, в ближайшее время с Вами свяжется наш менеджер.

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


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

  • научитесь читать ассемблерный код
  • научитесь работать в специализированном ПО для обратной разработки (IDA Pro, WinDBG, OllyDbg, Hiew)
  • освоите в теории и на практике основные приемы статического и динамического анализа кода
  • повысите свою ценность и конкурентоспособность как специалиста

  • получите сертификат об окончании курса

Дата выдачи сертификата: 4 апреля 2022 года
Ваш сертификат

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «Reverse-Engineering»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Директор департамента образования
ООО “Отус Онлайн-Образование”
Анна Фирсова

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018 года.

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «Reverse-Engineering»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Директор департамента образования
ООО “Отус Онлайн-Образование”
Анна Фирсова

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018 года.
Прошедшие открытые вебинары
Открытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
Типовые алгоритмы работы файловых инфекторов. День 2
Артур Пакулов
День открытых дверей
2 сентября в 20:00
Для доступа к прошедшим мероприятиям необходимо пройти входное тестирование
Возможность пройти вступительное тестирование повторно появится только через 2 недели
Результаты тестирования будут отправлены вам на e-mail, указанный при регистрации.
Тест рассчитан на 30 минут, после начала тестирования отложить тестирование не получится!
Стоимость обучения
45 000 ₽
Продолжительность
5 месяцев
Начало занятий
30 сентября