Райтап на задачу «Edit from planes»

lol

Автор:

lol

6 ноября 2026

5

06.11.2026
Edit from planes
Категория:

Stegano

Задача «Edit from planes»

motgyl

Автор:

motgyl

Первая кровь:
burnsky
Сложность:
hard
Дата публикации:
19.07.2026
Решений:
12
Рейтинг:
4.17/5
Ссылка:
Решать

Хард? Стега? 12 солвов? Автор мотгуль? Так ещё и видос на 1,2 ГБ! Это определённо наш выбор)

Итак, скачали мы это видео, посмотрели классный эдит и в конце видим милую Пикси в самолёте. Обычно в таких видео нужно искать вставленные кадры, но если мы посмотрим на 0,5, как говорит автор, то всё равно ничего не ясно. Предлагаю пойти самым надёжным путём и разбить всё на кадры):

Решение задачи «Edit from planes»: иллюстрация 1

Используем утилиту ffmpeg, только не так по-тупому, как я)) Иначе у вас будет такая ситуация:

Решение задачи «Edit from planes»: иллюстрация 2

АХХАХАХАХА. Ладно, это быстро фиксим и возвращаемся к решению:

Решение задачи «Edit from planes»: иллюстрация 3

Если весь терминал после ls забит фотографиями — вы делаете всё верно!

Теперь нам ничего не остаётся, кроме как посмотреть быстренько все пару тыс. кадров и получить результат! Какой результат — никакой! Никаких явных флешфреймов и т. д. нету. Значит, можно копать ещё глубже — часто в стеганографии скрывают что-либо в LSB (самые малозначимые биты). Для этого нам понадобится написать простенький скриптик на пайтоне по типу такого:

import os
import glob
from PIL import Image

def get_lsb(img_path, out_path):
    img = Image.open(img_path).convert('RGB')
    pixels = img.load()
    w, h = img.size

    out_img = Image.new('1', (w, h))
    out_pixels = out_img.load()

    for y in range(h):
        for x in range(w):
            r, g, b = pixels[x, y]
            out_pixels[x, y] = r & 1

    out_img.save(out_path)

in_dir = "/home/lol/Рабочий стол/кадры"
out_dir = "/home/lol/Рабочий стол/визуализация_lsb"

os.makedirs(out_dir, exist_ok=True)
files = glob.glob(os.path.join(in_dir, "frame_*.png"))

for f in files:
    name = os.path.basename(f)
    get_lsb(f, os.path.join(out_dir, f"lsb_{name}"))
Решение задачи «Edit from planes»: иллюстрация 4

Теперь также просматриваем все кадры! Ого! У нас появилось нечто новое — Пикси, которая машет флагом)) А это интересно. Мне кажется, она неспроста держит флаг, я бы внимательно присмотрелся к нему. Когда мы пролистаем практически половину, мы увидим следующее:

Решение задачи «Edit from planes»: иллюстрация 5

Флаг на флаге? Очень мило). Теперь мы смотрим, какой это по счёту кадр, у меня 1309. Берём оригинал этого кадра (без LSB) и закидываем его на https://www.aperisolve.com/ и видим это:

Решение задачи «Edit from planes»: иллюстрация 6

Теперь нам остаётся только заапскейлить это фото и написать флажок)

Если вы нашли опечатку или ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter

Также по теме:

Райтап на задачу «Немое кино»

/Разборы задач

Райтап на задачу «Немое кино»

Изучаем строки MP4-файла и собираем скрытую строку Base64 с флагом.
Прочитать

22

Райтап на задачу «Границы лишь в голове»

/Разборы задач

Райтап на задачу «Границы лишь в голове»

Разбор задачи «Границы лишь в голове» от motgyl: меняем высоту JPEG и находим скрытую часть картинки.
Прочитать

25