Autopsy  4.18.0
Graphical digital forensics platform for The Sleuth Kit and other tools.
Classes | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
org.sleuthkit.autopsy.casemodule.LocalFilesDSProcessor Class Reference

Inherits org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessor, and org.sleuthkit.autopsy.datasourceprocessors.AutoIngestDataSourceProcessor.

Classes

class  L01Exception
 

Public Member Functions

 LocalFilesDSProcessor ()
 
void cancel ()
 
int canProcess (Path dataSourcePath) throws AutoIngestDataSourceProcessorException
 
String getDataSourceType ()
 
JPanel getPanel ()
 
boolean isPanelValid ()
 
void process (String deviceId, Path dataSourcePath, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callBack)
 
void process (String deviceId, Path dataSourcePath, Host host, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callBack)
 
default IngestStream processWithIngestStream (String deviceId, Path dataSourcePath, IngestJobSettings settings, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callBack)
 
default IngestStream processWithIngestStream (String deviceId, Path dataSourcePath, Host host, IngestJobSettings settings, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callBack)
 
void reset ()
 
void run (DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callback)
 
void run (Host host, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callback)
 
void run (String deviceId, String rootVirtualDirectoryName, List< String > localFilePaths, Host host, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callback)
 
void run (String deviceId, String rootVirtualDirectoryName, List< String > localFilePaths, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callback)
 
default void runWithIngestStream (IngestJobSettings settings, DataSourceProcessorProgressMonitor progress, DataSourceProcessorCallback callBack)
 
default void runWithIngestStream (Host host, IngestJobSettings settings, DataSourceProcessorProgressMonitor progress, DataSourceProcessorCallback callBack)
 
default boolean supportsIngestStream ()
 

Static Public Member Functions

static String getType ()
 

Private Member Functions

List< String > extractLogicalEvidenceFileContents (final List< String > logicalEvidenceFilePaths) throws L01Exception, NoCurrentCaseException
 
Path locateEwfexportExecutable () throws L01Exception
 

Private Attributes

final LogicalFilesDspPanel configPanel
 
List< String > localFilePaths
 

Static Private Attributes

static final String DATA_SOURCE_TYPE = NbBundle.getMessage(LocalFilesDSProcessor.class, "LocalFilesDSProcessor.dsType")
 
static final String EWFEXPORT_32_BIT_DIR = "32-bit"
 
static final String EWFEXPORT_64_BIT_DIR = "64-bit"
 
static final String EWFEXPORT_DIR = "ewfexport_exec"
 
static final String EWFEXPORT_WINDOWS_EXE = "ewfexport.exe"
 
static final String L01_EXTRACTION_DIR = "L01"
 
static final String LOG_FILE_EXTENSION = ".txt"
 
static final Logger logger = Logger.getLogger(LocalFilesDSProcessor.class.getName())
 
static final String LOGICAL_EVIDENCE_DESC = Bundle.LocalFilesDSProcessor_logicalEvidenceFilter_desc()
 
static final List< String > LOGICAL_EVIDENCE_EXTENSIONS = Arrays.asList(".l01")
 
static final GeneralFilter LOGICAL_EVIDENCE_FILTER = new GeneralFilter(LOGICAL_EVIDENCE_EXTENSIONS, LOGICAL_EVIDENCE_DESC)
 
static final String UNIQUENESS_CONSTRAINT_SEPERATOR = "_"
 

Detailed Description

A local/logical files/logical evidence file(.lo1)/or directories data source processor that implements the DataSourceProcessor service provider interface to allow integration with the add data source wizard. It also provides a run method overload to allow it to be used independently of the wizard.

Definition at line 61 of file LocalFilesDSProcessor.java.

Constructor & Destructor Documentation

org.sleuthkit.autopsy.casemodule.LocalFilesDSProcessor.LocalFilesDSProcessor ( )

Constructs a local/logical files and/or directories data source processor that implements the DataSourceProcessor service provider interface to allow integration with the add data source wizard. It also provides a run method overload to allow it to be used independently of the wizard.

Definition at line 88 of file LocalFilesDSProcessor.java.

Member Function Documentation

void org.sleuthkit.autopsy.casemodule.LocalFilesDSProcessor.cancel ( )

Requests cancellation of the background task that adds a data source to the case database, after the task is started using the run method. This is a "best effort" cancellation, with no guarantees that the case database will be unchanged. If cancellation succeeded, the list of new data sources returned by the background task will be empty.

