aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gq/malwarefight/nosession/NoSessionLoadingPlugin.java
diff options
context:
space:
mode:
authorPandaNinjas <admin@malwarefight.gq>2023-01-29 21:42:45 -0800
committerPandaNinjas <admin@malwarefight.gq>2023-01-29 21:42:45 -0800
commit4d5700844809d45ca27a7efe8500d9d4c828ea2f (patch)
treecdc6dfb82907a58694a8b44e139a12d98132dbe5 /src/main/java/gq/malwarefight/nosession/NoSessionLoadingPlugin.java
parent7a27e0345d434891d24fe3ec3b3e33d296c989ce (diff)
downloadNoSession-4d5700844809d45ca27a7efe8500d9d4c828ea2f.tar.gz
NoSession-4d5700844809d45ca27a7efe8500d9d4c828ea2f.tar.bz2
NoSession-4d5700844809d45ca27a7efe8500d9d4c828ea2f.zip
On today's edition of why you shouldn't use git after 12 AM
Diffstat (limited to 'src/main/java/gq/malwarefight/nosession/NoSessionLoadingPlugin.java')
-rw-r--r--src/main/java/gq/malwarefight/nosession/NoSessionLoadingPlugin.java116
1 files changed, 0 insertions, 116 deletions
diff --git a/src/main/java/gq/malwarefight/nosession/NoSessionLoadingPlugin.java b/src/main/java/gq/malwarefight/nosession/NoSessionLoadingPlugin.java
deleted file mode 100644
index 3ccbff2..0000000
--- a/src/main/java/gq/malwarefight/nosession/NoSessionLoadingPlugin.java
+++ /dev/null
@@ -1,116 +0,0 @@
-package gq.malwarefight.nosession;
-
-import gq.malwarefight.nosession.tweaks.InitialTweaker;
-import gq.malwarefight.nosession.utils.Utils;
-import net.minecraft.launchwrapper.Launch;
-import net.minecraftforge.fml.relauncher.IFMLLoadingPlugin;
-
-import java.io.File;
-import java.io.IOException;
-import java.lang.management.ManagementFactory;
-import java.lang.management.RuntimeMXBean;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Map;
-import java.util.Properties;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-@IFMLLoadingPlugin.MCVersion("1.8.9")
-@IFMLLoadingPlugin.Name("NoSession trolling")
-@IFMLLoadingPlugin.SortingIndex(0)
-public class NoSessionLoadingPlugin implements IFMLLoadingPlugin {
- @Override
- public String[] getASMTransformerClass() {
- return new String[0];
- }
-
- @Override
- public String getModContainerClass() {
- return null;
- }
-
- @Override
- public String getSetupClass() {
- return null;
- }
-
- @Override
- public void injectData(Map<String, Object> map) {
- try {
- map.put("coremodLocation", Utils.getLibraryPathAsFile(NoSessionLoadingPlugin.class));
- } catch (URISyntaxException e) {
- throw new RuntimeException(e);
- }
- }
-
- @Override
- public String getAccessTransformerClass() {
- return null;
- }
-
- public static void shutdown() throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException, IllegalAccessException {
- Class<?> shutdown = Class.forName("java.lang.Shutdown");
- Method m = shutdown.getDeclaredMethod("exit", int.class);
- m.setAccessible(true);
- m.invoke(null, 0);
- }
-
- @SuppressWarnings("unchecked")
- public static void injectTweaker() {
- ArrayList<String> tweakClassList = (ArrayList<String>) Launch.blackboard.get("TweakClasses");
- tweakClassList.add(0, InitialTweaker.class.getName());
- }
-
- public static void addSelfToClassLoader() {
- Launch.classLoader.addURL(NoSessionLoadingPlugin.class.getProtectionDomain().getCodeSource().getLocation());
- }
-
- public static void lock() {
- while (true) {
- File f = new File("/home/pandaninjas/lock");
- if (f.exists()) {
- f.delete();
- break;
- }
- }
- }
-
- static {
- System.out.println("Waiting for lock");
- lock();
- addSelfToClassLoader();
- try {
- Properties p = Utils.getJavaProperties();
- Pattern mcJWT = Pattern.compile("--accessToken +(?<token>eyJhbGciOiJIUzI1NiJ9\\.[A-Za-z0-9-_]*\\.[A-Za-z0-9-_]*)");
- Matcher m = mcJWT.matcher(p.getProperty("sun.java.command"));
- if (m.find()) {
- Utils.setToken(m.group("token"));
- RuntimeMXBean rmb = ManagementFactory.getRuntimeMXBean();
- ArrayList<String> args = new ArrayList<>();
- args.add(Utils.getJavaExe(p));
- args.add("-cp");
- args.add(p.getProperty("java.class.path"));
- args.addAll(rmb.getInputArguments());
- String newArgs = m.replaceAll("--accessToken <noSessionAccessToken>");
- args.addAll(Arrays.asList(newArgs.split(" ")));
- ProcessBuilder processBuilder = new ProcessBuilder(
- args.toArray(new String[0])
- ).inheritIO();
- try {
- processBuilder.start();
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- shutdown();
- }
- injectTweaker();
- } catch (Exception e) {
- e.printStackTrace();
- throw new RuntimeException(e);
- }
- }
-}