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

Static Public Member Functions

static< T > boolean extractResourceToUserConfigDir (final Class< T > resourceClass, final String resourceFileName, boolean overWrite) throws IOException
 
static String getAllMemUsageInfo ()
 
static String getDefaultPlatformCharset ()
 
static String getDefaultPlatformFileEncoding ()
 
static String getInstallModulesPath ()
 
static String getInstallPath ()
 
static synchronized String getJavaPath ()
 
static synchronized long getJavaPID (String sigarSubQuery)
 
static synchronized long[] getJavaPIDs (String argsSubQuery)
 
static String getJvmMemInfo ()
 
static String getLogDirectory ()
 
static String getLogFileEncoding ()
 
static String getModuleConfigDirectory ()
 
static String getObjectDetectionClassifierPath ()
 
static List< String > getOcrLanguagePacks ()
 
static String getOcrLanguagePacksPath ()
 
static String getOSArch ()
 
static String getOSFilePath (String origFilePath)
 
static String getOSName ()
 
static String getOSVersion ()
 
static List< LocalDiskgetPartitions ()
 
static List< LocalDiskgetPhysicalDrives ()
 
static String getPhysicalMemInfo ()
 
static synchronized long getPID ()
 
static synchronized long getProcessVirtualMemoryUsed ()
 
static List< String > getProjectsDirs ()
 
static String getUserConfigDirectory ()
 
static File getUserDirectory ()
 
static String getUserModulesPath ()
 
static String getUserPythonModulesPath ()
 
static boolean is64BitJVM ()
 
static boolean is64BitOS ()
 
static boolean isWindowsOS ()
 
static synchronized void killProcess (long pid)
 

Static Public Attributes

static final String OS_ARCH_UNKNOWN = NbBundle.getMessage(PlatformUtil.class, "PlatformUtil.archUnknown")
 
static final String OS_NAME_UNKNOWN = NbBundle.getMessage(PlatformUtil.class, "PlatformUtil.nameUnknown")
 
static final String OS_VERSION_UNKNOWN = NbBundle.getMessage(PlatformUtil.class, "PlatformUtil.verUnknown")
 

Static Private Member Functions

static boolean canReadDrive (String diskPath)
 
static String convertSqlLikeToRegex (String originalLikeStatement)
 

Static Private Attributes

static final String CLASSIFIERS_SUBDIRECTORY = "object_detection_classifiers"
 
static String javaPath = null
 
static volatile MemoryMXBean memoryManager = null
 
static final String OCR_LANGUAGE_PACK_EXT = "traineddata"
 
static final String OCR_LANGUAGE_SUBDIRECTORY = "ocr_language_packs"
 
static volatile long pid = -1
 
static final String PYTHON_MODULES_SUBDIRECTORY = "python_modules"
 

Detailed Description

Platform utilities

Definition at line 58 of file PlatformUtil.java.

Member Function Documentation

static boolean org.sleuthkit.autopsy.coreutils.PlatformUtil.canReadDrive ( String  diskPath)
staticprivate

Are we able to read this drive? Usually related to admin permissions.

For all drives and partitions, we are using Java's ability to read the first byte of a drive to determine if TSK would be able to read the drive during the add image process. This returns whether the drive is readable or not far faster than validating if TSK can open the drive. We are assuming the results are almost exactly the same.

Parameters
diskPathpath to the disk we want to read
Returns
true if we successfully read the first byte
Exceptions
IOExceptionif we fail to read

Definition at line 487 of file PlatformUtil.java.

Referenced by org.sleuthkit.autopsy.coreutils.PlatformUtil.getPartitions(), and org.sleuthkit.autopsy.coreutils.PlatformUtil.getPhysicalDrives().

static String org.sleuthkit.autopsy.coreutils.PlatformUtil.convertSqlLikeToRegex ( String  originalLikeStatement)
staticprivate

Performs a simple conversion of a sql like statement to regex replacing '' and '_' in a like statement with regex equivalents.

Parameters
originalLikeStatementThe original like statement.
Returns
The equivalent regex string.

