PICOCTF 2019 • FORENSICS • AUDIO STEGANOGRAPHY / SSTV

m00nwalk: Apollo 11 SSTV Slow-Scan Television Audio Demodulation

By AbdoAug 31, 2026
m00nwalk Analysis
Official Challenge Prompt

“Decode this message from the moon. Hints: How did pictures get sent back from the moon? What is the name of the Apollo 11 audio format?”

Category: Forensics / Audio SteganographyPoints: 250 PTSFlag Format: picoCTF{...}
Provided File (Download & Practice)⬇️ Download message.wavSize: 11 MB • WAV Audio
Mode: SSTV Scottie 1

💡 THE INTUITIVE ANALOGY (Fax Machine from the Moon)

In 1969, NASA astronauts on the moon couldn't send high-definition digital videos. Instead, they used Slow-Scan Television (SSTV), which turns pictures into screeching audio tones (very similar to an old-school dial-up modem or fax machine). The pitch of the sound represents the brightness and color of each pixel row by row. If you play the audio into an SSTV receiver, it draws the original photograph right before your eyes!

METHOD A: ZERO-SETUP MOBILE APP (ROBOT36)

1. 10-Second Smartphone Decode (Robot36)

  1. Install Robot36 - SSTV Image Decoder (Free on Android Google Play Store) or BlackCat SSTV on iOS.
  2. Play message.wav on your PC speakers.
  3. Hold your phone near the speaker: The app automatically detects the Scottie 1 sync pulse and draws the image line-by-line in real time!
METHOD B: AUTOMATED PYTHON SSTV DECODER

2. Python SSTV Decoder Script (`solve.py`)

import sstv.common
import sstv.decode
from PIL import Image

# Suppress progress output
sstv.common.log_message = lambda *args, **kwargs: None
sstv.decode.log_message = lambda *args, **kwargs: None
sstv.common.progress_bar = lambda *args, **kwargs: None
sstv.decode.progress_bar = lambda *args, **kwargs: None

# Decode SSTV audio signal (Scottie 1 mode)
decoder = sstv.decode.SSTVDecoder('message.wav')
img = decoder.decode()

# Save rotated image for upright reading
img.rotate(180).save('result_rotated.png')
print("🎉 SSTV Decoded successfully! Check result_rotated.png")
⚡ Terminal Command (PySSTV CLI):
sstv -d message.wav -o result.png

3. Decoded Flag

Extracted Secret Flag:

picoCTF{beep_boop_im_in_space}

4. The Complete Investigation Path & Mental Roadmap

STEP 1
Audio Signal Recognition

Listened to message.wav and identified rhythmic chirping characteristic of Slow-Scan Television (SSTV).

STEP 2
Demodulation via SSTV Decoder

Decoded the audio waveform using Robot36 / Python sstv in Scottie 1 mode.

STEP 3
Visual Flag Capture

Read handwritten flag text from the rendered image: picoCTF{beep_boop_im_in_space}.

Cyber Amber
#f59e0b
PresetsClick to lock