[Гайд][Легко][1.6+] Модификация чужого кода при запуске (трансфомеры)

Сообщения
928
Лучшие ответы
27
Реакции
184
На 1.15 много чего перекопали и сломалась хук либа. Порт будет? Если да, то когда его ждать?
 
Сообщения
738
Лучшие ответы
16
Реакции
115
Есть ли вариант обфу накинуть на хуклибу?
Пробовал прогуардом - любой пакет под обфой вызывает:
Java:
[WARNING] Can not find target method of hook AsmHook: net.minecraftforge.fml.common.Loader#<обф название метода injectData>([Ljava/lang/Object;) ->
 ru.will0376.gNgOrHHeugIepICpgpZdMAwrYhJyLHhoxNFRpRfeSQyZKTBlQlgAmVAhvCpLIibsKNaBEBgDWAcPNAwlHmQinNWJGCnOVfMfTdCTPfwLoMTrZFcbbElQWRqrTovZBEEl
 #VzKjDCtafvLEtMEFJZNRliEERwtmjdqshNBmokuakmQxgBlmhWllSDVmKxkGRmDZmCzLmBfefZuafEuMIMbwZjzdnwmHbZLdfbdlsiwiCIQdAbVEooxSDAfjGJlNcpBJ
 (Lnet/minecraftforge/fml/common/Loader;[Ljava/lang/Object;)V, ReturnCondition=NEVER, ReturnValue=VOID, InjectorFactory: gloomyfolken.hooklib.asm.HookInjectorFactory$MethodEnter, CreateMethod = false
Пока что вынес хуклибу ЗА пределы мода и обфы(но мне это пока что не подходит для прода)
 

tox1cozZ

aka Agravaine
Модератор
Сообщения
7,031
Лучшие ответы
438
Реакции
2,074
Ты бы еще больше слово в маппингах сделал, бахни 512 символов, почему так мало?)
В аннотации есть параметр targetMethod, руками туда название метода впиши. Тогда при ремаппе имени метода хука ничего не сломается.
 
Сообщения
738
Лучшие ответы
16
Реакции
115
Ты бы еще больше слово в маппингах сделал, бахни 512 символов, почему так мало?)
пока что 128, хотел 4к сделать :D(и кстати, сделаю, когда хуки будут работать)
есть параметр targetMethod
Стоит. Но не помогло.
Я так и не пойму, откуда он net.minecraftforge.fml.common.Loader# находит?
 

tox1cozZ

aka Agravaine
Модератор
Сообщения
7,031
Лучшие ответы
438
Реакции
2,074
пока что 128, хотел 4к сделать :D(и кстати, сделаю, когда хуки будут работать)
Зачем? Ты размер мода увеличиваешь в раза два как минимум этим. Обычные маппинги a b c намного лучше. В любом случае кому нужно сможет легко это снять.

Блин, фиг знает тогда. У меня вроде работало.
 
Сообщения
738
Лучшие ответы
16
Реакции
115
Блин, фиг знает тогда. У меня вроде работало.
вот и я удивляюсь.
1) ставлю версию без обфы - нормально грузится.
2) ставлю версию, где хуклиба вынесена за обфу - грузится
3) ставлю версию, где все под обфой - обсёр
 
Сообщения
4,920
Лучшие ответы
46
Реакции
698
Привет! Делал все как обычно, все зависимости прописал, пути тоже, в манифест прописал. Но почему то после компиляции хук работать перестает. В чем проблема?
Что надо могу скинуть.
 

tox1cozZ

aka Agravaine
Модератор
Сообщения
7,031
Лучшие ответы
438
Реакции
2,074
Логи смотри, там все пишет какой хук не удалось применить
 
Сообщения
4,920
Лучшие ответы
46
Реакции
698
В логе билда никаких ошибок, кроме ругания на русские символы в описании, нет. Все отлично билдится. Просто потом после компиляции, хук не применяется
 

tox1cozZ

aka Agravaine
Модератор
Сообщения
7,031
Лучшие ответы
438
Реакции
2,074
Причем тут билд? Я тебе говорю про лог игры.
 
