From d3e9511acae1a7f5373306e5ed48693853b9875d Mon Sep 17 00:00:00 2001 From: Glavo Date: Sun, 6 Oct 2024 23:31:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=20FractureiserDetector=20(#3?= =?UTF-8?q?313)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/org/jackhuang/hmcl/Main.java | 9 --- .../hmcl/util/FractureiserDetector.java | 57 ------------------- 2 files changed, 66 deletions(-) delete mode 100644 HMCL/src/main/java/org/jackhuang/hmcl/util/FractureiserDetector.java diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/Main.java b/HMCL/src/main/java/org/jackhuang/hmcl/Main.java index 6009288c7..ff39601f7 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/Main.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/Main.java @@ -20,7 +20,6 @@ package org.jackhuang.hmcl; import javafx.application.Platform; import javafx.scene.control.Alert; import org.jackhuang.hmcl.ui.AwtUtils; -import org.jackhuang.hmcl.util.FractureiserDetector; import org.jackhuang.hmcl.util.SelfDependencyPatcher; import org.jackhuang.hmcl.ui.SwingUtils; import org.jackhuang.hmcl.java.JavaRuntime; @@ -70,7 +69,6 @@ public final class Main { checkJavaFX(); verifyJavaFX(); - detectFractureiser(); Launcher.main(args); } @@ -94,13 +92,6 @@ public final class Main { } } - private static void detectFractureiser() { - if (FractureiserDetector.detect()) { - LOG.error("Detected that this computer is infected by fractureiser"); - showErrorAndExit(i18n("fatal.fractureiser")); - } - } - private static void checkJavaFX() { try { SelfDependencyPatcher.patch(); diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/util/FractureiserDetector.java b/HMCL/src/main/java/org/jackhuang/hmcl/util/FractureiserDetector.java deleted file mode 100644 index 01a437030..000000000 --- a/HMCL/src/main/java/org/jackhuang/hmcl/util/FractureiserDetector.java +++ /dev/null @@ -1,57 +0,0 @@ -package org.jackhuang.hmcl.util; - -import org.jackhuang.hmcl.util.platform.OperatingSystem; - -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; - -/** - * @see fractureiser-investigation/fractureiser - * @see [MALWARE WARNING] "fractureiser" malware in many popular Minecraft mods and modpacks - */ -public final class FractureiserDetector { - private FractureiserDetector() { - } - - private static final class FractureiserException extends Exception { - } - - public static boolean detect() { - try { - if (OperatingSystem.CURRENT_OS == OperatingSystem.WINDOWS) { - Path appdata = Paths.get(System.getProperty("user.home"), "AppData"); - if (Files.isDirectory(appdata)) { - check(appdata.resolve("Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\run.bat")); - - Path falseEdgePath = appdata.resolve("Local\\Microsoft Edge"); - if (Files.exists(falseEdgePath)) { - check(falseEdgePath.resolve(".ref")); - check(falseEdgePath.resolve("client.jar")); - check(falseEdgePath.resolve("lib.dll")); - check(falseEdgePath.resolve("libWebGL64.jar")); - check(falseEdgePath.resolve("run.bat")); - } - } - } else if (OperatingSystem.CURRENT_OS.isLinuxOrBSD()) { - Path dataDir = Paths.get(System.getProperty("user.home"), ".config", ".data"); - if (Files.exists(dataDir)) { - check(dataDir.resolve(".ref")); - check(dataDir.resolve("client.jar")); - check(dataDir.resolve("lib.jar")); - } - } - } catch (FractureiserException e) { - return true; - } catch (Throwable ignored) { - } - - return false; - } - - private static void check(Path path) throws FractureiserException { - if (Files.isRegularFile(path)) { - throw new FractureiserException(); - } - } -}