# Decomphose - 300 Points
Image arithmetic is super neat until there's more than two images involved.
file 1
[file 2](https://github.com/VoidMercy/easyctf-2017-problems/blob/master/decomphose/decomp2.7z?raw=true)
[file 3](https://github.com/VoidMercy/easyctf-2017-problems/blob/master/decomphose/decomp3.7z?raw=true)
[file 4](https://github.com/VoidMercy/easyctf-2017-problems/blob/master/decomphose/decomp4.7z?raw=true)
### Solution
###### Writeup by VoidMercy from phsst
We were given 84 images in 4 folders.
After looking into each of the images, we can see that there are black squares surrounding pixels randomly in each of the images. We surmised that the solution requires you to combine all of the pixels with black pixels surrounding them. Here is my script to do this:
```pythonimport osfrom PIL import Image
flag = Image.new("RGB", (1280, 720))path = "E:\easyctf\decomphose\decomp1"for filename in os.listdir(path):    if (".py" not in filename):        f = Image.open(path + "\\" + filename)        width, height = f.size        for i in range(width):            for a in range(height):                add = True                if (i > 0 and f.getpixel((i - 1, a)) != (0, 0, 0)):                    add = False                if (i < width - 1 and f.getpixel((i + 1, a)) != (0, 0, 0)):                    add = False                if (a > 0 and f.getpixel((i, a - 1)) != (0, 0, 0)):                    add = False                if (a < height - 1 and f.getpixel((i, a + 1)) != (0, 0, 0)):                    add = False                if (add):                    flag.putpixel((i, a), f.getpixel((i, a)))flag.save("flag.png")```
![](https://github.com/VoidMercy/EasyCTF-Writeups-2017/blob/master/forensics/Decomphose/flag.png)
## Flag
>easyctf{wh4t_a_5weet_fFLag_2b04e1}