#!/usr/bin/env python3 from pwn import * import argparse import sys {bindings} context.binary = {bin_name} context.terminal = ['tmux', 'splitw', '-h'] gdbscript = '' def main(args): p = conn(args) p.interactive() def conn(args): if args.remote: p = remote(*args.remote) else: p = process({proc_args}) if args.gdb: gdb.attach(p, gdbscript=gdbscript) return p if __name__ == '__main__': parser = argparse.ArgumentParser() g = parser.add_mutually_exclusive_group() g.add_argument('-r', '--remote', nargs=2, metavar=('HOST', 'PORT')) g.add_argument('-g', '--gdb', action='store_true') argv = ['-r' if x == 'nc' else x for x in sys.argv[1:]] args = parser.parse_args(argv) main(args)