Сообщения
4,920
Лучшие ответы
46
Реакции
698
Да, я понял уже. Он пишет вот, что не находит класса, что странно, так как класс есть и называется точно также.

Java:
[03:00:07] [main/WARN] [FML]: Found FMLCorePluginContainsFMLMod marker in modid-1.0.jar. This is not recommended, @Mods should be in a separate jar from the coremod.
[03:00:07] [main/ERROR] [FML]: Coremod CGMAHookLoader: Unable to class load the plugin name.of.CGMAHookLoader
java.lang.ClassNotFoundException: name.of.CGMAHookLoader
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~[?:1.8.0_251]
    at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:117) ~[launchwrapper-1.12.jar:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[?:1.8.0_251]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_251]
    at java.lang.Class.forName0(Native Method) ~[?:1.8.0_251]
    at java.lang.Class.forName(Class.java:348) ~[?:1.8.0_251]
    at net.minecraftforge.fml.relauncher.CoreModManager.loadCoreMod(CoreModManager.java:527) [forge-1.12.2-14.23.5.2847.jar:?]
    at net.minecraftforge.fml.relauncher.CoreModManager.discoverCoreMods(CoreModManager.java:451) [forge-1.12.2-14.23.5.2847.jar:?]
    at net.minecraftforge.fml.relauncher.CoreModManager.handleLaunch(CoreModManager.java:265) [forge-1.12.2-14.23.5.2847.jar:?]
    at net.minecraftforge.fml.relauncher.FMLLaunchHandler.setupHome(FMLLaunchHandler.java:107) [forge-1.12.2-14.23.5.2847.jar:?]
    at net.minecraftforge.fml.relauncher.FMLLaunchHandler.setupClient(FMLLaunchHandler.java:81) [forge-1.12.2-14.23.5.2847.jar:?]
    at net.minecraftforge.fml.relauncher.FMLLaunchHandler.configureForClientLaunch(FMLLaunchHandler.java:42) [forge-1.12.2-14.23.5.2847.jar:?]
    at net.minecraftforge.fml.common.launcher.FMLTweaker.injectIntoClassLoader(FMLTweaker.java:141) [forge-1.12.2-14.23.5.2847.jar:?]
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:115) [launchwrapper-1.12.jar:?]
bandicam 2020-08-01 11-10-57-183.jpg
 
Сообщения
4,920
Лучшие ответы
46
Реакции
698
так я наконец во многом разобрался, но в итоге класс наконец то майном был замечен, но с крашем.
Что енто такое?

