HyggeHalcyon
GithubLinkedIn
  • 🕊️whoami
  • 🚩CTFs
    • 2025
      • ARKAVIDIA Quals
      • TECHOMFEST Quals
    • 2024
      • BackdoorCTF
      • World Wide CTF
      • 7th Cyber Mimic Defense
      • TSA Cyber Champion
      • Cyber Jawara International
      • National Cyber Week Quals
      • COMPFEST 16 Finals
      • HackToday Finals
      • UIUCTF
      • TBTL CTF
      • BSidesSF CTF
      • UMD CTF
      • UMassCTF
      • b01lers CTF
      • AmateursCTF
      • UNbreakable International - Team Phase
    • 2023
      • HackToday CTF Quals
        • Vnote
        • TahuBulat
        • Rangkaian Digital
      • Tenable CTF
        • Skiddyana Pwnz and the Loom of Fate
        • Braggart
      • CiGITS
        • afafafaf
        • popping around shell
        • well_known
      • TJCTF
        • flip out
        • shelly
        • groppling-hook
        • formatter
        • teenage-game
      • SanDiegoCTF
        • money printer
        • turtle shell
      • DeadSec CTF
        • one punch
      • FindIT CTF Quals
        • Debugging Spiders
        • Everything Machine
        • Furr(y)verse
        • Bypass the Py
        • Joy Sketching in the Matrix
        • Detective Handal
        • I Like Matrix
        • CRYptograPI
        • Date Night
        • Web-Find IT
        • Mental Health Check
        • NCS Cipher
        • Discovered
  • 🔍NOTES
    • FSOP
      • Structures
      • GDB
      • Arbitrary Read/Write
      • Vtable Hijack
    • Heap Feng Shui
      • Libc Leak
    • Kernel Space
      • Privilege Escalation
      • Objects
      • Escaping Seccomp
    • V8
      • Documentation
      • TurboFan
      • SandBox (Ubercage)
  • 📚Resources
    • Cyber Security
      • General
      • Red Teaming
        • CheatSheet
        • Payload Database
        • Quality of Life
      • Binary Exploitation
        • Return Oriented Programming
        • File Structure Oriented Programming
        • Heap Exploitation
        • Linux Kernel Exploitation
        • Windows Exploitation
        • V8 Browser
      • Reverse Engineering
        • Windows Executable
        • Malware Analysis
        • Tools
      • Web Exploitation
      • Malware Development
      • Detection Engineering
      • Blockchain / Web3
      • Cryptography
    • Software Engineering
  • 📋Planning
    • Quick Notes
Powered by GitBook
On this page
  • Problem
  • Solution
  • Flag
  1. CTFs
  2. 2023
  3. FindIT CTF Quals

NCS Cipher

PreviousMental Health CheckNextDiscovered

Last updated 1 year ago

Problem

Description

listening to NCS music takes me back to my childhood and teenage years. I remember discovering the NoCopyrightSound YouTube channel and being amazed by the variety of electronic music available. NCS music was everywhere in the early 2010s, especially among gamers, YouTubers, and content creators. For me, NCS was the soundtrack of my youth. The energetic beats and catchy melodies of NCS songs made studying, gaming, and hanging out with friends more enjoyable. Whenever I listen to NCS music now, it brings back memories of the carefree times of my youth, and I'm reminded of the friendships and experiences that defined that period of my life. NCS music will always hold a special place in my heart and take me back to a time when life was simpler and full of possibilities. Anyways, lately we find that a lot of ways to hide an information is a little bit boring. So I made this cipher method using NCS music. Well, it may be easy to break and figure out the hidden message, but atleast it's fun to listen to right?

Solution

We're given a mp3 file which is mix of songs appended collected randomly from . To decrypt we use music finder tools such as Shazam to find the music title. Then we math the title to its corresponding seqId within the JSON. Lastly, we map the gathered seqId values to ASCII letters in order of their appearances within the mp3.

Thanks to Aeryx, he wrote the following script to split can cut the mp3 into parts of different musics it made of

Split.py
from pydub import AudioSegment


# Load the music file
audio = AudioSegment.from_file("flag.mp3")


# Define the segment duration in milliseconds (5 seconds = 5000 milliseconds)
segment_duration = 5000


# Split the audio into segments of the defined duration
segments = [audio[i:i+segment_duration] for i in range(0, len(audio), segment_duration)]


# Export each segment to individual files
for i, segment in enumerate(segments):
   segment.export(f"segment_{i+1}.mp3", format="mp3")
  1. Paul Flint - Savage [NCS Release] -> seqId : 109

  2. Waysons - Eternal Minds [NCS Release] -> seqId : 51

  3. Cartoon feat. Jüri Pootsmann - I Remember U (Xilent Remix) [NCS Release] -> seqId : 77

  4. JJD - Adventure [NCS Release] -> seqId : 111

  5. Kadenza - Harpuia [NCS Release] -> seqId : 114

  6. Ship Wrek - Pain (feat. Mia Vaile) [NCS Release] -> seqId : 105

  7. Rob Gasser & Laura Brehm - Vertigo [NCS Release] -> seqId : 101

  8. Different Heaven - Far Away [NCS Release] -> seqId : 53

  9. SKYL1NK - The Wizard [NCS Release] -> seqId : 95

  10. Mendum - Red Hands (feat. Omri) [NCS Release] -> seqId 85

  11. Elektronomia - Energy [NCS Release] -> seqId : 110

  12. Phantom Sage - Silence (feat. Byndy) [NCS Release] -> seqId : 76

  13. Cartoon - Immortality (feat. Kristel Aaslaid) [Futuristik Remix] | NCS Release -> seqId : 48

  14. Blazars - Polaris [NCS Release] -> seqId : 99

  15. K-391 - Earth [NCS Release] -> seqId : 75

  16. Inukshuk - We Were Infinite [NCS Release] -> seqId : 69

  17. Chime & Adam Tell - Whole [NCS Release] -> seqId : 100

Solve.py
seqid = [109, 51, 77, 111, 114, 105, 101, 53, 95, 85, 110, 76, 48, 99, 75, 69, 100] 
flag = []

for i in range(len(seqid)):
    if(isinstance(seqid[i], int)):
        flag.append(chr(seqid[i]))  
    else:
        flag.append(seqid[i])

print(''.join(flag))

Flag

FindITCTF{m3Morie5_UnL0cKEd}

🚩
https://raw.githubusercontent.com/dundorma/TinDog-WebDev-Bootcamp/master/random-data/NoCopyrightSounds.json