Definition at line 540 of file PlatformUtil.java.

Referenced by org.sleuthkit.autopsy.coreutils.PlatformUtil.getJavaPIDs().

static <T> boolean org.sleuthkit.autopsy.coreutils.PlatformUtil.extractResourceToUserConfigDir ( final Class< T >  resourceClass,
final String  resourceFileName,
boolean  overWrite 
) throws IOException
static

Utility to extract a resource file to a user configuration directory, if it does not exist - useful for setting up default configurations.

Parameters
resourceClassclass in the same package as the resourceFile to extract
resourceFileNameName of the resource file to extract
overWritetrue to overwrite an existing resource
Returns
true if extracted, false otherwise (if file already exists)
Exceptions
IOExceptionexception thrown if extract the file failed for IO reasons

Definition at line 283 of file PlatformUtil.java.

References org.sleuthkit.autopsy.coreutils.PlatformUtil.getUserConfigDirectory().

Referenced by org.sleuthkit.autopsy.modules.leappanalyzers.LeappFileProcessor.configExtractor(), org.sleuthkit.autopsy.report.ReportBranding.extractDefaultGeneratorLogo(), org.sleuthkit.autopsy.coreutils.XMLUtil.validateDocument(), and org.sleuthkit.autopsy.coreutils.XMLUtil.xmlIsValid().

static String org.sleuthkit.autopsy.coreutils.PlatformUtil.getAllMemUsageInfo ( )
static
static String org.sleuthkit.autopsy.coreutils.PlatformUtil.getDefaultPlatformCharset ( )
static
static String org.sleuthkit.autopsy.coreutils.PlatformUtil.getDefaultPlatformFileEncoding ( )
static
static String org.sleuthkit.autopsy.coreutils.PlatformUtil.getInstallModulesPath ( )
static

Get root path where the application modules are installed

Returns
absolute path string to the install modules root dir, or null if not found

Definition at line 88 of file PlatformUtil.java.

static String org.sleuthkit.autopsy.coreutils.PlatformUtil.getInstallPath ( )
static
static synchronized String org.sleuthkit.autopsy.coreutils.PlatformUtil.getJavaPath ( )
static

get file path to the java executable binary use embedded java if available, otherwise use system java in PATH no validation is done if java exists in PATH

Returns
file path to java binary

Definition at line 173 of file PlatformUtil.java.

References org.sleuthkit.autopsy.coreutils.PlatformUtil.getInstallPath(), and org.sleuthkit.autopsy.coreutils.PlatformUtil.javaPath.

static synchronized long org.sleuthkit.autopsy.coreutils.PlatformUtil.getJavaPID ( String  sigarSubQuery)
static

Query and get PID of another java process

Parameters
sigarSubQuerya sigar subquery to identify a unique java process among other java processes, for example, by class name, use: Args.*.eq=org.jboss.Main more examples here: http://support.hyperic.com/display/SIGAR/PTQL
Returns
PID of a java process or -1 if it couldn't be determined

Definition at line 526 of file PlatformUtil.java.

References org.sleuthkit.autopsy.coreutils.PlatformUtil.getJavaPIDs().

static synchronized long [] org.sleuthkit.autopsy.coreutils.PlatformUtil.getJavaPIDs ( String  argsSubQuery)
static

Query and get PIDs of another java processes matching a query

Parameters
argsSubQueryA like query for command line arguments
Returns
array of PIDs of a java processes matching the query or null if it couldn't be determined

Definition at line 583 of file PlatformUtil.java.

References org.sleuthkit.autopsy.coreutils.PlatformUtil.convertSqlLikeToRegex(), and org.sleuthkit.autopsy.coreutils.PlatformUtil.isWindowsOS().

Referenced by org.sleuthkit.autopsy.coreutils.PlatformUtil.getJavaPID().

static String org.sleuthkit.autopsy.coreutils.PlatformUtil.getJvmMemInfo ( )
static

Return formatted string with Jvm heap and non-heap memory usage

