dissect.target.tools.utils.cli¶
Module Contents¶
Functions¶
Processes the arguments concerting plugin functions ( |
|
Pretty print children of targets (recursively). |
|
Generate an |
|
Generate an |
|
Generate an |
|
Execute function on provided target with optional provided arguments. |
|
Resolves which plugin function to execute, and creates the argument parser for said plugin. |
|
Catches |
|
Converts argument-style |
|
Escape non-ASCII, unicode characters and bytes to a printable form. |
Attributes¶
- dissect.target.tools.utils.cli.USAGE_FORMAT_TMPL = '{prog} -f {name}{usage}'¶
- dissect.target.tools.utils.cli.configure_generic_arguments(parser: argparse.ArgumentParser) None¶
- dissect.target.tools.utils.cli.process_generic_arguments(parser: argparse.ArgumentParser, args: argparse.Namespace) None¶
- dissect.target.tools.utils.cli.configure_plugin_arguments(parser: argparse.ArgumentParser) None¶
- dissect.target.tools.utils.cli.process_plugin_arguments(parser: argparse.ArgumentParser, args: argparse.Namespace, rest: list[str]) set¶
Processes the arguments concerting plugin functions (
-f,--function) and exclusion list (-xf,--exclude-funciton).It puts the excluded function paths inside
args.excluded_functionsas a side effect.- Returns:
Trueif there are multiple output types detected, false otherwise.
- dissect.target.tools.utils.cli.open_target(args: argparse.Namespace) dissect.target.target.Target¶
- dissect.target.tools.utils.cli.open_targets(args: argparse.Namespace) collections.abc.Iterator[dissect.target.target.Target]¶
- dissect.target.tools.utils.cli.list_plugins(targets: list[str] | None = None, patterns: str = '', include_children: bool = False, json: bool = False) None¶
- dissect.target.tools.utils.cli.list_children(args: argparse.Namespace) None¶
Pretty print children of targets (recursively).
- dissect.target.tools.utils.cli.generate_argparse_for_method(method: collections.abc.Callable, usage_tmpl: str | None = None) argparse.ArgumentParser¶
Generate an
argparse.ArgumentParserfor a bound or unboundPluginclass method.
- dissect.target.tools.utils.cli.generate_argparse_for_plugin_class(plugin_cls: type[dissect.target.plugin.Plugin], usage_tmpl: str | None = None) argparse.ArgumentParser¶
Generate an
argparse.ArgumentParserfor aPluginclass.
- dissect.target.tools.utils.cli.generate_argparse_for_plugin(plugin_instance: dissect.target.plugin.Plugin, usage_tmpl: str | None = None) argparse.ArgumentParser¶
Generate an
argparse.ArgumentParserfor aPlugininstance.
- dissect.target.tools.utils.cli.execute_function_on_target(target: dissect.target.target.Target, func: dissect.target.plugin.FunctionDescriptor, args: list[str] | None = None) tuple[str, Any]¶
Execute function on provided target with optional provided arguments.
If no explicit arguments are provided, they will be parsed from
sys.argv.
- dissect.target.tools.utils.cli.plugin_function_with_argparser(target_attr: dissect.target.plugin.Plugin | collections.abc.Callable) tuple[collections.abc.Callable | None, argparse.ArgumentParser | None]¶
Resolves which plugin function to execute, and creates the argument parser for said plugin.
- dissect.target.tools.utils.cli.persist_execution_report(output_dir: pathlib.Path, report_data: dict, timestamp: datetime.datetime) pathlib.Path¶
- dissect.target.tools.utils.cli.catch_sigpipe(func: collections.abc.Callable) collections.abc.Callable¶
Catches
KeyboardInterruptandBrokenPipeError(OSError 22on Windows).
- dissect.target.tools.utils.cli.args_to_uri(targets: list[str], loader_name: str, args: list[str] | None = None) list[str]¶
Converts argument-style
-Lto URI-style.- Turns:
target-query /evtxs/* -L log --log-hint="evtx" -f evtx- into:
target-query "log:///evtxs/*?hint=evtx" -f evtx
For loaders providing
@arg()arguments.
- dissect.target.tools.utils.cli.find_and_filter_plugins(functions: str, target: dissect.target.target.Target, excluded_func_paths: set[str] | None = None) collections.abc.Iterator[dissect.target.plugin.FunctionDescriptor]¶
- dissect.target.tools.utils.cli.escape_str(value: str) str¶
Escape non-ASCII, unicode characters and bytes to a printable form.