glitch
Challenge Overview
Name: glitch
Author: pinebery
Description: Do not resist the g̵͕̗͑̅l̶̢̂̚ḭ̶̐͗t̴͔̞̒͐c̸̭͈̄h̷̨̞͊͠.
Flag format: tjctf{}
Objective: Recover the hidden message from the glitched image and wrap it in tjctf{}.
Files Provided
- `glitch.png` (provided image)
Solution Plan
1. Inspect the provided glitched image and focus on the strong horizontal color bands instead of the noise.
2. Clean or downsample the image to make the color bands easier to identify.
3. Read the bands as resistor color code digit pairs, convert each pair into a decimal ASCII value, and wrap the decoded text in tjctf{}.
Code (Exploit Script)
#!/usr/bin/env python3
digits = {
"black": "0",
"brown": "1",
"red": "2",
"orange": "3",
"yellow": "4",
"green": "5",
"blue": "6",
"violet": "7",
"gray": "8",
"white": "9",
}
pairs = [
("blue", "gray"), # 68 -> D
("green", "brown"), # 51 -> 3
("gray", "orange"), # 83 -> S
("yellow", "white"), # 49 -> 1
("violet", "brown"), # 71 -> G
("violet", "gray"), # 78 -> N
("yellow", "orange"), # 43 -> +
("gray", "yellow"), # 84 -> T
("blue", "white"), # 69 -> E
("blue", "violet"), # 67 -> C
("violet", "red"), # 72 -> H
("white", "green"), # 95 -> _
("green", "gray"), # 58 -> :
("yellow", "brown"), # 41 -> )
]
message = "".join(chr(int(digits[a] + digits[b])) for a, b in pairs)
print(message)
print(f"tjctf{{{message}}}")
Flag
tjctf{D3S1GN+TECH_:)}
Notes
The decoded inner text is D3S1GN+TECH_:).