# [Juniors CTF] Unbridled Joy Only!

## Writeup by ipu

In that challenge we only got a 7z file called en.7z that contained 900 images. We quickly noticed that the images connected to each other, for example images 186-188 had the same head in them so we needed to connect the images but how can we know the size of a row?

There were many blocks of 4 gray images that were the border (the first row was all gray too) so we can see that each row had 30 images, now we only need to connect them.

The easiest way to connect the images that I found was using the Python library PIL (called pillow on pip), this is the code I used:

#!/usr/bin/env python

from PIL import Image

# List of all images we need to connect
images = ['part ({})'.format(i) for i in range(1, 901)]

# The total dimension of the new image
new_im = Image.new('RGB', (43 * 30, 50 * 30))

x_offset = 0
y_offset = 0

for i, image_name in enumerate(images):
# Every 30 images we need to move to the next row
if i % 30 == 0:
x_offset = 0
y_offset += 49

im = Image.open(image_name)
new_im.paste(im, (x_offset, y_offset))
x_offset += im.size[0]

new_im.save('out.jpg')


And here is the output of that script:

As you can see the image is not perfect but it was good enough to read what is the next step. After that we join the telegram group and sent a picture of one of the team member with a drawing of Pickle Rick.