Logo
Overview

BuckeyeCTF 2025 - Bugle Walkthrough

October 26, 2025
3 min read

Forensics / Bugle

Bugle Challenge

Toby Vulpine must have had a stroke when he made this.

Wrap the answer in bctf{...}, for example bctf{myanswerhere}

File provided: Bugle.mp3

This was a fun challenge. We’re provided with an mp3 audio file that sounds like a trumpet playing a song. If we analyze the audio file through various spectrogram analysis tools, nothing obvious comes to mind.

Morse Code

  • Google defines Morse code as an alphabet or code in which letters are represented by combinations of long and short signals of light or sound.

  • Morse Code is a form of encoding that can be integrated into steganographic methods by hiding the Morse code signals within an innocuous “cover” medium in a way that conceals the very existence of a hidden message. It can be delivered in many formats: spikes in volume, light, patterns, tones…

Audio File Analysis

We can start by simply listening to and viewing the audio in any DAW or audio visualization tool.

  • Let’s start with Sonic Visualizer
Sonic Visualizer Analysis

Hmmm…Nothing too obvious here. However, we do see some clean breaks in-between notes. This could be an indicator that this may be morse code.

When analyzing Morse Code, we need SOMETHING in between - and . - A space, a consistent break. Something to tell us where to separate each character.

If we load this up into an online tool MusicGram, we see further confirmation of Morse Code:

MusicGram Analysis

“How is this Morse Code?” You may ask…

Let’s take a closer look…

Load the .mp3 into your DAW (Digital Audio Workstation) of choice…

  • For this example, I use Ableton 12

Ableton Initial View

Let’s organize these notes by color and time & remove the negative space.

Chopped Audio

…Now do you see it?

﴾͡๏̯͡๏﴿

Ableton Organized View

…How about now?

First Notes

Aha! NOW we’re getting the hang of it!

( ━☞´◔‿ゝ◔`)━☞

Ableton Grid View

In Ableton Grid view, a 1/4 of a bar is shown by zooming in. Notice the two different shades of grey and the amount of space(time) a green clip takes up compared to a green clip. If you’re not familiar with Ableton, just think of one of those grey blocks as one quarter of a bar.

I think we got it!

Color-coded notes

  • Notes that play for 1/4 of a bar represents a -
  • Notes that play for 1/8 of a bar represent a .

I chopped each note individually and cut all of the negative space to isolate each character. This helped me visualize the -’s and .’s

I’ve included the Chopped Bugle Audio file here as well.

If you go through the entire audio file, listening to each note and color-coding them for easy visualization, you’ll end up with -- --- .-. ... . .- .-.. .-.. .- .-.. --- -. --.

You can then use CyberChef or another Morse Code Decoder to recover the decoded message.

Visual Representation

First Notes - MOR

Middle Notes - SEAL

Middle Notes - LAL

Last Notes - ONG

Alternative Solution

Rather than having to load the audio into a DAW, chop the notes up and color-code everything while manually listening and taking notes, you could use the Musicgram spectrogram tool and decode the morse just by looking at it…

But “How?” You may ask…

Musicgram with annotations

Musicgram with letters

Solution

The decoded message is: MORSEALLALONG

Flag: bctf{morseallalong}


This challenge demonstrates how steganography can be combined with classical encoding techniques like Morse code to hide information in audio files. The key insight was recognizing that the duration of notes (1/4 bar vs 1/8 bar) encoded the dashes and dots of Morse code.