Custom firmware

This article possibly contains original research. Please improve it by verifying the claims made and adding inline citations. Statements consisting only of original research should be removed. (December 2025) (Learn how and when to remove this template message)

|

Short description: Type of third-party software

Custom firmware, often referred to as aftermarket firmware, constitutes unofficial, third-party modifications to the original firmware embedded in devices like video game consoles, smartphones, and various other embedded systems. These alterations may be designed to introduce new features, unlock hidden capabilities, or extend the functional lifespan of the hardware. Within the video game community, the term "custom firmware" is commonly shortened to CFW. It refers specifically to modified versions of a console's official system software (OFW or official firmware), enabling functionalities not sanctioned by the manufacturer.

## Contents

* 1 Video game consoles
* 1.1 Legality
* 1.2 PlayStation Portable, PlayStation 3 and PlayStation Vita/PlayStation TV
* 1.3 Nintendo 3DS
* 1.4 Nintendo Switch
* 2 Android
* 3 Other devices
* 4 References

## Video game consoles

Custom firmware often allow homebrew applications or ROM image backups to run directly within the game consoles, unlike official firmware, which usually only allow signed or retailed copies of software to run. Because custom firmware is often associated with software piracy, console manufacturers such as Nintendo and Sony have put significant effort into blocking custom firmware and other third party devices and content from their game consoles.

### Legality

Due to commonly being used to circumvent digital rights management, custom firmware is seen as a tool to enable piracy, although the act of installing custom firmware in itself may not be illegal.

In Japan, custom firmwares were outlawed as part of wider legislation in 2018 which made console modding illegal.[1]

### PlayStation Portable, PlayStation 3 and PlayStation Vita/PlayStation TV

Custom firmware is commonly seen in the PlayStation Portable handhelds released by Sony. Notable custom firmware include M33 by Dark_AleX as well as those made by others such as the 5.50GEN series, Minimum Edition (ME/LME) and PRO. Custom firmware on the PlayStation Portable enabled unofficial extensions of the hardware’s capabilities. Plugins such as RemoteJoyLite[2] allowed the console’s video output to be streamed in real time over USB to a connected computer monitor. Additionally, homebrew applications like iR Shell[3] leveraged the original PSP-1000’s built-in infrared port to implement universal remote control functionality for consumer electronics by sending remote codes via the IR interface

Custom firmware is also seen in the PlayStation 3 console. Only early "Fat" and Slim (CECH-20xx until early CECH-25xx) models are able to run custom firmware. Slim (late CECH-25xx and CECH-30xx) and Super Slim models can only run HEN (Homebrew Enabler), which has functionality similar to a custom firmware. There is also ODE (Optical Drive Emulator), HAN (etHANol) and HFW (Hybrid Firmware) for the PS3.

The PlayStation Vita/PlayStation TV has eCFW, meaning custom firmware for PSP running in the PSP emulator of the PS Vita/PS TV. These eCFWs include ARK, TN-V and more recently, Adrenaline, which includes more features since it was hacked from the native side. In 2016 a Team called Molecule released HENkaku (a HomeBrew Enabler, which has functionality similar to a custom firmware) for PlayStation Vita/PlayStation TV, which alters the PS Vita's/PS TV's firmware on version 3.60, which allows creating a custom firmware on the console. The team behind the original HENkaku has also released taiHEN. taiHEN is a framework on which the newest version of HENkaku runs. It is a way to load plugins at the system level like the user was used to on the PSP allowing them to change/add function to their console. Enso is a bootloader vulnerability of the PS Vita/PS TV that makes HENkaku permanent and allows to run it on the boot so the PS Vita/PS TV has a full CFW with HENkaku Enso. Users on 3.60 can also update to 3.65 without losing HENkaku Enso.

### Nintendo 3DS

The modding scene of the Nintendo 3DS primarily involve custom firmware (software which patches the official firmware "on the fly"), which requires an exploit to obtain control of the ARM9, the 3DS' security coprocessor, and, secondarily, flash cartridges, which emulate an original game cart (which can be solely used to play untouched game cart ROM backups). The current most widely used CFW is Luma3DS, developed by Aurora Wright and TuxSH, which allows unsigned CIA (CTR Importable Archives) installation, includes open-source rewritten system firmware modules, and exception handling for homebrew software developers.

