Autopsy  4.19.3
Graphical digital forensics platform for The Sleuth Kit and other tools.
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule Class Reference

Inherits org.sleuthkit.autopsy.ingest.DataSourceIngestModule.

Public Member Functions

ProcessResult process (Content dataSource, DataSourceIngestModuleProgress statusHelper)
 
default void shutDown ()
 
void startUp (IngestJobContext context) throws IngestModuleException
 

Private Member Functions

void addILeappReportToReports (Path iLeappOutputDir, Case currentCase)
 
ProcessBuilder buildiLeappCommand (Path moduleOutputPath, String sourceFilePath, String iLeappFileSystemType)
 
ProcessBuilder buildiLeappListCommand (Path moduleOutputPath)
 
void extractFilesFromDataSource (Content dataSource, List< String > iLeappPathsToProcess, Path moduleOutputPath)
 
void extractFileToOutput (Content dataSource, AbstractFile iLeappFile, File fileParentPath, Path parentPath)
 
List< String > loadIleappPathFile (Path moduleOutputPath) throws FileNotFoundException, IOException
 
void processILeappFile (Content dataSource, Case currentCase, DataSourceIngestModuleProgress statusHelper, int filesProcessedCount, AbstractFile iLeappFile)
 
void processILeappFs (Content dataSource, Case currentCase, DataSourceIngestModuleProgress statusHelper, String directoryToProcess)
 
void writeErrorMsgToIngestInbox ()
 
void writeiLeappFile (Content dataSource, AbstractFile iLeappFile, String parentPath)
 

Static Private Member Functions

static ProcessBuilder buildProcessWithRunAsInvoker (String...commandLine)
 
static File locateExecutable (String executableName) throws FileNotFoundException
 

Private Attributes

IngestJobContext context
 
File iLeappExecutable
 
LeappFileProcessor iLeappFileProcessor
 

Static Private Attributes

static final String ILEAPP = "iLeapp"
 
static final String ILEAPP_EXECUTABLE = "ileapp.exe"
 
static final String ILEAPP_FS = "fs_"
 
static final String ILEAPP_PATHS_FILE = "iLeapp_paths.txt"
 
static final Logger logger = Logger.getLogger(ILeappAnalyzerIngestModule.class.getName())
 
static final String MODULE_NAME = ILeappAnalyzerModuleFactory.getModuleName()
 
static final String XMLFILE = "ileap-artifact-attribute-reference.xml"
 

Detailed Description

Data source ingest module that runs iLeapp against logical iOS files.

Definition at line 64 of file ILeappAnalyzerIngestModule.java.

Member Function Documentation

void org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.addILeappReportToReports ( Path  iLeappOutputDir,
Case  currentCase 
)
private
ProcessBuilder org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.buildiLeappCommand ( Path  moduleOutputPath,
String  sourceFilePath,
String  iLeappFileSystemType 
)
private

Build the command to run xLeapp

Parameters
moduleOutputPathoutput path for xLeapp
sourceFilePathpath where the xLeapp file is
iLeappFileSystemTypetype of file to process tar/zip/fs
Returns
process to run

Definition at line 289 of file ILeappAnalyzerIngestModule.java.

References org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.buildProcessWithRunAsInvoker().

Referenced by org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.processILeappFile(), and org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.processILeappFs().

ProcessBuilder org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.buildiLeappListCommand ( Path  moduleOutputPath)
private

Command to run xLeapp using the path option

Parameters
moduleOutputPathpath where the file paths output will reside
Returns
process to run

Definition at line 309 of file ILeappAnalyzerIngestModule.java.

References org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.buildProcessWithRunAsInvoker().

Referenced by org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.process().

static ProcessBuilder org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.buildProcessWithRunAsInvoker ( String...  commandLine)
staticprivate
void org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.extractFilesFromDataSource ( Content  dataSource,
List< String >  iLeappPathsToProcess,
Path  moduleOutputPath 
)
private

Extract files from a disk image to process with xLeapp

Parameters
dataSourceDatasource of the image
iLeappPathsToProcessList of paths to extract content from
moduleOutputPathpath to write content to

