diff --git a/Core/src/org/sleuthkit/autopsy/coreutils/ImageUtils.java b/Core/src/org/sleuthkit/autopsy/coreutils/ImageUtils.java index 8d9c3a02b92aef6b2a40024a8eebdb39cf60d1c7..3058ce485d9824e1fbe1ee869008c00dab561d06 100644 --- a/Core/src/org/sleuthkit/autopsy/coreutils/ImageUtils.java +++ b/Core/src/org/sleuthkit/autopsy/coreutils/ImageUtils.java @@ -126,9 +126,9 @@ public class ImageUtils { if (OpenCvLoader.openCvIsLoaded()) { try { if (System.getProperty("os.arch").equals("amd64") || System.getProperty("os.arch").equals("x86_64")) { //NON-NLS - System.loadLibrary("opencv_ffmpeg248_64"); //NON-NLS + System.loadLibrary("opencv_ffmpeg2413_64"); //NON-NLS } else { - System.loadLibrary("opencv_ffmpeg248"); //NON-NLS + System.loadLibrary("opencv_ffmpeg2413"); //NON-NLS } tempFfmpegLoaded = true; } catch (UnsatisfiedLinkError e) { diff --git a/Core/src/org/sleuthkit/autopsy/modules/leappanalyzers/ALeappAnalyzerIngestModule.java b/Core/src/org/sleuthkit/autopsy/modules/leappanalyzers/ALeappAnalyzerIngestModule.java index d9f673ac369efa354165d2824751b64d8a040ec7..1332ff40cd7afb905d6375d535f9da88a62fc0e4 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/leappanalyzers/ALeappAnalyzerIngestModule.java +++ b/Core/src/org/sleuthkit/autopsy/modules/leappanalyzers/ALeappAnalyzerIngestModule.java @@ -289,12 +289,13 @@ private void processALeappFs(Content dataSource, Case currentCase, DataSourceIng private ProcessBuilder buildaLeappCommand(Path moduleOutputPath, String sourceFilePath, String aLeappFileSystemType) { ProcessBuilder processBuilder = buildProcessWithRunAsInvoker( - "\"" + aLeappExecutable + "\"", //NON-NLS + aLeappExecutable.getAbsolutePath(), //NON-NLS "-t", aLeappFileSystemType, //NON-NLS "-i", sourceFilePath, //NON-NLS "-o", moduleOutputPath.toString(), "-w" ); + processBuilder.directory(moduleOutputPath.toFile()); processBuilder.redirectError(moduleOutputPath.resolve("aLeapp_err.txt").toFile()); //NON-NLS processBuilder.redirectOutput(moduleOutputPath.resolve("aLeapp_out.txt").toFile()); //NON-NLS return processBuilder; @@ -303,9 +304,11 @@ private ProcessBuilder buildaLeappCommand(Path moduleOutputPath, String sourceFi private ProcessBuilder buildaLeappListCommand(Path moduleOutputPath) { ProcessBuilder processBuilder = buildProcessWithRunAsInvoker( - "\"" + aLeappExecutable + "\"", //NON-NLS + aLeappExecutable.getAbsolutePath(), //NON-NLS "-p" ); + // leapp process creates a text file in addition to outputting to stdout. + processBuilder.directory(moduleOutputPath.toFile()); processBuilder.redirectError(moduleOutputPath.resolve("aLeapp_paths_error.txt").toFile()); //NON-NLS processBuilder.redirectOutput(moduleOutputPath.resolve("aLeapp_paths.txt").toFile()); //NON-NLS return processBuilder; diff --git a/Core/src/org/sleuthkit/autopsy/modules/leappanalyzers/ILeappAnalyzerIngestModule.java b/Core/src/org/sleuthkit/autopsy/modules/leappanalyzers/ILeappAnalyzerIngestModule.java index 4d8328ce3d137f3a31bac362b9b7d719c8e37c45..f522d2fdd1c6acf6d58b3e719672980f5befc8c1 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/leappanalyzers/ILeappAnalyzerIngestModule.java +++ b/Core/src/org/sleuthkit/autopsy/modules/leappanalyzers/ILeappAnalyzerIngestModule.java @@ -289,11 +289,12 @@ private void processILeappFs(Content dataSource, Case currentCase, DataSourceIng private ProcessBuilder buildiLeappCommand(Path moduleOutputPath, String sourceFilePath, String iLeappFileSystemType) { ProcessBuilder processBuilder = buildProcessWithRunAsInvoker( - "\"" + iLeappExecutable + "\"", //NON-NLS + iLeappExecutable.getAbsolutePath(), //NON-NLS "-t", iLeappFileSystemType, //NON-NLS "-i", sourceFilePath, //NON-NLS "-o", moduleOutputPath.toString() ); + processBuilder.directory(moduleOutputPath.toFile()); processBuilder.redirectError(moduleOutputPath.resolve("iLeapp_err.txt").toFile()); //NON-NLS processBuilder.redirectOutput(moduleOutputPath.resolve("iLeapp_out.txt").toFile()); //NON-NLS return processBuilder; @@ -309,9 +310,11 @@ private ProcessBuilder buildiLeappCommand(Path moduleOutputPath, String sourceFi private ProcessBuilder buildiLeappListCommand(Path moduleOutputPath) { ProcessBuilder processBuilder = buildProcessWithRunAsInvoker( - "\"" + iLeappExecutable + "\"", //NON-NLS + iLeappExecutable.getAbsolutePath(), //NON-NLS "-p" ); + // leapp process also outputs a file to the working directory in addition to stdout. + processBuilder.directory(moduleOutputPath.toFile()); processBuilder.redirectError(moduleOutputPath.resolve("iLeapp_paths_error.txt").toFile()); //NON-NLS processBuilder.redirectOutput(moduleOutputPath.resolve("iLeapp_paths.txt").toFile()); //NON-NLS return processBuilder; diff --git a/CoreLibs/nbproject/project.properties b/CoreLibs/nbproject/project.properties index 7cff41ed039ef3cd1a81fd77fa47b0ca34b71075..b8ef72969a00d7bcca6c970d6e2dcac9d586427d 100644 --- a/CoreLibs/nbproject/project.properties +++ b/CoreLibs/nbproject/project.properties @@ -129,7 +129,6 @@ file.reference.opencensus-api-0.31.0.jar=release/modules/ext/opencensus-api-0.31 file.reference.opencensus-contrib-http-util-0.31.0.jar=release/modules/ext/opencensus-contrib-http-util-0.31.0.jar file.reference.opencensus-proto-0.2.0.jar=release/modules/ext/opencensus-proto-0.2.0.jar file.reference.opencv-2413.jar=release/modules/ext/opencv-2413.jar -file.reference.opencv-248.jar=release/modules/ext/opencv-248.jar file.reference.perfmark-api-0.23.0.jar=release/modules/ext/perfmark-api-0.23.0.jar file.reference.proto-google-cloud-translate-v3-2.1.11.jar=release/modules/ext/proto-google-cloud-translate-v3-2.1.11.jar file.reference.proto-google-cloud-translate-v3beta1-0.83.11.jar=release/modules/ext/proto-google-cloud-translate-v3beta1-0.83.11.jar diff --git a/CoreLibs/nbproject/project.xml b/CoreLibs/nbproject/project.xml index f7818a9522eaee1cc24ec95337a567906323552d..8e8b42928b5dd699c9ac922bfcf2fe7d6be41473 100644 --- a/CoreLibs/nbproject/project.xml +++ b/CoreLibs/nbproject/project.xml @@ -324,7 +324,7 @@ <package>javax.annotation</package> <package>javax.annotation.concurrent</package> <package>javax.annotation.meta</package> -<package>javafx.animation</package> + <package>javafx.animation</package> <package>javafx.application</package> <package>javafx.beans</package> <package>javafx.beans.binding</package> @@ -1111,10 +1111,6 @@ <runtime-relative-path>ext/opencv-2413.jar</runtime-relative-path> <binary-origin>release/modules/ext/opencv-2413.jar</binary-origin> </class-path-extension> - <class-path-extension> - <runtime-relative-path>ext/opencv-248.jar</runtime-relative-path> - <binary-origin>release/modules/ext/opencv-248.jar</binary-origin> - </class-path-extension> <class-path-extension> <runtime-relative-path>ext/perfmark-api-0.23.0.jar</runtime-relative-path> <binary-origin>release/modules/ext/perfmark-api-0.23.0.jar</binary-origin> diff --git a/Running_Linux_OSX.md b/Running_Linux_OSX.md index fbc4828c29097c2aa66d74145b3fce6179f691f0..c35ca091e0ef2c95a9deae67dc161b7caa0582e0 100644 --- a/Running_Linux_OSX.md +++ b/Running_Linux_OSX.md @@ -9,7 +9,7 @@ When installing on Debian-based Linux or macOS systems, there are three general # Installing The Sleuth Kit - **Linux**: Download the .deb file for the release you want to install from the [release section](https://github.com/sleuthkit/sleuthkit/releases). Install The Sleuth Kit package from the repositories with the following command: `sudo apt update && sudo apt install /path/to/sleuthkit-version.deb`. -- **macOS**: Ensure that for this session, your `JAVA_HOME` variable is set to the java 17 installation by running `export JAVA_HOME=$(/usr/libexec/java_home -v 17)/bin/java`. Then, install The Sleuth Kit from source by running [`linux_macos_install_scripts/install_tsk_from_src.sh`](./linux_macos_install_scripts/install_tsk_from_src.sh), which will download, build, and install The Sleuth Kit. It can be run as follows: `install_tsk_from_src.sh -p ~/src/sleuthkit -b sleuthkit-4.11.1`. Make sure that your path to download source ends with "sleuthkit" as the last directory, and the release is the corresponding tag in the [repository](https://github.com/sleuthkit/sleuthkit). +- **macOS**: Ensure that for this session, your `JAVA_HOME` variable is set to the java 17 installation by running `export JAVA_HOME=$(/usr/libexec/java_home -v 17)`. Then, install The Sleuth Kit from source by running [`linux_macos_install_scripts/install_tsk_from_src.sh`](./linux_macos_install_scripts/install_tsk_from_src.sh), which will download, build, and install The Sleuth Kit. It can be run as follows: `install_tsk_from_src.sh -p ~/src/sleuthkit -b sleuthkit-4.11.1`. Make sure that your path to download source ends with "sleuthkit" as the last directory, and the release is the corresponding tag in the [repository](https://github.com/sleuthkit/sleuthkit). # Installing Autopsy - Download the Autopsy zip file from [repository releases](https://github.com/sleuthkit/autopsy/releases). The file will be marked as "autopsy-<release>.zip" (i.e. "autopsy-4.19.2.zip"). diff --git a/build-windows-installer.xml b/build-windows-installer.xml index 41c8fd205846ee183a17a0227f3678a468d10e7e..92e5871d4b03039393431cc65ea9cf014f3d5a53 100644 --- a/build-windows-installer.xml +++ b/build-windows-installer.xml @@ -27,19 +27,6 @@ <echo message="32-bit JRE not found. No 32-bit installer will be built. Set the JRE_HOME_32 environment variable to generate a 32-bit installer."/> </else> </if> --> - - <condition property="jre.home.64"> - <isset property="env.JRE_HOME_64"/> - </condition> - <if> - <isset property="jre.home.64" /> - <then> - <echo message="64-bit JRE found, 64-bit installer will be built."/> - </then> - <else> - <echo message="64-bit JRE not found. No 64-bit installer will be built. Set the JRE_HOME_64 environment variable to generate a 64-bit installer."/> - </else> - </if> <property name="lib-rel-path" value="${app.name}\modules\lib" /> <!-- where libs are in build folder; forward slashes because not used directly by advanced installer --> @@ -100,14 +87,27 @@ <target name="copyJRE" description="Copy a given JRE to the installation folder"> - <var name="new-jre-path" value="${inst-path}\jre"/> - <delete failonerror="false" dir="${new-jre-path}"/> - <mkdir dir="${new-jre-path}"/> - <copy todir="${new-jre-path}" overwrite="true"> - <fileset dir="${jre-path}"> - <include name="**/*"/> - </fileset> - </copy> + <property environment="env"/> + <if> + <isset property="env.JDK_HOME" /> + <then> + <echo message="JDK found at: ${env.JDK_HOME}."/> + </then> + <else> + <fail message="Environment variable, JDK_HOME, not set. Cannot build installer."/> + </else> + </if> + + + <exec executable="${env.JDK_HOME}/bin/jlink" dir="${inst-path}"> + <arg value="--add-modules"/> + <arg value="ALL-MODULE-PATH"/> + <arg value="--output"/> + <arg value="jre"/> + <arg value="--no-man-pages"/> + <arg value="--no-header-files"/> + <arg value="--compress=2"/> + </exec> </target> @@ -140,7 +140,7 @@ - <target name="build64" if="jre.home.64" description="Builds the 64 bit installer IF JRE_HOME_64 is set."> + <target name="build64" description="Builds the 64 bit installer IF JRE_HOME_64 is set."> <property environment="env"/> <var name="aip-path" value="${aip-path-64}"/> diff --git a/linux_macos_install_scripts/install_prereqs_macos.sh b/linux_macos_install_scripts/install_prereqs_macos.sh index de9b3b22a324843fb6619520a1b9ba195e71c431..79dea276c293a8dff7ea1b49bfcd44cd3ba75655 100644 --- a/linux_macos_install_scripts/install_prereqs_macos.sh +++ b/linux_macos_install_scripts/install_prereqs_macos.sh @@ -8,5 +8,15 @@ then exit 1 fi +sudo ln -sfn $HOMEBREW_PREFIX/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk && \ +echo "export PATH=\"$HOMEBREW_PREFIX/opt/openjdk@17/bin:$PATH\"" >> ~/.zshrc && \ +source ~/.zshrc + +if [[ $? -ne 0 ]] +then + echo "Unable to properly set up java env" >> /dev/stderr + exit 1 +fi + java_path=$(/usr/libexec/java_home -v 17) echo "Java 17 path: $java_path" \ No newline at end of file diff --git a/thirdparty/opencv/README.txt b/thirdparty/opencv/README.txt new file mode 100644 index 0000000000000000000000000000000000000000..94e4551dba7d0ea97827ff80b876bcec3146e281 --- /dev/null +++ b/thirdparty/opencv/README.txt @@ -0,0 +1,4 @@ +README: + +This is OpenCV jar and binaries from version 2.4.13.6 from opencv downloads: +https://opencv.org/releases \ No newline at end of file diff --git a/thirdparty/opencv/ext/opencv-248.jar b/thirdparty/opencv/ext/opencv-248.jar deleted file mode 100755 index f09b29077dbdd89cef6182f191e9de84b3f00056..0000000000000000000000000000000000000000 Binary files a/thirdparty/opencv/ext/opencv-248.jar and /dev/null differ diff --git a/thirdparty/opencv/lib/amd64/opencv_ffmpeg248_64.dll b/thirdparty/opencv/lib/amd64/opencv_ffmpeg248_64.dll deleted file mode 100755 index 37236e5424ac1a311380564e77025a3b94640be2..0000000000000000000000000000000000000000 Binary files a/thirdparty/opencv/lib/amd64/opencv_ffmpeg248_64.dll and /dev/null differ diff --git a/thirdparty/opencv/lib/amd64/opencv_java248.dll b/thirdparty/opencv/lib/amd64/opencv_java248.dll deleted file mode 100755 index ab989a6b11ead0436e7fb7a19557ea92fd9a6060..0000000000000000000000000000000000000000 Binary files a/thirdparty/opencv/lib/amd64/opencv_java248.dll and /dev/null differ diff --git a/thirdparty/opencv/lib/i386/opencv_ffmpeg2413.dll b/thirdparty/opencv/lib/i386/opencv_ffmpeg2413.dll deleted file mode 100644 index b1e70df6a3e0059530f13800ae675820081388dc..0000000000000000000000000000000000000000 Binary files a/thirdparty/opencv/lib/i386/opencv_ffmpeg2413.dll and /dev/null differ diff --git a/thirdparty/opencv/lib/i386/opencv_ffmpeg248.dll b/thirdparty/opencv/lib/i386/opencv_ffmpeg248.dll deleted file mode 100755 index b1e70df6a3e0059530f13800ae675820081388dc..0000000000000000000000000000000000000000 Binary files a/thirdparty/opencv/lib/i386/opencv_ffmpeg248.dll and /dev/null differ diff --git a/thirdparty/opencv/lib/i386/opencv_java2413.dll b/thirdparty/opencv/lib/i386/opencv_java2413.dll deleted file mode 100644 index c25b6209f8a80dd086dbd792703525c2bfd2c3a3..0000000000000000000000000000000000000000 Binary files a/thirdparty/opencv/lib/i386/opencv_java2413.dll and /dev/null differ diff --git a/thirdparty/opencv/lib/i386/opencv_java248.dll b/thirdparty/opencv/lib/i386/opencv_java248.dll deleted file mode 100755 index f1c1bc9a4328f32642fb86e20480139138ba6fc0..0000000000000000000000000000000000000000 Binary files a/thirdparty/opencv/lib/i386/opencv_java248.dll and /dev/null differ diff --git a/thirdparty/opencv/lib/i586/opencv_ffmpeg2413_64.dll b/thirdparty/opencv/lib/i586/opencv_ffmpeg2413_64.dll deleted file mode 100644 index 37236e5424ac1a311380564e77025a3b94640be2..0000000000000000000000000000000000000000 Binary files a/thirdparty/opencv/lib/i586/opencv_ffmpeg2413_64.dll and /dev/null differ diff --git a/thirdparty/opencv/lib/i586/opencv_ffmpeg248_64.dll b/thirdparty/opencv/lib/i586/opencv_ffmpeg248_64.dll deleted file mode 100755 index b1e70df6a3e0059530f13800ae675820081388dc..0000000000000000000000000000000000000000 Binary files a/thirdparty/opencv/lib/i586/opencv_ffmpeg248_64.dll and /dev/null differ diff --git a/thirdparty/opencv/lib/i586/opencv_java2413.dll b/thirdparty/opencv/lib/i586/opencv_java2413.dll deleted file mode 100644 index e1aeca4ba56b571f74e7d4ceb4912a3ec1e52499..0000000000000000000000000000000000000000 Binary files a/thirdparty/opencv/lib/i586/opencv_java2413.dll and /dev/null differ diff --git a/thirdparty/opencv/lib/i586/opencv_java248.dll b/thirdparty/opencv/lib/i586/opencv_java248.dll deleted file mode 100755 index f1c1bc9a4328f32642fb86e20480139138ba6fc0..0000000000000000000000000000000000000000 Binary files a/thirdparty/opencv/lib/i586/opencv_java248.dll and /dev/null differ diff --git a/thirdparty/opencv/lib/i686/opencv_ffmpeg2413_64.dll b/thirdparty/opencv/lib/i686/opencv_ffmpeg2413_64.dll deleted file mode 100644 index 37236e5424ac1a311380564e77025a3b94640be2..0000000000000000000000000000000000000000 Binary files a/thirdparty/opencv/lib/i686/opencv_ffmpeg2413_64.dll and /dev/null differ diff --git a/thirdparty/opencv/lib/i686/opencv_ffmpeg248_64.dll b/thirdparty/opencv/lib/i686/opencv_ffmpeg248_64.dll deleted file mode 100755 index b1e70df6a3e0059530f13800ae675820081388dc..0000000000000000000000000000000000000000 Binary files a/thirdparty/opencv/lib/i686/opencv_ffmpeg248_64.dll and /dev/null differ diff --git a/thirdparty/opencv/lib/i686/opencv_java2413.dll b/thirdparty/opencv/lib/i686/opencv_java2413.dll deleted file mode 100644 index e1aeca4ba56b571f74e7d4ceb4912a3ec1e52499..0000000000000000000000000000000000000000 Binary files a/thirdparty/opencv/lib/i686/opencv_java2413.dll and /dev/null differ diff --git a/thirdparty/opencv/lib/i686/opencv_java248.dll b/thirdparty/opencv/lib/i686/opencv_java248.dll deleted file mode 100755 index f1c1bc9a4328f32642fb86e20480139138ba6fc0..0000000000000000000000000000000000000000 Binary files a/thirdparty/opencv/lib/i686/opencv_java248.dll and /dev/null differ diff --git a/thirdparty/opencv/lib/x86/opencv_ffmpeg2413.dll b/thirdparty/opencv/lib/x86/opencv_ffmpeg2413.dll deleted file mode 100644 index b1e70df6a3e0059530f13800ae675820081388dc..0000000000000000000000000000000000000000 Binary files a/thirdparty/opencv/lib/x86/opencv_ffmpeg2413.dll and /dev/null differ diff --git a/thirdparty/opencv/lib/x86/opencv_ffmpeg248.dll b/thirdparty/opencv/lib/x86/opencv_ffmpeg248.dll deleted file mode 100755 index b1e70df6a3e0059530f13800ae675820081388dc..0000000000000000000000000000000000000000 Binary files a/thirdparty/opencv/lib/x86/opencv_ffmpeg248.dll and /dev/null differ diff --git a/thirdparty/opencv/lib/x86/opencv_java2413.dll b/thirdparty/opencv/lib/x86/opencv_java2413.dll deleted file mode 100644 index c25b6209f8a80dd086dbd792703525c2bfd2c3a3..0000000000000000000000000000000000000000 Binary files a/thirdparty/opencv/lib/x86/opencv_java2413.dll and /dev/null differ diff --git a/thirdparty/opencv/lib/x86/opencv_java248.dll b/thirdparty/opencv/lib/x86/opencv_java248.dll deleted file mode 100755 index f1c1bc9a4328f32642fb86e20480139138ba6fc0..0000000000000000000000000000000000000000 Binary files a/thirdparty/opencv/lib/x86/opencv_java248.dll and /dev/null differ diff --git a/thirdparty/opencv/lib/x86_64/opencv_ffmpeg248_64.dll b/thirdparty/opencv/lib/x86_64/opencv_ffmpeg248_64.dll deleted file mode 100755 index 37236e5424ac1a311380564e77025a3b94640be2..0000000000000000000000000000000000000000 Binary files a/thirdparty/opencv/lib/x86_64/opencv_ffmpeg248_64.dll and /dev/null differ diff --git a/thirdparty/opencv/lib/x86_64/opencv_java248.dll b/thirdparty/opencv/lib/x86_64/opencv_java248.dll deleted file mode 100755 index ab989a6b11ead0436e7fb7a19557ea92fd9a6060..0000000000000000000000000000000000000000 Binary files a/thirdparty/opencv/lib/x86_64/opencv_java248.dll and /dev/null differ