Other past and abandoned CFWs included Gateway (a proprietary CFW locked to a flash cartridge via DRM and the first publicly available one), Pasta, RxTools (the first free and widely used one), Cakes CFW[4] (the first open source CFW, which used a modularized approach for patches and was the inspiration for the following ones), ReiNAND, which Luma3DS was originally based on, and Corbenik;[5] as of now the only custom firmware still currently being developed is Luma3DS (previously known as AuReiNAND). 3DS CFWs used to rely on "EmuNAND"/"RedNAND", a feature that boots the system from an unpartitioned space of the SD card containing a copy of the 3DS' NAND memory. These EmuNANDs could protect the 3DS system from bricking, as the usual system NAND was unaffected if the emuNAND is no longer functioned properly or was otherwise unusable. EmuNANDs could also be updated separately from the usual system NAND, allowing users to have the latest system version on the EmuNAND while retaining the vulnerable version on the system NAND; thus making online play and Nintendo eShop access possible on outdated 3DS system versions.

EmuNANDs were obsoleted by the release of arm9loaderhax, a boot-time ARM9 exploit that allowed people to safely use SysNAND and update it, as CFWs started patching the OS' update code so that official updates wouldn't remove the exploit. However, this exploit required a downgrade to a very early system version to get the console's unique OTP, necessary for the installation.

On May 19, 2017, a new exploit basis called sighax was released, replacing arm9loaderhax and allowing users to get even earlier control of the system, granting code execution in the context of the bootROM and thus a cleaner environment, with no downgrades or OTP required. Boot9Strap, a user-friendly version of sighax, was released. Sighax works by overflowing the signature parser pointer onto the stack so the hash of the firmware image is compared to itself since the parser doesn't validate certain fields.[6][7]

