Autopsy  4.19.0
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 sigarSubQuery)
 
static String getJvmMemInfo ()
 
static String getLogDirectory ()
 
static String getLogFileEncoding ()
 
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 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"
 
static volatile Sigar sigar = null
 

Detailed Description

Platform utilities

Definition at line 52 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 473 of file PlatformUtil.java.

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

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 269 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 83 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 168 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 529 of file PlatformUtil.java.

References org.sleuthkit.autopsy.corelibs.SigarLoader.getSigar().

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

Query and get PIDs of another java processes matching a query

Parameters
sigarSubQuerya sigar subquery to identify a java processes 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
array of PIDs of a java processes matching the query or null if it couldn't be determined

Definition at line 561 of file PlatformUtil.java.

References org.sleuthkit.autopsy.corelibs.SigarLoader.getSigar().

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 634 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 238 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.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 157 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 137 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 128 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 316 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 336 of file PlatformUtil.java.

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

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

Get operating system version, or OS_VERSION_UNKNOWN

Returns
OS version string

Definition at line 307 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 426 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 375 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 653 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 497 of file PlatformUtil.java.

References org.sleuthkit.autopsy.corelibs.SigarLoader.getSigar(), and org.sleuthkit.autopsy.coreutils.PlatformUtil.pid.

Referenced by org.sleuthkit.autopsy.coreutils.PlatformUtil.getProcessVirtualMemoryUsed(), and 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 609 of file PlatformUtil.java.

References org.sleuthkit.autopsy.coreutils.PlatformUtil.getPID(), and org.sleuthkit.autopsy.corelibs.SigarLoader.getSigar().

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 209 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 110 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 365 of file PlatformUtil.java.

Referenced by org.sleuthkit.autopsy.core.Installer.addGstreamerPathsToEnv(), org.sleuthkit.autopsy.modules.pictureanalyzer.impls.HEICProcessor.findImageMagick(), 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 325 of file PlatformUtil.java.

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

Referenced by org.sleuthkit.autopsy.modules.pictureanalyzer.impls.HEICProcessor.findImageMagick(), 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.keywordsearch.KeywordSearchJobSettingsPanel.handleOcrEnabled(), org.sleuthkit.autopsy.corecomponents.DataContentViewerHex.initComponents(), org.sleuthkit.autopsy.coreutils.PathValidator.isValidForRunningOnTarget(), 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 587 of file PlatformUtil.java.

References org.sleuthkit.autopsy.corelibs.SigarLoader.getSigar().

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 64 of file PlatformUtil.java.

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

Definition at line 57 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 61 of file PlatformUtil.java.

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

Definition at line 59 of file PlatformUtil.java.

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

Definition at line 60 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
volatile Sigar org.sleuthkit.autopsy.coreutils.PlatformUtil.sigar = null
staticprivate

Definition at line 63 of file PlatformUtil.java.


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

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