Skip to content

Instantly share code, notes, and snippets.

@toby-bro
toby-bro / FCSC2024-writeup-fftea.md
Created October 5, 2024 20:43
FCSC2024 writeup fftea

FFTea

The code in craft_signal.py applies the inverse Fourier Transform on the bytes it reads from the flag.txt. So we only need to apply the Fourier Transform on the fftea data. This code thus recovers the flag :

import numpy as np

# Load the data from the "fftea" file
data = np.fromfile("challenge", dtype = np.complex64)
data = np.fromfile("fftea", dtype = np.complex64)
@toby-bro
toby-bro / FCSC2024-writeup_very_cute_data.md
Created October 5, 2024 22:17
FCSC2024 writeup Very Cute Data

Very cute data

I had no idea what this data was. I thus found myself reading a writeup of the year before

Once i had understood how this I2C works i went to writing the program to parse the data and extract the flag : extract.py

import json
import sys
from pyDigitalWaveTools.vcd.parser import VcdParser
@toby-bro
toby-bro / FCSC2024-writeup-strike.md
Created October 5, 2024 22:20
FCSC2024 writeup Strike

Strike

To reverse engineer this program I used IDA on one side and gdb on the other side (with pwndbg) so i could see what each input would do.

First of all we see that the program expects one argument Then we realise that the length of the string we pass as argument must be a dividable by two.

From now on we will consider that I am using the program ./strike aabbccddee with aabbccddee a string passed as argument to the program (in gdb)

(gdb) set args aabbccddee