import qrcode from PIL import Image from random import randrange, getrandbits, seed import os import base64
flag = os.getenv("FLAG") if flag == None: flag = "flag{test}"
secret_seed = randrange(1, 1000)
seed(secret_seed)
reveal = []
for i in range(20): reveal.append(str(getrandbits(8)))
target = getrandbits(8)
reveal = ",".join(reveal)
img_qrcode = qrcode.make(reveal) img_qrcode = img_qrcode.crop((35, 35, img_qrcode.size[0] - 35, img_qrcode.size[1] - 35))
offset, delta, rate = 50, 3, 5 img_qrcode = img_qrcode.resize( (int(img_qrcode.size[0] / rate), int(img_qrcode.size[1] / rate)), Image.LANCZOS )
img_out = Image.new("RGB", img_qrcode.size)
for y in range(img_qrcode.size[1]): for x in range(img_qrcode.size[0]): pixel_qrcode = img_qrcode.getpixel((x, y)) if pixel_qrcode == 255: img_out.putpixel( (x, y), ( randrange(offset, offset + delta), randrange(offset, offset + delta), randrange(offset, offset + delta), ), ) else: img_out.putpixel( (x, y), ( randrange(offset - delta, offset), randrange(offset - delta, offset), randrange(offset - delta, offset), ), )
img_out.save("qrcode.png") with open("qrcode.png", "rb") as f: data = f.read() print("This my gift:") print(base64.b64encode(data).decode(), "\n")
print(target)
ans = input("What's your answer:") if ans == str(target): print(flag) else: print("No no no!")
|