refactor: rename

1. 将枚举 Server 改为字符串常量,使得 memshell 和 probeshell 都能共用
2. 移除 memshell 模块直接内置在 generator 中
3. 通用类从 memshell 移动至 javaweb 下,命名修改,增加辨识度
This commit is contained in:
ReaJason
2025-08-13 23:53:40 +08:00
parent d4bde3baad
commit f9dce4f84b
354 changed files with 1094 additions and 1387 deletions
@@ -1,5 +1,6 @@
package com.reajason.javaweb.memshell;
import com.reajason.javaweb.Server;
import com.reajason.javaweb.memshell.config.*;
import com.reajason.javaweb.packer.Packers;
import com.reajason.javaweb.packer.jar.JarPacker;
@@ -2,7 +2,7 @@ package com.reajason.javaweb.memshell.generator;
import com.reajason.javaweb.memshell.config.CustomConfig;
import com.reajason.javaweb.memshell.config.ShellConfig;
import com.reajason.javaweb.memshell.utils.CommonUtil;
import com.reajason.javaweb.utils.CommonUtil;
import lombok.SneakyThrows;
import net.bytebuddy.ByteBuddy;
import net.bytebuddy.jar.asm.ClassReader;
@@ -1,16 +1,15 @@
package com.reajason.javaweb.memshell.generator;
import com.reajason.javaweb.memshell.Server;
import com.reajason.javaweb.Server;
import com.reajason.javaweb.memshell.ShellTool;
import com.reajason.javaweb.memshell.ShellType;
import com.reajason.javaweb.memshell.config.GodzillaConfig;
import com.reajason.javaweb.memshell.config.ShellConfig;
import com.reajason.javaweb.memshell.shelltool.godzilla.GodzillaServlet;
import com.reajason.javaweb.memshell.utils.CommonUtil;
import com.reajason.javaweb.util.ClassDefiner;
import com.reajason.javaweb.util.ClassUtils;
import com.reajason.javaweb.utils.CommonUtil;
import lombok.SneakyThrows;
import net.bytebuddy.dynamic.DynamicType;
import net.bytebuddy.jar.asm.Opcodes;
import org.junit.jupiter.api.Test;
@@ -1,8 +1,8 @@
package com.reajason.javaweb.memshell.packer;
import com.reajason.javaweb.memshell.MemShellResult;
import com.reajason.javaweb.memshell.utils.CommonUtil;
import com.reajason.javaweb.packer.base64.GzipBase64Packer;
import com.reajason.javaweb.utils.CommonUtil;
import lombok.SneakyThrows;
import org.junit.jupiter.api.Test;
@@ -1,6 +1,10 @@
package com.reajason.javaweb.memshell.tomcat.command;
import com.reajason.javaweb.memshell.*;
import com.reajason.javaweb.Server;
import com.reajason.javaweb.memshell.MemShellGenerator;
import com.reajason.javaweb.memshell.MemShellResult;
import com.reajason.javaweb.memshell.ShellTool;
import com.reajason.javaweb.memshell.ShellType;
import com.reajason.javaweb.memshell.config.CommandConfig;
import com.reajason.javaweb.memshell.config.InjectorConfig;
import com.reajason.javaweb.memshell.config.ShellConfig;
@@ -1,6 +1,6 @@
package com.reajason.javaweb.memshell.tomcat.godzilla;
import com.reajason.javaweb.memshell.Server;
import com.reajason.javaweb.Server;
import com.reajason.javaweb.memshell.ShellType;
import com.reajason.javaweb.memshell.config.GodzillaConfig;
import com.reajason.javaweb.memshell.config.ShellConfig;
@@ -8,8 +8,8 @@ import com.reajason.javaweb.memshell.generator.GodzillaGenerator;
import com.reajason.javaweb.memshell.shelltool.godzilla.GodzillaFilter;
import com.reajason.javaweb.memshell.shelltool.godzilla.GodzillaListener;
import com.reajason.javaweb.memshell.shelltool.godzilla.GodzillaValve;
import com.reajason.javaweb.memshell.utils.CommonUtil;
import com.reajason.javaweb.util.ClassUtils;
import com.reajason.javaweb.utils.CommonUtil;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
@@ -1,6 +1,6 @@
package com.reajason.javaweb.probe;
import com.reajason.javaweb.Constants;
import com.reajason.javaweb.Server;
import com.reajason.javaweb.packer.Packers;
import com.reajason.javaweb.probe.config.ProbeConfig;
import com.reajason.javaweb.probe.config.ResponseBodyConfig;
@@ -21,10 +21,10 @@ class ProbeGeneratorTest {
.probeContent(ProbeContent.Bytecode)
.build();
ResponseBodyConfig responseBodyConfig = ResponseBodyConfig.builder()
.server(Constants.Server.JETTY)
.server(Server.Jetty)
.reqParamName("payload")
.build();
ProbeResult probeResult = ProbeGenerator.generate(probeConfig, responseBodyConfig);
ProbeShellResult probeResult = ProbeShellGenerator.generate(probeConfig, responseBodyConfig);
System.out.println(probeResult.getShellBytesBase64Str());
// Files.write(Paths.get("hello.class"), probeResult.getShellBytes());
System.out.println(Packers.ScriptEngine.getInstance().pack(probeResult.toClassPackerConfig()));