Sk1erLLC / Resource-Exploit-Fix

Fixes a security exploit in Minecraft 1.8
MIT License
33 stars 3 forks source link

Crashes with Forge-liteloader MC #1

Closed autaut03 closed 4 years ago

autaut03 commented 6 years ago

Using Forge and Liteloader jar leads to crash, because Liteloader itself contains another (probably older), incompatible version of sponge mixins. Not really a moder nor java coder, so I don't know how to fix this, but probably configurable in gradle config.

Here's the log:

Log

``` [19:02:42] [main/INFO]: Loading tweak class name com.mumfrey.liteloader.launch.LiteLoaderTweaker [19:02:42] [main/INFO]: Using primary tweak class name com.mumfrey.liteloader.launch.LiteLoaderTweaker [19:02:42] [main/INFO]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker [19:02:42] [main/INFO]: Calling tweak class com.mumfrey.liteloader.launch.LiteLoaderTweaker [19:02:42] [main/INFO]: Bootstrapping LiteLoader 1.8.9 [19:02:42] [main/INFO]: Registering API provider class com.mumfrey.liteloader.client.api.LiteLoaderCoreAPIClient [19:02:42] [main/INFO]: Spawning API provider class 'com.mumfrey.liteloader.client.api.LiteLoaderCoreAPIClient' ... [19:02:42] [main/INFO]: API provider class 'com.mumfrey.liteloader.client.api.LiteLoaderCoreAPIClient' provides API 'liteloader' [19:02:42] [main/INFO]: Initialising API 'liteloader' ... [19:02:42] [main/INFO]: SpongePowered MIXIN Subsystem Version=0.5.3 Source=file:/C:/Users/autau/AppData/Roaming/.minecraft/libraries/com/mumfrey/liteloader/1.8.9-SNAPSHOT/liteloader-1.8.9-SNAPSHOT.jar Env=CLIENT [19:02:42] [main/INFO]: LiteLoader begin PREINIT... [19:02:42] [main/INFO]: Initialising Loader properties... [19:02:42] [main/INFO]: Setting up logger... [19:02:42] [main/INFO]: LiteLoader 1.8.9 starting up... [19:02:42] [main/INFO]: Active Pack: 1.8.9-SNAPSHOT-r08134E7-b8-2016-04-14_16-33-58 [19:02:42] [main/INFO]: Java reports OS="windows 10" [19:02:42] [main/INFO]: Adding supported mod class prefix 'LiteMod' [19:02:42] [main/INFO]: Enumerating class path... [19:02:42] [main/INFO]: Class path separator=";" [19:02:42] [main/INFO]: Class path entries=( classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\com\mumfrey\liteloader\1.8.9-SNAPSHOT\liteloader-1.8.9-SNAPSHOT.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\net\minecraft\launchwrapper\1.12\launchwrapper-1.12.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-all\5.0.3\asm-all-5.0.3.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\net\minecraftforge\forge\1.8.9-11.15.1.2318-1.8.9\forge-1.8.9-11.15.1.2318-1.8.9.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\net\minecraft\launchwrapper\1.12\launchwrapper-1.12.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-all\5.0.3\asm-all-5.0.3.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\jline\jline\2.13\jline-2.13.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\com\typesafe\akka\akka-actor_2.11\2.3.3\akka-actor_2.11-2.3.3.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\com\typesafe\config\1.2.1\config-1.2.1.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\org\scala-lang\scala-actors-migration_2.11\1.1.0\scala-actors-migration_2.11-1.1.0.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\org\scala-lang\scala-compiler\2.11.1\scala-compiler-2.11.1.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\org\scala-lang\plugins\scala-continuations-library_2.11\1.0.2\scala-continuations-library_2.11-1.0.2.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\org\scala-lang\plugins\scala-continuations-plugin_2.11.1\1.0.2\scala-continuations-plugin_2.11.1-1.0.2.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\org\scala-lang\scala-library\2.11.1\scala-library-2.11.1.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\org\scala-lang\scala-parser-combinators_2.11\1.0.1\scala-parser-combinators_2.11-1.0.1.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\org\scala-lang\scala-reflect\2.11.1\scala-reflect-2.11.1.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\org\scala-lang\scala-swing_2.11\1.0.1\scala-swing_2.11-1.0.1.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\org\scala-lang\scala-xml_2.11\1.0.2\scala-xml_2.11-1.0.2.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\lzma\lzma\0.0.1\lzma-0.0.1.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\net\sf\jopt-simple\jopt-simple\4.6\jopt-simple-4.6.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\java3d\vecmath\1.5.2\vecmath-1.5.2.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\net\sf\trove4j\trove4j\3.0.3\trove4j-3.0.3.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\com\mojang\netty\1.6\netty-1.6.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\oshi-project\oshi-core\1.1\oshi-core-1.1.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\net\java\dev\jna\jna\3.4.0\jna-3.4.0.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\net\java\dev\jna\platform\3.4.0\platform-3.4.0.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\com\ibm\icu\icu4j-core-mojang\51.2\icu4j-core-mojang-51.2.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\net\sf\jopt-simple\jopt-simple\4.6\jopt-simple-4.6.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\com\paulscode\codecjorbis\20101023\codecjorbis-20101023.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\com\paulscode\codecwav\20101023\codecwav-20101023.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\com\paulscode\libraryjavasound\20101123\libraryjavasound-20101123.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\com\paulscode\librarylwjglopenal\20100824\librarylwjglopenal-20100824.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\com\paulscode\soundsystem\20120107\soundsystem-20120107.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\io\netty\netty-all\4.0.23.Final\netty-all-4.0.23.Final.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\com\google\guava\guava\17.0\guava-17.0.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-lang3\3.3.2\commons-lang3-3.3.2.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\commons-io\commons-io\2.4\commons-io-2.4.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\commons-codec\commons-codec\1.9\commons-codec-1.9.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\net\java\jinput\jinput\2.0.5\jinput-2.0.5.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\net\java\jutils\jutils\1.0.0\jutils-1.0.0.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\com\google\code\gson\gson\2.2.4\gson-2.2.4.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\com\mojang\authlib\1.5.21\authlib-1.5.21.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\com\mojang\realms\1.7.59\realms-1.7.59.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-compress\1.8.1\commons-compress-1.8.1.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\org\apache\httpcomponents\httpclient\4.3.3\httpclient-4.3.3.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\commons-logging\commons-logging\1.1.3\commons-logging-1.1.3.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\org\apache\httpcomponents\httpcore\4.3.2\httpcore-4.3.2.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\org\apache\logging\log4j\log4j-api\2.0-beta9\log4j-api-2.0-beta9.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\org\apache\logging\log4j\log4j-core\2.0-beta9\log4j-core-2.0-beta9.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\org\lwjgl\lwjgl\lwjgl\2.9.4-nightly-20150209\lwjgl-2.9.4-nightly-20150209.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\org\lwjgl\lwjgl\lwjgl_util\2.9.4-nightly-20150209\lwjgl_util-2.9.4-nightly-20150209.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\libraries\tv\twitch\twitch\6.5\twitch-6.5.jar classpathEntry=C:\Users\autau\AppData\Roaming\.minecraft\versions\1.8.9\1.8.9.jar ) [19:02:42] [main/INFO]: Registering discovery module EnumeratorModuleClassPath: [] [19:02:42] [main/INFO]: Registering discovery module EnumeratorModuleFolder: [D:\Games\Minecraft\test\mods] [19:02:42] [main/INFO]: Registering discovery module EnumeratorModuleFolder: [D:\Games\Minecraft\test\mods\1.8.9] [19:02:42] [main/INFO]: Registering enumerator plugin DefaultEnumeratorPlugin: [com.mumfrey.liteloader.core.api.DefaultEnumeratorPlugin@8e0379d] [19:02:42] [main/INFO]: Discovering tweaks on class path... [19:02:42] [main/INFO]: Baking listener list for EnumerationObserver with 1 listeners [19:02:42] [main/INFO]: Discovering valid mod files in folder D:\Games\Minecraft\test\mods [19:02:42] [main/INFO]: Inspecting jar metadata in 'Resource.Exploit.Fix-1.0.jar' [19:02:42] [main/INFO]: Ignoring D:\Games\Minecraft\test\mods\Resource.Exploit.Fix-1.0.jar [19:02:42] [main/INFO]: Discovering valid mod files in folder D:\Games\Minecraft\test\mods\1.8.9 [19:02:42] [main/INFO]: Initialising LiteLoader Mixins [19:02:42] [main/INFO]: LiteLoader PREINIT complete [19:02:42] [main/INFO]: Injecting required class transformer 'com.mumfrey.liteloader.transformers.event.EventProxyTransformer' [19:02:42] [main/INFO]: Injecting required class transformer 'com.mumfrey.liteloader.launch.LiteLoaderTransformer' [19:02:42] [main/INFO]: Injecting required class transformer 'com.mumfrey.liteloader.client.transformers.CrashReportTransformer' [19:02:42] [main/INFO]: Queuing required class transformer 'com.mumfrey.liteloader.transformers.event.EventTransformer' [19:02:42] [main/INFO]: Queuing required class transformer 'com.mumfrey.liteloader.common.transformers.LiteLoaderPacketTransformer' [19:02:42] [main/INFO]: Queuing required class transformer 'com.mumfrey.liteloader.client.transformers.MinecraftTransformer' [19:02:42] [main/INFO]: Queuing required class transformer 'com.mumfrey.liteloader.transformers.event.json.ModEventInjectionTransformer' [19:02:42] [main/INFO]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLTweaker [19:02:42] [main/INFO]: Forge Mod Loader version 11.15.1.2318 for Minecraft 1.8.9 loading [19:02:42] [main/INFO]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_51, running on Windows 10:amd64:10.0, installed at D:\Games\Minecraft\Launcher\runtime\jre-x64\1.8.0_51 [19:02:42] [main/INFO]: Loading tweaker club.sk1er.resourceexploitfix.tweaker.FMLLoadingPlugin from Resource.Exploit.Fix-1.0.jar [19:02:42] [main/INFO]: Loading tweak class name org.spongepowered.asm.launch.MixinTweaker [19:02:42] [main/INFO]: Loading tweak class name org.spongepowered.asm.mixin.MixinEnvironment$EnvironmentStateTweaker [19:02:42] [main/INFO]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker [19:02:42] [main/INFO]: Loading tweak class name club.sk1er.resourceexploitfix.tweaker.FMLLoadingPlugin [19:02:42] [main/INFO]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLDeobfTweaker [19:02:42] [main/INFO]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker [19:02:42] [main/INFO]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker [19:02:42] [main/INFO]: Calling tweak class org.spongepowered.asm.launch.MixinTweaker [19:02:42] [main/INFO]: Initialised Mixin FML Remapper Adapter with net.minecraftforge.fml.common.asm.transformers.deobf.FMLDeobfuscatingRemapper@41fbdac4 [19:02:42] [main/INFO]: Calling tweak class org.spongepowered.asm.mixin.MixinEnvironment$EnvironmentStateTweaker [19:02:42] [main/INFO]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper [19:02:43] [main/INFO]: Found valid fingerprint for Minecraft Forge. Certificate fingerprint e3c3d50c7c986df74c645c0ac54639741c90a557 [19:02:43] [main/INFO]: Found valid fingerprint for Minecraft. Certificate fingerprint cd99959656f753dc28d863b46769f7f8fbaefcfc [19:02:43] [main/INFO]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper [19:02:43] [main/INFO]: Calling tweak class club.sk1er.resourceexploitfix.tweaker.FMLLoadingPlugin [19:02:43] [main/INFO]: [club.sk1er.resourceexploitfix.tweaker.FMLLoadingPlugin:injectIntoClassLoader:27]: Exploit Fix Tweaker injecting... [19:02:43] [main/INFO]: [java.lang.ThreadGroup:uncaughtException:1052]: java.lang.NoSuchMethodError: org.spongepowered.asm.mixin.transformer.MixinConfig.create(Ljava/lang/String;Lorg/spongepowered/asm/mixin/MixinEnvironment;)Lorg/spongepowered/asm/mixin/transformer/Config; [19:02:43] [main/INFO]: [java.lang.ThreadGroup:uncaughtException:1052]: at org.spongepowered.asm.mixin.transformer.Config.create(Config.java:109) [19:02:43] [main/INFO]: [java.lang.ThreadGroup:uncaughtException:1052]: at org.spongepowered.asm.mixin.Mixins.createConfiguration(Mixins.java:88) [19:02:43] [main/INFO]: [java.lang.ThreadGroup:uncaughtException:1052]: at org.spongepowered.asm.mixin.Mixins.addConfiguration(Mixins.java:75) [19:02:43] [main/INFO]: [java.lang.ThreadGroup:uncaughtException:1052]: at club.sk1er.resourceexploitfix.tweaker.FMLLoadingPlugin.injectIntoClassLoader(FMLLoadingPlugin.java:29) [19:02:43] [main/INFO]: [java.lang.ThreadGroup:uncaughtException:1052]: at net.minecraft.launchwrapper.Launch.launch(Launch.java:115) [19:02:43] [main/INFO]: [java.lang.ThreadGroup:uncaughtException:1052]: at net.minecraft.launchwrapper.Launch.main(Launch.java:28) ```