TODO (AUT-1907): Implement cancellation by deleting rows added to the case database.

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessor.

Definition at line 374 of file LocalFilesDSProcessor.java.

int org.sleuthkit.autopsy.casemodule.LocalFilesDSProcessor.canProcess ( Path  dataSourcePath) throws AutoIngestDataSourceProcessorException

Indicates whether the DataSourceProcessor is capable of processing the data source. Returns a confidence value. Method can throw an exception for a system level problem. The exception should not be thrown for an issue related to bad input data.

Parameters
dataSourcePathPath to the data source.
Returns
Confidence value. Values between 0 and 100 are recommended. Zero or less means the data source is not supported by the DataSourceProcessor. Value of 100 indicates high certainty in being able to process the data source.
Exceptions
org.sleuthkit.autopsy.datasourceprocessors.AutoIngestDataSourceProcessor.AutoIngestDataSourceProcessorException

Implements org.sleuthkit.autopsy.datasourceprocessors.AutoIngestDataSourceProcessor.

Definition at line 388 of file LocalFilesDSProcessor.java.

References org.sleuthkit.autopsy.casemodule.GeneralFilter.accept().

List<String> org.sleuthkit.autopsy.casemodule.LocalFilesDSProcessor.extractLogicalEvidenceFileContents ( final List< String >  logicalEvidenceFilePaths) throws L01Exception, NoCurrentCaseException
private

Extract the contents of the logical evidence files and return the paths to those extracted files.

Parameters
logicalEvidenceFilePaths
Returns
extractedPaths - the paths to all the files extracted from the logical evidence files
Exceptions
org.sleuthkit.autopsy.casemodule.LocalFilesDSProcessor.L01Exception

Definition at line 209 of file LocalFilesDSProcessor.java.

References org.sleuthkit.autopsy.coreutils.ExecUtil.execute(), org.sleuthkit.autopsy.casemodule.Case.getCurrentCaseThrows(), and org.sleuthkit.autopsy.casemodule.Case.getModuleDirectory().

String org.sleuthkit.autopsy.casemodule.LocalFilesDSProcessor.getDataSourceType ( )

Gets a string that describes the type of data sources this processor is able to add to the case database. The string is suitable for display in a type selection UI component (e.g., a combo box).

Returns
A data source type display string for this data source processor.

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessor.

Definition at line 111 of file LocalFilesDSProcessor.java.

JPanel org.sleuthkit.autopsy.casemodule.LocalFilesDSProcessor.getPanel ( )

Gets the panel that allows a user to select a data source and do any configuration required by the data source. The panel is less than 544 pixels wide and less than 173 pixels high.

Returns
A selection and configuration panel for this data source processor.

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessor.

Definition at line 124 of file LocalFilesDSProcessor.java.

static String org.sleuthkit.autopsy.casemodule.LocalFilesDSProcessor.getType ( )
static

Gets a string that describes the type of data sources this processor is able to add to the case database. The string is suitable for display in a type selection UI component (e.g., a combo box).

Returns
A data source type display string for this data source processor.

Definition at line 99 of file LocalFilesDSProcessor.java.

boolean org.sleuthkit.autopsy.casemodule.LocalFilesDSProcessor.isPanelValid ( )

Indicates whether the settings in the selection and configuration panel are valid and complete.

Returns
True if the settings are valid and complete and the processor is ready to have its run method called, false otherwise.

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessor.

Definition at line 137 of file LocalFilesDSProcessor.java.

Path org.sleuthkit.autopsy.casemodule.LocalFilesDSProcessor.locateEwfexportExecutable ( ) throws L01Exception
private
void org.sleuthkit.autopsy.casemodule.LocalFilesDSProcessor.process ( String  deviceId,
Path  dataSourcePath,
DataSourceProcessorProgressMonitor  progressMonitor,
DataSourceProcessorCallback  callBack 
)

Adds a data source to the case database using a background task in a separate thread by calling DataSourceProcessor.run() method. Returns as soon as the background task is started. The background task uses a callback object to signal task completion and return results. Method can throw an exception for a system level problem. The exception should not be thrown for an issue related to bad input data.

Parameters
deviceIdAn ASCII-printable identifier for the device associated with the data source that is intended to be unique across multiple cases (e.g., a UUID).
dataSourcePathPath to the data source.
progressMonitorProgress monitor that will be used by the background task to report progress.
callBackCallback that will be used by the background task to return results.

Implements org.sleuthkit.autopsy.datasourceprocessors.AutoIngestDataSourceProcessor.

