dissect.target.loaders.cyber¶
Module Contents¶
Classes¶
A base class for loading a specific path and coupling it to a |
Attributes¶
- dissect.target.loaders.cyber.HEADER = Multiline-String¶
Show Value
""" ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ _______ ______ ______ _____ ┃ ┃ / ____\ \ / / _ \| ____| __ \ ┃ ┃ | | \ \_/ /| |_) | |__ | |__) | ┃ ┃ | | \ / | _ <| __| | _ / ┃ ┃ | |____ | | | |_) | |____| | \ \ ┃ ┃ \_____| |_| |____/|______|_| \_\ ┃ ┃ ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ """
- class dissect.target.loaders.cyber.CyberLoader(path: pathlib.Path, **kwargs)¶
Bases:
dissect.target.loader.LoaderA base class for loading a specific path and coupling it to a
Target.Implementors of this class are responsible for mapping any type of source data to a
Target. Whether that’s to map all VMDK files from a VMX or mapping the contents of a zip file to a virtual filesystem, if it’s something that can be translated to a “disk”, “volume” or “filesystem”, you can write a loader that maps it into a target.You can do anything you want to manipulate the
Targetobject in yourmapfunction, but generally you do one of the following:open a
Containerand add it totarget.disks.open a
Volumeand add it totarget.volumes.open a
VirtualFilesystem, add your files into it and add it totarget.filesystems.
You don’t need to manually parse volumes or filesystems in your loader, just add the highest level object you have (e.g. a
Containerof a VMDK file) to the target. However, sometimes you need to get creative. Take a look at theITunesLoaderandTarLoaderfor some creative examples.- Parameters:
path – The target path to load.
parsed_path – A URI parsed path to use.
- static detect(path: pathlib.Path) bool¶
Detects wether this
Loaderclass can load this specificpath.- Parameters:
path – The target path to check.
- Returns:
Trueif thepathcan be loaded by aLoaderinstance.Falseotherwise.
- map(target: dissect.target.target.Target) None¶
Maps the loaded path into a
Target.- Parameters:
target – The target that we’re mapping into.