
Реверсивный инжиниринг ПО под ОС Windows
Программа курса
Ознакомьтесь с программой курса Реверсивный инжиниринг ПО под ОС Windows от Академия Кодебай - codeby.school
- Общее представление о языке ассемблера и реверсивном инжиниринге программ. Зачем это нужно в информационной безопасности. Примеры того, чему мы должны научиться.
- Обзор инструментария: компиляторы, дизассемблеры отладчики. Решения для Windows.
- Основы языка ассемблер: команды и директивы, структуры программ. Регистры процессора, работа с памятью. Разные способы написания программ.
- Модели управления памятью в различных типах процессоров, адресация логическая и физическая. Страничная организация памяти. Команды для работы с памятью.
- Флаги и команды перехода. Представление данных в памяти. Представление команд. Опкоды. Методы написания программ с помощью различных опкодов. Простейшие механизмы обхода сигнатурных антивирусов.
- Работа со строками. Сравнение строк, поиск в строке, пересылка строк. Как выглядят типовые ошибки при работе с памятью.
- Подпрограммы и соответствующие регистры. Стек наше все. Отличия JMP от RET. Особенности реализации в 64-битной архитектуре.
- Арифметические операции и необходимые команды. Логические операции и команды. Написать программу для шифрования/дешифрования вводимых данных.
- Становимся исследователями кода: что такое крякмикс и где его взять. Разбор нескольких crackme начального уровня.
- Прерывания BIOS. Вывод на экран. Работа с файлами. Чтение/запись. 1
- Учимся решать крякмиксы различной сложности для освоения работы с дизассемблерами и отладчиками. Патчинг и написание кейгенов. 1
- Основы вирусной аналитики: Перехват прерывания. Подмена и реализация нового обработчика. 1
- Механизмы антиотладки. Process Environment Block, NtGlobalFlag, отладочные регистры. Разбор примеров. Плагины к отладчикам. 1
- Основы вирусной аналитики: Master Boot Record. Что это такое, зачем нужно. Написание кастомного MBR. Подготовка виртуалки к возможным падениям. 1
- Самомодифицирующийся код. Вирусный стиль программирования. Как это было на x86 и что можно сделать сейчас. Не/применимость данных технологий на современном оборудовании и ОС. 1
- Специфика ассемблера ОС Windows. Вызов функций API. Структура программ, создание окон. Цикл обработки очереди сообщений. Ассемблер MASM. 1
- Многозадачное программирование. Процессы и потоки. Взаимодействие потоков, семафоры. События. Взаимоисключения. 1
- Сетевое программирование. Стек TCP/IP. Модель OSI. IP адресация. Написание простейшего клиент-серверного приложения для обхода IDS. 1
- Криптография и ассемблер. Какие криптоалгоритмы существуют. Краткий разбор исходного кода основных криптоалгоритмов.
- И снова крякмиксы. Анализируем crackme с оконными интерфейсами и рассматриваем особенности перехватов вызовов API функций. 2
- Кольцевая архитектура защиты в ОС Windows. Драйверы ядра рабочей среды ОС. Объекты ядра. Настройка среды разработки. Написание простейшего драйвера. 2
- Диспетчер ввода-вывода. РЕ-формат файлов. MZ, Rich и Dan. Учимся анализировать заголовки файлов с помощью специальных утилит. Механизмы сокрытия кода в чужих выполнимых файлах. 2
- Основы вирусной аналитики. Таблица импорта. Внедрение кода в PE файл. Практикуемся во внедрении своего кода в чужие реальные приложения. 2
- Сообщения и ловушки в Windows. Перехват API функций. Учимся перехватывать вызовы различных функций. 2
- Native приложения. Работа с библиотекой ntdll.dll. 2
- Программирование сервисов и DLL на ассемблере. 2
- Основы вирусной аналитики. Различные методы добавления приложений в автозагрузку. Не только реестр. Получаем права System без входа в систему (не EthernalBlue). 2
- Основы багхантинга. Виды уязвимостей. Как их правильно искать. Автоматизируем фаззинг оконных приложений с помощью скриптов. 2
- Основы вирусной аналитики. Тестовые среды для анализа работы приложений. Cuckoo и Sandboxie. Как вредонос может попытаться переиграть песочницу. 30)Основы багхантинга. Разработка shell кода. Особенности написания, неправильные байты. Примеры. 3
- Основы вирусной аналитики. Все о вредоносах. Напоминание о ст. 273 УК РФ. Разбор исходного кода вируса. 3
- Основы вирусной аналитики. Напоминание о ст. 273 УК РФ. Обсуждение червей. Разбор исходного кода червя, особенности. 3
- Основы вирусной аналитики. Напоминание о ст. 273 УК РФ. Обсуждение шифровальщиков. Разбор исходного кода шифровальщика. 3
- Основы вирусной аналитики. Напоминание о ст. 273 УК РФ. Обсуждение загрузчиков. DGA и механизмы взаимодействия с C&C. 3
- Основы вирусной аналитики. Код без кода. Возвратно-ориентированное программирование. Преимущества и недостатки. 3
- Основы вирусной аналитики. Буткиты. Разбор примера. 3
- Учимся обнаруживать запуск под виртуальной машиной, песочницей или в контейнером. Основные методы. 3
- Обсуждение тем проектных работ. Постановка задачи. 3
- Консультации по проектным работам. 40)Защита проектной работы. 4
- Заключительное занятие. Рекомендации по дальнейшему самостоятельному развитию.
Чему вы научитесь
- Специалистам по тестированию на проникновение, желающим лучше изучить направление реверсинга приложений;
- Вирусным аналитикам и исследователям кода занимающимся изучением вредоносного ПО;
- Программистам, разрабатывающим продукты в области Информационной безопасности или занимающимся разработкой ПО с повышенными требованиям к защищенности (промышленное, банковское ПО и т.д.);
- Программистам, занимающимся реверсингом уже существующих приложений в рамках задач по импортозамещению.
- Специалистам по ИБ и программистам, желающим освоить профессию реверс-инженер ПО.
Мой рейтинг
Подробная информация о курсе
Цены и сроки
- Стоимость59 990 ₽
- Старая цена71 990 ₽
- Рассрочка24 месяца
- Мин. платеж в рассрочку3 144 ₽/мес
Содержание
- Формат обученияОнлайн-курс