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])