changed repo structure
1
2024/insomnihack/misc/puzzled/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.venv/
|
||||
28
2024/insomnihack/misc/puzzled/output.txt
Normal file
@@ -0,0 +1,28 @@
|
||||
Data: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. INS{Im-puzzl3d-6c2bd4d3-e739-4f8d-b8cd-6bd663bde735} Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
||||
Type: QRCODE
|
||||
Data: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. INS{Im-puzzl3d-6c2bd4d3-e739-4f8d-b8cd-6bd663bde735} Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
||||
Type: QRCODE
|
||||
Data: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. INS{Im-puzzl3d-6c2bd4d3-e739-4f8d-b8cd-6bd663bde735} Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
||||
Type: QRCODE
|
||||
Data: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. INS{Im-puzzl3d-6c2bd4d3-e739-4f8d-b8cd-6bd663bde735} Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
||||
Type: QRCODE
|
||||
Data: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. INS{Im-puzzl3d-6c2bd4d3-e739-4f8d-b8cd-6bd663bde735} Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
||||
Type: QRCODE
|
||||
Data: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. INS{Im-puzzl3d-6c2bd4d3-e739-4f8d-b8cd-6bd663bde735} Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
||||
Type: QRCODE
|
||||
Data: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. INS{Im-puzzl3d-6c2bd4d3-e739-4f8d-b8cd-6bd663bde735} Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
||||
Type: QRCODE
|
||||
Data: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. INS{Im-puzzl3d-6c2bd4d3-e739-4f8d-b8cd-6bd663bde735} Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
||||
Type: QRCODE
|
||||
Data: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. INS{Im-puzzl3d-6c2bd4d3-e739-4f8d-b8cd-6bd663bde735} Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
||||
Type: QRCODE
|
||||
Data: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. INS{Im-puzzl3d-6c2bd4d3-e739-4f8d-b8cd-6bd663bde735} Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
||||
Type: QRCODE
|
||||
Data: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. INS{Im-puzzl3d-6c2bd4d3-e739-4f8d-b8cd-6bd663bde735} Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
||||
Type: QRCODE
|
||||
Data: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. INS{Im-puzzl3d-6c2bd4d3-e739-4f8d-b8cd-6bd663bde735} Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
||||
Type: QRCODE
|
||||
Data: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. INS{Im-puzzl3d-6c2bd4d3-e739-4f8d-b8cd-6bd663bde735} Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
||||
Type: QRCODE
|
||||
Data: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. INS{Im-puzzl3d-6c2bd4d3-e739-4f8d-b8cd-6bd663bde735} Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
||||
Type: QRCODE
|
||||
BIN
2024/insomnihack/misc/puzzled/pieces/bottom_left.png
Normal file
|
After Width: | Height: | Size: 804 B |
|
After Width: | Height: | Size: 812 B |
|
After Width: | Height: | Size: 813 B |
|
After Width: | Height: | Size: 789 B |
|
After Width: | Height: | Size: 784 B |
|
After Width: | Height: | Size: 805 B |
|
After Width: | Height: | Size: 798 B |
BIN
2024/insomnihack/misc/puzzled/pieces/top_left.png
Normal file
|
After Width: | Height: | Size: 798 B |
BIN
2024/insomnihack/misc/puzzled/pieces/top_right.png
Normal file
|
After Width: | Height: | Size: 791 B |
139
2024/insomnihack/misc/puzzled/puzzled.py
Executable file
@@ -0,0 +1,139 @@
|
||||
#!/Users/cato/Code/Cato447/ctf/insomnihack24/misc/puzzled/.venv/bin/python3
|
||||
|
||||
from PIL import Image
|
||||
import random
|
||||
import itertools
|
||||
from pyzbar.pyzbar import decode
|
||||
import re
|
||||
|
||||
|
||||
def cutPieces(image_path, output_name_scheme):
|
||||
# Open the image
|
||||
original_image = Image.open(image_path)
|
||||
|
||||
# Get the size of the image
|
||||
width, height = original_image.size
|
||||
assert width == height
|
||||
|
||||
# Calculate the size of each grid cell
|
||||
cell_width = width // 3
|
||||
cell_height = height // 3
|
||||
|
||||
# Split the original image into 9 pieces
|
||||
for i in range(16):
|
||||
# Calculate the coordinates of the current grid cell
|
||||
x1 = (i % 3) * cell_width
|
||||
y1 = (i // 3) * cell_height
|
||||
x2 = x1 + cell_width
|
||||
y2 = y1 + cell_height
|
||||
|
||||
# Crop the corresponding part of the original image
|
||||
cropped_piece = original_image.crop((x1, y1, x2, y2))
|
||||
|
||||
# Save the cropped piece
|
||||
output_path = output_name_scheme.format(i)
|
||||
cropped_piece.save(output_path)
|
||||
|
||||
|
||||
def generateQRCodes(topLeft, topRight, bottomLeft, pieces):
|
||||
# Create a new image to store rearranged pieces
|
||||
new_image = Image.new("RGB", (234, 234))
|
||||
|
||||
# Paste the QR codes onto the new image
|
||||
new_image.paste(topLeft, (0, 0))
|
||||
new_image.paste(topRight, (156, 0))
|
||||
new_image.paste(bottomLeft, (0, 156))
|
||||
|
||||
print(pieces)
|
||||
|
||||
possible_combos = itertools.permutations(pieces, 6)
|
||||
|
||||
i = 0
|
||||
for a, b, c, d, e, f in possible_combos:
|
||||
# Paste the remaining pieces onto the new image
|
||||
new_image.paste(Image.open(a), (78, 0))
|
||||
new_image.paste(Image.open(b), (156, 78))
|
||||
new_image.paste(Image.open(c), (0, 78))
|
||||
new_image.paste(Image.open(d), (78, 78))
|
||||
new_image.paste(Image.open(e), (156, 156))
|
||||
new_image.paste(Image.open(f), (78, 156))
|
||||
|
||||
# Save the rearranged image
|
||||
new_image.save(f"solutions/possible_qr{i}.png")
|
||||
i += 1
|
||||
|
||||
|
||||
def decodeQRCode(image_path) -> str | None:
|
||||
image = Image.open(image_path)
|
||||
|
||||
# Decode the QR code
|
||||
decoded_objects = decode(image)
|
||||
|
||||
# Check if any QR code was found
|
||||
if decoded_objects:
|
||||
# Iterate through all the detected QR codes and print their data
|
||||
for obj in decoded_objects:
|
||||
return obj.data.decode("utf-8")
|
||||
else:
|
||||
return None
|
||||
|
||||
|
||||
def shuffle3x3GridImage(image_path, output_path):
|
||||
# Open the image
|
||||
original_image = Image.open(image_path)
|
||||
|
||||
# Get the size of the image
|
||||
width, height = original_image.size
|
||||
assert width == 234 and height == 234
|
||||
|
||||
# Calculate the size of each grid cell
|
||||
cell_width = width // 3
|
||||
cell_height = height // 3
|
||||
|
||||
# Create a new image to store rearranged pieces
|
||||
new_image = Image.new("RGB", (width, height))
|
||||
|
||||
# Create a list to store shuffled grid positions
|
||||
positions = [(x, y) for x in range(3) for y in range(3)]
|
||||
random.shuffle(positions)
|
||||
|
||||
# Split the original image into 16 pieces and rearrange them
|
||||
for i, pos in enumerate(positions):
|
||||
# Calculate the coordinates of the current grid cell
|
||||
x1 = pos[0] * cell_width
|
||||
y1 = pos[1] * cell_height
|
||||
x2 = x1 + cell_width
|
||||
y2 = y1 + cell_height
|
||||
|
||||
# Crop the corresponding part of the original image
|
||||
cropped_piece = original_image.crop((x1, y1, x2, y2))
|
||||
|
||||
# Calculate the coordinates to paste the cropped piece
|
||||
new_x = (i % 3) * cell_width
|
||||
new_y = (i // 3) * cell_height
|
||||
|
||||
# Paste the cropped piece onto the new image
|
||||
new_image.paste(cropped_piece, (new_x, new_y))
|
||||
|
||||
# Save the rearranged image
|
||||
new_image.save(output_path)
|
||||
|
||||
|
||||
# key = "Not the real key!"
|
||||
# random.seed(key)
|
||||
# shuffle3x3GridImage("fullVersion25QRcode.png", "puzzledVersion25QRcode.png")
|
||||
|
||||
# cutPieces("puzzledVersion25QRcode.png", "puzzledVersion25QRcode_piece{}.png")
|
||||
|
||||
flag_pattern = r"INS{.*}"
|
||||
pattern = re.compile(flag_pattern)
|
||||
|
||||
paths = [f"solutions/possible_qr{i}.png" for i in range(720)]
|
||||
for path in paths:
|
||||
data = decodeQRCode(path)
|
||||
if data is None:
|
||||
continue
|
||||
possible_flag = pattern.search(data)
|
||||
if possible_flag:
|
||||
print(possible_flag.group())
|
||||
break
|
||||
BIN
2024/insomnihack/misc/puzzled/puzzledVersion25QRcode.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr0.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr1.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr10.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr100.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr101.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr102.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr103.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr104.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr105.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr106.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr107.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr108.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr109.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr11.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr110.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr111.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr112.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr113.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr114.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr115.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr116.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr117.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr118.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr119.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr12.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr120.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr121.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr122.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr123.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr124.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr125.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr126.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr127.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr128.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr129.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr13.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr130.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr131.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr132.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr133.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr134.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr135.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr136.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr137.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr138.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr139.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr14.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr140.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr141.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr142.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr143.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr144.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr145.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr146.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr147.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr148.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr149.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr15.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr150.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr151.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr152.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr153.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr154.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr155.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr156.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr157.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr158.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr159.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr16.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr160.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr161.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr162.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr163.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr164.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr165.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr166.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr167.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr168.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr169.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr17.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr170.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr171.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr172.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr173.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr174.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr175.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
2024/insomnihack/misc/puzzled/solutions/possible_qr176.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |