Skip to content
This repository has been archived by the owner on May 11, 2020. It is now read-only.

Commit

Permalink
1.0 BETA RELEASE
Browse files Browse the repository at this point in the history
THANKS TO ALL
  • Loading branch information
sugarleaf committed May 20, 2018
1 parent c5eccfe commit b162173
Show file tree
Hide file tree
Showing 2 changed files with 71 additions and 19 deletions.
42 changes: 27 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,40 +3,52 @@ The Mira Project is a set of tools that grants you more power and control over y

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.
## Firmware

### Tools
#### newlib-ps4
This is the libc implementation ported for PS4. As it is extremely difficult to compile for PS4, we recommend using the pre-built binaries instead.
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](https://github.com/OpenOrbis/mira-project/milestones) so the community can follow the internal progress, contribute and help provide the best platform possible for users.

#### ld-ps4
This is the linker to be used with newlib-ps4 to create Orbis compatible ELF files. Alternatively, you can use CrazyVoid's elfFixupTool.
## Tools

### [newlib-ps4](https://github.com/OpenOrbis/newlib)

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](https://github.com/OpenOrbis/lld)

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

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

#### Open Orbis Store
### 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

### PS4 Payload Sender

A simple Android application to send payloads to your PS4.

### Plugins
## 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 internel/external HDD, for example PS4 Linux Loader.

#### 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](https://github.com/OpenOrbis/mira-project/blob/master/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.

## 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. More details about the build process will be posted here shortly.

## Special Thanks
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](https://github.com/OpenOrbis/mira-project/blob/master/DEVELOPERS.md)

## Special Thanks and Friends

We want to give a special shout out to these people in no particular order.

* flatz
Expand All @@ -62,4 +74,4 @@ We want to give a special shout out to these people in no particular order.
* fail0verflow
* idc
* valentinbreiz
* Anonymous Contributors (you know who you are)
* Anonymous Contributors (you know who you are)
48 changes: 44 additions & 4 deletions USERS.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,69 @@
# 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
TODO: Instructions on how to install

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.

`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
TODO: Instructions on using the features and configuring options

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
TODO: Instructions on how to use 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](https://github.com/valentinbreiz/PS4-Payload-Sender-Android/blob/master/DOCUMENTATION.md).

### Plugins
TODO: Instructions for 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.

0 comments on commit b162173

Please sign in to comment.