Interesante prueba. Más sencilla de lo que pensábamos originalmente. Con bastantes troleos, eso sí.

HackIt Level 4: Noise? Resuelto por 1 equipo
http://ikasten.io/images/ee33_level.opus
Fichero transmitido por modem. Baudios: 1200
$ minimodem –rx –file level.wav 1200 > extracted
$ file extracted
extracted: GIF image data, version 89a, 400 x 200
Primero troleo:
Dentro del gif vemos que hay un par de .ogg
$ strings extracted

Vamos con Cursor+Claude Sonnet 4 en modo agente:
$ strings extracted | grep -i ogg
// buscar OGG file signatures:
$ hexdump -C extracted | grep -i «4f676753»
// obtener offsets
$ grep -abbo «OggS» extracted
39513:OggS
48094:OggS
56231:OggS
64935:OggS
73658:OggS
80921:OggS
89402:OggS
98112:OggS
106822:OggS
115533:OggS
124243:OggS
132529:OggS
141010:OggS
149738:OggS
157693:OggS
Comprobamos primero tamaño de extracted:
$ wc -c extracted
162245 extracted
Y procedemos a extraer los OGG files en las posiciones 2981 y 6451.
$ dd if=extracted of=embedded_file1.ogg bs=1 skip=2981 count=$((6451-2981))
$ dd if=extracted of=embedded_file2.ogg bs=1 skip=6451
$ file embedded_file1.ogg embedded_file2.ogg
embedded_file1.ogg: Ogg data, Opus audio, version 0.1, mono, 48000 Hz (Input Sample Rate)
embedded_file2.ogg: Ogg data, Opus audio, version 0.1, mono, 48000 Hz (Input Sample Rate)
hackit2025/hackit4
Repetimos el proceso con el primer ogg, pero esta vez a 300 baudios:
$ minimodem –rx –file embedded_file1.ogg 300 > file1
### CARRIER 300 @ 1250.0 Hz ###
### NOCARRIER ndata=21 confidence=2.343 ampl=0.984 bps=300.00 (rate perfect) ###
Veamos qué hemos sacado en claro:
$ file file1
file1: ASCII text
$ cat file1
youtu.be/dQw4w9WgXcQ
Adivinad a dónde nos lleva el vídeo…

No se podía saber 🙂
Entender lo que había en el segundo ogg fue más sencillo… al menos para los viejos del lugar como el que escribe estas líneas:

Un bonito dump de una cinta de Spectrum. La convertimos a wav y de wav a tape:
$ ffmpeg -i embedded_file2.ogg spectrum_tape.wav
$ python3 -c «import tzxtools; print(dir(tzxtools))»
$ tzxwav -o spectrum_tape.tzx spectrum_tape.wav
$ pip show tzxtools
Name: tzxtools
Version: 1.9.4
Summary: A tool collection for processing tzx files
Home-page: https://codeberg.org/shred/tzxtools
Author: Richard Körber
Author-email: dev@shredzone.de
License: GPLv3+
Location: /opt/hackit2025/hackit4/venv/lib/python3.11/site-packages
Requires: numpy, pypng, sounddevice
Required-by:
Sólo nos queda lanzar un emulador de Spectrum para macOS (o cualquier otro para otro sistema operativo):
$ open -a Fuse.app ../spectrum_tape.tzx
(accesible desde aquí https://fuse-for-macosx.sourceforge.io/)
Y por fin, llegamos al final del level.