Returns
formatted string with jvm memory usage

Definition at line 679 of file PlatformUtil.java.

Referenced by org.sleuthkit.autopsy.coreutils.PlatformUtil.getAllMemUsageInfo().

static String org.sleuthkit.autopsy.coreutils.PlatformUtil.getLogDirectory ( )
static

Get log directory path

Returns
Get log directory path string

Definition at line 252 of file PlatformUtil.java.

Referenced by org.sleuthkit.autopsy.casemodule.Case.close(), and org.sleuthkit.autopsy.actions.ThreadDumpAction.ThreadDumper.createFilePath().

static String org.sleuthkit.autopsy.coreutils.PlatformUtil.getLogFileEncoding ( )
static
static String org.sleuthkit.autopsy.coreutils.PlatformUtil.getModuleConfigDirectory ( )
static
static String org.sleuthkit.autopsy.coreutils.PlatformUtil.getObjectDetectionClassifierPath ( )
static

Get root path where the user's object detection classifiers are stored.

Returns
Absolute path to the object detection classifiers root directory.

Definition at line 162 of file PlatformUtil.java.

References org.sleuthkit.autopsy.coreutils.PlatformUtil.CLASSIFIERS_SUBDIRECTORY, and org.sleuthkit.autopsy.coreutils.PlatformUtil.getUserDirectory().

Referenced by org.sleuthkit.autopsy.core.Installer.ensureClassifierFolderExists().

static List<String> org.sleuthkit.autopsy.coreutils.PlatformUtil.getOcrLanguagePacks ( )
static

Get the names of the language packs installed at the user directory.

Returns
List of language packs base names

Definition at line 142 of file PlatformUtil.java.

References org.sleuthkit.autopsy.coreutils.PlatformUtil.getOcrLanguagePacksPath().

static String org.sleuthkit.autopsy.coreutils.PlatformUtil.getOcrLanguagePacksPath ( )
static

Get root path where the user's Ocr language packs are stored.

Returns
Absolute path to the Ocr language packs root directory.

Definition at line 133 of file PlatformUtil.java.

References org.sleuthkit.autopsy.coreutils.PlatformUtil.getUserDirectory(), and org.sleuthkit.autopsy.coreutils.PlatformUtil.OCR_LANGUAGE_SUBDIRECTORY.

Referenced by org.sleuthkit.autopsy.core.Installer.ensureOcrLanguagePacksFolderExists(), and org.sleuthkit.autopsy.coreutils.PlatformUtil.getOcrLanguagePacks().

static String org.sleuthkit.autopsy.coreutils.PlatformUtil.getOSArch ( )
static

Get OS arch details, or OS_ARCH_UNKNOWN

Returns
OS arch string

Definition at line 330 of file PlatformUtil.java.

static String org.sleuthkit.autopsy.coreutils.PlatformUtil.getOSFilePath ( String  origFilePath)
static

Convert file path (quote) for OS specific

Parameters
origFilePath
Returns
converted file path

Definition at line 350 of file PlatformUtil.java.

References org.sleuthkit.autopsy.coreutils.PlatformUtil.isWindowsOS().

static String org.sleuthkit.autopsy.coreutils.PlatformUtil.getOSName ( )
static

Get operating system name, or OS_NAME_UNKNOWN

Returns
OS name string

Definition at line 312 of file PlatformUtil.java.

Referenced by org.sleuthkit.autopsy.modules.hashdatabase.HashLookupSettingsPanel.isWindows(), and org.sleuthkit.autopsy.coreutils.PlatformUtil.isWindowsOS().

static String org.sleuthkit.autopsy.coreutils.PlatformUtil.getOSVersion ( )
static

Get operating system version, or OS_VERSION_UNKNOWN

Returns
OS version string

Definition at line 321 of file PlatformUtil.java.

static List<LocalDisk> org.sleuthkit.autopsy.coreutils.PlatformUtil.getPartitions ( )
static

Get a list all all the local drives and partitions on the client's machine.

Returns
list of local drives and partitions

