• Stars
    star
    178
  • Rank 214,989 (Top 5 %)
  • Language
    C
  • License
    MIT License
  • Created about 6 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Untethered jailbreak and CFW loader for PlayStation Vita/TV units on firmware 3.65

enso_ex

Untethered jailbreak and CFW loader for PlayStation Vita/TV units on firmware 3.65


Features

Custom kernel loader

Provided is a kernel loader that replicates vanilla functionality with added support for a custom module list read from a text file.
Custom modules are loaded after the base kernel, but started before the base kernel - this allows the modules to function as 'plugins' and patch the base kernel in a pristine state.
The provided loader also passes a hooking/patching 'API' from enso_ex to the user's custom modules, detailed in the developer readme.

Support for unsigned base kernel modules

In conjunction with enso_ex's custom kernel loader, this allows the user to add their own *.skprx plugins to the base kernel.
It is also possible to outright replace base kernel modules with decrypted/unsigned alternatives.
By default, provided are two plugins - a homebrew enabler and a bootlogo replacer, their functionality is detailed later in this readme.

Code execution on the bootloader level

Before the kernel loader, enso_ex attempts to load and run a raw code blob from the os0 partition.
This is intended to be used as an enso_ex extension that alters core information or functionality such as Firmware version, ConsoleID, QA flags, security coprocessor behavior, etc.

SD2VITA-based recovery

Included is a bootloader-level recovery mechanism. When triggered, enso_ex will initialize and use the sd2vita as an emmc replacement, os0 replacement, or source of a recovery code blob.
This feature provides a safeguard against any kind of filesystem corruption, partition wipes, update failures, enso_ex bugs, and much more.
It also opens doors to more advanced mods and tinkering, such as hybrid firmware or 'dual nand'.

Kernel module load/start errors are ignored

enso_ex "forces" base kernel boot, even if some modules fail to load or start.
This feature provides an additional recovery layer and unlocks the ability to boot vanilla firmwares of different types, such as testkit firmware on a retail unit.

Miscellaneous boot toggles

A few useful toggles, triggered by holding certain key combinations, are detailed in the recovery readme.

  • emuMBR: use a different block as MBR
  • bootarea write-lock: block writes to the MBR, bootloaders, and enso_ex
  • EMMC recovery: load and run a code blob from EMMC
  • Adi-os0: disable os0 init, useful in case of a serious misshap.

Installation and configuration

Provided is a VPK file containing the enso_ex installer, which has the following options:

Install/reinstall the hack

This option will:

  • create a type-specific boot_config.txt in ur0:tai/
  • prepare the enso_ex installation in ux0:eex/
  • synchronize enso_ex plugins
  • install enso_ex core
  • update the enso_ex recovery

Uninstall the hack

This option will uninstall enso_ex core and remove ur0:tai/boot_config.txt

Fix boot configuration

This option will create a type-specific boot_config.txt in ur0:tai/

Synchronize enso_ex plugins

