-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgenqr.py
51 lines (40 loc) · 1.13 KB
/
genqr.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import qrcode
import cv2
import base64
import os
import dotenv
dotenv.load_dotenv()
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=1,
border=1,
)
qr.add_data(os.getenv('FLAG11'))
qr.make(fit=True)
img = qr.make_image(fill_color="black", back_color="white")
img.save("mid1out.png")
img = cv2.imread('mid1out.png')
jpg_img = cv2.imencode('.png', img)
b64_string = base64.b64encode(jpg_img[1]).decode('utf-8')
b64_url = "data:image/png;base64," + b64_string
# print(b64_url)
qr2 = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=10,
border=1,
)
qr2.add_data(b64_url)
qr2.make(fit=True)
img_2 = qr2.make_image(fill_color="black", back_color="white")
img_2.save("mid2out.png")
img = cv2.imread('mid2out.png')
jpg_img = cv2.imencode('.png', img)
b64_string = base64.b64encode(jpg_img[1]).decode('utf-8')
# b64_url = "data:image/png;base64," + b64_string
b64_url = "Rp“Ð)T#2[/png.Ëb-5·," + b64_string
os.remove("mid1out.png")
os.remove("mid2out.png")
with open("www/chall11/file.txt", "w") as writer:
writer.write(b64_url)