Definition at line 400 of file ILeappAnalyzerIngestModule.java.

References org.sleuthkit.autopsy.ingest.IngestJobContext.dataSourceIngestIsCancelled(), org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.extractFileToOutput(), and org.sleuthkit.autopsy.casemodule.services.FileManager.findFiles().

Referenced by org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.process().

void org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.extractFileToOutput ( Content  dataSource,
AbstractFile  iLeappFile,
File  fileParentPath,
Path  parentPath 
)
private

Create path and file from datasource in temp

Parameters
dataSourcedatasource of the image
iLeappFileabstract file to write out
fileParentPathparent file path
parentPathparent file

Definition at line 444 of file ILeappAnalyzerIngestModule.java.

References org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.writeiLeappFile().

Referenced by org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.extractFilesFromDataSource().

List<String> org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.loadIleappPathFile ( Path  moduleOutputPath) throws FileNotFoundException, IOException
private
static File org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.locateExecutable ( String  executableName) throws FileNotFoundException
staticprivate
ProcessResult org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.process ( Content  dataSource,
DataSourceIngestModuleProgress  progressBar 
)

Processes a data source. Called once between calls to startUp() and shutDown().

IMPORTANT: In addition to returning ProcessResult.OK or ProcessResult.ERROR, modules should log all errors using methods provided by the org.sleuthkit.autopsy.coreutils.Logger class. Log messages should include the name and object ID of the data being processed. If an exception has been caught by the module, the exception should be sent to the Logger along with the log message so that a stack trace will appear in the application log.

Parameters
dataSourceThe data source to process.
progressBarA progress bar to be used to report progress.
Returns
A result code indicating success or failure of the processing.

Implements org.sleuthkit.autopsy.ingest.DataSourceIngestModule.

Definition at line 127 of file ILeappAnalyzerIngestModule.java.

References org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.buildiLeappListCommand(), org.sleuthkit.autopsy.ingest.IngestMessage.createMessage(), org.sleuthkit.autopsy.ingest.IngestMessage.MessageType.DATA, org.sleuthkit.autopsy.ingest.IngestModule.ProcessResult.ERROR, org.sleuthkit.autopsy.coreutils.ExecUtil.execute(), org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.extractFilesFromDataSource(), org.sleuthkit.autopsy.casemodule.Case.getCurrentCase(), org.sleuthkit.autopsy.ingest.IngestJobContext.getDataSource(), org.sleuthkit.autopsy.ingest.IngestServices.getInstance(), org.sleuthkit.autopsy.casemodule.Case.getTempDirectory(), org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.ILEAPP, org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.loadIleappPathFile(), org.sleuthkit.autopsy.ingest.IngestModule.ProcessResult.OK, org.sleuthkit.autopsy.ingest.IngestServices.postMessage(), org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.processILeappFile(), org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.processILeappFs(), org.sleuthkit.autopsy.ingest.DataSourceIngestModuleProgress.progress(), org.sleuthkit.autopsy.ingest.DataSourceIngestModuleProgress.switchToDeterminate(), org.sleuthkit.autopsy.ingest.DataSourceIngestModuleProgress.switchToIndeterminate(), and org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.writeErrorMsgToIngestInbox().

void org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.processILeappFile ( Content  dataSource,
Case  currentCase,
DataSourceIngestModuleProgress  statusHelper,
int  filesProcessedCount,
AbstractFile  iLeappFile 
)
private
void org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.processILeappFs ( Content  dataSource,
Case  currentCase,
DataSourceIngestModuleProgress  statusHelper,
String  directoryToProcess 
)
private
default void org.sleuthkit.autopsy.ingest.IngestModule.shutDown ( )
inherited

Invoked by Autopsy when an ingest job is completed (either because the data has been analyzed or because the job was cancelled), before the ingest module instance is discarded. The module should respond by doing things like releasing private resources, submitting final results, and posting a final ingest message.

IMPORTANT: If the module instances must share resources, the modules are responsible for synchronizing access to the shared resources and doing reference counting as required to release those resources correctly. Also, more than one ingest job may be in progress at any given time. This must also be taken into consideration when sharing resources between module instances. See IngestModuleReferenceCounter.

