Quick actions

cmd+k|ctrl+k

Navigation

Languages

Untitled

Snippet info

Language

Java

Visibility

unlisted

Author

legacy-anonymous

Created

2024-07-11T12:38:53.070838Z

Updated

2024-07-11T12:38:53.070838Z


/**
 * 大伙儿帮我看看为什么这段代码运行会出错。
 */

import java.lang.reflect.InvocationTargetException;
import java.util.Base64;

public class Main {
  static String secret = "yv66vgAAADQAFQoABgAOBwAPCAAQCgACABEHABIHABMBAAY8aW5pdD4B" +
      "AAMoKVYBAARDb2RlAQAPTGluZU51bWJlclRhYmxlAQAKRXhjZXB0aW9u" +
      "cwEAClNvdXJjZUZpbGUBABJTZWNyZXRGYWN0b3J5LmphdmEMAAcACAEA" +
      "E2phdmEvaW8vSU9FeGNlcHRpb24BACBLRkMgQ3JhenkgVGh1cnNkYXks" +
      "IFYgbWUgNTAgQ05ZLgwABwAUAQANU2VjcmV0RmFjdG9yeQEAEGphdmEv" +
      "bGFuZy9PYmplY3QBABUoTGphdmEvbGFuZy9TdHJpbmc7KVYAIQAFAAYA" +
      "AAAAAAEAAQAHAAgAAgAJAAAAKgADAAEAAAAOKrcAAbsAAlkSA7cABL8A" +
      "AAABAAoAAAAKAAIAAAAEAAQABQALAAAABAABAAIAAQAMAAAAAgAN";

  static Base64.Decoder base64Decoder = Base64.getDecoder();

  static byte[] secretByte = base64Decoder.decode(secret);

  public static void main(String[] args) {
    ClassLoader classLoader = new ClassLoader() {
      @Override
      protected Class<?> findClass(String name) throws ClassNotFoundException {
        if (!"SecretFactory".equals(name))
          throw new ClassNotFoundException();
        return defineClass("SecretFactory", secretByte, 0, secretByte.length);
      }
    };

    try {
      Class<?> cls = classLoader.loadClass("SecretFactory");
      Object newInstance = cls.getDeclaredConstructor().newInstance();
    } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | InvocationTargetException
        | NoSuchMethodException e) {
      throw new RuntimeException(e);
    }
  }
}
INFO