Il semble que le fichier fftea contienne des données générées par une transformée de Fourier rapide inverse (IFFT) des octets de l’indicateur. Votre tâche consiste à appliquer une transformée de Fourier (FFT) de taille 64 sur les données pour récupérer le drapeau.
Voici un script Python pour ce faire :
import numpy as np
# Load the complex data from the file
data = np.fromfile("fftea", dtype=np.complex64)
# Apply FFT
flag_data = np.fft.fft(data, n=64)
# Convert to bytes
flag = "".join(chr(int(round(abs(c)))) for c in flag_data)
print("Recovered flag:", flag)
Étapes :
- Lire le fichier en utilisant
numpy.fromfile
comme un tableau de nombres complexes (numpy.complex64
). - Effectuer une FFT de taille 64 pour inverser l’opération IFFT utilisée dans le script
craft_signal.py
. - Convertir le résultat en caractères lisibles, en supposant que les octets du drapeau ont été directement stockés.