diff --git a/app_pojavlauncher/src/main/assets/components/security/log4j-rce-patch-1.12.xml b/app_pojavlauncher/src/main/assets/components/security/log4j-rce-patch-1.12.xml
new file mode 100644
index 000000000..50acaa6dd
--- /dev/null
+++ b/app_pojavlauncher/src/main/assets/components/security/log4j-rce-patch-1.12.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app_pojavlauncher/src/main/assets/components/security/log4j-rce-patch-1.7.xml b/app_pojavlauncher/src/main/assets/components/security/log4j-rce-patch-1.7.xml
new file mode 100644
index 000000000..e26bcee59
--- /dev/null
+++ b/app_pojavlauncher/src/main/assets/components/security/log4j-rce-patch-1.7.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java
index 4d964432e..b72d91682 100644
--- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java
+++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java
@@ -337,6 +337,8 @@ public class PojavLoginActivity extends BaseActivity {
try {
new CustomControls(this).save(Tools.CTRLDEF_FILE);
+ Tools.copyAssetFile(this, "components/security/log4j-rce-patch-1.7.xml", Tools.DIR_DATA, true);
+ Tools.copyAssetFile(this, "components/security/log4j-rce-patch-1.12.xml", Tools.DIR_DATA, true);
Tools.copyAssetFile(this, "components/security/pro-grade.jar", Tools.DIR_DATA, true);
Tools.copyAssetFile(this, "components/security/java_sandbox.policy", Tools.DIR_DATA, true);
Tools.copyAssetFile(this, "options.txt", Tools.DIR_GAME_NEW, false);
diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/Tools.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/Tools.java
index 40fbf04f9..e16ed1f4f 100644
--- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/Tools.java
+++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/Tools.java
@@ -163,7 +163,11 @@ public final class Tools {
*/
if (versionInfo.logging != null) {
- javaArgList.add("-Dlog4j.configurationFile=" + Tools.DIR_GAME_NEW + "/" + versionInfo.logging.client.file.id);
+ String configFile = Tools.DIR_DATA + "/" + versionInfo.logging.client.file.id.replace("client", "log4j-rce-patch");
+ if (!new File(configFile).exists()) {
+ configFile = Tools.DIR_GAME_NEW + "/" + versionInfo.logging.client.file.id;
+ }
+ javaArgList.add("-Dlog4j.configurationFile=" + configFile);
}
javaArgList.addAll(Arrays.asList(getMinecraftJVMArgs(versionName, gamedirPath)));
javaArgList.add("-cp");
diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/tasks/MinecraftDownloaderTask.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/tasks/MinecraftDownloaderTask.java
index 2551aa99b..4b593cfd3 100644
--- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/tasks/MinecraftDownloaderTask.java
+++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/tasks/MinecraftDownloaderTask.java
@@ -136,8 +136,12 @@ public class MinecraftDownloaderTask extends AsyncTask