Rage! is a misc challenge that was part of the 2022 DownUnder CTF. The only info: A raging Real Wild Child! And the flag is the string you end up with after solving challenge (case insensitive).

rage.wav

Solution

In the last few seconds the music gets quieter and we can hear morse code. To verify this, we used audacity to “view” the file and can see the morse code that is overlayed on the music.

audacity1

audacity2

audacity3

audacity4

Then we used both, the visual signal and slowed down music, to get the message letter by letter.

.-. .. --. .. -. --. / .. --- / ..- . .. .-. -.. / .-.. .. -... .. -.. ---
RIGING IO UEIRD LIBIDO
------------------------------------------------------------------------------
RAGING TO WEIRN LUSIDO
.-. .- --. .. -. --. / - --- / .-- . .. .-. -. / .-.. ..- ... .. -.. --- 
----------------------------------------------------------------------------
RAGING TO WEIRD LUCIDO
.-. .- --. .. -. --. / - --- / .-- . .. .-. -.. / .-.. ..- -.-. .. -.. --- 
------------------------------------------------------------------------------
.-. .- --. .. -. --. / - --- / .-- . .. .-. -.. / .-.. ..- .-... .. -.. ---
RAGING TO WEIRD LU&IDO
-------------------------------------------------------------------------------
RAGING TO WEIRD LIBIDO
.-. .- --. .. -. --. / - --- / .-- . .. .-. -.. / .-.. .. -... .. -.. ---
-----------------------------------------------------------------------------

To decode the morse code we used a python script form an old project.

#!/usr/bin/env python3

MCODE = { 
'A':'.-',
'B':'-...',
'C':'-.-.',
'D':'-..',
'E':'.',
'F':'..-.',
'G':'--.',
'H':'....',
'I':'..',
'J':'.---',
'K':'-.-',
'L':'.-..',
'M':'--',
'N':'-.',
'O':'---',
'P':'.--.',
'Q':'--.-',
'R':'.-.',
'S':'...',
'T':'-',
'U':'..-',
'V':'...-',
'W':'.--',
'X':'-..-',
'Y':'-.--',
'Z':'--..',
'1':'.----',
'2':'..---',
'3':'...--',
'4':'....-',
'5':'.....',
'6':'-....',
'7':'--...',
'8':'---..',
'9':'----.',
'0':'-----',
',':'--..--',
'.':'.-.-.-',
'?':'..--..',
'/':'-..-.',
'&':'.-...',
'-':'-....-',
'(':'-.--.',
')':'-.--.-',
' ':'/'
}

def encrypt(msg):
	r = ''
	for l in msg:
		r += MCODE[l] + ' '
	return r

def decrypt(msg):
	r = ''
	l = ''
	for s in msg:
		if (s != ' '):
			l += s
		else:
			r += list(MCODE.keys())[list(MCODE.values()).index(l)]
			l = ''
	return r

while True:
	msg = input()
	if msg == '' or msg[0] == ' ':
		break
	if msg[0] == '.' or msg[0] == '-':
		if msg[-1] != ' ':
			msg += ' '
		print(decrypt(msg))
		print("---"+"-"*len(msg))
	else:
		a = encrypt(msg.upper())
		print(a)
		print("---"+"-"*len(a))

Flag

The flag is “RAGING TO WEIRD LIBIDO”.