$ cat writeup.md…
$ cat writeup.md…
umasscybersec
Task: a raw UART-like CSV capture had to be interpreted as serial data. Solution: treat each sample as one 8N1 bit at about 33377 baud, decode the boot log, then hex-decode the recovered secretflag value.
$ cat /etc/rate-limit
Rate limit reached (20 reads/hour per IP). Showing preview only — full content returns at the next hour roll-over.
Organizer description was not preserved in the local task files.
English summary: the challenge provided a code.csv file containing timestamp and logic-level samples from a UART-like signal. The goal was to reconstruct the serial stream and recover the embedded flag.
The hints pointed to UART with 8N1 framing and suggested using PulseView. The CSV used a constant timestamp delta of about 2.9960751415645503e-05 seconds, so each row could be treated directly as one bit instead of resampling.
That implies an effective baud rate of about 1 / 2.9960751415645503e-05 = 33377 baud. Parsing the capture by looking for falling edges as start bits, then reading 1 start bit, 8 data bits LSB-first, and 1 stop bit cleanly decoded the stream into Linux boot logs.
Inside the output, the important line was:
secretflag: 554d4153537b553452375f31355f3768335f623335372c5f72316768373f7d
Hex-decoding that string produced the final flag.
secretflag hex string from the boot output.#!/usr/bin/env python3 from pathlib import Path CSV_PATH = Path("tasks/umasscybersec/Brick by Brick/code.csv") ...