CTF inter iut 2018 - Eat, Sleep, XOR, Repeat (Crypto)
Récupérer le fichier original |
---|
textXOR.txt |
Le magic number, tu trouveras
L’exercice n’est pas compliqué en soi, il est juste necessaire de retrouver le fichier original sachant que c’est un gif et qu’il a été xoré. Nous ne possédons pas la clé du XOR mais nous connaissons les 6 premiers bytes du fichier : le magic number
D’après wikipédia deux types existent, j’ai essayé les deux et c’est donc le deuxième qui a été utilisé : GIF89a
47 49 46 38 37 61 |
---|
47 49 46 38 39 61 |
dexor.py
d = open("EatSleepXorRepeat.gif", "rb").read()
key = [
0x21 ^ 0x47,
0x28 ^ 0x49,
0x2A ^ 0x46,
0x54 ^ 0x38,
0x5C ^ 0x39,
0x0F ^ 0x61
]
file = []
for i in range(0,len(d)):
file.append(ord(d[i]) ^ key[i % 6])
open("flag.gif","wb").write(bytearray(file))