Beispiel #1
0
def core_handler(args):
    core = _ptrace.core(_ptrace.CORE_WINDOWS)

    if args.debug:
        _ptrace.log_hook_add(_ptrace.log_hook(logger))

    handlers = _ptrace.event_handlers()
    handlers.attached = attached

    if args.pid:
        core.process_attach(args.pid, handlers, 0)

    if args.file:
        core.execv(args.file, args.args, handlers, 0)

    core.main()
Beispiel #2
0
    inject.inject(process)


parser = argparse.ArgumentParser(description='Heap activity tracer.')
parser.add_argument('file',
                    nargs='?',
                    metavar='filename',
                    help='executable to trace.')
parser.add_argument('args', nargs='*', metavar='args', help='arguments.')
parser.add_argument('--debug', '-d', action='store_true')
parser.add_argument('--pid', '-p', type=int)
args = parser.parse_args(sys.argv[1:])

if (not args.file and not args.pid) or (args.file and args.pid):
    parser.print_help()
    sys.exit(1)

if args.debug:
    _ptrace.log_hook_add(_ptrace.log_hook(logger))

handlers = _ptrace.event_handlers()
handlers.attached = attached

if args.pid:
    _ptrace.process_attach(args.pid, handlers, 0)

if args.file:
    _ptrace.execv(args.file, args.args, handlers, 0)

_ptrace.main()