CTFINF Обучение
Реверс-инжиниринг для ВСОШ по информационной безопасности
Практический реверс для ВСОШ по ИБ: как процессор исполняет код, Ghidra, gdb + pwndbg, IDA Free и radare2, крекми и обращение проверок, деобфускация, Go, .NET, Java, Python и Android, упаковщики и самомодифицирующийся код, патчинг, ARM и RISC-V. 30 реальных reverse-задач олимпиады с разборами и финальный mini-CTF. Первый модуль бесплатно.
Длительность: 7 модулей · 28 обязательных уроков · около 28 часов. Дополнительно 3 урока (ещё около 3 часов) — их можно пройти в любое время. Первый модуль — бесплатно.
Цена:
6 500
990
Горящая скидка · 990 ₽ при пополнении, 1
инфер
= 1 ₽
О курсе
Курс готовит к задачам категории reverse (реверс-инжиниринг) Всероссийской олимпиады школьников по информационной безопасности — от регионального до заключительного этапа. Reverse пугает сильнее крипты и web, потому что кажется магией: дают файл-программу без исходного кода и просят понять, что она делает, и достать флаг. Этот курс убирает магию.
Мы начинаем не с инструментов, а с фундамента: как процессор исполняет код, что такое регистры и память, как устроен стек и вызов функции. Без этого декомпиляция в Ghidra остаётся набором иероглифов. Затем даём рабочий инструментарий — триаж (file, strings), статику (Ghidra), динамику (gdb + pwndbg), а там, где это добавляет навык, — те же приёмы в IDA Free и radare2: на олимпиадной машине может оказаться любой из них, и мы показываем, что из этого работает без интернета. И учим применять всё это к реальным классам задач: крекми и обращение проверок, кодировки-«матрёшки», сетевой чекер на pwntools, чтение декомпиляции нативного ELF и места, где Ghidra врёт, деобфускация, не-C бинарники (Go, .NET, Java, Python), Android-APK с нативной библиотекой, упаковщики и самомодифицирующийся код, патчинг и ассемблер незнакомых архитектур — ARM, RISC-V и даже Эльбруса.
Темы курса доказаны реальными задачами олимпиады: в теорию встроены разборы 30 reverse-задач регионального и заключительного этапов 2023–2026 годов с указанием года, этапа и класса. Самостоятельная практика переносит тот же метод на новые файлы, поэтому вы осваиваете способ решения, а не заучиваете опубликованный ответ. Завершает курс финал — mini-CTF: восемь задач с настоящих соревнований без подписи темы. Сначала нужно понять, что за файл и какой в нём приём, потом решить.
Реверс проще один раз увидеть, чем прочитать. Поэтому приёмы показаны на больше чем 140 кадрах настоящих программ — Ghidra, IDA Free, radare2, gdb + pwndbg — с выносками: видно, куда нажать и что появится на экране. А самая «страшная» тема — как работают регистры, стек и память — разобрана в видео вживую в отладчике на простой программе; ещё одно видео — разбор задачи регионального этапа «Коллектив 2.0».
Для тех, кто хочет больше, — три дополнительных урока сверх программы олимпиады: z3 и angr (когда проверку проще описать, чем обратить), VM-обфускация (пишем дизассемблер для чужого процессора) и анти-отладка. Они не блокируют основной маршрут, их можно пройти в любое время.
Первый модуль — «Как компьютер исполняет код» — доступен бесплатно целиком. Для перехода к следующему уроку нужно набрать не менее 50% баллов текущего урока и отметить его завершённым.
Для кого курс
Кому подойдёт курс
- ученикам 9–11 классов (частично 8), которые готовятся к региональному или заключительному этапу ВСОШ по информационной безопасности;
- тем, кто уже решает крипту и web, но видит файл-программу и не знает, с чего начать;
- тем, кто хочет систематизировать реверс: чтение ассемблера и декомпиляции, отладка, обращение чекеров, снятие обфускации;
- преподавателям и тренерам — как последовательная программа с автопроверкой, подсказками и полными разборами.
Ассемблер и устройство процессора знать заранее не нужно — им посвящён весь первый модуль. Нужен рабочий минимум Python и готовность повторять команды в терминале.
Чему научится ученик
Понимать
- как процессор исполняет машинный код: регистры, память, стек, вызов функции, соглашение о вызовах;
- что компилятор оставляет в бинаре, а что выбрасывает, и почему реверс вообще возможен;
- как одна и та же логика выглядит на уровне C, ассемблера и машинных байт.
Анализировать
- делать триаж незнакомого файла (
file,strings,nm) и классифицировать его; - читать декомпиляцию в Ghidra, сверять её с дизассемблером и замечать, где декомпилятор врёт;
- проверять гипотезы в
gdb+pwndbg: точки останова, регистры, просмотр памяти; - повторять те же приёмы в IDA Free и radare2 — граф переходов, перекрёстные ссылки, отладчик, патч байтов — и знать, что из этого работает без интернета.
Решать на олимпиаде
- обращать крекми: посимвольные чекеры пароля (равенства, XOR, арифметика, сдвиги), позиционные и зацепленные ключи;
- снимать кодировки-«матрёшки» и обфускацию, доставать флаг, которого нет в
strings; - писать скрипт на pwntools против сетевого чекера с nonce;
- узнавать и читать не-C бинарники (Go, .NET, Java, Python), доставать нативную библиотеку из APK по имени JNI-экспорта, снимать UPX, ловить самомодифицирующийся код в отладчике;
- патчить проверку, когда программу проще заставить, чем понять, — и видеть, когда патч даёт мусор;
- читать ассемблер ARM, RISC-V и Эльбруса, который видишь впервые.
Дополнительно, по желанию
- отдавать клубок условий решателям z3 и angr;
- писать дизассемблер и эмулятор для VM-обфускации;
- снимать анти-отладку:
ptrace,TracerPid, тайминг наrdtsc,SIGTRAP.
Формат практики
Практика следует сразу за объяснением приёма. В курсе задачи трёх видов: задания с файлами и точным ответом (обычно флаг вида vsosh{...}), задачи в тренажёре кода на Python 3, где нужно написать декодер или решатель, и задачи-сервисы, которые запускаются в контейнере. По ходу теории — 120 вопросов самопроверки, а ключевые темы закреплены разбором реальной reverse-задачи ВСОШ.
Следующий урок открывается после набора 50% баллов за текущий и подтверждения его завершения. Дополнительные уроки маршрут не блокируют.
Подготовка к этапам ВСОШ
Материалы курса размечены по уровню и помогают выстроить подготовку последовательно.
- Модуль 1 (бесплатно) — фундамент: как процессор исполняет код, регистры, память, стек, ассемблер x86-64.
- Модуль 2 — инструменты: триаж, Ghidra, gdb + pwndbg, IDA Free и radare2, машина участника ВСОШ и маршрут от файла до флага на первой задаче олимпиады.
- Модуль 3 — данные и крекми: кодировки-«матрёшки», чекеры пароля, позиционные и зацепленные ключи, сетевой крекми, флаг, которого нет в strings; 9 задач ВСОШ, из них 5 заключительного этапа.
- Модуль 4 — нативный ELF: где Ghidra врёт, свой протокол шифрования, деобфускация; 7 задач регионального этапа. Дополнительно — z3 и angr.
- Модуль 5 — не-C и упаковка: Go, .NET, Java, Python, Android с нативной библиотекой, UPX, самомодифицирующийся код; 7 задач ВСОШ, из них 6 заключительного этапа.
- Модуль 6 — граница реверса: ARM, RISC-V и Эльбрус, патчинг и обход проверок; 6 задач ВСОШ, из них 4 заключительного этапа. Дополнительно — VM-обфускация и анти-отладка.
- Модуль 7 — финал: mini-CTF из восьми задач с настоящих соревнований без подписи темы.
Что нужно до начала
Что нужно на старте
- уверенно работать с файлами: скачивать, распаковывать, открывать в терминале;
- повторять команды в терминале по образцу из урока;
- писать и запускать короткие скрипты на Python 3.
Что знать заранее необязательно
Ассемблер, устройство процессора и работа отладчика на старте не требуются — им посвящён первый модуль.
Что понадобится технически
- современный браузер и стабильный интернет;
- Ghidra (бесплатна, работает на Windows, Linux и macOS, в том числе на Apple Silicon — это Java-программа);
- по желанию — radare2 с декомпилятором r2ghidra и IDA Free: в курсе показано, что поставить и проверить дома, потому что на олимпиаде интернета нет;
- для запуска и отладки учебных бинарников — Linux. Лучший вариант для олимпиадника — поставить виртуальной машиной официальный образ машины участника ВСОШ (Kali Linux, выложен организаторами): готовитесь в той же среде, в которой будете решать на туре. Подойдут также Docker или WSL2 — в курсе показано, как их поднять. Отдельно разбираем случай «мака» на M-процессоре: образ олимпиадной машины собран под x86-64 и без медленной эмуляции там не запускается, поэтому мы показываем рабочий путь через Docker и эмуляцию.
Программа курса
Модуль 1. Как компьютер исполняет код
бесплатноПроцессор, память, стек, вызов функции и чтение ассемблера — фундамент реверса. Бесплатный модуль.
Модуль 2. Инструменты и среда реверса
закрытоТриаж файла, Ghidra, gdb + pwndbg и те же приёмы в IDA Free и radare2, рабочая среда — от машины участника ВСОШ до Apple Silicon — и первая настоящая задача регионального этапа. Платный модуль.
Модуль 3. Представление данных и чекеры пароля
закрытоКак данные выглядят внутри программы, как снимать слои кодировок и как обращать проверку пароля — от посимвольных чекеров до сетевых. Платный модуль.
Модуль 4. Нативный ELF и снятие обфускации
закрытоКак читать декомпиляцию настоящего нативного ELF: видеть за local_XX переменные и массивы, восстанавливать циклы и таблицы, ловить ошибки декомпилятора, не пугаться обфускации, а в дополнительном уроке — отдавать клубок условий решателям z3 и angr. Платный модуль.
Модуль 5. Не-C бинарники и упаковка
закрытоКак понять, что перед тобой не C (Go/.NET/Java/Python/Rust), и вскрыть каждый рантайм своим инструментом: Go-бинари, .NET и Java, Android-APK с нативной библиотекой через JNI, упаковщики и самомодифицирующийся код, который расшифровывает себя только в памяти. Платный модуль.
Модуль 6. Граница реверса: незнакомые архитектуры, pwn и VM
закрытоКогда бинарь не x86: читаем ассемблер незнакомых архитектур (ARM, RISC-V, Elbrus) и реверс на границе с pwn. Два дополнительных урока: VM-обфускация и анти-отладка — как снять защиту, которой программа мешает отладчику, и почему статику она не трогает. Платный модуль.
Модуль 7. Финал: mini-CTF
закрытоВосемь задач с настоящих соревнований без подписи темы: сначала понять, что за файл и какой в нём приём, потом решить. Разминка с совместным началом двух задач и заключительный набор. Платный модуль.
Чем курс отличается от обычных курсов по ИБ
- Фундамент снизу. Курс сначала объясняет, как работает процессор и память, и только потом даёт инструменты. Реверс перестаёт быть магией.
- От реальных задач ВСОШ. В теорию встроены разборы 30 настоящих reverse-задач регионального и заключительного этапов 2023–2026 годов — с указанием года, этапа и класса.
- Кадры вместо пересказа. Каждый приём показан и командами терминала, и реальными кадрами Ghidra, IDA Free, radare2 и gdb + pwndbg с выносками: видно, куда нажать и что появится на экране.
- Разнообразие задач. Крекми, кодировки, сетевой чекер с nonce, нативный ELF, обфускация, Go, .NET, Java, Python, Android, упаковщики, игра на SDL2, шеллкод, RISC-V и Эльбрус — не однотипный набор.
- Видео там, где текст перестаёт помогать. Как работают регистры, стек и память, показано вживую в отладчике на простой программе, а задача регионального этапа «Коллектив 2.0» разобрана на видео.
- Финал как на соревновании. Mini-CTF из восьми задач с настоящих соревнований без подписи темы: приём нужно узнать самому.
- Больше, чем нужно для олимпиады. Три дополнительных урока — z3 и angr, VM-обфускация, анти-отладка — для тех, кто хочет решать задачи сильнее олимпиадных.