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()
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()