$ cat writeup.md…
$ cat writeup.md…
HackTheBox
Provided files: - `traces.csv` — GPIO signal capture: 16 channels (GPIO 5,6,12,13,16,17,18,19,20,21,22,23,24,25,26,27), 337 data rows with timestamps - `Gerber_module/` — PCB fabrication files (Gerber format): TopLayer, BottomLayer, TopSilkLayer, SolderMask, Drill files, BoardOutline, etc. Created i
$ cat /etc/rate-limit
Rate limit reached (20 reads/hour per IP). Showing preview only — full content returns at the next hour roll-over.
"One of our embedded devices has been compromised. It was flashing a message on the debug matrix that was too fast to read, although we managed to capture one iteration of it. We must find out what was displayed. To help you with your mission, we will also provide you with the fabrication files of the PCB module the matrix was on."
Provided files:
traces.csv — GPIO signal capture: 16 channels (GPIO 5,6,12,13,16,17,18,19,20,21,22,23,24,25,26,27), 337 data rows with timestampsGerber_module/ — PCB fabrication files (Gerber format): TopLayer, BottomLayer, TopSilkLayer, SolderMask, Drill files, BoardOutline, etc. Created in EasyEDA v6.4.17Gerber files describe a PCB module with an 8×8 LED matrix and a 20-pin connector (dual-row, 2×10).
The key task is to trace the copper routes from connector pins to matrix rows and columns to determine the GPIO → matrix pin mapping.
The CSV contains 337 data rows. Data is grouped into clusters of 8 rows, separated by ~100ms pauses. Total of 42 frames (42 message characters).
Within each frame — 8 sequential column scans with ~0.5ms intervals.
...
$ grep --similar