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())Mis à jour
Ce contenu vous a-t-il été utile ?