Implemented in org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule, org.sleuthkit.autopsy.modules.hashdatabase.HashDbIngestModule, org.sleuthkit.autopsy.keywordsearch.KeywordSearchIngestModule, org.sleuthkit.autopsy.centralrepository.ingestmodule.CentralRepoDataArtifactIngestModule, org.sleuthkit.autopsy.modules.filetypeid.FileTypeIdIngestModule, org.sleuthkit.autopsy.modules.fileextmismatch.FileExtMismatchIngestModule, org.sleuthkit.autopsy.modules.embeddedfileextractor.EmbeddedFileExtractorIngestModule, org.sleuthkit.autopsy.recentactivity.RAImageIngestModule, and org.sleuthkit.autopsy.modules.yara.YaraIngestModule.

Definition at line 91 of file IngestModule.java.

void org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.startUp ( IngestJobContext  context) throws IngestModuleException

Invoked by Autopsy to allow an ingest module instance to set up any internal data structures and acquire any private resources it will need during an ingest job. If the module depends on loading any resources, it should do so in this method so that it can throw an exception in the case of an error and alert the user. Exceptions that are thrown from startUp() are logged and stop processing of the data source.

IMPORTANT: If the module instances must share resources, the modules are responsible for synchronizing access to the shared resources and doing reference counting as required to release those resources correctly. Also, more than one ingest job may be in progress at any given time. This must also be taken into consideration when sharing resources between module instances. See IngestModuleReferenceCounter.

IMPORTANT: Start up IngestModuleException messages are displayed to the user, if a user is present. Therefore, an exception to the policy that exception messages are not localized is appropriate in this method. Also, the exception messages should be user-friendly.

Parameters
contextProvides data and services specific to the ingest job and the ingest pipeline of which the module is a part.
Exceptions
org.sleuthkit.autopsy.ingest.IngestModule.IngestModuleException

Implements org.sleuthkit.autopsy.ingest.IngestModule.

Definition at line 91 of file ILeappAnalyzerIngestModule.java.

References org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.context, org.sleuthkit.autopsy.coreutils.PlatformUtil.is64BitOS(), org.sleuthkit.autopsy.coreutils.PlatformUtil.isWindowsOS(), and org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.locateExecutable().

void org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.writeErrorMsgToIngestInbox ( )
private
void org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.writeiLeappFile ( Content  dataSource,
AbstractFile  iLeappFile,
String  parentPath 
)
private

Write out file to output

Parameters
dataSourcedatasource of disk image
iLeappFileacstract file to write out
parentPathpath to write file to

Definition at line 480 of file ILeappAnalyzerIngestModule.java.

References org.sleuthkit.autopsy.datamodel.ContentUtils.writeToFile().

Referenced by org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.extractFileToOutput().

Member Data Documentation

IngestJobContext org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.context
private
final String org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.ILEAPP = "iLeapp"
staticprivate
final String org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.ILEAPP_EXECUTABLE = "ileapp.exe"
staticprivate

Definition at line 71 of file ILeappAnalyzerIngestModule.java.

final String org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.ILEAPP_FS = "fs_"
staticprivate

Definition at line 70 of file ILeappAnalyzerIngestModule.java.

final String org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.ILEAPP_PATHS_FILE = "iLeapp_paths.txt"
staticprivate
File org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.iLeappExecutable
private

Definition at line 76 of file ILeappAnalyzerIngestModule.java.

LeappFileProcessor org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.iLeappFileProcessor
private

Definition at line 80 of file ILeappAnalyzerIngestModule.java.

final Logger org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.logger = Logger.getLogger(ILeappAnalyzerIngestModule.class.getName())
staticprivate

Definition at line 66 of file ILeappAnalyzerIngestModule.java.

final String org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.MODULE_NAME = ILeappAnalyzerModuleFactory.getModuleName()
staticprivate
final String org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.XMLFILE = "ileap-artifact-attribute-reference.xml"
staticprivate

Definition at line 74 of file ILeappAnalyzerIngestModule.java.


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

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