At the same time, another bootROM exploit called ntrboot was announced, which allows people to use a backdoor present in the bootROM to get full system control on any 3DS console regardless of the firmware version (as the bootROM can't be updated), only requiring a modified DS flash cartridge and a magnet. The initial release was on August 12, supporting the AceKard 2i and R4i Gold 3DS RTS cartridges.

### Nintendo Switch

Pages 11 and 12 of indictment of SX OS developers (Team Xecuter), regarding their software used on Nintendo Switch[8]

Currently, several custom firmwares for the Nintendo Switch console exist: Atmosphère, ReiNX and SX OS. The differences between them are largely inconsequential; Atmosphère remains in active development and is free and open-source software. ReiNX bases much of its code off Atmosphère[9] but with some modifications to runtime components and a different bootloader, while SX OS is closed source and paid, but largely based on Atmosphère code despite assertions to the contrary.[10]

Nintendo has made the Switch environment much more secure than previous consoles. Despite this, there exist notable bugs which lead to user exploits. Of these, the Nvidia Tegra stack bug (CVE-2018-6242)[11] is the most well-exploited. It leverages the Recovery Mode (RCM) of the Switch unit in order to push unsigned/unverified payloads,[12] in turn granting the user access to arbitrary code execution. This vulnerability has been further leveraged by users within the Switch hacking scene to reverse-engineer the firmware, leading to two other notable exploits: Nereba and Caffeine. While RCM is a hardware exploit, Nereba and Caffeine are software exploits and rely on the console being at or below specific firmware versions in order to make use of the exploits. RCM, being hardware related, merely relies on the console being vulnerable to that particular exploit and does not have a firmware requirement or range.

Due to Nvidia's disclosure of CVE-2018-6242, Nintendo was forced to address the vulnerability,[13] and during late 2018 began manufacturing and distributing units which have been hardware patched and are unable to access the RCM vulnerability. Any unit manufactured during or after this time is likely to be hardware patched, including the Switch Lite and the newer "red box" Switches, and any unit which is hardware patched and running a relatively recent firmware is unlikely to be able to access custom firmware at this time or in the future due to the unusually secure software environment of the Switch. These Switches are commonly referred to as "patched" Switches within the Switch modding community. While they cannot be modded by normal means ("softmodding"), a modchip can be soldered onto where the Switch's USB-C port would be after it is removed ("hardmodding"), thus circumventing the need to enter into RCM mode.

## Android

"Android ROM" redirects here. For a list of custom Android operating systems, like LineageOS, see List of custom Android distributions.

In Android, installing custom firmware, colloquially known as installing a custom ROM or Android ROM, is the practice of replacing the system partition of the Android operating system, usually mounted as read-only,[14][15] with a modified version of Android, also known as "flashing a ROM".[16] The procedure requires unlocking the bootloader, which in the past was generally not supported by device manufacturers, typically requiring some expertise in exploiting vulnerabilities in the operating system. However, since about 2015[17] several manufacturers, including Motorola,[18] OnePlus,[19] Google[20] Xiaomi, and Sony[21] support unlocking the bootloader (except on models that are locked by some carriers). This bypasses secure boot, without the need for exploits. The custom ROMs installed may include different features, require less power, or offer other benefits to the user; devices no longer receiving official Android version updates can continue to be updated. However, not all features of a phone may be properly supported by some custom ROMs.

## Other devices

Various other devices, such as digital cameras, wireless routers and smart TVs, may also run custom firmware.[22] Examples of such custom firmware include:

* Rockbox for portable media players
* iPodLinux for iPod portable media players
* CHDK[23] and Magic Lantern[23] for Canon digital cameras
* Nikon Hacker project for Nikon EXPEED DSLRs
* Coreboot and Libreboot for computers
* Many third-party firmware projects for wireless routers, including:
* LibreWRT project for Ben Nanonote, Buffalo WZR-HP-G300NH and other computers with minimal resources[24]
* OpenWrt, and its derivatives such as DD-WRT[23]
* RouterTech, for ADSL gateway routers based on the Texas Instruments AR7 chipset (with the Pspboot or Adam2 bootloader)
* Cable Hack and Sigma for uncapping cable modems, but with dubious legality[25][26]
* Firmware that allows DVD drives to be region-free
* SamyGO, modified firmware for Samsung smart TVs[27]

## References

1. ↑ "Japan Makes It Illegal To Mod Consoles". 10 January 2019. https://www.gamespot.com/articles/japan-makes-it-illegal-to-mod-consoles/1100-6464178/.
2. ↑ "Remote Joy Lite PSP" (in en-GB). 2024-05-08. https://www.gamebrew.org/wiki/Remote_Joy_Lite_PSP.
3. ↑ "IRShell PSP" (in en-GB). 2024-07-11. https://www.gamebrew.org/wiki/IRShell_PSP.
4. ↑ "Cakes CFW Developer Announces the dropping of the Project". https://github.com/mid-kid/CakesForeveryWan/releases/tag/202.
5. ↑ "Corbenik's author and maintainer announces his retirement from the project". 4 June 2016. https://gbatemp.net/threads/corbenik-another-cfw-for-advanced-users-with-bytecode-patches.429612/page-105#post-7371367.
6. ↑ "3DS BootROM exploit". https://zoogie.github.io/sh/.
7. ↑ "33.5c3". https://sciresm.github.io/33-and-a-half-c3/.
8. ↑ United States of America vs Max Louran, Yuanning Chen, and Gary Bowser, 2:20-cr-00127-RSL, pages 11–12 (United States District Court for the Western District of Washington at Seattle 20 August 2020).
9. ↑ "ReiNX removing Atmosphere name from Atmosphere code". https://github.com/Reisyukaku/NX_Sysmodules/commit/ec72f51531165f78d8d567abd6287a49d91e2800.
10. ↑ "Prominent scene developers and a snippet of SX OS reverse engineered code". https://twitter.com/fincsdev/status/1012153374089842689.
11. ↑ "CVE entry for Tegra bug". https://nvd.nist.gov/vuln/detail/CVE-2018-6242.
12. ↑ "Switchbrew list of public vulnerabilities". https://switchbrew.org/wiki/Switch_System_Flaws.
13. ↑ "FCC filing for hardware revision". https://fccid.io/BKEHAC001/Letter/02-FCC-Class-II-Permissive-Change-Letter-4349995#download.
14. ↑ "Non-A/B System Updates". https://source.android.com/devices/tech/ota/nonab.
15. ↑ Raja, Haroon Q. (May 19, 2011). "Android Partitions Explained: boot, system, recovery, data, cache & misc". Addictivetips (Addictivetips.com). Archived from the original on September 22, 2012. https://web.archive.org/web/20120922024642/http://www.addictivetips.com/mobile/android-partitions-explained-boot-system-recovery-data-cache-misc/. Retrieved September 15, 2012.
16. ↑ "Android ROM". PCMAG Encyclopedia. https://www.pcmag.com/encyclopedia/term/android-rom. Retrieved 26 May 2023.
17. ↑ "Unlock Bootloader - Supported Devices". https://developer.lge.com/resource/mobile/RetrieveBootloader.dev?categoryId=CTULRS0703. Example: the 2015 G4 is the first LG phone for which the bootloader can be unlocked.
18. ↑ "Unlocking the Bootloader | MOTOROLA Android Phones | Motorola Mobility LLC". https://motorola-global-portal.custhelp.com/app/standalone/bootloader/unlock-your-device-a.
19. ↑ "After-sales - Will rooting or unlocking the bootloader void my warranty? - OnePlus". https://oneplus.net/at/support/answer/will-rooting-or-unlocking-the-bootloader-void-my-warranty.
20. ↑ "Factory Images for Nexus and Pixel Devices | Google APIs for Android" (in en). https://developers.google.com/android/images#instructions.
21. ↑ "Unlock Bootloader - Open Devices - Sony Developer World". https://developer.sony.com/develop/open-devices/get-started/unlock-bootloader/.
22. ↑ How hackers are outsmarting smart TVs and why it matters to you
23. ↑ 23.0 23.1 23.2 "Custom Firmware Rocks!". Pcgamer. 2009-08-05. http://www.maximumpc.com/article/features/frimware_hacks?page=0,1. Retrieved 2009-08-13.
24. ↑ "Hardware Support". http://librewrt.org/index.php?title=Hardware_Support.
25. ↑ Poulsen, Kevin (2009-01-12). "Hardware Hacker Charged With Selling Cable Modems That Get Free Broadband — Update". Wired (Condé Nast). https://www.wired.com/2009/01/hardware-hacker/. Retrieved 2016-06-15.
26. ↑ Poulsen, Kevin (2004-02-05). "Cable Modem Hackers Conquer the Co-Ax". SecurityFocus. http://www.securityfocus.com/news/7977. Retrieved 2016-06-16.
27. ↑ "SamyGO: replacing television firmware". 2009-11-14. https://lwn.net/Articles/361445/. Retrieved 2009-12-11.

* v
* t
* e

Embedded systems

General terms|

* ASIC
* Board support package
* Bootloader
* Consumer electronics
* Cross compiler
* Embedded database
* Embedded hypervisor
* Embedded OS
* Embedded software
* FPGA
* IoT
* Memory footprint
* Microcontroller
* Single-board computer
* Raspberry Pi
* SoC

Firmware and controls|

* Closed platform
* Crippleware
* Custom firmware
* Defective by Design
* Hacking of consumer electronics
* Homebrew (video games)
* iOS jailbreaking
* PlayStation 3 Jailbreak
* Proprietary firmware
* Rooting (Android)
* Vendor lock-in

Software libraries|

* uClibc
* dietlibc
* Embedded GLIBC
* lwIP
* musl

Programming tools|

* Almquist shell
* Bitbake
* Buildroot
* BusyBox
* OpenEmbedded
* Stand-alone shell
* Toybox
* Yocto Project

Operating systems|

* Linux on embedded systems
* Linux for mobile devices
* Light-weight Linux distribution
* Real-time operating system
* Windows IoT
* Win CE

Programming languages|

* Ada
* Assembly language
* CAPL
* Embedded C
* Embedded C++
* Embedded Java
* MISRA C

* Lightweight browsers
* Open-source computing hardware
* Open-source robotics

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/Custom firmware. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Software:Custom_firmware&oldid=4344217"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template