Definition at line 417 of file LocalFilesDSProcessor.java.

void org.sleuthkit.autopsy.casemodule.LocalFilesDSProcessor.process ( String  deviceId,
Path  dataSourcePath,
Host  host,
DataSourceProcessorProgressMonitor  progressMonitor,
DataSourceProcessorCallback  callBack 
)

Adds a data source to the case database using a background task in a separate thread by calling DataSourceProcessor.run() method. Returns as soon as the background task is started. The background task uses a callback object to signal task completion and return results. Method can throw an exception for a system level problem. The exception should not be thrown for an issue related to bad input data.

Parameters
deviceIdAn ASCII-printable identifier for the device associated with the data source that is intended to be unique across multiple cases (e.g., a UUID).
dataSourcePathPath to the data source.
hostHost for this data source.
progressMonitorProgress monitor that will be used by the background task to report progress.
callBackCallback that will be used by the background task to return results.

Implements org.sleuthkit.autopsy.datasourceprocessors.AutoIngestDataSourceProcessor.

Definition at line 422 of file LocalFilesDSProcessor.java.

default IngestStream org.sleuthkit.autopsy.datasourceprocessors.AutoIngestDataSourceProcessor.processWithIngestStream ( String  deviceId,
Path  dataSourcePath,
IngestJobSettings  settings,
DataSourceProcessorProgressMonitor  progressMonitor,
DataSourceProcessorCallback  callBack 
)
inherited

Adds a data source to the case database using a background task in a separate thread by calling DataSourceProcessor.run() method. Returns as soon as the background task is started. The background task uses a callback object to signal task completion and return results. Method can throw an exception for a system level problem. The exception should not be thrown for an issue related to bad input data.

Parameters
deviceIdAn ASCII-printable identifier for the device associated with the data source that is intended to be unique across multiple cases (e.g., a UUID).
dataSourcePathPath to the data source.
settingsThe ingest job settings.
progressMonitorProgress monitor that will be used by the background task to report progress.
callBackCallback that will be used by the background task to return results.
Returns
The new ingest stream or null if an error occurred. Errors will be handled by the callback.

Implemented in org.sleuthkit.autopsy.casemodule.ImageDSProcessor.

Definition at line 114 of file AutoIngestDataSourceProcessor.java.

Referenced by org.sleuthkit.autopsy.datasourceprocessors.AutoIngestDataSourceProcessor.processWithIngestStream().

default IngestStream org.sleuthkit.autopsy.datasourceprocessors.AutoIngestDataSourceProcessor.processWithIngestStream ( String  deviceId,
Path  dataSourcePath,
Host  host,
IngestJobSettings  settings,
DataSourceProcessorProgressMonitor  progressMonitor,
DataSourceProcessorCallback  callBack 
)
inherited

Adds a data source to the case database using a background task in a separate thread by calling DataSourceProcessor.run() method. Returns as soon as the background task is started. The background task uses a callback object to signal task completion and return results. Method can throw an exception for a system level problem. The exception should not be thrown for an issue related to bad input data.

Parameters
deviceIdAn ASCII-printable identifier for the device associated with the data source that is intended to be unique across multiple cases (e.g., a UUID).
dataSourcePathPath to the data source.
hostThe host for this data source.
settingsThe ingest job settings.
progressMonitorProgress monitor that will be used by the background task to report progress.
callBackCallback that will be used by the background task to return results.
Returns
The new ingest stream or null if an error occurred. Errors will be handled by the callback.

Implemented in org.sleuthkit.autopsy.casemodule.ImageDSProcessor.

Definition at line 139 of file AutoIngestDataSourceProcessor.java.

References org.sleuthkit.autopsy.datasourceprocessors.AutoIngestDataSourceProcessor.processWithIngestStream().

void org.sleuthkit.autopsy.casemodule.LocalFilesDSProcessor.reset ( )

Resets the selection and configuration panel for this data source processor.

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessor.

Definition at line 382 of file LocalFilesDSProcessor.java.

void org.sleuthkit.autopsy.casemodule.LocalFilesDSProcessor.run ( DataSourceProcessorProgressMonitor  progressMonitor,
DataSourceProcessorCallback  callback 
)

Adds a data source to the case database using a background task in a separate thread and the settings provided by the selection and configuration panel. Returns as soon as the background task is started. The background task uses a callback object to signal task completion and return results.

This method should not be called unless isPanelValid returns true.

