플레이스테이션 포터블 홈브류
플레이스테이션 포터블 홈브류(PlayStation Portable homebrew)는 플레이 스테이션 포터블(PSP)상에서 동작하는 사용자 제작 소프트웨어이다. PSP의 판매 및 지원을 담당하는 소니 컴퓨터 엔터테인먼트(SCE)사가 PSP상에서의 홈브류 실행을 권하지 않기 때문에 비정규 소프트웨어라고도 한다.
PSP 이전에는 외부의 툴이나 소프트웨어를 통하지 않고 독자적인 프로그램을 작동시킬수 있는 휴대용 게임기가 거의 없었지만, PSP는 초기 펌웨어에 SCE가 서명하지 않은 코드도 실행이 가능하다는 보안 문제가 존재했다. 이는 매우 치명적인 보안 결함이면서도, 동시에 높은 기본 사양과 시스템의 유연성과 더불어 세계의 여러 개발자들이 홈브류를 개발하게 하는 계기가 되었다. 이 문제가 수정된 뒤에도 PSP 본체의 해석과 개조와 함께 많은 게임과 소프트웨어가 계속 제작되고 있다.
홈브류는 간소한 퍼즐 게임부터 시작해서 JPEG 등의 이미지 뷰어, 쉽게 그림을 그릴 수 있는 페인트 툴, 한층 더 고도인 패밀리 컴퓨터나 메가 드라이브의 에뮬레이터, 동영상 공유 사이트 이용 등 그 수준과 범위의 폭이 매우 넓다. 특히 UMD를 덤프한 PSP 게임 타이틀을 실행하게 해 주는 홈브류도 존재한다.
SCE는 이런 행위를 용납하지 않으려 하고 있으며, 정기적으로 시스템 소프트웨어나 메인보드 등의 시스템 구성을 향상시켜 이러한 비정규 프로그램의 실행이나 설치를 차단하는 보안 개선을 하고 있다. 새로 제조되는 PSP는 공장 출고시에 최신 시스템 소프트웨어를 설치해 홈브류 사용을 차단하고 있으므로 위에 나열된 것과 같은 홈브류를 실행하기 위해서는 시스템을 수정해야 한다. 이러한 프로그램의 실행이나 시스템의 변경은 사용권 계약서를 위반하는 행위이기 때문에, 홈브류를 설치/사용했거나 그 흔적이 있는 PSP는 SCE에 의한 제품 보증 및 AS에서 제외된다. 또한 저작권법상 저작물의 동일성 유지권(대한민국 저작권법 제13조 제1항)에 저촉된다는 주장도 있다. 현재로서는 개인의 사용 범위에서 법적 조치가 취해졌다는 보도는 없지만, 일본에서 개조한 PSP 본체를 인터넷 상에서 판매하던 사람이 상표법 위반으로 체포된 사례는 있다.
그러나 순정의 펌웨어로 덮어씌워 흔적을 지우는 방법도 있어서, 이런 식으로 시스템을 되돌려 버리면 외관이나 간단한 시험작동 정도로는 순정품과 홈브류를 설치했던 기기의 판별이 불가능하다. 하지만 PSP의 Flash1 구역에 남아있는 Config.se 파일에는 흔적이 남아있게 되므로 보증에서 제외될 수 있다. 따라서 일반 사용자가 중고 PSP를 구입할 때는 각별한 주의가 필요하다.
앞서 서술한 대로 초기의 공식 시스템 소프트웨어(1.00, 1.50)에는 SCE의 서명이 없는 사용자 제작 프로그램을 실행시킬 수 있는 버그가 있었다. 그러나 단 한번이라도 업데이트되면 보통의 방법으로는 이전의 시스템 상태로 되돌리는 일은 불가능하고, 공장 출고되는 PSP에는 항상 최신의 펌웨어가 설치되어 있으므로 홈브류를 사용하기 위해서는 어떤 방식으로든 시스템 소프트웨어의 다운그레이드가 필요했다. (이러한 다운그레이드는 후에 서술하는 커스텀 펌웨어의 설치에도 필요한 작업이었다.) 이것도 일종의 헛점을 이용하는 것이므로 버전마다 순서나 수단이 다르다. 참고로 여기 설명된 방법은 모두 1000번대 기종에만 해당되는 것이며, 2000, 3000번대인 PSP는 다운그레이드 작업이 불가능하거나 의미가 없다.
커스텀 펌웨어(Custom firmware, CFW)는 넓은 의미에서는 PSP에서 동작하는 공식 시스템 소프트웨어를 개조한 모든 종류의 비공식 펌웨어, 좁은 의미에서는 Dark AleX가 제작한 비공식 펌웨어를 가리킨다. 이것은 Dark AleX가 최초로 커스텀 펌웨어의 개념을 만들었거니와, Dark AleX 이외에는 커스텀 펌웨어를 개발하는 개발자가 없었기 때문이기도 하다.
덧붙여 SCE는 PSP를 제어하는 소프트웨어를 '시스템 소프트웨어'라고 칭하지만, 홈브류 개발 커뮤니티에서는 커스텀 펌웨어의 존재에 의해 펌웨어라고 부른다.
PSP의 구형(1000번대)과 중기형 (2000번대) 사이에 설치 방법이 약간 다르지만, 대체로는 다음 도구가 준비되어 있어야 한다. 시스템 소프트웨어의 버전이 2.80을 넘는다면 PSP 본체만으로는 커스텀펌웨어의 설치가 불가능하다.
2008년 7월 중순 이후에 출시된, 외포장 상자에 인쇄된 일련 번호의 끝에 기재된 문자가「G」인 PSP는 CPU의 변경에 의한 물리적 대책이 적용되어 판도라 배터리에 의한 커스텀 펌웨어 설치가 불가능하다. 또한 최신 기종인 PSP-3000 시리즈에서는 2000번대 이상의 보안 대책이 적용되어 있어 모든 방식의 다운그레이드가 막혀 있다.
SCE 순정 배터리 팩은 EEPROM을 내장하고 있는데, 이 회로를 시스템적으로 변경하면 시스템을 메모리스틱에서 불러오도록 하는 '서비스 모드'를 실행할 수 있는 열쇠가 된다. 이렇게 개조된 배터리로 서비스 모드로 들어가, 시스템 소프트웨어를 다운그레이드하거나 아예 그 상태로 커스텀 펌웨어를 설치할 수 있다. 또한 갖가지 소프트웨어적 고장을 사용자가 스스로 시스템을 리셋해 수리할 수도 있지만, '부당한 수리'로 인한 사용자 계약서 위반으로 간주되어 보증에서 제외될 수 있으므로 유의해야 한다.
판도라 배터리는 이 작업에 필요한 개조된 배터리와 매직 메모리스틱을 묶어 부르는 호칭이었지만, 배터리만을 '판도라 배터리'라고 부르는 경우가 오히려 더 많아졌다.
공식 펌웨어에 개조를 하는 형태이기 때문에, 기본적으로 공식 펌웨어의 기능은 모두 사용이 가능하다. 그 밖에도 개조되거나 특별한 기능도 있다.
앞서 설명했듯이 SCE가 배포하는 프로그램 이외의 것을 사용해 PSP의 시스템 소프트웨어를 수정하여 사용하는 것은 시스템 소프트웨어의 사용권 계약에 위반된다. 또 불법 복제 증가 등의 원인이 되기 때문에 SCE도 여러 대책을 강구하고 있다.
Pandora's Battery가 발표될 때까지는 부정한 프로그램을 사용하는 것으로써 시스템이 개선 가능한 취약점은 주소 시스템 소프트웨어에 의해 방지되어 왔다.
홈브류를 실행할 수 있는 취약점이 수정되었다.
TIFF의 취약점이 수정되었다.
TIFF의 취약점이 수정되었다.
루미네스를 이용해 임의의 코드를 실행할 수 있는 취약점이 수정되었다.
GripShift를 이용해 임의의 코드를 실행할 수 있는 취약점이 수정되었다.
단지 가격의 인하를 위한 목적도 있었지만, 홈브류를 막기 위한 것도 있다.
PSP-1000 시리즈의 최초 기판. 조작에 불편도 없고 모든 버전으로 다운그레이드 가능한 기판이다.
시스템 소프트웨어 버전 1.50이 동작하지 않도록 되어 있다. 본체의 특수 영역을 수정하는 것으로 동작이 가능하다.
PSP-1000시리즈의 최신 기판. 아마도 PSP-1000 시리즈의 마지막 기판일 것으로 추정된다. TA-082와 같은 방법으로 1.50이 동작하지만, 밝기 조절에 문제가 발생한다.
PSP-2000 시리즈의 최초 기판. 배터리의 EEPROM의 변경이 가능하다.
판도라 배터리 발표 이후에 발매되었지만, 방지책은 아무것도 되어 있지 않다. 이것은 근본적인 대책을 내기 위해 시간이 필요했기 때문이다.(본격적인 방지책이 나온 것은 2008년 7월 이후의 TA-088 v3기판부터이다.)
TA-085의 일부 교환. 배터리의 EEPROM 변경이 불가능하다.
TA-085 v2와의 변경점을 찾을 수 없기 때문에 TA-085 v3라고도 불린다. 배터리의 EEPROM 변경이 불가능.
이전의 방법으로 지그킥 배터리를 사용할 수 없지만, 새로운 방법을 이용하면 동작한다.
처음으로 본격적인 판도라 대책이 적용된 기판. 2008년 7월 중순 이후의 PSP-2000에 적용되어 서명이 없는 IPL을 불러올 수 있는 취약점이 수정되었다. 현재까지 이 취약성을 이용해 커스텀 펌웨어를 기동시켰기 때문에, 2010년 4월 현재까지도 이 기판에서는 커스텀 펌웨어를 설치할 수조차 없다.
TA-088 v3에 이어, 2008년 9월에 소량 판매된 기판. TA-088 v3에 적용되어 있던 대책이 적용되어 있지 않고, 커스텀 펌웨어를 설치할 수 있다. 이 기판에 대해서는 여러 가지 설이 있지만, 자세한 것은 불명.
PSP-3000시리즈의 최초 기판. TA-088 v3 기판의 대책에 배터리 읽기에도 방지 대책이 적용되어 매직 메모리스틱뿐만 아니라 지그킥 배터리 자체가 작동하지 않아 판도라 배터리가 완전히 방지되었다. 2009년 1월 현재까지도 이 기판에 커스텀 펌웨어의 설치방법이 생겨나지 못했다. 이 기판이 TA-090(TA-090 v1)이라는 말도 있지만, 자세한 것은 불명.
홈브류를 실행할 수 있다고 하는 것은 당연히 악의를 가진 사람이 PSP를 기동 불능으로 만드는 코드를 삽입한 홈브류를 배포할 가능성도 있다는 것이다. 그리고, 실제로 PSP를 표적으로 한 트로이 목마가 확인되고 있지만, 2009년 기준으로는 한 종류밖에 확인되지 않았다.