Join Us and become a Member for a Verified Badge to access private areas with the latest PS4 PKGs.
Status
Not open for further replies.
Proceeding several revisions of PS4 Offsets for payloads, the OpenOrbis Team have now made available a MiraFW Project Mira v1.0 Developers Release for scene devs to check out! :ninja:

This comes following both the initial Mira PS4 CFW news with a Milestones page now live and @SpecterDev's announcement that a 5.05 PS4 Jailbreak is also in the works by PlayStation 4 developers. :fire:

Download: MiraFW_Orbis501-symbols.elf / MiraFW_Orbis501.bin / MiraFW_Orbis505-symbols.elf / MiraFW_Orbis505.bin / Source code (zip) / Source code (tar.gz) / Latest Release / GIT

From the updated README.md, to quote: The Mira Project

The Mira Project is a set of tools that grants you more power and control over your jailbroken Playstation 4. It is the result of all the hard work by the OpenOrbis team.

It works differently to the custom firmware experience on Playstation 3, where CFW would be installed on the system via modified PUP files (e.g. Rebug), however once the framework is installed and ran it gives users the same functionality they were previously used to.

Firmware

Formerly known as MiraHEN, this has now been developed into a full custom firmware. Thanks to everyone who helped Mira reach a 1.0 beta goal (May 20, 2018). There will be updated goals placed within the GitHub issue tracker so the community can follow the internal progress, contribute and help provide the best platform possible for users.

Tools
  • newlib-ps4 - This is the libc implementation ported for PS4. Check the repository for updates and more information. Currently is in development, and may not be ready to use.
  • lld-ps4 - This is the linker to be used with newlib-ps4 to create Orbis compatible ELF files. Alternatively, you can use CrazyVoid's elfFixupTool. Currently in development, and may not ready to use.
MiraLib

This is the communications library that will be specialized for operation with the Mira firmware.

OpenOrbis Store

Community driven store and application that will allow you to download new plugins, payloads, tweaks, trainers from a trusted centralized source without ever leaving the comfort of your console.

Inspired by vitaDB <3 Rin

PS4 Payload Sender

A simple Android application to send payloads to your PS4.

Plugins

The Mira Project offers two types of plugins: built-in plugins and external plugins. Default plugins are embedded inside Mira firmware and include file transfer, a log server and a debugger. External plugins can be loaded from internal/external HDD, for example PS4 Linux Loader.

PS4 Linux Loader

A simple plugin that lets you run the Linux kernel from a remote device without webkit.

User Guide

The users guide can be found at USERS.md. This guide should be followed if you require instructions on how to build, install and use the firmware once it is installed on the console.

To quote from USERS.md: Mira Users Guide

This user guide will help you build, install and use the Mira Framework on your Playstation 4 console.

How to install

You can install Mira firmware via several methods. You should choose the method that works best for you. Typically, this will be via a webkit exploit in the web browser.

Webkit exploit (non-permanent installation)

This involves using a webkit userland exploit to elevate the kernel to install MiraCFW. The changes will be lost upon reboot, but should survive sleep mode.

Permanent installation

There is no permanent install option at this time, nor will one be offered in the near future.

Preparing

TODO: Instructions on how to prepare

Installing

In order to install Mira you will need a few things...
  1. An exploitable PlayStation
  2. Support within Mira
  3. Way to send payloads
    1. Windows
    2. Linux
    3. Android
Start by downloading the latest release of Mira from the github Releases page. If there are no current releases for your current firmware, then you will need to compile the payloads from source code. If this is the case, refer to the developers documentation.
  • We are also working towards preparing full stack webpage loaders in the near future for those who don't want to send payloads themselves.
WSL / Linux

After the payload has either been downloaded from the Releases page on github, or compiled from source. You can send the payload to a console at "waiting for payloads" by using the following command.
Code:
nc {IP ADDRESS OF DEVICE} 9020 < ~/mira/Firmware/MiraFW/MiraFW_Orbis.bin
Provided you are using the default build paths of Mira.

Windows

Currently there are no tools provided by the Mira-Project that will send payloads to the console. You may use your favorite tool for sending TCP payloads and it should work the same.

Using MiraCFW

Once Mira has been installed, it will automatically self-elevate, and check by default in the /user/mira folder for config.ini which contains the rest of the configuration for Mira. It will load plugins from the /user/mira/plugins directory and initialize them.

Once Mira has been installed, there will be a notification prompting you to which ports have been opened on the device. You can now read the kernel log by connecting to the IP address if your PS4 on port 9998, and access the RPC interface on the console via 9999.

Using MiraLib

