#!/usr/bin/env python3
"""lsb_reveal.py — достаёт данные, спрятанные lsb_hide.py, без мусора в конце.

    python3 lsb_reveal.py stego.png > secret.txt
"""
import sys
from PIL import Image

raw = Image.open(sys.argv[1]).convert("RGB").tobytes()   # R,G,B,R,G,B,... подряд
bits = "".join(str(v & 1) for v in raw)                 # все младшие биты по порядку

n = int(bits[:32], 2)                                    # первые 32 бита — длина в байтах
if n * 8 > len(bits) - 32:
    sys.exit("Длина не помещается в картинку: похоже, данных здесь нет")
payload = bits[32:32 + n * 8]                            # ровно столько, сколько записали
sys.stdout.buffer.write(bytes(int(payload[i:i + 8], 2) for i in range(0, len(payload), 8)))
