:py:mod:`dissect.target.loaders.cyber` ====================================== .. py:module:: dissect.target.loaders.cyber Module Contents --------------- Classes ~~~~~~~ .. autoapisummary:: dissect.target.loaders.cyber.CyberLoader Attributes ~~~~~~~~~~ .. autoapisummary:: dissect.target.loaders.cyber.HEADER .. py:data:: HEADER :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ _______ ______ ______ _____ ┃ ┃ / ____\ \ / / _ \| ____| __ \ ┃ ┃ | | \ \_/ /| |_) | |__ | |__) | ┃ ┃ | | \ / | _ <| __| | _ / ┃ ┃ | |____ | | | |_) | |____| | \ \ ┃ ┃ \_____| |_| |____/|______|_| \_\ ┃ ┃ ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ """ .. raw:: html
.. py:class:: CyberLoader(path: pathlib.Path, **kwargs) Bases: :py:obj:`dissect.target.loader.Loader` A base class for loading a specific path and coupling it to a :class:`Target `. Implementors of this class are responsible for mapping any type of source data to a :class:`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 :class:`Target ` object in your ``map`` function, but generally you do one of the following: * open a :class:`Container ` and add it to ``target.disks``. * open a :class:`Volume ` and add it to ``target.volumes``. * open a :class:`VirtualFilesystem `, add your files into it and add it to ``target.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 :class:`Container ` of a VMDK file) to the target. However, sometimes you need to get creative. Take a look at the :class:`ITunesLoader ` and :class:`TarLoader ` for some creative examples. :param path: The target path to load. .. py:method:: detect(path: pathlib.Path) -> bool :staticmethod: Detects wether this ``Loader`` class can load this specific ``path``. :param path: The target path to check. :returns: ``True`` if the ``path`` can be loaded by a ``Loader`` instance. ``False`` otherwise. .. py:method:: map(target: dissect.target.Target) -> None Maps the loaded path into a ``Target``. :param target: The target that we're mapping into.