Files
ctf/2026/cscg/misc/can-i-have-flag/guess.py
2026-03-18 05:59:37 +01:00

19 lines
485 B
Python

import struct
with open("digital-0.bin", "rb") as f:
data = f.read()
num_transitions = (len(data) - 44) // 8
SAMPLE_RATE = 125_000_000
initial_state = struct.unpack_from('<I', data, 16)[0]
print(f"initial_state={initial_state}")
transitions = []
for i in range(num_transitions):
raw = struct.unpack_from('<Q', data, 44 + i * 8)[0] # uint64 little-endian
t = raw / SAMPLE_RATE
transitions.append(t)
if i < 30:
print(f" [{i}] raw={raw}, time={t:.9f}s")