Completely fix Log4J RCE (1.7-1.16.5) (not yet tested)
TODO: checker with SHA1
This commit is contained in:
1 parent
150cf861b1
commit
7d527942a2
5 files changed
+51
-32
No files matched your search
@@ -12,51 +12,63 @@ public class JMinecraftVersionList {
|
||||
public Map<String, String> latest;
|
||||
public Version[] versions;
|
||||
|
||||
public static class Version {
|
||||
// Since 1.13, so it's one of ways to check
|
||||
public Arguments arguments;
|
||||
public static class FileProperties {
|
||||
public String id, sha1, url;
|
||||
public long size;
|
||||
}
|
||||
|
||||
public static class Version extends FileProperties {
|
||||
// Since 1.13, so it's one of ways to check
|
||||
public Arguments arguments;
|
||||
public AssetIndex assetIndex;
|
||||
|
||||
public String assets;
|
||||
public Map<String, MinecraftClientInfo> downloads;
|
||||
public String id;
|
||||
public String inheritsFrom;
|
||||
public JavaVersionInfo javaVersion;
|
||||
public DependentLibrary[] libraries;
|
||||
public String mainClass;
|
||||
public String minecraftArguments;
|
||||
public int minimumLauncherVersion;
|
||||
public DependentLibrary optifineLib;
|
||||
public Map<String, MinecraftClientInfo> downloads;
|
||||
public String inheritsFrom;
|
||||
public JavaVersionInfo javaVersion;
|
||||
public DependentLibrary[] libraries;
|
||||
public LoggingConfig logging;
|
||||
public String mainClass;
|
||||
public String minecraftArguments;
|
||||
public int minimumLauncherVersion;
|
||||
public DependentLibrary optifineLib;
|
||||
public String releaseTime;
|
||||
public String time;
|
||||
public String type;
|
||||
public String url;
|
||||
}
|
||||
public static class JavaVersionInfo {
|
||||
public String component;
|
||||
public int majorVersion;
|
||||
}
|
||||
// Since 1.13
|
||||
public static class Arguments {
|
||||
public Object[] game;
|
||||
public Object[] jvm;
|
||||
public static class LoggingConfig {
|
||||
public LoggingClientConfig client;
|
||||
|
||||
public static class ArgValue {
|
||||
public ArgRules[] rules;
|
||||
public String value;
|
||||
public static class LoggingClientConfig {
|
||||
public String argument;
|
||||
public FileProperties file;
|
||||
public String type;
|
||||
}
|
||||
}
|
||||
// Since 1.13
|
||||
public static class Arguments {
|
||||
public Object[] game;
|
||||
public Object[] jvm;
|
||||
|
||||
public static class ArgValue {
|
||||
public ArgRules[] rules;
|
||||
public String value;
|
||||
|
||||
// TLauncher styled argument...
|
||||
public String[] values;
|
||||
|
||||
public static class ArgRules {
|
||||
public String action;
|
||||
public String features;
|
||||
}
|
||||
}
|
||||
}
|
||||
public static class AssetIndex {
|
||||
public String id, sha1, url;
|
||||
public long size, totalSize;
|
||||
public static class ArgRules {
|
||||
public String action;
|
||||
public String features;
|
||||
}
|
||||
}
|
||||
}
|
||||
public static class AssetIndex extends FileProperties {
|
||||
public long totalSize;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -116,6 +116,13 @@ public class PLaunchApp {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
if (mVersion.logging != null) {
|
||||
UIKit.updateProgressSafe(0, "Downloading " + mVersion.logging.client.file.id);
|
||||
String configPath = Tools.DIR_GAME_NEW + "/" + mVersion.logging.client.file.id;
|
||||
Tools.downloadFile(mVersion.logging.client.file.url, configPath);
|
||||
System.setProperty("log4j.configurationFile", configPath);
|
||||
}
|
||||
|
||||
maxProgress = mVersion.libraries.length + 1 + (assets == null ? 0 : assets.objects.size());
|
||||
|
||||
File outLib;
|
||||
|
||||
@@ -101,7 +101,7 @@ public final class Tools
|
||||
final String launchClassPath = generateLaunchClassPath(profile.selectedVersion);
|
||||
|
||||
List<String> javaArgList = new ArrayList<String>();
|
||||
|
||||
//javaArgList.add(versionInfo.logging.client.argument.replace("${path}", DIR_GAME_NEW.getAbsolutePath() + "/" + mVersion.logging.client.file.id));
|
||||
javaArgList.add("-cp");
|
||||
javaArgList.add(launchClassPath);
|
||||
|
||||
|
||||
Reference in new issue
Block a user