/Разборы задач
31 октября 2026
Райтап на задачу «Кости и Баги»
Разбор задачи «Кости и Баги»: декомпилируем Python-файл, снимаем обфускацию и восстанавливаем флаг.7
12

Reverse
Задача «Прошлогодний флаг»
— У вас флаг свежий?
— Нет, прошлогодний!
Для начала выполняем базовые команды для понимания, куда двигаться дальше:
file last_years_flag
chmod +x last_years_flag
./last_years_flagУзнаём, что перед нами ELF-бинарник, принимающий на вход имя и требующий перенестись во времени в 2025 год.
Теперь открываем Ghidra, не забываем прожать Analyse и сразу идём смотреть, что есть интересного в функции main().
Находим следующее:
Получается, что программа обращается на сайт для получения оттуда флага. Сразу видим возможность самим отправить запрос на сайт.
Исходя из того, что в хедерах присутствует информация о JSON, узнаём, что нам нужно написать POST-запрос.
Осталось узнать, какие данные нужно передавать:
Теперь мы знаем, что тело запроса { "name": , "year": }.
Программа требовала, чтобы мы оказались в 2025 году — подставим этот год в значение к year.
Теперь осталось лишь отправить запрос, например, через curl:
curl -X POST https://last-year-flag.t1.bug-makers.ru/get_flag -H "Content-Type: application/json" -H "Accept: application/json" -d '{"name": "fderious", "year": 2025}'В ответ получаем флаг — таск решён!