feat: support Apusic V10

This commit is contained in:
ReaJason
2025-08-13 23:53:40 +08:00
parent 64c71d6adb
commit 8c06216e96
3 changed files with 43 additions and 6 deletions
@@ -85,7 +85,8 @@ public enum Server {
/**
* 金蝶天燕中间件
*/
Apusic(new ApusicShell()),
Apusic9(new ApusicShell()),
Apusic10(new GlassFishShell()),
/**
* 中创中间件
@@ -0,0 +1,30 @@
package com.reajason.javaweb.memshell;
/**
* @author ReaJason
* @since 2025/6/11
*/
public class ServerType {
public static final String TOMCAT = "Tomcat";
public static final String JETTY = "Jetty";
public static final String JBOSS_AS = "JBossAS";
public static final String JBOSS_EAP6 = "JBossEAP6";
public static final String UNDERTOW = "Undertow";
public static final String JBOSS_EAP7 = "JBossEAP7";
public static final String WILDFLY = "Wildfly";
public static final String RESIN = "Resin";
public static final String GLASSFISH = "Glassfish";
public static final String PAYARA = "Payara";
public static final String WEBLOGIC = "WebLogic";
public static final String WEBSPHERE = "WebSphere";
public static final String SPRING_WEBMVC = "SpringWebMVC";
public static final String SPRING_WEBFLUX = "SpringWebFlux";
public static final String XXL_JOB = "XXL-JOB";
public static final String APUSIC = "Apusic";
public static final String BES = "BES";
public static final String INFORSUITE = "InforSuite";
public static final String PRIMETON = "Primeton";
public static final String TONGWEB6 = "TongWeb6";
public static final String TONGWEB7 = "TongWeb7";
public static final String TONGWEB8 = "TongWeb8";
}
@@ -21,18 +21,22 @@ class GeneratorMainTest {
@Disabled
void test() {
ShellConfig shellConfig = ShellConfig.builder()
.server(Server.Apusic)
.shellTool(ShellTool.Behinder)
.shellType(ShellType.LISTENER)
.server(Server.Tomcat)
.shellTool(ShellTool.Command)
.shellType(ShellType.PROXY_VALVE)
.targetJreVersion(Opcodes.V1_8)
.debug(true)
// .shrink(true)
.build();
GodzillaConfig godzillaConfig = GodzillaConfig.builder()
.pass("pass")
.key("key")
.headerName("User-Agent")
.headerValue("test123").build();
CommandConfig commandConfig = CommandConfig.builder().paramName("listener").build();
CommandConfig commandConfig = CommandConfig.builder()
.paramName("listener")
.encryptor(CommandConfig.Encryptor.DOUBLE_BASE64)
.build();
BehinderConfig behinderConfig = BehinderConfig.builder()
.pass("test123")
@@ -45,8 +49,10 @@ class GeneratorMainTest {
InjectorConfig injectorConfig = new InjectorConfig();
GenerateResult generateResult = MemShellGenerator.generate(shellConfig, injectorConfig, behinderConfig);
GenerateResult generateResult = MemShellGenerator.generate(shellConfig, injectorConfig, commandConfig);
if (generateResult != null) {
System.out.println(generateResult.getShellBytes().length);
// System.out.println(((JarPacker) Packers.AgentJar.getInstance()).packBytes(generateResult).length);
Files.write(Paths.get(generateResult.getInjectorClassName() + ".class"), generateResult.getInjectorBytes(), StandardOpenOption.CREATE_NEW);
Files.write(Paths.get(generateResult.getShellClassName() + ".class"), generateResult.getShellBytes(), StandardOpenOption.CREATE_NEW);
// System.out.println(Base64.getEncoder().encodeToString(generateResult.getInjectorBytes()));