플레이스테이션 포터블 홈브류

섬네일|300px|PSP에서 동작중인 홈브류
**플레이스테이션 포터블 홈브류**(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는 다운그레이드 작업이 불가능하거나 의미가 없다.

* **메모리스틱을 이용**（2.00/2.01→1.50）（2.71→1.50）（2.80→1.50）（1.50→ 1.0）
: 메모리 스틱에 다운그레이드용의 데이터를 넣어 실행해 다운그레이드한다.

* **GTA:LCS**（3.03→1.50）（2.50/2.60→1.50, **루미네스를 이용**（3.50→1.50）（3.11→1.50）
: 그랜드 테프트 오토 리버티 시티 스토리즈와 루미네스의 초기 발매 버전을 이용하면 펌웨어의 다운그레이드가 가능하다. 최근 발매되고 있는 제품은 이러한 버그가 수정되어 있으므로, 중고로 이 게임의 타이틀을 얻지 않는 한 이용하기 어려운 방법이다.

* **판도라 배터리**
: 일부를 제외한 거의 모든 PSP의 시스템 소프트웨어를 1.50으로 다운그레이드할 수 있다.자세히는 후술하는 '커스텀 펌웨어' 단락을 참조하라.

## 커스텀 펌웨어
섬네일|right|PSP-1002전의 한 쌍의 CFW5.50서 실행된다.
**커스텀 펌웨어**(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을 내장하고 있는데, 이 회로를 시스템적으로 변경하면 시스템을 메모리스틱에서 불러오도록 하는 '서비스 모드'를 실행할 수 있는 열쇠가 된다. 이렇게 개조된 배터리로 서비스 모드로 들어가, 시스템 소프트웨어를 다운그레이드하거나 아예 그 상태로 커스텀 펌웨어를 설치할 수 있다. 또한 갖가지 소프트웨어적 고장을 사용자가 스스로 시스템을 리셋해 수리할 수도 있지만, '부당한 수리'로 인한 사용자 계약서 위반으로 간주되어 보증에서 제외될 수 있으므로 유의해야 한다.

판도라 배터리는 이 작업에 필요한 개조된 배터리와 매직 메모리스틱을 묶어 부르는 호칭이었지만, 배터리만을 '판도라 배터리'라고 부르는 경우가 오히려 더 많아졌다.

* **지그킥 배터리**（JigKick Battery）
: 서비스 모드를 구동할 수 있는 배터리는 '지그킥 배터리'라고 불리고 있다.('툴 배터리', '시스템 모드 배터리'라고 부르기도 한다.) 시스템 소프트웨어 1.50인 PSP나 커스텀 펌웨어가 설치된 PSP에서 인터넷상에서 배포되고 있는 소프트웨어를 이용해 순정 배터리의 시스템을 변경해 지그킥 배터리로 만들 수 있다. 1000번대 PSP용 배터리 팩의 케이스를 뜯고 내부의 제어 기판을 약간 변경하는 것으로 물리적으로 만드는 것도 가능은 하지만, PSP에 사용되고 있는 리튬 이온 배터리의 배터리 셀은 작동 전압에 매우 까다로운 특성이 있어 서투르게 개조한 경우 배터리 셀이 폭발할 가능성도 있기 때문에 일반 사용자에게는 권장하지 않는다. 대부분의 경우 시스템적으로 개조된 배터리는 다시 원래대로 되돌릴 수도 있다.
: 커스텀 펌웨어를 설치하거나 다운그레이드 하기 위해서 필요한 지그킥 배터리를 만드는 데는 커스텀 펌웨어나 버전 1.50인 PSP를 소유하고 있지 않으면 안 된다고 하는 모순된 성질상, 지그킥 배터리는 매우 얻기 곤란해 커스텀 펌웨어의 설치에 최대의 장벽이었다. 그러나 최근에는 애초에 시스템을 지그킥 배터리처럼 만든 배터리가 판매되고 있다. 순정 배터리를 개조한 위법제품도 아니므로, 비순정 주변기기 취급을 받기 때문에 매우 구하기 쉬워졌다.
: 덧붙여, 순정 배터리에는 내부 구조의 개정된 버전이 있어 최근 판매되고 있는 배터리에서는 물리 변경이나 시스템적인 변경에 의한 지그킥 배터리로 만들 수 없다는 제품도 있다는 보고가 있다.
* **매직 메모리스틱**（Magic Memory Stick）
: 매직 메모리스틱은 메모리 스틱의 인덱스에 IPL을 기입한 메모리스틱이다. 지그킥 배터리에 의해 서비스 모드가 실행된 PSP는 자동적으로 메모리스틱의 IPL을 읽어들여 내장 펌웨어가 아닌 메모리스틱에 설치된 소프트웨어를 실행하기 때문에, 이 IPL에 시스템 변경용의 소프트웨어를 입력하는 것으로 커스텀 펌웨어의 설치가 가능해진다.
: 매직 메모리스틱의 내부 설정은 일반적인 메모리스틱과는 다른 특수한 상태가 되어야 하기 때문에, 단순하게 IPL을 컴퓨터상에서 복사하는 것만으로는 제작이 불가능하고 전용 소프트웨어를 이용할 필요가 있다.
: 현재 상태로서는 매직 메모리스틱을 제작하는 소프트웨어는 마이크로소프트 윈도우용 뿐이기 때문에 다른 운영체제를 사용하는 사용자는 조금 불편할 수 있다. 또 매직 메모리스틱의 제작에는 시스템 소프트웨어 업데이트 프로그램의 구버전이 필요한데, 저작자에 의도에 반해 2차 배포할 경우 저작권법 위반이라는 문제가 있다.

### CFW의 주요한 개발자
; Dark AleX
: 커스텀 펌웨어의 개발자. 별명. Team M33. 애칭은 DAX. 몇번이나 은퇴 선언을 했지만, 활동을 복귀했다. 본명은 Alejandro. 스페인의 학생.
; BOOSTER
: DeviceHook의 개발자. 일본인. DeviceHook의 개발 종료를 선언했지만, 판도라 배터리의 개발에 참여해 개발 활동의 명확한 은퇴 선언은 하지 않았다.
; Team M33
: Dark Alex가 은퇴 선언을 한 후에 활동을 시작한 러시아의 해커 팀. 그러나, 실제로는 Dark Alex가 소니 컴퓨터 엔터테인먼트의 압력과 가족의 차가운 시선을 피하기 위해서 활동 명을 바꾼 것이 3.71M33 공개시에 밝혀졌다.
; Miriam
: PSPGEN 에서 활동했던 개발자이다. Dark AleX가 발표하지 않은 버전대의 커스텀 펌웨어를 발표하고 있었으며, 이것은 X.XX GEN 형식의 버전명을 가졌다. 2009년 1월 13일, 5.02HEN-A로 인한 DAX와 Alek와의 마찰로 현지 시간 22시 22분 은퇴 선언을 했다. 이전에 _HellDashX_ 라는 닉네임으로 활동했었다.

### 기능
공식 펌웨어에 개조를 하는 형태이기 때문에, 기본적으로 공식 펌웨어의 기능은 모두 사용이 가능하다. 그 밖에도 개조되거나 특별한 기능도 있다.

#### UMD의 덤프 및 덤프된 UMD이미지의 실행
: ISO, CSO(독자적인 압축 형식) 형식으로 덤프된 UMD이미지 데이터를 메모리스틱으로부터 읽어들이는 기능으로, PSP 본체에 UMD를 삽입할 필요 없이 PSP 게임을 실행할 수 있다. UMD의 데이터 덤프는 커스텀 펌웨어의 기본 기능으로 제공되고 있는 덤프 시스템으로 쉽게 가능하다.
: 메모리스틱으로부터의 게임 데이터(ISO)의 로드는 UMD로부터 데이터를 읽어들이는 속도보다 훨씬 빠르고, 독자적인 압축 형식인 CSO의 로드도 ISO만큼은 아니지만 UMD의 읽기 속도보다는 빠르다. UMD를 읽지 않기 때문에 본체에 걸리는 부하가 적고, 배터리의 지속 시간도 보통의 약 1.5배가 된다고 하는 큰 이점이 있다.
: 그렇지만, 특수한 루트를 통해서 입수된 소프트웨어의 복사본이 발매일 전후에 유출되어 인터넷 등에 공개되는 사태도 드물지 않고, '본체는 팔리고 있는데 소프트웨어가 팔리지 않는다'는 비정상적인 현상이 발생하는 원인이 되는 등 불법복제를 유도한다는 문제가 있다.

#### 홈브류의 실행
: Homebrew Enabler라고 불리는, 최신의 펌웨어로 홈브류를 실행 가능하게 하는 프로그램이 있다. 대표적인 예가 여러 가지 게임의 에뮬레이터다. 최신의 펌웨어에는 제약 사항이 많기 때문에, 제약이 없는 펌웨어 버전 1.50으로 다운그레이드한 후 실행하는 경우가 많지만 PSP-2000에서는 펌웨어 버전 1.50의 환경을 구축하기 힘들기 때문에 최신의 펌웨어로 사용 가능한 홈브류의 개발도 활발하다.
: TimeMachine의 발표에 의해 PSP-2000에서 펌웨어 버전 3.40과 1.50을 혼합해 1.50 커널 구축이 가능해졌다.

#### 리커버리 모드
: PSP의 개조에 의해 정식 메뉴인 크로스 미디어 바(XMB)가 실행되지 않을 때 복구 메뉴를 불러올 수 있다. 또 CFW의 설정을 바꾸거나 플러그인을 사용하도록 하는 등의 일도 여기서 가능하다.

#### 플러그인
: PSP의 GUI인 크로스 미디어 바의 확장이나 게임의 스크린샷 등의 기능을 추가할 수 있다. 개발 환경이 갖추어지고 있기 때문에 많은 개발자에 의해 플러그인이 공개되고 있다.

## SCE의 대응
앞서 설명했듯이 SCE가 배포하는 프로그램 이외의 것을 사용해 PSP의 시스템 소프트웨어를 수정하여 사용하는 것은 시스템 소프트웨어의 사용권 계약에 위반된다. 또 불법 복제 증가 등의 원인이 되기 때문에 SCE도 여러 대책을 강구하고 있다.

### 시스템 소프트웨어
Pandora's Battery가 발표될 때까지는 부정한 프로그램을 사용하는 것으로써 시스템이 개선 가능한 취약점은 주소 시스템 소프트웨어에 의해 방지되어 왔다.
; 버전 1.51
홈브류를 실행할 수 있는 취약점이 수정되었다.
; 버전 2.01
TIFF의 취약점이 수정되었다.
; 버전 2.81
TIFF의 취약점이 수정되었다.
; 버전 3.51
루미네스를 이용해 임의의 코드를 실행할 수 있는 취약점이 수정되었다.
; 버전 5.03
GripShift를 이용해 임의의 코드를 실행할 수 있는 취약점이 수정되었다.

### 메인보드
단지 가격의 인하를 위한 목적도 있었지만, 홈브류를 막기 위한 것도 있다.

* PSP-1000 시리즈
; TA-079
PSP-1000 시리즈의 최초 기판. 조작에 불편도 없고 모든 버전으로 다운그레이드 가능한 기판이다.
; TA-082
시스템 소프트웨어 버전 1.50이 동작하지 않도록 되어 있다. 본체의 특수 영역을 수정하는 것으로 동작이 가능하다.
; TA-086
PSP-1000시리즈의 최신 기판. 아마도 PSP-1000 시리즈의 마지막 기판일 것으로 추정된다. TA-082와 같은 방법으로 1.50이 동작하지만, 밝기 조절에 문제가 발생한다.
* PSP-2000 시리즈
; TA-085
PSP-2000 시리즈의 최초 기판. 배터리의 EEPROM의 변경이 가능하다.
판도라 배터리 발표 이후에 발매되었지만, 방지책은 아무것도 되어 있지 않다. 이것은 근본적인 대책을 내기 위해 시간이 필요했기 때문이다.(본격적인 방지책이 나온 것은 2008년 7월 이후의 TA-088 v3기판부터이다.)
; TA-085 v2
TA-085의 일부 교환. 배터리의 EEPROM 변경이 불가능하다.
; TA-088
TA-085 v2와의 변경점을 찾을 수 없기 때문에 TA-085 v3라고도 불린다. 배터리의 EEPROM 변경이 불가능.
; TA-088 v2
이전의 방법으로 지그킥 배터리를 사용할 수 없지만, 새로운 방법을 이용하면 동작한다.
; TA-088 v3
처음으로 본격적인 판도라 대책이 적용된 기판. 2008년 7월 중순 이후의 PSP-2000에 적용되어 서명이 없는 IPL을 불러올 수 있는 취약점이 수정되었다. 현재까지 이 취약성을 이용해 커스텀 펌웨어를 기동시켰기 때문에, 2010년 4월 현재까지도 이 기판에서는 커스텀 펌웨어를 설치할 수조차 없다.
; TA-090(TA-090 v1)
TA-088 v3에 이어, 2008년 9월에 소량 판매된 기판. TA-088 v3에 적용되어 있던 대책이 적용되어 있지 않고, 커스텀 펌웨어를 설치할 수 있다. 이 기판에 대해서는 여러 가지 설이 있지만, 자세한 것은 불명.

* PSP-3000 시리즈
; TA-090(TA-090 v2)
PSP-3000시리즈의 최초 기판. TA-088 v3 기판의 대책에 배터리 읽기에도 방지 대책이 적용되어 매직 메모리스틱뿐만 아니라 지그킥 배터리 자체가 작동하지 않아 판도라 배터리가 완전히 방지되었다. 2009년 1월 현재까지도 이 기판에 커스텀 펌웨어의 설치방법이 생겨나지 못했다. 이 기판이 TA-090(TA-090 v1)이라는 말도 있지만, 자세한 것은 불명.

## 트로이 목마
홈브류를 실행할 수 있다고 하는 것은 당연히 악의를 가진 사람이 PSP를 기동 불능으로 만드는 코드를 삽입한 홈브류를 배포할 가능성도 있다는 것이다. 그리고, 실제로 PSP를 표적으로 한 트로이 목마가 확인되고 있지만, 2009년 기준으로는 한 종류밖에 확인되지 않았다.

; Trojan.PSPBrick
: Trojan.PSPBrick는 PSP의 펌웨어 버전을 다운그레이드 하는 툴이라고 속인 트로이 목마이다. 중요한 4개의 모듈을 삭제해 PSP를 사용 불가 상태로 만든다.

## 각주

## 외부 링크
* Dark-AleX - PSP Developer - 커스텀 펌웨어 제작자인 Dark AleX의 공식 사이트
* PS2DEV.ORG
* forums.ps2dev.org - 개발 포럼
* Qj.net - 뉴스 사이트
* Noobz공식 사이트
* PSPnfo - BOOSTER가 활동하고 있던 위키 사이트
* PSPnfo / PSP software 2nd. BBS 

분류:플레이스테이션 포터블
분류:커스텀 펌웨어