Skip to content

Commit 08563d7

Browse files
committed
Add Decomphose - 325 points
1 parent bc65013 commit 08563d7

File tree

3 files changed

+77
-9
lines changed

3 files changed

+77
-9
lines changed

SUMMARY.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
* [Paillier Service \[400 points\]](/cryptography/paillier-service-400-points.md)
1010
* [Forensics](forensics.md)
1111
* [Serial \[300 points\]](/forensics/serial-300-points.md)
12+
* [Decomphose \[325 points\]](/forensics/decomphose-325-points.md)
1213
* [Programming](programming.md)
1314
* [Hello, world! \[10 points\]](programming/hello-world-10-points.md)
1415
* [Fzz Buzz 2 \[200 points\]](/programming/fzz-buzz-2-200-points.md)
@@ -18,6 +19,3 @@
1819
* [Phunky Python II \[115 points\]](/reverse-engineering/phunky-python-ii-115-points.md)
1920
* [67k \[400 points\]](reverse-engineering/67k-400-points.md)
2021
* [Web](web.md)
21-
22-
23-

forensics.md

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,6 @@ This category refers to the recovery of information from evidence, like extracti
1717
* Finn \[200 points\]
1818
* Kittycat \[290 points\]
1919
* [Serial \[300 points\]](/forensics/serial-300-points.md)
20-
* Decomphose \[325 points\]
20+
* [Decomphose \[325 points\]](/forensics/decomphose-325-points.md)
2121
* QR 2 \[330 points\]
2222
* Bizzaro \[400 points\]
23-
24-
25-
26-
27-

forensics/decomphose-325-points.md

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# Decomphose - 325 points
2+
3+
Image arithmetic is super neat until there's more than two images involved.
4+
5+
file 1
6+
7+
file 2
8+
9+
file 3
10+
11+
file 4
12+
13+
### Solution
14+
15+
To begin, I decompressed `file 1` and noticed that it contained images with seemingly random pixel noise:
16+
17+
![](https://github.com/hgarrereyn/EasyCTF-2017-Write-ups/raw/e3a3bd2cc09d92ad213624e51e4d6e5c85adfa05/decomphose/207188208176.png)
18+
19+
Upon closer inspection, some pixels seem to be surrounded on all sides by black pixels:
20+
21+
![](https://github.com/hgarrereyn/EasyCTF-2017-Write-ups/raw/e3a3bd2cc09d92ad213624e51e4d6e5c85adfa05/decomphose/209123584873_zoom.png)
22+
23+
The other three folders contained similar images.
24+
25+
Perhaps if I could isolate those bordered pixels from each image and overlay them, I could find some clue.
26+
27+
I opened the first photo in GIMP (a free, open-source photo editing application).
28+
29+
![](https://github.com/hgarrereyn/EasyCTF-2017-Write-ups/raw/e3a3bd2cc09d92ad213624e51e4d6e5c85adfa05/decomphose/0_gimp.png)
30+
31+
After a bit of mucking around trying to find a way to isolate those pixels, I figured out a method:
32+
33+
#### 1. Set black pixels transparent
34+
35+
Do `Layers > Transparency > Color to Alpha...` and set the color selection to `#000000`:
36+
37+
![](https://github.com/hgarrereyn/EasyCTF-2017-Write-ups/raw/e3a3bd2cc09d92ad213624e51e4d6e5c85adfa05/decomphose/1_gimp.png)
38+
39+
I obtained this:
40+
41+
![](https://github.com/hgarrereyn/EasyCTF-2017-Write-ups/raw/e3a3bd2cc09d92ad213624e51e4d6e5c85adfa05/decomphose/2_gimp.png)
42+
43+
#### 2. Fill noisy pixels
44+
45+
Select the paint-bucket tool and set the threshold to `200` and the color to `#000000`.
46+
47+
Then click on any of the noisy pixels and they will all turn black. (the paint bucket won't cross alpha borders)
48+
49+
![](https://github.com/hgarrereyn/EasyCTF-2017-Write-ups/raw/e3a3bd2cc09d92ad213624e51e4d6e5c85adfa05/decomphose/3_gimp.png)
50+
51+
#### 3. Remove noisy pixels
52+
53+
Now we can simply repeat step 1 again to remove the noisy pixels. (There are a few artifacts but it won't matter)
54+
55+
![](https://github.com/hgarrereyn/EasyCTF-2017-Write-ups/raw/e3a3bd2cc09d92ad213624e51e4d6e5c85adfa05/decomphose/4_gimp.png)
56+
57+
#### Combine all the images
58+
59+
In order to combine all the images, I simply opened the images as layers in GIMP and repeated the process above for each layer.
60+
61+
*Note: a handy shortcut is CMD-F or CTRL-F to repeat the last filter (eg. Color to Alpha)*
62+
63+
My final image looked like this:
64+
65+
![](https://github.com/hgarrereyn/EasyCTF-2017-Write-ups/raw/e3a3bd2cc09d92ad213624e51e4d6e5c85adfa05/decomphose/decomphose.png)
66+
67+
And zooming in on the flag, we obtain:
68+
69+
![](https://github.com/hgarrereyn/EasyCTF-2017-Write-ups/raw/e3a3bd2cc09d92ad213624e51e4d6e5c85adfa05/decomphose/decomphose_flag.png)
70+
71+
`easyctf{wh4t_a_5weet_fFLag_2b04e1}`
72+
73+
### External Writeups
74+
75+
* \(none\)

0 commit comments

Comments
 (0)