Definition at line 440 of file PlatformUtil.java.

References org.sleuthkit.autopsy.coreutils.PlatformUtil.canReadDrive(), and org.sleuthkit.autopsy.coreutils.PlatformUtil.isWindowsOS().

static List<LocalDisk> org.sleuthkit.autopsy.coreutils.PlatformUtil.getPhysicalDrives ( )
static

Get a list of all physical drives attached to the client's machine. Error threshold of 4 non-existent physical drives before giving up.

Returns
list of physical drives

Definition at line 389 of file PlatformUtil.java.

References org.sleuthkit.autopsy.coreutils.PlatformUtil.canReadDrive(), and org.sleuthkit.autopsy.coreutils.PlatformUtil.isWindowsOS().

static String org.sleuthkit.autopsy.coreutils.PlatformUtil.getPhysicalMemInfo ( )
static

Return formatted string with physical memory usage

Returns
formatted string with physical memory usage

Definition at line 698 of file PlatformUtil.java.

Referenced by org.sleuthkit.autopsy.coreutils.PlatformUtil.getAllMemUsageInfo().

static synchronized long org.sleuthkit.autopsy.coreutils.PlatformUtil.getPID ( )
static

Query and get PID of this process

Returns
PID of this process or -1 if it couldn't be determined

Definition at line 511 of file PlatformUtil.java.

Referenced by org.sleuthkit.autopsy.coreutils.Installer.restored().

static synchronized long org.sleuthkit.autopsy.coreutils.PlatformUtil.getProcessVirtualMemoryUsed ( )
static

Query and return virtual memory used by the process

Returns
virt memory used in bytes or -1 if couldn't be queried

Definition at line 669 of file PlatformUtil.java.

Referenced by org.sleuthkit.autopsy.coreutils.PlatformUtil.getAllMemUsageInfo(), and org.sleuthkit.autopsy.coreutils.Installer.restored().

static List<String> org.sleuthkit.autopsy.coreutils.PlatformUtil.getProjectsDirs ( )
static

Get RCP project dirs

Returns

Definition at line 214 of file PlatformUtil.java.

static String org.sleuthkit.autopsy.coreutils.PlatformUtil.getUserConfigDirectory ( )
static
static File org.sleuthkit.autopsy.coreutils.PlatformUtil.getUserDirectory ( )
static
static String org.sleuthkit.autopsy.coreutils.PlatformUtil.getUserModulesPath ( )
static

Get root path where the user modules are installed

Returns
absolute path string to the install modules root dir, or null if not found

Definition at line 115 of file PlatformUtil.java.

References org.sleuthkit.autopsy.coreutils.PlatformUtil.getUserDirectory().

static String org.sleuthkit.autopsy.coreutils.PlatformUtil.getUserPythonModulesPath ( )
static
static boolean org.sleuthkit.autopsy.coreutils.PlatformUtil.is64BitJVM ( )
static

Attempts to determine whether the JVM is 64-bit or 32-bit. May not be completely reliable for non-Windows operating systems.

Returns
True if the JVM is 64-bit. False otherwise.

Definition at line 379 of file PlatformUtil.java.

Referenced by org.sleuthkit.autopsy.core.Installer.addGstreamerPathsToEnv(), and org.sleuthkit.autopsy.core.UserPreferences.getMaxSolrVMSize().

static boolean org.sleuthkit.autopsy.coreutils.PlatformUtil.is64BitOS ( )
static
static boolean org.sleuthkit.autopsy.coreutils.PlatformUtil.isWindowsOS ( )
static

Check if running on Windows OS

Returns
true if running on Windows OS

Definition at line 339 of file PlatformUtil.java.

References org.sleuthkit.autopsy.coreutils.PlatformUtil.getOSName().

