diff --git a/src/main/java/org/parabot/core/asm/redirect/ClassRedirect.java b/src/main/java/org/parabot/core/asm/redirect/ClassRedirect.java index 0925aeb..6ca9985 100644 --- a/src/main/java/org/parabot/core/asm/redirect/ClassRedirect.java +++ b/src/main/java/org/parabot/core/asm/redirect/ClassRedirect.java @@ -7,6 +7,7 @@ import org.parabot.environment.scripts.Script; import java.io.InputStream; import java.lang.annotation.Annotation; import java.lang.reflect.*; +import java.net.URL; import java.security.AccessController; import java.security.PrivilegedAction; import java.security.ProtectionDomain; @@ -58,6 +59,15 @@ public class ClassRedirect { return Class.forName(name); } + public static URL getResource(Class c, String path) { + if(validStack() || validRequest(c)) { + return c.getResource(path); + } + + System.err.println(c.getName() + "#getResource(" + path + ") Blocked."); + throw RedirectClassAdapter.createSecurityException(); + } + public static ClassLoader getClassLoader(Class c) { System.err.println(c.getName() + "#getClassLoader()" + " Blocked."); throw RedirectClassAdapter.createSecurityException(); @@ -213,6 +223,6 @@ public class ClassRedirect { private static boolean validRequest(Class c) { Core.verbose("Got request for class: " + c.getName()); - return !c.getName().toLowerCase().contains("parabot"); + return c.getName().toLowerCase().contains("parabot"); } }