カスタムファームウェア
カスタムファームウェア(CFW、Custom Firmware)とは、新しい機能を搭載したり隠された機能をロック解除するために、サードパーティーによって非公式に改造されたファームウェアのことを指す。主にゲーム機や様々な組み込み機器などのデバイス上で動作するが、多くの場合、PlayStation PortableやPlayStation 3、PlayStation Vita、ニンテンドー3DSなどのゲーム機の公式のシステムソフトウェア(公式ファームウェア、あるいは単にFW(Firmware)やOFW(Official Firmware)などと呼ばれる)が改造されたものを指す。
通常の場合、公式ファームウェアでは署名済み(つまり、動作が公式に許可された)ソフトウェアのみが起動できる。しかし、CFWでは、動作が許可されていないHomebrew(自作のアプリケーション)やゲームデータのバックアップなどをゲーム機上で直接実行できる。ただし、CFWはソフトウェアの著作権侵害につながるので、任天堂やソニーなどのゲームメーカーは、CFWの導入をはじめとしたゲーム機の改造を一切認めていない。そのため、システムの脆弱性を突くエクスプロイトなどの特殊な方法を使用しない限り、公式ファームウェアをCFWに書き換えることはできない。また、公式ファームウェアの更新の際、CFWやそれに準ずるプログラムを導入可能にする脆弱性を利用不可能にすることがある。
CFWは、ソニーが販売した携帯用ゲーム機PlayStation Portableでよく知られる。PSPのCFWには、Dark_AleXによるM33 のほか、5.50GEN シリーズ、Minimum Edition(ME / LME)、PROなどがある。
CFWは、PlayStation 3にも存在する。ただし、2019年9月現在、CFWが導入できるのは初期のモデルおよびスリムモデル(CECH-20xxからCECH-25xxまで)のみ。スリムモデル(CECH-30xx)およびスーパースリムモデルは、CFWとほぼ同様の機能を備えたHEN(Homebrew Enabler)のみ導入可能。
PlayStation Vitaには、PS VitaのPSPエミュレーター上で実行できるPSP用CFWを意味するeCFWがある。eCFWには、ARKやTN-V、およびAdrenalineなどがある。特にAdrenalineは、システムレベルでハッキングを行っているため、より多くの機能を利用することができる。
2016年には、PS Vitaハックシーンが大きく変わった。MoleculeというハッキングチームがHENkakuをリリースし、FW3.60でPS VitaのCFW導入を可能にした。また、その後taiHENをリリース。taiHENは、HENkakuの最新バージョンが実行されるフレームワークである。これにより、PSPで使用していたようにシステムレベルでプラグインをロードすることができ、様々な機能の変更や追加が可能になった。また、Ensoを使用すれば、Vitaのブートローダーの脆弱性を利用してHENkakuを持続可能にし、ブート時に実行できるようになる。そのため、VitaにはHENkakuとtaiHEN、およびEnsoを含む完全なCFWが確立されている。3.60のユーザーは、Henkaku Ensoのまま3.65に更新することもできる。
ニンテンドー3DSの改造シーンには、オリジナルのゲームカートリッジをエミュレートするマジコンとCFWの両方が含まれる。現在最も広く使用されているCFWは、Aurora WrightとTuxSHによって開発されたLuma3DSである。これにより、ニンテンドー3DS上で未署名のCIA(CTR Importable Archives)ファイルをインストールできる。過去のCFWには、Gateway(DRM経由でフラッシュカートリッジにロックされた独自のCFW、3DS初のCFW)やPasta、RxTools(初期に無料で広く使用されたもの)、Cakes CFW(初のオープンソースCFW)、ReiNAND(Luma3DSのベース)、およびCorbenik。現在開発中のCFWはLuma3DS(以前はAuReiNANDとして知られていた)のみ。
3DSのCFWは当初、EmuNANDおよびRedNAND(3DSのNANDメモリのコピーを含むSDカードのパーティション化されていないスペースからシステムを起動する機能)に依存していた。これらは、EmuNANDが正常に機能しなくなった場合や使用できなくなった場合に通常のシステムNANDが影響を受けないため、3DSシステムをブリックから保護できる。さらに、EmuNANDは通常のシステムNANDとは別に更新することも可能。これにより、ユーザーは、システムNANDが脆弱なバージョンを保持しながら、EmuNANDに最新のシステムバージョンをインストールすることができる。そのため、古い3DSシステムバージョンでオンラインプレイとニンテンドーeショップへのアクセスが可能。
EmuNANDはarm9loaderhaxのリリースにより廃止された。arm9loaderhaxは3DS起動時のARM9エクスプロイトで、これによりSysNANDを安全に使用かつ更新できるようになった。ただし、このエクスプロイトでは、インストールに必要なコンソール固有のOTPを取得するために、非常に初期のシステムバージョンにダウングレードする必要があった。
2017年5月19日、arm9loaderhaxに代わって、sighaxと呼ばれる新しいエクスプロイトがリリースされた。sighaxは、bootROMのコンテキストでコードの実行を許可するため、ダウングレードやOTPが不要になり、ユーザーがシステムをさらに素早く制御できるようになった。続いて、sighaxを使いやすく改良したBoot9Strapがリリース。それと同時に、ntrbootと呼ばれる別のbootROMエクスプロイトが発表された。これにより、bootROMに存在するバックドアを使用して、ファームウェアバージョンに関係なく、3DSでシステム全体を制御できるようになった(bootROMはファームウェアのようには更新できないため)。ただし、導入にはマジコンと磁石が必要。最初のリリースは8月12日で、AceKard 2iとR4i Gold 3DS RTSをサポートしていた。
Nintendo SwitchのCFWには、AtmosphereやReiNX、およびSXOSがある。
ゲーム機のほか、デジタルカメラやワイヤレスルーター、およびスマートテレビなど、様々なデバイスでCFWを導入できる。以下に主なものを列記する。
キヤノン製デジタルカメラ用のCHDKおよびMagic Lantern
Nikon製デジタル一眼レフカメラ用のNikon Hackerプロジェクト
ワイヤレスルーター向けのファームウェアプロジェクトには次のものが含まれる。
Ben NanonoteやBuffalo WZR-HP-G300NH、および最小限のリソースを持つコンピューター用のLibreWRTプロジェクト
OpenWrtおよびDD-WRTなどの派生
Instruments AR7チップセットをベースにしたADSLゲートウェイルーター用のRouterTech(PspbootまたはAdam2 ブートローダーを使用)Texas
ケーブルモデムのアンキャッピングを可能にするCable HackとSigma(法律に抵触するおそれがある)
SONY製ウォークマンA30/A40/A50/ZX300/WN1A/WN1Z 用のcustom firmware