Source code for plaso.formatters.winprefetch

# -*- coding: utf-8 -*-
"""Windows Prefetch custom event formatter helpers."""

from plaso.formatters import interface
from plaso.formatters import manager


[docs] class WindowsPrefetchPathHintsFormatterHelper( interface.CustomEventFormatterHelper): """Windows Prefetch path hints formatter helper.""" IDENTIFIER = 'windows_prefetch_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', None) if path_hints: event_values['path_hints'] = '; '.join(path_hints)
[docs] class WindowsPrefetchVolumesStringFormatterHelper( interface.CustomEventFormatterHelper): """Windows Prefetch volumes string formatter helper.""" IDENTIFIER = 'windows_prefetch_volumes_string'
[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. """ number_of_volumes = event_values.get('number_of_volumes', 0) volume_serial_numbers = event_values.get('volume_serial_numbers', None) volume_device_paths = event_values.get('volume_device_paths', None) volumes_strings = [] for volume_index in range(0, number_of_volumes): if not volume_serial_numbers: volume_serial_number = 'UNKNOWN' else: volume_serial_number = '0x{0:08X}'.format( volume_serial_numbers[volume_index]) if not volume_device_paths: volume_device_path = 'UNKNOWN' else: volume_device_path = volume_device_paths[volume_index] volumes_strings.append(( 'volume: {0:d} [serial number: {1:s}, device path: {2:s}]').format( volume_index + 1, volume_serial_number, volume_device_path)) if volumes_strings: event_values['volumes_string'] = ', '.join(volumes_strings)
manager.FormattersManager.RegisterEventFormatterHelpers([ WindowsPrefetchPathHintsFormatterHelper, WindowsPrefetchVolumesStringFormatterHelper])