SOS
XESXOR9/2/20263 min read
#misc#custom#easy#morse_decoding
SOS
Platform: TaipanByte | Category: Misc | Type: Challenge | Difficulty: Easy | OS: NA | Author: XESXOR | Date: 2026-02-14 | Status: Solved Techniques: morse_decoding
Summary
The task description contained only Morse code:
SOS — TaipanByte
Description
The task description contained only Morse code:
- -... { ... --- ... ..--.- -.-. --- -.. . ..--.- --- .-. ..--.- -- --- .-. ... . ..--.- -.-. --- -.. . ..--.. }
The task name "SOS" is a direct hint: SOS (... --- ...) is the most famous Morse code signal.
Files: none. The flag is encoded directly in the task description.
Analysis
The task is pure Morse code decoding. Key observations:
- Name "SOS" — direct hint to Morse code (SOS =
... --- ...) - Description consists of dots (
.) and dashes (-) separated by spaces — classic Morse format - Characters
{and}are left as literal delimiters — they frame the encoded flag content - Flag format TB{...} — the first two characters
- -...decode toTandB
Solution
Step-by-step decoding
| Morse | Character | Note |
|---|---|---|
- | T | |
-... | B | |
{ | { | literal |
... --- ... | SOS | |
..--.- | _ | underscore |
-.-. --- -.. . | CODE | |
..--.- | _ | underscore |
--- .-. | OR | |
..--.- | _ | underscore |
-- --- .-. ... . | MORSE | |
..--.- | _ | underscore |
-.-. --- -.. . | CODE | |
..--.. | ? | question mark |
} | } | literal |
Result: TB{REDACTED}
Python script for decoding
python read-only • copy allowed#!/usr/bin/env python3 """Morse code decoder for TaipanByte SOS challenge.""" MORSE_CODE = { '.-': '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', '-----': '0', '.----': '1', '..---': '2', '...--': '3', '....-': '4', '.....': '5', '-....': '6', '--...': '7', '---..': '8', '----.': '9', '..--.-': '_', # underscore '..--..': '?', # question mark '.-.-.-': '.', # period '--..--': ',', # comma } morse_input = "- -... { ... --- ... ..--.- -.-. --- -.. . ..--.- --- .-. ..--.- -- --- .-. ... . ..--.- -.-. --- -.. . ..--.. }" result = [] for token in morse_input.split(): if token in ('{', '}'): result.append(token) elif token in MORSE_CODE: result.append(MORSE_CODE[token]) else: result.append(f'[?{token}]') flag = ''.join(result) print(f"Flag: {flag}")
Output:
Flag: TB{REDACTED}
Reference: Morse Code
Letters
A .- N -.
B -... O ---
C -.-. P .--.
D -.. Q --.-
E . R .-.
F ..-. S ...
G --. T -
H .... U ..-
I .. V ...-
J .--- W .--
K -.- X -..-
L .-.. Y -.--
M -- Z --..
Special characters
_ ..--.- (underscore)
? ..--.. (question mark)
. .-.-.- (period)
, --..-- (comma)
Related Techniques
- ASCII decoding — numeric character codes
- Base64 decoding — Base64 format strings
- Hex decoding — hexadecimal data
- Semaphore alphabet — visual encoding with flags
- Bacon cipher — binary encoding (A/B or two fonts)
Notes
- Task in "beginners/misc" category — pure decoding without cryptography
{and}have no standard Morse code representation, so they are left as literals- Character
..--.-(underscore) — non-standard Morse code extension, but widely used in CTF - Question mark
..--..— standard Morse character