Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/skgleba/psp2etoi

A tool to manage PlayStation Vita/TV's Unique Device Identifiers
https://github.com/skgleba/psp2etoi

Last synced: 17 days ago
JSON representation

A tool to manage PlayStation Vita/TV's Unique Device Identifiers

Awesome Lists containing this project

README

        

# psp2etoi
Unique Device Identifiers manager for PlayStation Vita/TV



This tool allows you to backup or edit the Unique Device Identifiers - ConsoleID and OpenPSID.

The utility is also capable of dumping or flashing the [syscon S/NVS](https://wiki.henkaku.xyz/vita/Ernie#NVS) that contains configuration data such as QA flags, management flags, boot flags and much more.


## Usage
Please keep in mind that this tool is intended for advanced users only; a wrong configuration or program bug can lead to unrecoverable system corruption requiring a motherboard replacement.

### Prerequisites
#### Recommended:
- The target Playstation Vita/TV console should be running release firmware version 3.65 of type CEX/DEX/TOOL/CFT
- As a form of recovery the console should have enso_ex v5.0 installed and running
#### Required:
- The target Playstation Vita/TV console must be running firmware version between (including) 3.60 and 3.74
- The console must have the taihenkaku CFW framework installed and running
- The psp2etoi.vpk app package should be installed via VitaShell

### Creating a backup
- Open the 'psp2etoi' app. After accepting the disclaimer it will perform a selftest
- Select "Backup the current Unique...". It will create a backup of encrypted ConsoleID and OpenPSID
- Select "Dump the current device...". It will create a backup of the current device configuration and S/NVS
- Copy out the backup files from `ux0:data/psp2etoi/`. Store them in multiple copies on separate storages
- `udi.bin` is the ConsoleID and OpenPSID in an encrypted format that can be directly written to idstorage
- `output.cfg` is a psp2etoi configuration file containing all data that psp2etoi can modify
- `nvs.bin` is a dump of the console's S/NVS

### Writing a custom configuration
- refer to [the configuration manual](CONFIGURATION.md)

### Creating a custom configuration via psp2etoi
- Clean the `ux0:data/psp2etoi/` directory
- Place a configuration file as `ux0:data/psp2etoi/input.req`
- this configuration will serve as a 'template' for the custom configuration
- the configuration must have the `INPUT` tag set to `false`
- Open the 'psp2etoi' app. After accepting the disclaimer it will perform a selftest
- Select "Create a custom...". It will parse the template and generate a matching configuration
- The custom configuration can be found in `ux0:data/psp2etoi/custom_input.cfg`

### Installing a psp2etoi configuration
- Clean the `ux0:data/psp2etoi/` directory
- Place the input configuration file as `ux0:data/psp2etoi/input.cfg`
- if the configuration requires supplementary files put them there too
- the input configuration must have the `INPUT` tag set to `true`
- Open the 'psp2etoi' app. After accepting the disclaimer it will perform a selftest
- Select "Apply a custom...". It will parse the configuration file and show expected changes
- After confirming that the changes are correct press triangle to write the new configuration
- a backup configuration file based on the input configuration will be written to `backup_input.cfg`
- You should copy out the `backup_` files and store them in multiple copies on separate storages
- They can be used to revert changes made by the `input.cfg`

## Notes
- It is extremely easy to permanently "brick" your console using this tool
- a simple mistake such as wrong byte or space in the wrong place can result in a "brick"
- You should only use this tool having understood how writing the desired configuration data impacts the device
- You should always double-check the input configuration file as well as the app's parser output before applying
- Bad ConsoleID type/sub-code should be recoverable with enso_ex v5, provided you have the backed-up `udi.bin`

## Credits
Big thanks to
- Team Molecule for taihenkaku, enso and the update_sm cmd 0x50002 heap overflow
- Princess-Of-Sleeping for help and various insights
- All the *anonymous* friends that tested psp2etoi on their devkits
- Henkaku wiki contributors