- Published on
BITSCTF 2025 - Hardware challenges
Introduction
We solved 2 out of 3 tasks.
Table of contents
Old Skool
 Writeup author: Grzechu
 Writeup author: GrzechuUse this code to solve:
import numpy as np
import matplotlib.pyplot as plt
from scipy.signal import hilbert
from scipy.io import wavfile
# 1. Wczytanie pliku IQ
file_path = "modulated.iq"
iq_data = np.fromfile(file_path, dtype=np.complex64)
# 2. Parametry
Fs = 24000  # Sampling rate 24kHz
Fc = 1550000  # Przybliżona nośna (np. 1550 kHz)
t = np.arange(len(iq_data)) / Fs
# 3. Przemiana częstotliwości (mixing)
demod_signal = iq_data * np.exp(-1j * 2 * np.pi * Fc * t)
# 4. Demodulacja AM (obwiednia)
audio_signal = np.abs(hilbert(demod_signal.real))
# 5. Normalizacja i zapis do pliku WAV
audio_signal = (audio_signal / np.max(np.abs(audio_signal)) * 32767).astype(np.int16)
wavfile.write("output.wav", Fs, audio_signal)
print("Demodulacja zakończona! Otwórz output.wav, aby odsłuchać.")
Then tempo change and WAV to Text Converter with minor adjustments.
Flag: BITSCTF{welcome_to_our_radio_enjoy_our_song_collection}
Ulation
 Writeup author: kerszi
 Writeup author: kersziThat was simple task. Just You need to find and use a proper tool. Universal Radio Hacker is here.
 Flag:
 Flag: BITSCTF{A_br13f_4nd_g3ntl3_1ntr0duc710n_70_r4di0_h4ck1ng_c5c33558}