Java:
[14:41:38] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[14:41:38] [main/INFO] [LaunchWrapper]: Using primary tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[14:41:38] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLTweaker
[14:41:38] [main/INFO] [FML]: Forge Mod Loader version 14.23.5.2847 for Minecraft 1.12.2 loading
[14:41:38] [main/INFO] [FML]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_251, running on Windows 10:amd64:10.0, installed at C:\Users\LegendGamer\AppData\Roaming\.tlauncher\jre\win64
[14:41:38] [main/WARN] [FML]: The coremod FMLCorePlugin (net.minecraftforge.fml.relauncher.FMLCorePlugin) is not signed!
[14:41:38] [main/WARN] [FML]: The coremod FMLForgePlugin (net.minecraftforge.classloading.FMLForgePlugin) is not signed!
[14:41:38] [main/INFO] [FML]: Searching C:\Users\LegendGamer\AppData\Roaming\.minecraft\home\Forge-1.12\mods for mods
[14:41:38] [main/WARN] [FML]: Found FMLCorePluginContainsFMLMod marker in GunsAddon-1.0.jar. This is not recommended, @Mods should be in a separate jar from the coremod.
[14:41:38] [main/INFO] [FML]: [HOOKLIB]  Obfuscated: true
[14:41:38] [main/ERROR] [LaunchWrapper]: Unable to launch
java.lang.RuntimeException: An error occurred trying to configure the Minecraft home at C:\Users\LegendGamer\AppData\Roaming\.minecraft\home\Forge-1.12 for Forge Mod Loader
    at net.minecraftforge.fml.relauncher.FMLLaunchHandler.setupHome(FMLLaunchHandler.java:111) ~[forge-1.12.2-14.23.5.2847.jar:?]
    at net.minecraftforge.fml.relauncher.FMLLaunchHandler.setupClient(FMLLaunchHandler.java:81) ~[forge-1.12.2-14.23.5.2847.jar:?]
    at net.minecraftforge.fml.relauncher.FMLLaunchHandler.configureForClientLaunch(FMLLaunchHandler.java:42) ~[forge-1.12.2-14.23.5.2847.jar:?]
    at net.minecraftforge.fml.common.launcher.FMLTweaker.injectIntoClassLoader(FMLTweaker.java:141) ~[forge-1.12.2-14.23.5.2847.jar:?]
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:115) [launchwrapper-1.12.jar:?]
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
Caused by: java.lang.ExceptionInInitializerError
    at java.lang.Class.forName0(Native Method) ~[?:1.8.0_251]
    at java.lang.Class.forName(Class.java:348) ~[?:1.8.0_251]
    at net.minecraftforge.fml.relauncher.CoreModManager.loadCoreMod(CoreModManager.java:527) ~[forge-1.12.2-14.23.5.2847.jar:?]
    at net.minecraftforge.fml.relauncher.CoreModManager.discoverCoreMods(CoreModManager.java:451) ~[forge-1.12.2-14.23.5.2847.jar:?]
    at net.minecraftforge.fml.relauncher.CoreModManager.handleLaunch(CoreModManager.java:265) ~[forge-1.12.2-14.23.5.2847.jar:?]
    at net.minecraftforge.fml.relauncher.FMLLaunchHandler.setupHome(FMLLaunchHandler.java:107) ~[forge-1.12.2-14.23.5.2847.jar:?]
    ... 5 more
Caused by: java.lang.NullPointerException
    at net.minecraftforge.fml.common.asm.transformers.DeobfuscationTransformer.<init>(DeobfuscationTransformer.java:61) ~[forge-1.12.2-14.23.5.2847.jar:?]
    at gloomyfolken.hooklib.minecraft.HookLoader.<clinit>(HookLoader.java:23) ~[HookLoader.class:?]
    at java.lang.Class.forName0(Native Method) ~[?:1.8.0_251]
    at java.lang.Class.forName(Class.java:348) ~[?:1.8.0_251]
    at net.minecraftforge.fml.relauncher.CoreModManager.loadCoreMod(CoreModManager.java:527) ~[forge-1.12.2-14.23.5.2847.jar:?]
    at net.minecraftforge.fml.relauncher.CoreModManager.discoverCoreMods(CoreModManager.java:451) ~[forge-1.12.2-14.23.5.2847.jar:?]
    at net.minecraftforge.fml.relauncher.CoreModManager.handleLaunch(CoreModManager.java:265) ~[forge-1.12.2-14.23.5.2847.jar:?]
    at net.minecraftforge.fml.relauncher.FMLLaunchHandler.setupHome(FMLLaunchHandler.java:107) ~[forge-1.12.2-14.23.5.2847.jar:?]
    ... 5 more
[14:41:38] [main/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: net.minecraftforge.fml.relauncher.FMLSecurityManager$ExitTrappedException
[14:41:38] [main/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]:     at net.minecraftforge.fml.relauncher.FMLSecurityManager.checkPermission(FMLSecurityManager.java:49)
[14:41:38] [main/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]:     at java.lang.SecurityManager.checkExit(SecurityManager.java:761)
[14:41:38] [main/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]:     at java.lang.Runtime.exit(Runtime.java:107)
[14:41:38] [main/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]:     at java.lang.System.exit(System.java:971)
[14:41:38] [main/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]:     at net.minecraft.launchwrapper.Launch.launch(Launch.java:138)
[14:41:38] [main/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]:     at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
 
Сообщения
4,920
Лучшие ответы
46
Реакции
698
Решено, нужно было обновить либу.
 
Сверху