archlinux / r3t0x@portfolio
ALL SYSTEMS NOMINAL /
← Back to archive · Misc

Securinets Friendly CTF 2026 / Misc WRITEUP

FLOATING RECEIPTS

The numbers are real. The receipts are questionable.

EVENTSecurinets Friendly CTF 2026CATEGORYMiscDIFFICULTYeasyPOINTS200
misc

Walkthrough

Challenge

The player receives receipts.txt, containing a short list of unusual decimal floating-point values.

Solution

The values are not measurements. Every value is a four-byte IEEE-754 float32 whose raw little-endian bytes are four consecutive flag characters.

Parse every line as a number, pack it back into a little-endian float, join the resulting bytes, and remove the null padding at the end.

python3 solver.py

Output:

Securinets{y3s_th3s3_fl04ts_4r3_t0t4lly_l3g1t_r3c31pts_trust_m3}

Run python3 make.py to rebuild the attachment after changing the flag.

Reference solver

The reference solver supplied with the writeup:

#!/usr/bin/env python3

import struct


flag = b""
for line in open("receipts.txt"):
    flag += struct.pack("<f", float(line))

print(flag.rstrip(b"\0").decode())

Flag

Securinets{y3s_th3s3_fl04ts_4r3_t0t4lly_l3g1t_r3c31pts_trust_m3}
Published 2026-09-28 · by r3t0x← Back to archive · Misc
0xSEARCH_INDEX

Trace a memory.

INDEX ONLINE0 addresses
↑↓ TRACEENTER OPENESC DISMISS