# ensō

Published articles for ensō.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## psvsd: Custom Vita microSD card adapter

DevFeed: [psvsd: Custom Vita microSD card adapter](<https://devfeed.tech/articles/psvsd-custom-vita-microsd-card-adapter-22351.md>)

Original publisher: [Read original article](<https://yifan.lu/2017/08/22/psvsd-custom-vita-microsd-card-adapter/>)

Author: yifanlu

Published: 2017-08-22T07:00:00Z

Content type: article

Language: en

Sources: [Yifan Lu](<https://devfeed.tech/sources/yifan-lu.md>)

Topics: [Reverse Engineering](<https://devfeed.tech/topics/reverse-engineering.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>), [USB](<https://devfeed.tech/topics/usb.md>), [pcie](<https://devfeed.tech/topics/pcie.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>), [boot](<https://devfeed.tech/topics/boot.md>)

Tags: [debug](<https://devfeed.tech/tags/debug.md>), [development](<https://devfeed.tech/tags/development.md>), [enso](<https://devfeed.tech/tags/enso.md>), [hacking](<https://devfeed.tech/tags/hacking.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [henkaku](<https://devfeed.tech/tags/henkaku.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [pcb](<https://devfeed.tech/tags/pcb.md>), [pcie](<https://devfeed.tech/tags/pcie.md>), [reverse-engineering](<https://devfeed.tech/tags/reverse-engineering.md>), [usb](<https://devfeed.tech/tags/usb.md>), [vita](<https://devfeed.tech/tags/vita.md>)

### AI overview

This article describes reverse engineering work on the PlayStation Vita's hardware and software, including identifying UART debug connections and examining USB capabilities across Vita models. It discusses the 3G modem's custom mini-PCIe connector and related board connections.

### Source excerpt

One thing I love about Vita hacking is the depth of it. After investing so much time reverse engineering the software and hardware, you think you would run out of things to hack. Each loose end leads to another month long project. This all started in the development of HENkaku Ensō. We wanted an easy way to print debug statements early in boot. UART was a good candidate because the device initialization is very simple and the protocol is standard. The Vita SoC (likely called Kermit internally as we'll see later on) has seven UART ports. However, it is unlikely they are all hooked up on a retail console. After digging through the kernel code, I found that bbmc.skprx, the 3G modem driver contain references to UART. After a trusty FCC search, it turns out that the Vita's 3G modem uses a mini-PCIe connector but with a custom pin layout and a custom form factor. The datasheet gives some useful description for each pin, and UART_KERMIT seemed like the most likely candidate (there's also UART_SYSCON which is connected to the SCEI chip on the bottom of the board, which serves as a system controller and a UART_EXT which is not hooked up on the Vita side). So finding a debug output port was a success, but with the datasheet in front of me, the USB port caught my attention. Wouldn't it be neat to put in a custom USB device?

## HENkaku Ensō bootloader hack for Vita

DevFeed: [HENkaku Ensō bootloader hack for Vita](<https://devfeed.tech/articles/henkaku-enso-bootloader-hack-for-vita-22350.md>)

Original publisher: [Read original article](<https://yifan.lu/2017/07/31/henkaku-enso-bootloader-hack-for-vita/>)

Author: yifanlu

Published: 2017-07-31T07:00:00Z

Content type: article

Language: en

Sources: [Yifan Lu](<https://devfeed.tech/sources/yifan-lu.md>)

Topics: [Reverse Engineering](<https://devfeed.tech/topics/reverse-engineering.md>), [Exploit](<https://devfeed.tech/topics/exploit.md>), [Vulnerabilities](<https://devfeed.tech/topics/vulnerabilities.md>), [boot](<https://devfeed.tech/topics/boot.md>), [Security](<https://devfeed.tech/topics/security.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>)

Tags: [bootloader](<https://devfeed.tech/tags/bootloader.md>), [cfw](<https://devfeed.tech/tags/cfw.md>), [enso](<https://devfeed.tech/tags/enso.md>), [exploit](<https://devfeed.tech/tags/exploit.md>), [hack](<https://devfeed.tech/tags/hack.md>), [hacking](<https://devfeed.tech/tags/hacking.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [henkaku](<https://devfeed.tech/tags/henkaku.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [reverse-engineering](<https://devfeed.tech/tags/reverse-engineering.md>), [security](<https://devfeed.tech/tags/security.md>), [vita](<https://devfeed.tech/tags/vita.md>)

### AI overview

This article describes a bootloader buffer-overflow vulnerability in the PlayStation Vita. The exploit can overwrite a function pointer, patch the kernel before it boots, and is reported as affecting firmware versions 3.61 through 3.65, while installation requires kernel privileges and modification of the internal storage's MBR.

### Source excerpt

When we (molecule) were reverse engineering the Vita's firmware years ago, one of the first vulnerabilities we found was in the bootloader. It was a particularly attractive vulnerability because it was early in boot (before ASLR and some other security features are properly initialized) and because it allowed patching the kernel before it booted (which expands what can be done with hacks). Unfortunately, the exploit required writing to the MBR of the internal storage, which requires kernel privileges. That means we would have to exploit the kernel (à la HENkaku) in order to install the exploit. (Before you ask, no it is not possible to install with a hardware mod because each Vita encrypts its NAND with a unique key. Also, there are no testpoints for the NAND, so flashing it is notoriously difficult... not as simple as the 3DS.) So, we mostly forgot about this vulnerability until quite recently when we finally all had some free time and decided to exploit it.