Currently there is no application or tools that support using MiraLib, there will be tools avaiable in the future.

PS4 Payload Sender

To send payloads from your Android device without webkit, you can follow these instructions.

Plugins

Mira supports 2 types of plugins which both use the same framework.
  • Internal / integrated plugins
  • External plugins
All external plugins must be copied over via FTP to the /user/mira/plugins directory in order for the plugin to be loaded on startup. External plugins have a specific linker format that they must follow, meanwhile internal or integrated plugins can just call the initialization routine directly.

Developer Guide

You will need VS2017, with Linux plugin and WSL (Ubuntu on Windows) or a physical Linux machine or Linux VM to be able to build the project. You may find the documentation for developers at DEVELOPERS.md

To quote from DEVELOPERS.md: Developers Guide

Project Layout


At first glance, it may seem like the Mira-Project is very complicated, but once you understand the basic layout it is very clear and simple.
  • Tools/ - The tooling folder, which may contain additional libraries and tools to assist with Mira development. These tools are not required to build Mira, but will help developers.
  • Scripts/ - These are general puropse scripts that may get executed automatically by the build, or there for initializing development environments.
  • Output/ - When configured (by default it's not) will be the output directory for all builds
  • Firmware/ - This directory contains all the components to Mira's core
    • Dependencies/ - The dependencies for the Mira project, usually just freebsd-headers, and oni-framework
    • MiraFW/ - The actual source code for Mira, which handles auto-escalation and execution as a background kernel process
    • Plugins/ - These are all of the external plugins that Mira will use. These can be built and compiled independently, and where all developers should create new projects in
Setting up the development environment

In order to build Mira, you will need either a Windows machine with Visual Studio 2017, the C++ for Linux plugin and Windows Subsystem for Linux (highly reccomended), or a linux-based machine or VM with build-essentials (gcc, clang, etc).

Windows Setup

This is the most recommended way to develop for Mira. Since Mira is developed using Unix Makefiles, there is a direct compatibility with the Windows and Linux development environments.
  1. Download & Install Visual Studio 2017 WITH the C++ for Linux support
  2. Enable the Windows Subsystem for Linux
    1. You will need to configure the newly created WSL environment's ssh daemon.
    2. This can be done by editing /etc/ssh/sshd_config on most platforms.
      • You will need to change the port number to 2222 as Windows 10 may use port 22 for other reasons
  3. Configure Windows Firewall to allow port 2222 on LAN (LAN ONLY OR LOCALHOST ONLY)
  4. Configure Visual Studio's remote targets to use localhost port 2222 as the port number and your username/password created during the WSL install screen
    • If there's a red box error use 127.0.0.1 as the IP address
  5. Open the Mira.sln with Visual Studio 2017 and do a full rebuild, this should deploy the freebsd-headers and modified oni-framework
Linux Setup

TODO: Implement Linux setup instructions

Cloning the project

No matter if you are using Windows or Linux, these commands will be the same.
  • If you are on Windows, you MUST clone inside of WSL and not within Windows itself
    • You can access all Windows partitions from within WSL by navigating to /mnt/{windows drive letter} (ex: /mnt/c/Users/example/Desktop)
  1. Clone the repository
  2. (Linux Users Only) Create all needed directories
    • Windows users using the Mira.sln, this will automatically get done for you when you do a Rebuild all on the solution.
    • cd mira-project/Firmware/Dependencies/oni-framework
    • make create
    • cd ../../MiraFW
    • make create
Building the project

Build in this order
  1. freebsd-headers
  2. oni-framework
  3. mira
TODO: Linux build instructions

Special Thanks and Friends


We want to give a special shout out to these people in no particular order.
  • flatz
  • SpecterDev
  • EvilSperm
  • Rogero
  • Joonie
  • AlexAltea
  • Mistawes
  • Abkarino
  • qwertyoruiop
  • CTurT
  • Mathieulh
  • Senaxx
  • m0rph3us1987
  • CrazyVoid
  • xvortex
  • bigboss
  • ZeraTron
  • xorloser
  • AlAzif
  • masterzorag
  • fail0verflow
  • idc
  • valentinbreiz
  • Anonymous Contributors (you know who you are)
Thank you to everyone, this is the initial release of Mira for all future developments to continue off of. This was the surprise coming today May 20, 2018 and thank you for all of the contributions!

This should be considered a test release for developers only.

Download: MiraFW_Orbis_455.elf (2.06 MB) / MiraFW_Orbis_455.bin (0.05 MB)
MiraFW Project Mira v1.0 Developers Release by OpenOrbis Arrives.jpg
 

Comments

Status
Not open for further replies.
Back
Top