2 Commits

Author SHA1 Message Date
Maxime Vorwerk
a3d85283ee endianness_v2_temp 2025-02-15 18:40:54 +01:00
Maxime Vorwerk
365d9a82b1 poweranalysis_part_1_temp 2025-02-15 18:40:10 +01:00
5 changed files with 48 additions and 0 deletions

BIN
endianness_v2/challengefile Normal file

Binary file not shown.

View File

15
endianness_v2/sol.py Executable file
View File

@@ -0,0 +1,15 @@
#!/usr/bin/env python3
from pwn import *
with open("challengefile", "rb") as f:
file = f.read()
log.info(f"length: {len(file)}")
reorder = b""
for i in range(len(file)//4):
reorder += file[i+3:i+4] + file[i+2:i+3] + file[i+1:i+2] + file[i:i+1]
log.hexdump(reorder)

1
poweranalysis_part_1/out Normal file

File diff suppressed because one or more lines are too long

32
poweranalysis_part_1/sol.py Executable file
View File

@@ -0,0 +1,32 @@
#!/usr/bin/env python3
from pwn import *
import matplotlib.pyplot as plt
address = "saturn.picoctf.net"
port = 63821
def fetch_data(message):
conn = remote(address, port, level="warn")
conn.recvuntil(b"hex: ")
conn.sendline(message)
conn.recvuntil(b"[")
list_string = conn.recvuntil(b"]", drop=True)
conn.close()
return [int(s.strip()) for s in list_string.split(b',')]
data_array = []
P = log.progress("fetching timing data")
for i in range(16):
P.status(f"{i+1}/16")
data_array.append(fetch_data(b"00112233445566778899aabbccddeeff"))
P.success("16/16 all data fetched")
data = [0]*len(data_array[0])
for i in range(len(data_array)):
slice = data_array[i]
for j, n in enumerate(slice):
data[j] += n
plt.plot(data)
plt.show()