Parameters
progressMonitorProgress monitor that will be used by the background task to report progress.
callbackCallback that will be used by the background task to return results.

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessor.

Definition at line 156 of file LocalFilesDSProcessor.java.

void org.sleuthkit.autopsy.casemodule.LocalFilesDSProcessor.run ( Host  host,
DataSourceProcessorProgressMonitor  progressMonitor,
DataSourceProcessorCallback  callback 
)

Adds a data source to the case database using a background task in a separate thread and the settings provided by the selection and configuration panel. Returns as soon as the background task is started. The background task uses a callback object to signal task completion and return results.

This method should not be called unless isPanelValid returns true.

Parameters
hostHost for this data source.
progressMonitorProgress monitor that will be used by the background task to report progress.
callbackCallback that will be used by the background task to return results.

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessor.

Definition at line 176 of file LocalFilesDSProcessor.java.

References org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessorCallback.DataSourceProcessorResult.CRITICAL_ERRORS, and org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessorCallback.done().

void org.sleuthkit.autopsy.casemodule.LocalFilesDSProcessor.run ( String  deviceId,
String  rootVirtualDirectoryName,
List< String >  localFilePaths,
Host  host,
DataSourceProcessorProgressMonitor  progressMonitor,
DataSourceProcessorCallback  callback 
)

Adds a data source to the case database using a background task in a separate thread and the given settings instead of those provided by the selection and configuration panel. Returns as soon as the background task is started and uses the callback object to signal task completion and return results.

Parameters
deviceIdAn ASCII-printable identifier for the device associated with the data source that is intended to be unique across multiple cases (e.g., a UUID).
rootVirtualDirectoryNameThe name to give to the virtual directory that will serve as the root for the local/logical files and/or directories that compose the data source. Pass the empty string to get a default name of the form: LogicalFileSet[N]
localFilePathsA list of local/logical file and/or directory localFilePaths.
hostThe host for this data source.
progressMonitorProgress monitor for reporting progress during processing.
callbackCallback to call when processing is done.

Definition at line 332 of file LocalFilesDSProcessor.java.

void org.sleuthkit.autopsy.casemodule.LocalFilesDSProcessor.run ( String  deviceId,
String  rootVirtualDirectoryName,
List< String >  localFilePaths,
DataSourceProcessorProgressMonitor  progressMonitor,
DataSourceProcessorCallback  callback 
)

Adds a data source to the case database using a background task in a separate thread and the given settings instead of those provided by the selection and configuration panel. Returns as soon as the background task is started and uses the callback object to signal task completion and return results.

Parameters
deviceIdAn ASCII-printable identifier for the device associated with the data source that is intended to be unique across multiple cases (e.g., a UUID).
rootVirtualDirectoryNameThe name to give to the virtual directory that will serve as the root for the local/logical files and/or directories that compose the data source. Pass the empty string to get a default name of the form: LogicalFileSet[N]
localFilePathsA list of local/logical file and/or directory localFilePaths.
progressMonitorProgress monitor for reporting progress during processing.
callbackCallback to call when processing is done.

Definition at line 359 of file LocalFilesDSProcessor.java.

default void org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessor.runWithIngestStream ( IngestJobSettings  settings,
DataSourceProcessorProgressMonitor  progress,
DataSourceProcessorCallback  callBack 
)
inherited

Adds a data source to the case database using a background task in a separate thread and the settings provided by the selection and configuration panel. Files found during ingest will be sent directly to the IngestStream provided. Returns as soon as the background task is started. The background task uses a callback object to signal task completion and return results.

This method should not be called unless isPanelValid returns true, and should only be called for DSPs that support ingest streams. The ingest settings must be complete before calling this method.

Parameters
settingsThe ingest job settings.
progressProgress monitor that will be used by the background task to report progress.
callBackCallback that will be used by the background task to return results.

Implemented in org.sleuthkit.autopsy.casemodule.ImageDSProcessor.

Definition at line 150 of file DataSourceProcessor.java.

Referenced by org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessor.runWithIngestStream().

default void org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessor.runWithIngestStream ( Host  host,
IngestJobSettings  settings,
DataSourceProcessorProgressMonitor  progress,
DataSourceProcessorCallback  callBack 
)
inherited

Adds a data source to the case database using a background task in a separate thread and the settings provided by the selection and configuration panel. Files found during ingest will be sent directly to the IngestStream provided. Returns as soon as the background task is started. The background task uses a callback object to signal task completion and return results.

