I was tagged by PSXHAX in this thread, because I have some experience with Blu-ray Disc Java (BD-J) development.
Let me answer a few questions.
The PS4 also plays DVD-R/+R. Cant we use that instead of a Bluray??
No. In my experience, PS3 and PS4 will not run Blu-ray content off of a DVD. (Xbox One will though). It may play an AVCHD folder structure - but that's not Blu-ray. That's AVCHD, and will not let you run any BD-J stuff.
yes it is possible on dvd as it was mentioned if you read everyones comments
On a side note you can burn the bdj image on a normal blank dvd. No need to waste a BD-r on it as it will be less than 500mb
But you will still need a bluray drive to burn it
Wrong. It doesn't matter which burner you use. PS3 and PS4 will still not run Blu-ray content from a DVD disc. They insists on a Blu-ray Disc. (Unless it has become possible in newer firmwares - but I doubt that).
you could use bd-j as a way to load Linux just add the paths to the payload if you wanna be creative
JavaME is sandboxed, which means it can't access anything outside the sandbox. Attempting to do so will most likely just result in a Security Exception.
Although for older cellphones (MIDP) there actually was a function platformRequest() available, called e.g. to start the browser - no such method is available for BD-J.
If I've understood correctly this article i can create a single javascript file with the exploit, create a java program like this:
Code:
import javax.script.*;
public class ExecuteScript {
public static void main(String[] args) throws Exception {
ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("JavaScript");
engine.eval(new java.io.FileReader("exploit.js"));
}}
compile with java
create a jave ME application that lauch this app
burn a blu ray
and then execute it?
There is no javax.script package available for BD-J, so you can't do this no.
I don't know anything about exploits, or how all of this is supposed to work, but can tell you this:
Yes, you
can actually code a small webserver with BD-J, and serve files as you wish. (Check out the PS3/PS4 version of Ukko's Journey (
www.UkkosJourney.com), where you can type in the IP address of your PS3/PS4 in the browser of your JavaME enabled phone (connected to the same LAN via Wifi) in order to download the MIDP version of the game
from the Blu-ray Disc through your PS3/PS4 to install and run the game on your phone.
On the older cellphones (which also runs JavaME) you could actually code a webserver, and then call platformRequest("
http://localhost"); or platformRequest("127.0.0.1"); to open the built-in browser and load whatever you served it from your JavaME webserver. And as far as I understand, this is the scenario threadstarter is looking for.
Unfortunately there is no platformRequest() method available for BD-J, so we would need some other way of calling the browser. Runtime.exec() might be able to do it, but I honestly don't know if it'll work.
Obviously you won't be able to manually open the browser and input the "
http://localhost" address - because that would mean stopping the Blu-ray Disc. You can't manually run the Blu-ray disc + the browser at the same time on the same console.
So the experiment is simple:
First, create a BD-J that starts a webserver in its own thread.
Then call Runtime.exec("WebKit
http://127.0.0.1"); or whatever might be necessary to get the browser running. I have no clue about the inner workins of PS4, so I wouldn't know what command to try.
I expect you to always get a Security Exception though, but I'm looking forward to hearing the results.
In all honesty, this sounds like a hazzle to go through, just to escape needing to use a webserver? Isn't your PS4 connected to your LAN? Just use your PC as a webserver then, and point your PS4 browser to the IP of your PC.
In any case: Good luck!