RDIL commented 6 years ago

What even is liteloader?

autaut03 commented 6 years ago

@RDIL A relatively popular mod loader that can work together with Forge that's moving in direction of writing simple client-side mods. Not that Forge can't do that, but Liteloader does a much better job in some aspects. ASM as an example. I personally use it for Gammabright & VoxelMap mods.

Still, it's not a problem coming from Liteloader. If other mod used older version of sponge mixins, same error would have probably appeared (again, not sure how exactly this works in Java/MC).

RDIL commented 6 years ago

oh ok

kingdevnl commented 6 years ago

I think its better to use ASM, so the same transformer can be used for forge/VanillaMC (Itweaker)

includereserved commented 6 years ago

This crash is caused by mixins not being loaded, is the mod buit with them inside the JAR?

@kingdevnl Mixins does modify ASM just at a simpler level.

autaut03 commented 6 years ago

@includereserved No, mod has it, just it's the newer version of it, and for some reason it tries to use the one that comes with Liteloader, which API is incompatible. Again, not sure how this works in Java/MC.

TheSnoozer commented 6 years ago

The mod works fine with 1.8-LiteLoader and forge1.8-11.14.4.1577

Only "issue" that pops up in the log Log:

[17:44:09] [main/INFO]: Calling tweak class club.sk1er.resourceexploitfix.tweaker.FMLLoadingPlugin
[17:44:09] [main/INFO]: [club.sk1er.resourceexploitfix.tweaker.FMLLoadingPlugin:injectIntoClassLoader:28]: Exploit Fix  Tweaker injecting...
[17:44:09] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:748]: java.lang.NoSuchMethodException: net.minecraftforge.fml.relauncher.CoreModManager.getIgnoredMods()
[17:44:09] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:748]:   at java.lang.Class.getDeclaredMethod(Class.java:2130)
[17:44:09] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:748]:   at club.sk1er.resourceexploitfix.tweaker.FMLLoadingPlugin.injectIntoClassLoader(FMLLoadingPlugin.java:42)
[17:44:09] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:748]:   at net.minecraft.launchwrapper.Launch.launch(Launch.java:115)
[17:44:09] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:748]:   at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

However the mod can be loaded without any other problems.

autaut03 commented 6 years ago

@TheSnoozer Try using 1.8.9 and liteloader + forge together (if you haven't already, didn't quite understood what exactly have you used). In my example, I used latest 1.8.9 Forge and latest 1.8.9 Liteloader.

liach commented 6 years ago

Use this instead. https://github.com/LexManos/RedHerring

liach commented 5 years ago

Or download the official jar from curseforge: https://minecraft.curseforge.com/projects/redherring/files/2625588

ghost commented 4 years ago

assuming this is no longer an issue considering its over a year old and the mod has been rewritten to use asm, closing