Курсы по реверс-инжинирингу. Запишитесь на курс по анализу машинного кода программы

Курсы

Программирование
Kotlin Backend Developer Highload Architect React.js Developer Java Developer. Professional Web-разработчик на Python Software Architect Специализация C++ Developer
-25%
Cloud Solution Architecture Java Developer. Basic JavaScript Developer. Professional JavaScript Developer. Basic Специализация Fullstack developer PHP Developer. Basic C# Developer. Basic Golang Developer
-100%
C# Developer. Professional Flutter Mobile Developer PostgreSQL Cloud Solutions NoSQL Python Developer. Professional Разработчик на Spring Framework MS SQL Server Developer Разработчик программных роботов (RPA) на базе UiPath и PIX Архитектура и шаблоны проектирования C# ASP.NET Core разработчик Разработчик IoT Symfony Framework Программист С Unreal Engine Technical Game Design Специализация Python Developer PostgreSQL для администраторов баз данных и разработчиков
Специализации Курсы в разработке Подготовительные курсы Подписка
+7 499 938-92-02
Курс обновлен
При поддержке
логотип партнера
При поддержке
логотип партнера
Курс обновлен
Reverse-Engineering

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

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

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

5 месяцев

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

Формат:

Online

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

28 апреля

Дни занятий:

Чт 20:00, Пн 20:00

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

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

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

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

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

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

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

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

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


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

Бесплатный 2-дневный интенсив «Анализ буткита». День 1, 18 апреля в 20:00
На вебинаре онлайн-курса:

— разберём работу mbr руткита;
— проанализируем его ключевые этапы и стадии развёртывания.

Регистрируйтесь сейчас - напомним перед интенсивом!
Ведет
Артур
Пакулов
Предыдущий открытый вебинар
Бесплатный 2-дневный интенсив «Анализ буткита». День 2, 19 апреля в 20:00
На вебинаре онлайн-курса:

— разберём работу mbr руткита;
— проанализируем его ключевые этапы и стадии развёртывания.

Регистрируйтесь сейчас - напомним перед интенсивом!
Артур
Пакулов
Предыдущий открытый вебинар

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

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

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

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

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


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

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

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

Дата выдачи сертификата: 2 ноября 2022 года
Ваш сертификат

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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