From f49f68c7715a4c9f43ca08c7c5d70020bd58c191 Mon Sep 17 00:00:00 2001 From: buji666 <94963804+buji666@users.noreply.github.com> Date: Wed, 25 Jun 2025 14:37:19 +0800 Subject: [PATCH] Update MyClassLoader.java --- .../java/club/shengsheng/MyClassLoader.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/main/java/club/shengsheng/MyClassLoader.java b/src/main/java/club/shengsheng/MyClassLoader.java index 21026cf..8a72951 100644 --- a/src/main/java/club/shengsheng/MyClassLoader.java +++ b/src/main/java/club/shengsheng/MyClassLoader.java @@ -1,9 +1,34 @@ package club.shengsheng; +import java.io.*; + /** * @author gongxuanzhangmelt@gmail.com **/ public class MyClassLoader extends ClassLoader { + @Override + public Class loadClass(String name) throws ClassNotFoundException { + if (name.contains("tech.insight.ShengSheng")) { + this.findClass(name); + } + return super.loadClass(name); + } + + @Override + protected Class findClass(String name) throws ClassNotFoundException { + File file = new File("加密.class"); + try (InputStream inputStream = new BufferedInputStream(new FileInputStream(file))){ + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + int classByte; + while ((classByte = inputStream.read()) != -1) { + byteArrayOutputStream.write((classByte-1)); + } + return defineClass(name, byteArrayOutputStream.toByteArray(), 0, byteArrayOutputStream.size()); + + } catch (Exception e) { + throw new RuntimeException(e); + } + } }