:py:mod:`dissect.target.plugins.filesystem.ntfs.mft_timeline` ============================================================= .. py:module:: dissect.target.plugins.filesystem.ntfs.mft_timeline Module Contents --------------- Classes ~~~~~~~ .. autoapisummary:: dissect.target.plugins.filesystem.ntfs.mft_timeline.Extras dissect.target.plugins.filesystem.ntfs.mft_timeline.MftTimelinePlugin Functions ~~~~~~~~~ .. autoapisummary:: :nosignatures: dissect.target.plugins.filesystem.ntfs.mft_timeline.format_none_value dissect.target.plugins.filesystem.ntfs.mft_timeline.format_info Attributes ~~~~~~~~~~ .. autoapisummary:: dissect.target.plugins.filesystem.ntfs.mft_timeline.FORMAT_INFO .. py:function:: format_none_value(value: Any) -> Union[str, Any] Format the value if it is None .. py:class:: Extras .. py:attribute:: in_use :type: Optional[bool] .. py:attribute:: resident :type: Optional[bool] .. py:attribute:: owner :type: Optional[str] .. py:attribute:: size :type: Optional[int] .. py:attribute:: serial :type: Optional[int] .. py:attribute:: volume_uuid :type: Optional[str] .. py:method:: format() -> str .. py:data:: FORMAT_INFO .. py:function:: format_info(segment: int, path: str, extras: Extras, info: Union[dissect.ntfs.attr.FileName, dissect.ntfs.attr.StandardInformation], info_type: dissect.target.plugins.filesystem.ntfs.utils.InformationType, idx: str = '') -> Iterator[str] .. py:class:: MftTimelinePlugin(target: dissect.target.Target) Bases: :py:obj:`dissect.target.plugin.Plugin` Base class for plugins. Plugins can optionally be namespaced by specifying the ``__namespace__`` class attribute. Namespacing results in your plugin needing to be prefixed with this namespace when being called. For example, if your plugin has specified ``test`` as namespace and a function called ``example``, you must call your plugin with ``test.example``:: A ``Plugin`` class has the following private class attributes: - ``__namespace__`` - ``__record_descriptors__`` With the following three being assigned in :func:`register`: - ``__plugin__`` - ``__functions__`` - ``__exports__`` Additionally, the methods and attributes of :class:`Plugin` receive more private attributes by using decorators. The :func:`export` decorator adds the following private attributes - ``__exported__`` - ``__output__``: Set with the :func:`export` decorator. - ``__record__``: Set with the :func:`export` decorator. The :func:`internal` decorator and :class:`InternalPlugin` set the ``__internal__`` attribute. Finally. :func:`args` decorator sets the ``__args__`` attribute. :param target: The :class:`~dissect.target.target.Target` object to load the plugin for. .. py:method:: check_compatible() -> None Perform a compatibility check with the target. This function should return ``None`` if the plugin is compatible with the current target (``self.target``). For example, check if a certain file exists. Otherwise it should raise an ``UnsupportedPluginError``. :raises UnsupportedPluginError: If the plugin could not be loaded. .. py:method:: mft_timeline(ignore_dos: bool = False) Return the MFT records of all NTFS filesystems in a human readable format (unsorted). The Master File Table (MFT) contains metadata about every file and folder on a NFTS filesystem. If the filesystem is part of a virtual NTFS filesystem (a ``VirtualFilesystem`` with the MFT properties added to it through a "fake" ``NtfsFilesystem``), the paths returned in the MFT records are based on the mount point of the ``VirtualFilesystem``. This ensures that the proper original drive letter is used when available. When no drive letter can be determined, the path will show as e.g. ``\$fs$\fs0``. .. rubric:: References - https://docs.microsoft.com/en-us/windows/win32/fileio/master-file-table