picoCTF 2018 - be-quick-or-be-dead-3
As the song draws closer to the end, another executable be-quick-or-be-dead-3 suddenly pops up. This one requires even faster machines. Can you run it fast enough too? You can also find the executable in /problems/be-quick-or-be-dead-3_0_fa64b8365f5d2ac445b925be0960b943.
Solution
… there’s not much to write after solving be-quick-or-be-dead-2, it can be solved in exactly the same way. Just throw at the python script the new bytes of obj.flag
bytes = ['0xd3', '0x11', '0x4f', '0xb8', '0xe7', '0x2c', '0x6a', '0xac']
patch the program to jump the calls to set_timer and get_key, run it in gdb and break at the call to decrypt_flag, set $rdi=0xd72c78a4d72c78a3
, then continue to have the flag. see solution of be-quick-or-be-dead-2 for deatils.
picoCTF{dynamic_pr0gramming_ftw_1ffc009d}