Referenced by org.sleuthkit.autopsy.coreutils.PlatformUtil.getJavaPIDs(), org.sleuthkit.autopsy.coreutils.UNCPathUtilities.getMappedDrives(), org.sleuthkit.autopsy.coreutils.PlatformUtil.getOSFilePath(), org.sleuthkit.autopsy.coreutils.PlatformUtil.getPartitions(), org.sleuthkit.autopsy.coreutils.PlatformUtil.getPhysicalDrives(), org.sleuthkit.autopsy.testing.AutopsyTestCases.getSystemDiagnostics(), org.sleuthkit.autopsy.keywordsearch.KeywordSearchJobSettingsPanel.handleOcrEnabled(), org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.initComponents(), org.sleuthkit.autopsy.coreutils.PathValidator.isValidForRunningOnTarget(), org.sleuthkit.autopsy.coreutils.PlatformUtil.killProcess(), org.sleuthkit.autopsy.core.Installer.loadDynLibraries(), org.sleuthkit.autopsy.casemodule.UnpackagePortableCaseProgressDialog.UnpackageWorker.locate7ZipExecutable(), org.sleuthkit.autopsy.report.modules.portablecase.PortableCaseReportModule.locate7ZipExecutable(), org.sleuthkit.autopsy.casemodule.LocalFilesDSProcessor.locateEwfexportExecutable(), org.sleuthkit.autopsy.keywordsearch.Server.runLocalSolr8ControlCommand(), org.sleuthkit.autopsy.modules.yara.YaraIngestModule.startUp(), org.sleuthkit.autopsy.modules.leappanalyzers.ALeappAnalyzerIngestModule.startUp(), org.sleuthkit.autopsy.modules.leappanalyzers.ILeappAnalyzerIngestModule.startUp(), and org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.startUp().

static synchronized void org.sleuthkit.autopsy.coreutils.PlatformUtil.killProcess ( long  pid)
static

Kill a process by PID by sending signal to it using Sigar

Parameters
pidpid of the process to kill

Definition at line 651 of file PlatformUtil.java.

References org.sleuthkit.autopsy.coreutils.PlatformUtil.isWindowsOS(), and org.sleuthkit.autopsy.coreutils.PlatformUtil.pid.

Member Data Documentation

final String org.sleuthkit.autopsy.coreutils.PlatformUtil.CLASSIFIERS_SUBDIRECTORY = "object_detection_classifiers"
staticprivate
String org.sleuthkit.autopsy.coreutils.PlatformUtil.javaPath = null
staticprivate
volatile MemoryMXBean org.sleuthkit.autopsy.coreutils.PlatformUtil.memoryManager = null
staticprivate

Definition at line 69 of file PlatformUtil.java.

final String org.sleuthkit.autopsy.coreutils.PlatformUtil.OCR_LANGUAGE_PACK_EXT = "traineddata"
staticprivate

Definition at line 63 of file PlatformUtil.java.

final String org.sleuthkit.autopsy.coreutils.PlatformUtil.OCR_LANGUAGE_SUBDIRECTORY = "ocr_language_packs"
staticprivate
final String org.sleuthkit.autopsy.coreutils.PlatformUtil.OS_ARCH_UNKNOWN = NbBundle.getMessage(PlatformUtil.class, "PlatformUtil.archUnknown")
static

Definition at line 67 of file PlatformUtil.java.

final String org.sleuthkit.autopsy.coreutils.PlatformUtil.OS_NAME_UNKNOWN = NbBundle.getMessage(PlatformUtil.class, "PlatformUtil.nameUnknown")
static

Definition at line 65 of file PlatformUtil.java.

final String org.sleuthkit.autopsy.coreutils.PlatformUtil.OS_VERSION_UNKNOWN = NbBundle.getMessage(PlatformUtil.class, "PlatformUtil.verUnknown")
static

Definition at line 66 of file PlatformUtil.java.

volatile long org.sleuthkit.autopsy.coreutils.PlatformUtil.pid = -1
staticprivate
final String org.sleuthkit.autopsy.coreutils.PlatformUtil.PYTHON_MODULES_SUBDIRECTORY = "python_modules"
staticprivate

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

Copyright © 2012-2022 Basis Technology. Generated on: Tue Jun 27 2023
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.