From 4cec83f0c32ab443ddcc685ac591b3281fbc85f3 Mon Sep 17 00:00:00 2001 From: Jeroen Ketelaar Date: Sun, 26 May 2019 12:19:06 +0200 Subject: [PATCH] [TASK] Added URLClassLoaderRedirect.class --- .../parabot/core/asm/RedirectClassAdapter.java | 18 +++++++++--------- .../asm/redirect/URLClassLoaderRedirect.java | 4 ++++ 2 files changed, 13 insertions(+), 9 deletions(-) create mode 100644 src/main/java/org/parabot/core/asm/redirect/URLClassLoaderRedirect.java diff --git a/src/main/java/org/parabot/core/asm/RedirectClassAdapter.java b/src/main/java/org/parabot/core/asm/RedirectClassAdapter.java index 6bd0e49..094c49f 100644 --- a/src/main/java/org/parabot/core/asm/RedirectClassAdapter.java +++ b/src/main/java/org/parabot/core/asm/RedirectClassAdapter.java @@ -16,21 +16,17 @@ import java.util.Map; public class RedirectClassAdapter extends ClassVisitor implements Opcodes { - public static Map> getRedirects() { - return redirects; - } - private static final Map> redirects = new HashMap>(); - private static PrintStream str_out, class_out; + private static PrintStream str_out, class_out; static { redirects.put("java/awt/Toolkit", ToolkitRedirect.class); redirects.put("java/lang/Class", ClassRedirect.class); -// redirects.put("java/lang/ClassLoader", ClassLoaderRedirect.class); +// redirects.put("java/lang/ClassLoader", ClassLoaderRedirect.class); + redirects.put("java/net/URLClassLoader", URLClassLoaderRedirect.class); redirects.put("java/lang/Runtime", RuntimeRedirect.class); redirects.put("java/lang/Thread", ThreadRedirect.class); - redirects.put("java/lang/StackTraceElement", - StackTraceElementRedirect.class); + redirects.put("java/lang/StackTraceElement", StackTraceElementRedirect.class); redirects.put("java/lang/ProcessBuilder", ProcessBuilderRedirect.class); redirects.put("java/lang/System", SystemRedirect.class); } @@ -55,8 +51,12 @@ public class RedirectClassAdapter extends ClassVisitor implements Opcodes { } } + public static Map> getRedirects() { + return redirects; + } + public static SecurityException createSecurityException() { - Exception e = new Exception(); + Exception e = new Exception(); StackTraceElement[] elements = e.getStackTrace(); return new SecurityException("Unsafe operation blocked. Op:" + elements[1].getMethodName()); diff --git a/src/main/java/org/parabot/core/asm/redirect/URLClassLoaderRedirect.java b/src/main/java/org/parabot/core/asm/redirect/URLClassLoaderRedirect.java new file mode 100644 index 0000000..4759ce1 --- /dev/null +++ b/src/main/java/org/parabot/core/asm/redirect/URLClassLoaderRedirect.java @@ -0,0 +1,4 @@ +package org.parabot.core.asm.redirect; + +public class URLClassLoaderRedirect { +}