From d5edd528ad7b25cd01fa827e8a17f78d6b322ace Mon Sep 17 00:00:00 2001 From: qi4L Date: Sat, 14 Jun 2025 09:29:55 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=9C=A8=E7=89=B9?= =?UTF-8?q?=E5=AE=9A=E7=8E=AF=E5=A2=83=E4=B8=8BJSEngine=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E5=88=B0defineClass=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 149 ++++++++++++++++++ src/main/java/com/qi4l/JYso/Starter.java | 2 +- .../com/qi4l/JYso/gadgets/utils/Utils.java | 3 +- 3 files changed, 151 insertions(+), 3 deletions(-) create mode 100644 build.gradle diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..65c7763 --- /dev/null +++ b/build.gradle @@ -0,0 +1,149 @@ +plugins { + id 'java-library' + id 'maven-publish' + id 'com.gradleup.shadow' version '8.3.5' + id 'java' +} + +repositories { + mavenCentral() + maven { + url = uri('https://repo.jenkins-ci.org/releases/') + } + + maven { + url = uri('https://repo.maven.apache.org/maven2/') + } +} + +shadowJar { + archiveClassifier.set('') + manifest { + attributes 'Main-Class': 'com.qi4l.JYso.Starter' + } + zip64=true + //minimize() +} + +dependencies { + api libs.io.projectreactor.reactor.core + api libs.com.ibm.websphere.appserver.api.com.ibm.websphere.appserver.api.wsoc + api libs.org.glassfish.tyrus.tyrus.server + api libs.org.javassist.javassist + api libs.xerces.xercesimpl + api libs.com.fasterxml.jackson.core.jackson.databind + api libs.com.teradata.jdbc.terajdbc + api libs.jboss.jboss.serialization + api libs.org.apache.wicket.wicket.util + api libs.com.vaadin.vaadin.server + api libs.org.apache.myfaces.core.myfaces.impl + api libs.rhino.js + api libs.rome.rome + api libs.com.alibaba.fastjson + api libs.com.alibaba.fastjson2.fastjson2 + api libs.org.jenkins.ci.main.remoting + api libs.org.jboss.weld.weld.core + api libs.org.jboss.remoting.jboss.remoting + api libs.org.jboss.remotingjmx.remoting.jmx + api libs.org.jboss.interceptor.jboss.interceptor.core + api libs.org.jboss.interceptor.jboss.interceptor.spi + api libs.org.python.jython.standalone + api libs.org.hibernate.hibernate.core + api libs.org.fusesource.jansi.jansi + api libs.commons.cli.commons.cli + api libs.org.apache.commons.commons.lang3 + api libs.org.apache.logging.log4j.log4j.core + api libs.org.springframework.spring.core + api libs.org.springframework.spring.beans + api libs.org.springframework.spring.web + api libs.org.springframework.spring.oxm + api libs.org.springframework.spring.tx + api libs.org.springframework.spring.jdbc + api libs.org.springframework.spring.webmvc + api libs.org.springframework.spring.aop + api libs.org.springframework.spring.context.support + api libs.org.springframework.spring.test + api libs.javax.servlet.javax.servlet.api + api libs.com.mchange.c3p0 + api libs.org.apache.tomcat.embed.tomcat.embed.core + api libs.org.ow2.asm.asm + api libs.com.unboundid.unboundid.ldapsdk + api libs.com.nqzero.permit.reflect + api libs.net.jodah.expiringmap + api libs.org.reflections.reflections + api libs.org.beanshell.bsh + api libs.io.undertow.undertow.core + api libs.io.undertow.undertow.servlet + api libs.org.jboss.spec.javax.security.jacc.jboss.jacc.api.v1.v4.spec + api libs.com.beust.jcommander + api libs.org.codehaus.groovy.groovy + api libs.org.apache.commons.commons.text + api libs.org.eclipse.jetty.jetty.ant + api libs.org.apache.maven.plugins.maven.assembly.plugin + api libs.org.apache.click.click.nodeps + api libs.org.clojure.clojure + api libs.cn.hutool.hutool.all + api libs.javax.websocket.javax.websocket.api + api libs.com.caucho.resin + + implementation files('libs/jai-core-1.1.3.jar') + implementation files('libs/weblogic-server.jar') + + constraints { + implementation('commons-collections:commons-collections') { + version { + strictly '3.2.1' + } + } + implementation('org.apache.commons:commons-collections4') { + version { + strictly '4.0' + } + } + } + + implementation 'org.codehaus.castor:castor-xml:1.4.1' + implementation 'com.cedarsoftware:json-io:4.9.1' + implementation 'org.jyaml:jyaml:1.3' + implementation 'com.esotericsoftware:kryo:4.0.0' + implementation 'commons-configuration:commons-configuration:1.10' + implementation 'com.thoughtworks.xstream:xstream:1.4.9' + implementation 'org.apache.xbean:xbean-naming:4.5' + implementation 'com.rometools:rome:1.7.0' + implementation 'net.sf.json-lib:json-lib:2.4:jdk15' + implementation 'org.apache.directory.server:apacheds-xdbm-partition:2.0.0.AM26' + + implementation 'commons-beanutils:commons-beanutils:1.9.4' + + runtimeOnly libs.org.aspectj.aspectjweaver + compileOnly libs.org.apache.tomcat.tomcat.websocket +} + + +group = 'org.example' +version = '1.3.5.2' +description = 'JYso' +java.sourceCompatibility = JavaVersion.VERSION_1_8 + +publishing { + publications { + maven(MavenPublication) { + from(components.java) + } + } +} + +tasks.withType(JavaCompile) { + options.encoding = 'UTF-8' +} + +tasks.withType(Javadoc) { + options.encoding = 'UTF-8' +} + + +compileJava { + options.compilerArgs << '-XDignore.symbol.file' + options.fork = true + options.forkOptions.executable = 'C:\\env\\JAVA\\corretto_jdk1.8.0_412\\bin\\javac.exe' +} \ No newline at end of file diff --git a/src/main/java/com/qi4l/JYso/Starter.java b/src/main/java/com/qi4l/JYso/Starter.java index 02bb26c..b534f2c 100644 --- a/src/main/java/com/qi4l/JYso/Starter.java +++ b/src/main/java/com/qi4l/JYso/Starter.java @@ -32,7 +32,7 @@ public class Starter { RMIServer.start(); } - // 如果参数中包含-y,则启动ysoserial + // 如果参数中包含-y,则启动 ysuserial if (args.length > 0 && args[0].equals("-y")) { JYsoMode = true; ysoserial(args); diff --git a/src/main/java/com/qi4l/JYso/gadgets/utils/Utils.java b/src/main/java/com/qi4l/JYso/gadgets/utils/Utils.java index 0e85c09..cea2ed7 100644 --- a/src/main/java/com/qi4l/JYso/gadgets/utils/Utils.java +++ b/src/main/java/com/qi4l/JYso/gadgets/utils/Utils.java @@ -13,7 +13,6 @@ import java.io.FileOutputStream; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.lang.reflect.Proxy; -import java.util.Arrays; import java.util.zip.GZIPOutputStream; import static com.qi4l.JYso.gadgets.Config.Config.*; @@ -39,7 +38,7 @@ public class Utils { public static String[] handlerCommand(String command) { String info = command.split("[-]")[1]; int index = info.indexOf("#"); - String par1 = new String(Base64.decodeBase64(info.substring(0, index))); + String par1 = info.substring(0, index); String par2 = info.substring(index + 1); return new String[]{par1, par2}; }