mirror of
https://github.com/ReaJason/MemShellParty.git
synced 2026-09-22 07:00:43 +08:00
27 lines
734 B
Java
27 lines
734 B
Java
package com.reajason.javaweb;
|
|
|
|
import net.bytebuddy.jar.asm.ClassReader;
|
|
import net.bytebuddy.jar.asm.ClassVisitor;
|
|
import net.bytebuddy.jar.asm.ClassWriter;
|
|
import net.bytebuddy.jar.asm.Opcodes;
|
|
|
|
/**
|
|
* @author ReaJason
|
|
* @since 2025/2/25
|
|
*/
|
|
public class ClassBytesShrink {
|
|
|
|
public static byte[] shrink(byte[] bytes, boolean full) {
|
|
ClassReader cr = new ClassReader(bytes);
|
|
ClassWriter cw = new ClassWriter(ClassWriter.COMPUTE_MAXS);
|
|
ClassVisitor cv = new ClassVisitor(Opcodes.ASM9, cw) {
|
|
@Override
|
|
public void visitSource(String source, String debug) {
|
|
|
|
}
|
|
};
|
|
cr.accept(cv, full ? ClassReader.SKIP_DEBUG : 0);
|
|
return cw.toByteArray();
|
|
}
|
|
}
|