fake-add
Catégorie: Reverse Difficulté: medium Flag: CTF{th1s_is_ju5T_ADD}
Challenge
Analyse du binaire
La fonction FUN_001011a9
correspond au main
Dedans on peut y voir la chaîne [+] Solve all additions and find the flag!!
mais juste avant, on a beaucoup de MOV
dans RBP, c’est à dire qu’on met dans la stack tout un tas de valeurs

A partir de 0x0010133b
on peut voir que l’on déplace les valeurs de la stack dans EDX
et EAX
puis qu’on les additionne
Il suffit donc de récupérer l’ensemble de ces valeurs et de les ajouter deux par deux pour obtenir le flag
Script de résolution
stack = [
0x3c, 0x07, 0x2a, 0x2a, 0x20, 0x26, 0x78, 0x03,
0x5a, 0x1a, 0x68, 0x00, 0x27, 0x0a, 0x64, 0x0f,
0x4b, 0x14, 0x5f, 0x0a, 0x64, 0x0f, 0x55, 0x0a,
0x55, 0x15, 0x55, 0x20, 0x34, 0x01, 0x2a, 0x2a,
0x35, 0x2a, 0x21, 0x20, 0x21, 0x23, 0x21, 0x23,
0x64, 0x19
]
def solve():
return ''.join([chr(stack[i] + stack[i + 1]) for i in range(0, len(stack), 2)])
if __name__ == '__main__':
print(solve())
Dernière mise à jour
Cet article vous a-t-il été utile ?