This option will:

  • remove deprecated extensions
  • remove os0:ex/
  • copy ux0:eex/boot/* to os0:
    • if e2x_ckldr.skprx or bootmgr.e2xp are not present in ux0:eex/boot/, they will be removed from os0:
  • copy ux0:eex/custom/* to os0:ex/

Update the enso_ex recovery

This option will:

  • if exists, write ux0:eex/recovery/rconfig.e2xp to EMMC block 4
  • if exists, write ux0:eex/recovery/rblob.e2xp to EMMC block 0x30+
  • if exists, write ux0:eex/recovery/rmbr.bin to EMMC block 3

Base kernel plugins

To add a custom base kernel plugin put it in ux0:eex/custom/, add it to the ux0:eex/custom/boot_list.txt and "Synchronize" via the enso_ex installer.
By default, enso_ex installer installs the following plugins:

e2xhencfg.skprx

  • Adds support for unsigned kernel modules
  • Redirects os0:psp2config_%model%.skprx to ur0:tai/boot_config.txt
    • if in safe mode, the default redirect is skipped
    • if SQUARE is held, ux0:eex/boot_config.txt is used (also works in safe mode)
    • on devkits in PSTV mode, ur0:tai/boot_config_kitv.txt or ux0:eex/boot_config_kitv.txt is used

e2xculogo.skprx

  • replaces the default PlayStation boot logo with os0:ex/bootlogo.raw
    • format is RGBA32 960x544
    • if no logo found, no logo will be displayed
    • disabled in safe mode

Advanced usage


FAQ

How does the jailbreak work?

How to change, remove or restore the bootlogo?

  • To change the bootlogo, put the new image in ux0:eex/custom/bootlogo.raw and "Synchronize" via the enso_ex installer
  • To remove the bootlogo, remove ux0:eex/custom/bootlogo.raw and "Synchronize" via the enso_ex installer
  • To restore stock bootlogo, remove ux0:eex/custom/e2xculogo.skprx and "Synchronize" via the enso_ex installer

How to uninstall enso_ex?

  • enso_ex can be uninstalled via the provided installer.
  • As a safety measure, enso_ex is also disabled (but not removed) on system update.

How to update enso_ex?

  • Using the "Install/reinstall" installer option will update enso_ex

Credits

  • Team molecule for taihenkaku and enso.
  • xerpi for his work on vita-libbaremetal.
  • Henkaku wiki contributors.
  • Everyone that helped me with this project over the years.

More Repositories

1

VitaDeploy

Toolbox that makes homebrewing the PS Vita easier
C
247
star
2

iTLS-Enso

Adds TLS v1.2 to Enso enabled devices
C
237
star
3

0syscall6

A kernel module that patches Playstation Vita's lv0's secure_kernel's syscall 6
C
197
star
4

yamt-vita

Yet another (re)mount tool for PSP2 Vita and Dolce
C
164
star
5

PSP2-batteryFixer

A small utility that fixes most of PSVita's battery-related problems.
C
114
star
6

VitaTools

(Maybe) useful tools for PSP2 Vita and Dolce
C
80
star
7

henlo_jb

henlo-based jailbreak for Playstation Vita/TV running firmware 3.65+
C
73
star
8

IMCUnlock

Playstation Vita/TV eMMC partitioning tool
C
69
star
9

psp2sdboot

Tools and guides for achieving code execution in Playstation Vita/TV BootROM's "SD boot mode"
C
41
star
10

psp2hfw

Hybrid Firmware toolset for Playstation Vita
C
33
star
11

HH-Vita

HentaiHaven.org app for Playstation Vita/TV
C++
30
star
12

psp2renga

Custom lv0 framework for Playstation Vita/TV
C
25
star
13

psp2fwtool

[WIP] Firmware manager for Playstation Vita/TV
C
25
star
14

mincg

Min. firmware version manager for Playstation Vita/TV
C
24
star
15

VITA-NoAutoAvls

A small utility to permanently enable/disable the auto-avls "feature" on Playstation Vita
C
22
star
16

IMCUnlockLite

A one-click internal ux storage enabler for PSVita 1000
C
19
star
17

bob

An open source monolithic kernel for Playstation Vita's Toshiba MeP security processor
C
18
star
18

bert

Client and circuit for Playstation Vita/TV's System Controller RPC interface
Python
17
star
19

EZINA

Easy inactive os0 backup tool
C
15
star
20

broombroom

Playstation Vita first_loader hack for units with SoC v4.0 or lower
C
15
star
21

Vita-NDP

Device/Partition manager for PSP2
C
14
star
22

v-kaio

All-In-One kplugin + manager for PSVita
C
13
star
23

PSP2-CBAnim

BootAnimation creator for enso_ex and CBS-Manager
C
12
star
24

SceFsTool-PSP2

A "manager" for PS Vita's EMMC/GameCard/MemoryCard
C
11
star
25

alice

An open source monolithic kernel for Playstation Vita's ARM Cortex-A9 MPCore main application processor
C
10
star
26

psp2etoi

A tool to manage PlayStation Vita/TV's Unique Device Identifiers
C
9
star
27

teensy4vfi

Teensy 4.x firmware for Voltage Fault Injection research
C
9
star
28

psp2pm

Producting Mode (manufacturing_mode) enabler/disabler for PSP2 Dolce and Vita
C
8
star
29

Preloader-Vita

Preloader for REX
C
7
star
30

PKGinstallerLauncher

A custom launcher for Playstation Vita's Package Installer, allowing user to choose pkg location.
C
5
star
31

blobpak

unorganized encrypted file container aiming to be indistinguishable from garbage data
C
4
star
32

psp2spl

A custom tiny lv0 framework for Playstation Vita
C
4
star
33

vita-nskbl-dumper

C
3
star
34

WIP-vita-old

Some public WIP projects.
C
3
star
35

PSP2Info

A small utility that dumps PS Vita/TV's important system info.
C
2
star
36

ineedsettings

Vita Settings app extension plugin
2
star
37

psp2ref

"Reference headers" for interacting with Playstation Vita/TV's hardware.
C
2
star
38

RandomVitaShit

Compiled/Closed - source hbs/Mods
1
star
39

RFG

Random FemBoy Generator
Java
1
star