1.5 KiB
The Adventures of Boris Ivanov Part 2
The main idea finding the flag using OpenCV library and Python.
Step-1:
After we download confetti.zip
, we see that we have 500 photos.
Each dimension is 500 \times
1 and according to problem statement, the image size is 500 \times
500.
Step-2:
So basically, we have to concatenate the 500 images in vertical fashion.
Step-3:
Make a directory to extract all 500 images and set your pwd
to that directory containing all images.
After that only work is to join all images.
Step-5:
I executed this simple Concatenate.py
script and it worked.
from PIL import Image
listimages=[]
for i in range(0,500):
listimages.append(Image.open(str(i) + ".png")) # Make a list of pointers to the 500 pictures.
concatenate=Image.new("RGB",(500,500)) # Size of the concatenate picture
Y_offset=0
for i in listimages:
concatenate.paste(i,(0,Y_offset))
Y_offset+=1 # Add 1 at a time , Because the height of each picture is 1.
concatenate.save("concatenate.png")
Step-6:
We get the output as concatenate.png
after the above script is run. The image is as follows:
We see a hex code in between.
Step-7:
The Hex code is as follows:
66 6c 61 67 7b 74 68 33 5f 4b 47 42 5f 6c 30 76 33 73 5f 43 54 46 7d
I converted it to text online to get the flag.
Step-7:
Finally the flag becomes:
flag{th3_KGB_l0v3s_CTF}