Source code for plaso.formatters.file_system
"""File system custom event formatter helpers."""
from plaso.formatters import interface
from plaso.formatters import manager
[docs]
class NTFSFileReferenceFormatterHelper(interface.CustomEventFormatterHelper):
"""NTFS file reference formatter helper."""
IDENTIFIER = "ntfs_file_reference"
[docs]
def FormatEventValues(self, output_mediator, event_values):
"""Formats event values using the helper.
Args:
output_mediator (OutputMediator): output mediator.
event_values (dict[str, object]): event values.
"""
file_reference = event_values.get("file_reference")
if file_reference:
mft_entry_number = file_reference & 0xFFFFFFFFFFFF
sequence_number = file_reference >> 48
event_values["file_reference"] = f"{mft_entry_number:d}-{sequence_number:d}"
[docs]
class NTFSParentFileReferenceFormatterHelper(interface.CustomEventFormatterHelper):
"""NTFS parent file reference formatter helper."""
IDENTIFIER = "ntfs_parent_file_reference"
[docs]
def FormatEventValues(self, output_mediator, event_values):
"""Formats event values using the helper.
Args:
output_mediator (OutputMediator): output mediator.
event_values (dict[str, object]): event values.
"""
parent_file_reference = event_values.get("parent_file_reference")
if parent_file_reference:
mft_entry_number = parent_file_reference & 0xFFFFFFFFFFFF
sequence_number = parent_file_reference >> 48
event_values["parent_file_reference"] = (
f"{mft_entry_number:d}-{sequence_number:d}"
)
[docs]
class NTFSPathHintsFormatterHelper(interface.CustomEventFormatterHelper):
"""NTFS path hints formatter helper."""
IDENTIFIER = "ntfs_path_hints"
[docs]
def FormatEventValues(self, output_mediator, event_values):
"""Formats event values using the helper.
Args:
output_mediator (OutputMediator): output mediator.
event_values (dict[str, object]): event values.
"""
path_hints = event_values.get("path_hints")
if path_hints:
event_values["path_hints"] = ";".join(path_hints)
manager.FormattersManager.RegisterEventFormatterHelpers(
[
NTFSFileReferenceFormatterHelper,
NTFSParentFileReferenceFormatterHelper,
NTFSPathHintsFormatterHelper,
]
)