This method should not be called unless isPanelValid returns true, and should only be called for DSPs that support ingest streams. The ingest settings must be complete before calling this method.

Parameters
hostHost for this data source.
settingsThe ingest job settings.
progressProgress monitor that will be used by the background task to report progress.
callBackCallback that will be used by the background task to return results.

Implemented in org.sleuthkit.autopsy.casemodule.ImageDSProcessor.

Definition at line 174 of file DataSourceProcessor.java.

References org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessor.runWithIngestStream().

default boolean org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessor.supportsIngestStream ( )
inherited

Check if this DSP supports ingest streams.

Returns
True if this DSP supports an ingest stream, false otherwise.

Implemented in org.sleuthkit.autopsy.casemodule.ImageDSProcessor.

Definition at line 184 of file DataSourceProcessor.java.

Member Data Documentation

final LogicalFilesDspPanel org.sleuthkit.autopsy.casemodule.LocalFilesDSProcessor.configPanel
private

Definition at line 65 of file LocalFilesDSProcessor.java.

final String org.sleuthkit.autopsy.casemodule.LocalFilesDSProcessor.DATA_SOURCE_TYPE = NbBundle.getMessage(LocalFilesDSProcessor.class, "LocalFilesDSProcessor.dsType")
staticprivate

Definition at line 63 of file LocalFilesDSProcessor.java.

final String org.sleuthkit.autopsy.casemodule.LocalFilesDSProcessor.EWFEXPORT_32_BIT_DIR = "32-bit"
staticprivate

Definition at line 69 of file LocalFilesDSProcessor.java.

final String org.sleuthkit.autopsy.casemodule.LocalFilesDSProcessor.EWFEXPORT_64_BIT_DIR = "64-bit"
staticprivate

Definition at line 70 of file LocalFilesDSProcessor.java.

final String org.sleuthkit.autopsy.casemodule.LocalFilesDSProcessor.EWFEXPORT_DIR = "ewfexport_exec"
staticprivate

Definition at line 68 of file LocalFilesDSProcessor.java.

final String org.sleuthkit.autopsy.casemodule.LocalFilesDSProcessor.EWFEXPORT_WINDOWS_EXE = "ewfexport.exe"
staticprivate

Definition at line 71 of file LocalFilesDSProcessor.java.

final String org.sleuthkit.autopsy.casemodule.LocalFilesDSProcessor.L01_EXTRACTION_DIR = "L01"
staticprivate

Definition at line 66 of file LocalFilesDSProcessor.java.

List<String> org.sleuthkit.autopsy.casemodule.LocalFilesDSProcessor.localFilePaths
private

Definition at line 80 of file LocalFilesDSProcessor.java.

final String org.sleuthkit.autopsy.casemodule.LocalFilesDSProcessor.LOG_FILE_EXTENSION = ".txt"
staticprivate

Definition at line 72 of file LocalFilesDSProcessor.java.

final Logger org.sleuthkit.autopsy.casemodule.LocalFilesDSProcessor.logger = Logger.getLogger(LocalFilesDSProcessor.class.getName())
staticprivate

Definition at line 64 of file LocalFilesDSProcessor.java.

final String org.sleuthkit.autopsy.casemodule.LocalFilesDSProcessor.LOGICAL_EVIDENCE_DESC = Bundle.LocalFilesDSProcessor_logicalEvidenceFilter_desc()
staticprivate

Definition at line 74 of file LocalFilesDSProcessor.java.

final List<String> org.sleuthkit.autopsy.casemodule.LocalFilesDSProcessor.LOGICAL_EVIDENCE_EXTENSIONS = Arrays.asList(".l01")
staticprivate

Definition at line 73 of file LocalFilesDSProcessor.java.

final GeneralFilter org.sleuthkit.autopsy.casemodule.LocalFilesDSProcessor.LOGICAL_EVIDENCE_FILTER = new GeneralFilter(LOGICAL_EVIDENCE_EXTENSIONS, LOGICAL_EVIDENCE_DESC)
staticprivate

Definition at line 75 of file LocalFilesDSProcessor.java.

final String org.sleuthkit.autopsy.casemodule.LocalFilesDSProcessor.UNIQUENESS_CONSTRAINT_SEPERATOR = "_"
staticprivate

Definition at line 67 of file LocalFilesDSProcessor.java.


The documentation for this class was generated from the following file:

Copyright © 2012-2021 Basis Technology. Generated on: Thu Jul 8 2021
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.