We were given a python script picmaker.py and a picture inject.png. The description of the problem was the following:
```Pixels don't reveal secrets, or do they?Hint : The original file name is inject.bin```
What the script basically does is it takes a file, encodes the file as base64 and creates an image with the file data encoded into it as colours. There are four different colours, which represent four possible combinations of 2 bits. So every byte is represented by four pixels.
The python code, which reverses the process, is the following:
```pythonimport base64from PIL import Image
img = Image.open("inject.png")pixels = img.load()
width, height = img.sizecolours = [		(255, 0, 0),		(0, 0, 255),		(0, 128, 0),		(255, 255, 0)	]
enc = ''
for i in range(0, int(width*height)-1, 4):	byte = [pixels[i%width,i//width], pixels[(i+1)%width,(i+1)//width], pixels[(i+2)%width,(i+2)//width], pixels[(i+3)%width,(i+3)//width]] 	part = [] 	for a in byte:		c = 0		for b in colours:			if a == b:				part.append(c)				break			c += 1  	if (len(part) > 0):		ans = 0		ans |= part[0]<<6		ans |= part[1]<<4		ans |= part[2]<<2		ans |= part[3]<<0
		enc+=chr(ans)
unenc = base64.b64decode(enc)
f = open("inject.bin", "wb")f.write(unenc)
f.close()```
With a quick google search we can find that inject.bin is a rubber ducky compiled payload. We can use tools to decompile it, for example Duck-Decoder (https://github.com/JPaulMora/Duck-Decoder). In the output we can find the flag **darkCON{p1x3l5_w17h_m4lw4r3}** as well as a Rickroll and some harmless evil looking commands.