33 lines
772 B
Python
33 lines
772 B
Python
#!/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)
|