diff --git a/.DS_Store b/.DS_Store
index 098777e..bf18c97 100644
Binary files a/.DS_Store and b/.DS_Store differ
diff --git a/.gitignore b/.gitignore
index bc51b40..c7ef092 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,14 @@
htb/cyber_apocalypse_2024/pwn/pwn_sound_of_silence/challenge/
+
+insomnihack24/mobile/.venv/
+
+insomnihack24/mobile/Notes/
+
+insomnihack24/mobile/CryptoTest/.idea/
+
+insomnihack24/mobile/CryptoTest/out/
+
+insomnihack24/misc/puzzled/solutions/
+
+insomnihack24/misc/puzzled/pieces/
diff --git a/insomnihack24/.DS_Store b/insomnihack24/.DS_Store
new file mode 100644
index 0000000..e28663e
Binary files /dev/null and b/insomnihack24/.DS_Store differ
diff --git a/insomnihack24/misc/puzzled/.gitignore b/insomnihack24/misc/puzzled/.gitignore
new file mode 100644
index 0000000..21d0b89
--- /dev/null
+++ b/insomnihack24/misc/puzzled/.gitignore
@@ -0,0 +1 @@
+.venv/
diff --git a/insomnihack24/misc/puzzled/output.txt b/insomnihack24/misc/puzzled/output.txt
new file mode 100644
index 0000000..db7a44b
--- /dev/null
+++ b/insomnihack24/misc/puzzled/output.txt
@@ -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
diff --git a/insomnihack24/misc/puzzled/puzzled.py b/insomnihack24/misc/puzzled/puzzled.py
new file mode 100644
index 0000000..5e7b277
--- /dev/null
+++ b/insomnihack24/misc/puzzled/puzzled.py
@@ -0,0 +1,126 @@
+from PIL import Image
+import random
+import itertools
+from pyzbar.pyzbar import decode
+
+
+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):
+ 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:
+ print("Data:", obj.data.decode('utf-8'))
+ print("Type:", obj.type)
+
+
+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")
+
+paths = [f"solutions/possible_qr{i}.png" for i in range(720)]
+for path in paths:
+ decodeQRCode(path)
diff --git a/insomnihack24/misc/puzzled/puzzledVersion25QRcode.png b/insomnihack24/misc/puzzled/puzzledVersion25QRcode.png
new file mode 100644
index 0000000..e953d2d
Binary files /dev/null and b/insomnihack24/misc/puzzled/puzzledVersion25QRcode.png differ
diff --git a/insomnihack24/mobile/.DS_Store b/insomnihack24/mobile/.DS_Store
new file mode 100644
index 0000000..298a68d
Binary files /dev/null and b/insomnihack24/mobile/.DS_Store differ
diff --git a/insomnihack24/mobile/CryptoTest/.DS_Store b/insomnihack24/mobile/CryptoTest/.DS_Store
new file mode 100644
index 0000000..ac119a3
Binary files /dev/null and b/insomnihack24/mobile/CryptoTest/.DS_Store differ
diff --git a/insomnihack24/mobile/CryptoTest/CryptoTest.iml b/insomnihack24/mobile/CryptoTest/CryptoTest.iml
new file mode 100644
index 0000000..c90834f
--- /dev/null
+++ b/insomnihack24/mobile/CryptoTest/CryptoTest.iml
@@ -0,0 +1,11 @@
+
+