Remember back in the old days when instead of installing an Kernel/Web-Exploit like nowadays, you asked “how I can install an Custom Firmware (CFW)” or something like “how I can Downgrade my Console”? Of course, todays attempts aren’t that bad since you get a similar functionality in terms of running Homebrew for instance, but not quite for 100% compared to the old days. Especially not when we talk about the possibilities of modifying a PlayStation 3 compared to the PlayStation 4 today. In fact, there was a time where everyone wanted to “Downgrade” his/her PS3 from an higher System Firmware (OFW) to bring the functionality of Homebrew back to their PS3. Or can you remember when your Blu-ray Drive wasn’t working anymore due to its age or because of an failed Downgrade process so everytime when you wanted to install a newer, higher CFW, it failed with displaying an error message and you had to install those “noBD” CFWs? While the latter one was already achieved for older Firmwares below <4.75 in the past, it will be still interesting to achieve both a Downgrading possibility and a “noBD” support for higher Firmwares on a PS4 as well. The good thing is, well-known Developer @TheoryWrong asked the same question to himself. And it gets even better; he is ready to show his progress so far So lets have a look at it.
Disclaimer:The original Post by TheoryWrong was written in French Language and only a translated version (via Google Translate) was available by the time of writing this News Article. Please apologize in Advance for any typos & misunderstanding. Also please keep in mind that his researches are in very early stages & attempting to update the System Firmware with this method on a PS4 together with a broken BD Drive can lead into other major problems within the System (as specified on the original Blog Post within the red Text).
- Launching the update outside of “Update Mode”
- Update a PS4 without an working BD Drive (“noBD”)
- Downgrade attempt
It is possible to launch the update utility without putting the console in update mode, it can still update the components of the PS4. To do this, you need a Kernel exploit, a Homebrew ENabler), and the make_fself.py by flat_z.
The idea is that through a Homebrew “Hosts”, to execute a modified orbis_swu.self which will do what we want. Just use the function sceSystemServiceLoadExec(char* path, void* unk);
The modification of the orbis_swu will have to apply 2 patches to make it usable with a host application.
- Modifying the video output: orbis_swu is normally used in a context where SceShellUI does not exist. It will now be necessary to indicate to him that he must take the exit of the Applications.
- Give it permissions: Like any system process, orbis_swu must be able to access certain things. It will therefore be necessary to give it special permissions and make it escape from its sandbox through a system call. It is also necessary to patch the kernel to be able to have access to the sflash in writing.
Once this is done, your homebrew is ready to use the orbis_swu to perform updates! Now is when things start to get interesting!
“orbis_swu.self” has launched without the existence of an Update File (therefore the Message Text keeps blank).