[3.55] PS4Console Released (Open-Source)

Kieran

CEO
Staff member
Administrator
Senior Management
Verified Modder
Joined
Jul 27, 2015
Messages
1,567
Points
98
Location
Bristol
Website
kieranmodding.com
Introduction

So I decided to branch off from PS4 Playground and started PS4Console. It was an interesting concept that I was toying with before I decided to go with PS4 Playground, and I realized that it would be a lot more stable than Playground. Playground would function a lot less than PS4Console does because it relies on WebKit to work, so WebKit crashing is a problem (but because of how the exploit works, this is obviously a problem). PS4Console merely uses WebKit to perform the commands, the output and all the magic happens in the Python program.

It's made to simulate a terminal-like environment for the PS4 (I even included a clear command, mostly because I love spamming the "clear" command in bash because I hate a screen full of text). While it's not perfect or anything close to bash, it's (in my opinion) a cool concept and allows everything to flow properly without having to worry about crashes nearly every time you want to do something. Dumping is also a lot more stable, out of 9 tests - only 1 failed. On PS4 Playground, this would be a different story. So that's the "why" I started this new project.

Requirements

You will need Python 2.7 to be able to execute PS4Console. FakeDNS is included and is automatically started when you start ps4console, so using the user guide is recommended. To run PS4Console, just issue the "python ps4console.py" command in your terminal. On Linux, you may have a permissions error, so you may have to use "sudo python ps4console.py" or simply run it on uid0.

Documentation will soon be added with a more in-depth tutorial on how to use PS4Console as well as it's commands.

Notes (Updated from the GitHub)

Project isn't complete, it's a work in progress. Things will be changed and made better in future verisons, if you have any suggestions leave them below (or submit an "issue" on the github page).

The exploit will not run correctly all of the time. If it doesn't work, just keep trying until it does, it shouldn't take long.

Many are seeing a blank screen on their PS4 and they're thinking something is wrong. This is completely fine and expected, as long as the '>' appears in the terminal/command prompt on ps4console.py, you are good to run commands. The pages ps4console serves does not have any markup for styling. If you cannot get the '>' to appear, just refresh the page on the PS4 or press "OK" if you have a segmentation fault (not enough memory prompt).

Module dumping is still not completely supported. Only most of the modules loaded by WebKit are currently supported, WebKit has not been included in v1.0 as I want to clean up how it works a bit more before that (it's a little inefficient at the moment).

If you're on a linux system, you may need root permissions to run PS4Console on port 80, so you may need to run it via:
Code:
sudo python ps4console.py
Even after shutting down the program via shutdown command (this actually won't seem to occur if you use ctrl + c), the service will still run on port 53/port 80. To fix this, you can use the following command for Linux:
Code:
sudo kill `sudo lsof -t -i:80`
sudo kill `sudo lsof -t -i:53`
Similarily, if you run into this problem on Windows, you can use the following commands:
Code:
netstat -o -n -a | findstr 0.0:3000
This will return something like TCP 0.0.0.0:3000 0.0.0.0:0 LISTENING [PID], using the PID given, run:

taskkill /F /PID [PID FROM ABOVE COMMAND]


I will soon implement a fix for this.

Preview Images







Thanks To

Fire30 - The porting of the WebKit Exploit to PS4, as well as assistance
Xerpi - Functions in his POC edit that I ported over
XYZ - The original exploit for PSVita 3.60
CTurt - Research done with 1.76
XorLoser - File sizes and headers for dumping modules
Maxton - Assistance in development
Red-EyeX32 - Assistance in development

Links

[PS4Console GitHub Repo] - [Fire30's Original POC Repo]
 
Top