최근 수정 시각 : 2024-08-25 11:22:30

PlayStation Portable/커스텀 펌웨어


파일:상위 문서 아이콘.svg   상위 문서: PlayStation Portable
1. 개요2. 상세3. 역사4. HEN(Homebrew Enabler)/LCFW(Light Custom FirmWare)5. 커스텀 펌웨어 관련 유틸리티 / 프로그램
5.1. 판도라의 배터리 / 매직 메모리스틱5.2. Prometheus5.3. HBL(Half-Byte Loader)5.4. KIRK 엔진 해킹5.5. Infinity
6. 관련 여파7. 그 외8. 관련 문서

1. 개요

소니의 휴대용 게임기인 PlayStation Portable의 정품 펌웨어를 해킹, 인증되지 않은 프로그램( 홈브루)을 구동할 수 있도록 내부를 개조한 커스텀 펌웨어를 뜻한다.

2. 상세

좀 더 상세하게 말하자면, 커스텀 펌웨어는 pre-IPL(Pre-Initial Program Loader, 부팅 후 실행되는 첫번째 코드이며 IPL을 로드하며 IPL은 Kernel을 로드한다.)의 취약점을 이용한 Kernel의 패치이다. Kernel을 패치함으로서 Kirk(IPL 블럭의 인크립션을 디크립트하는 조그마한 하드웨어 엔진. 보안키라고 보아도 무방하다)의 디크립션 및 PSP CPU의 IPL 블럭 확인 절차를 회피하게 하여 인증/인크립트 되지 않은 EBOOT이나 *.prx의 구동을 가능하도록 한다. 당시에는 Kirk이 리엔지니어링 되지 않았던 시절이었으므로, 아예 펌웨어를 개조함으로써 인증을 근본적으로 회피할 수 있도록 한 것이다.

마지막 정식 펌웨어인 6.61이 배포될 즈음엔 판도라 배터리 같은 특수한 장비 없이 그냥 메모리스틱[1]에 CFW 프로그램을 넣고 실행하는 것만으로도 손쉽게 CFW 설치가 가능한 수준에 왔고, 심지어 2016년에는 Infinity 프로그램이 등장하며 이전까지는 불가능했던 3000번대 모델의 영구적 CFW까지도 가능해져 버렸다.

3. 역사

2005년 6월 15일, 해커들이 PSP의 코드를 해체하여 온라인으로 배포한 것이 시초로 이미 1.0 펌웨어 버전에서는 인증되지 않은 프로그램이 구동됐었다. 소니는 급하게 1.50 펌웨어를 만들어 이를 막으려했지만, 이 역시 버그를 이용해 1.0 펌웨어에서 사용하던 홈브루들이 그대로 돌아갔었다. 하지만 당연히 2.0 펌웨어가 업데이트된 이후로는 불가능했고 커스텀 펌웨어같은 방법이 강구된다.

커스텀 펌웨어의 본격적인 시작은 Dark_AleX(다크알렉스)라는 닉네임으로 활동하던 한 해커로부터 시작된다. 2006년 10월에 그의 손에서 만들어진 2.71 SE(Special Edition)가 최초의 공식적인 PSP 커스텀 펌웨어이다. PSP-1000(초기형)의 기본 펌웨어는 1.50이었고[2], 그 당시에도 테스트 버전 격으로 1.50 펌웨어를 개조한 원시적인 커스텀 펌웨어가 존재했으나, 그 당시에는 1.50 펌웨어 기반에서 상위 펌웨어의 환경을 에뮬레이팅 하는 DeviceHook(디바이스훅)[3]이라는 프로그램이 대세였기 때문에 그다지 주목을 받지 못했다.

이 당시 커스텀 펌웨어의 주요 기능은 상위 펌웨어에서 1.50 커널을 자유자재로 사용하면서 홈브루를 사용하고 리커버리 모드를 통해 커스텀 펌웨어의 설정을 자유자재로 변경 가능하다는 점, 그리고 PSP의 중추라고 할 수 있는 낸드 플래시로의 접근이 용이하다는 것이었다. 참고로, 초기엔 ISO/CSO 파일 구동 기능은 존재하지 않았다. 애당초 커스텀 펌웨어는 특정 기기에서 인증되지 않은 프로그램, 즉 홈브루를 구동하기 위해 개발된 것이기 때문이다.

2007년 이후 3.03 / 3.10 / 3.30 / 3.40까지 나온 것이 OE(Open Edtion)으로 공식적인 다크알렉스의 작업물이다. 이후 다크알렉스는 은퇴를 선언했고, 3.51 / 3.52[4] / 3.60[5] / 3.71 / 3.80 / 3.90 / 4.01 / 5.00까지는 M-33이라는 팀에서 제작했다. 하지만 실제 M33팀의 정체는 Dark_AleX. 은퇴 후 M33이라는 명의로 계속해서 작업을 하고 있었던 것이다.

2.71 펌웨어에서는 PRX 파일을 메모리스틱에서 직접 불러오는 것이 가능하다. 즉 플러그인을 사용할수 있게 됐다. 3.03펌웨어는 AVC 코덱을 커펌에서 먼저 지원하면서 소니의 뒷통수를 때렸으며, 이로 인해 소니는 3.30에서 결국 480×272 해상도의 AVC 코덱을 지원할 수밖에 없었다. 그리고 소니가 프로토타입으로 시도하던 PS1의 에뮬레이팅도 3.03에서 본격적으로 Popsloader라는 Dark_Alex 제공 플러그인을 통해서 자유롭게 에뮬레이팅도 가능했다.

3.71 펌웨어에서는 1.50 커널 설치가 선택사항으로 변했으며 펌웨어 업데이트 방식도 수정되어 소니의 공식 업데이트 폴더를 이용하여 업데이트하는 방식이 되었다. 이후 이 방식이 정착되었다. 한때 가장 안정적인 커스텀 펌웨어로 평가받아서 이후 커스텀 펌웨어 버전이 나와도 3.71에 머무는 유저들이 많았다.

3.80 / 3.90은 사실 차이가 없지만, 3.90 M33-3는 다크알렉스가 이스터 에그를 숨겨 놓았다. 3.80부터 수정된 소니의 메모리스틱 로딩 모듈로 인해 일부 메모리스틱에서 로딩이 느려지는 문제가 있었으며, 3.71에서 머물던 유저가 많았던 이유이기도 했다. 하지만 다크알렉스는 이것을 Fatmsmod 패치(3.80/3.90/5.00), 스피드핵(5.00 m33-5부터)을 지원하는 방식을 통해 더욱 빠른 속도로 로딩하는 방식을 개발해 냈다. 다만 Fatmsmod의 경우는 패치를 하면 한글 읽기에서 문제가 발생했었기 때문에 상당히 유저들이 꺼리기도 했다.

3.60부터 시작된 상위 펌웨어용 홈브루 커널 개발로 인해서 2010년 9월 기준으로 1.50 커널용 홈브루는 거의 찾기 어렵게 되었다. 다만 커널 모드가 제한이 있는 상위 펌웨어의 경우는 PSP Filer의 낸드 플래시 접속(다만 요즘은 그냥 USB를 통해 연결하는 게 훨씬 낫다)이나 테마 제작용 홈브루 사용 등에서 제약이 따른다. 하지만 이는 타임머신 펌웨어 1.50(3.40의 모듈이 섞인다.)와 LEDA 패치(1.50 환경을 요구하는 홈브루를 일부 사용 가능하도록 펌웨어 환경을 에뮬레이팅하는 홈브루)로 많이 해결된 상태.

이후 5.00 M33-6 까지 갱신된 후 Dark_AleX는 "커다란 변경점이 없는 한 더 이상 커스텀 펌웨어에 관여하지 않겠다."라고 입장을 밝힌 상태이며, 실질적으로 PSP 해킹에 완전히 손을 뗐다고 보는 시각이 대다수다. 그리고 다크알렉스 포럼은 현재 문을 닫아버린 상태.

그 후 M33에 묻혀있던 팀인 PSPGEN에서[6] 5.50 기반 커스텀 펌웨어를 작업, GEN-D3까지 공개하였다. 그러나 Dark_AleX의 작업물에 비해 호환성이 떨어지고 불안정하다는 말이 많았고, 세이브 파일 호환 문제(M33 및 GEN-D2 전 버전에서 생성한 세이브 파일을 GEN-D3 펌웨어에서 읽어들이지 못하는 버그) 등 자잘한 버그가 튀어나오는 등 문제가 많았다. 또한 커스텀 펌웨어의 모토와는 달리 ISO 구동에만 집중하는 모습을 보여 그 점 탓에 까이기도 했다. GEN-D3 상의 패치로 프로메테우스가 존재한다. 아래 프로메테우스 항목 참조.

2011년 1월, 일본 해커인 neur0n이 m33 커펌을 기반으로 6.35Custom을 공개하였다.

2011년 2월 19일, neur0n이 6.35Custom과는 별개의 커펌인 6.37ME를 공개하였다.

그리고 같은 해 8월. 위의 neur0n이 6.60 ME를 공개하였다.

2012년 이후로, 소니가 PSP의 커스텀 펌웨어를 막는걸 사실상 포기한듯 하다. 현재 6.60버전의 커펌을 원클릭 수준으로 올릴 수 있는 프로그램이 나온지 오랜 시간이 지났는데도 이전까지의 빠른대응과는 달리 1년이 넘도록 막을 기미가 안보인다. 이제 슬슬 황혼기에 접어드는 PSP는 포기하고 차세대 기기인 PS VITA에 집중할 생각일지도. 하지만 소니는 현재 비타마저 거의 포기한 수준이라서... 덕분에 복돌이들은 신났다

2015년 초 소니가 6.61 펌웨어를 발매하면서 커펌 제작팀에선 빠르게 6.61커펌이 이루어졌다.

덧붙여 사람들이 잘 모르지만 커스텀 펌웨어는 불법이 아니다. 마찬가지로 아이폰 탈옥, 안드로이드 루팅도 위법이 아니며, PS2 하드로더, 닥터칩[7]도 위법이 아니다. 이유는 게임개발, PMP등으로도 사용할수 있기에 일종의 확장장치나 애드온처럼 보는 것.

하지만 저작권법은 별개이므로 이것들을 이용하여 복돌 게임을 구동하는 순간 불법이다. 애당초 커스텀 펌웨어의 개발 모토는 홈브루를 구동할 수 있는 환경을 구현하는 것이었고, CD 이미지의 구동 기능은 엄밀히는 UMD의 소음이나 배터리 절약, 로딩시간 감소, 다양한 확장기능의 이용을 목적으로 하는 홈브루의 일종에 속하며, 원칙적으로 CD 이미지 구동=커스텀 펌웨어라고 단순화할 수는 없다.

4. HEN(Homebrew Enabler)/LCFW(Light Custom FirmWare)

PSP의 메모리(RAM) 영역에 직접 패치하는 방식을 통해 커스텀 펌웨어와 비슷한 환경을 구현해주는 것을 말한다. LCFW는 flash0에 잔류 파일을 남긴다. 하지만 있든 없든 전혀 영향을 주지 않으므로 커스텀 펌웨어와 상관 없다고 보면 된다. 낸드플래시에 직접 설치되는 커스텀 펌웨어와는 다르게 램에 패치하는 형식이기 때문에 전원을 끄면 램 메모리에 적재된 내용이 사라지므로 다시 패치해야 한다. LCFW라는 단어는 Total_Noob이 TN(HEN)과 시기가 비슷하게 Pro가 나오자 Pro와 TN을 구분하기 위해 만든 말.

커스텀 '펌웨어'가 아니다. 다만 커스텀 펌웨어의 리버스 엔지니어링을 통해 만들어진 것이기 때문에 기능이 비슷하고 뭐든 상관 없는 복돌이들에겐 마찬가지니 이 항목에 넣음.

커스텀 펌웨어를 사용할 수 없는 PSP-2000의 일부 기판, PSP-3000, PSP Go에서 사용가능하기 때문에 최근의 주류는 이 쪽이다. 특정 펌웨어, 또는 특정 게임에서 찾아낸 익스플로잇을 이용하는 것이기 때문에 구동이 복잡하고 어려웠지만, 최근에는 Kirk해킹에 따라 정식 펌웨어에서 사인된 패치 홈브루 한 번 구동하면 끝. 최근에는 펌웨어가 나올 때마다 며칠만에 익스플로잇을 찾아내고 곧바로 LCFW가 나오는 판국이다.

HEN은 Homebrew Enabler라는 이름대로 홈브루만 구동하게 만들지만 LCFW는 ISO 구동 역시 지원한다는 것이 둘 사이의 거의 유일한 기능적인 면에서의 차이라고 보면 된다.(보통 HEN의 제작자들은 고의적으로 iso 구동기능을 넣지 않는다.)

5.03 ChickHEN (HEN) - 2009년 5월 7일 Devee라는 해커가 발표한 HEN. 커널 익스플로잇을 이용한다. 다만 해당 익스플로잇으로 진입하는 것이 어려워서 구동률이 상당히 낮았고 어려움이 있었다. 그리고 개발 의도와는 달리 ChickHEN 상태에서 돌아가는 ISO Loader 등이 만들어져 널리 퍼진 것을 계기로 개발자가 R2 버전에서 더 이상의 버전업을 중단해 버리기도 했다. 이후 HBL(하단 설명 참고)를 이용하여 ChickHEN을 쉽게 구동할 수 있게 하는 방법이 개발되기도 했다.

5.03 CFW Enabler, 5.03 GEN for HEN (LCFW) - 둘 다 5.03 ChickHEN 상태에서 구동시키는 LCFW. 최초의 LCFW로 볼 수 있다. 물론 당시엔 LCFW라는 말을 사용하기 전. 그 덕에 수 많은 유저들을 혼동하게 했다. CFW Enabler의 경우는 M33 같은 다른 개발자들의 소스를 훔쳐 써서 문제가 됐었다.

6.xx LME (LCFW) - 위 커스텀 펌웨어 항목의 neur0n이 발표하던 ME의 LCFW 버전. 현재 neur0n은 PRO 팀에 속해 있는 듯하다. 하지만 ME와 LME 또한 계속 업데이트중인 듯.

6.20 TN (HEN) - 2012년 12월, Total_Noob이 6.20 기반으로 6.20 TN-A를 개발하였다. 새롭게 확인된 커널 익스플로잇을 이용한 것으로 뒤에 있는 항목 HBL을 거쳐 구동하는 약간 번거로울 수 있는 방식이었지만, 최근엔 아래에서 볼 수있듯 인증되지 않는 홈브루를 인증하는 방법을 이용해 6.20 정식 펌웨어 상에서 홈브루 구동 한 번으로 올 수 있다. 2011년 04월 17일, 6.20 TN-E까지 갱신되었다.

6.20/6.35/6.39/6.60 PRO (LCFW) - 2011년 2월, PRO팀(liquidzigong, coldbird 등)이 공개한 LCFW. PRO의 의미는 개발자가 liquidzigong이라는 데서 알수있듯이 아래 항목 Prometheus의 Pro. 현재 가장 많이 쓰이고 좋은 평가를 받는 LCFW이다. 모든 펌웨어에서 동일하다. 무슨 펌웨어가 좋다느니 하는 말은 무시해도 된다. 2011년 10월 27일 PRO-B10까지 업데이트 됐다.

이후 6.61버전(2015년 1월 15일 릴리즈)를 지원하는 PRO-C*가 공개됐다. 2015년 2월 14일 기준 C2까지 나와있다.

TN과 Pro의 Permanant Patch(영구 패치), Pro의 Cipl 패치 - 이 패치는 일반적으로 생각하는 커스텀 펌웨어가 아닌 HEN/LCFW의 특성상 PSP를 부팅 후에 HEN/LCFW을 구동시켜야하는 수고를 덜어줄 뿐이다. 기판을 가리므로 자신의 PSP 기판이 가능한지 알아보고 하자.

5. 커스텀 펌웨어 관련 유틸리티 / 프로그램

5.1. 판도라의 배터리 / 매직 메모리스틱

정식 이름은 '지그킥 배터리'라고 하며, 서비스 모드 배터리라고도 불린다. 배터리의 EEPROM의 정보를 변형시킨 특수한 배터리를 말한다. 배터리를 삽입할 경우 부팅시 낸드플래시의 IPL가 아닌 메모리스틱의 IPL을 우선적으로 읽을 수 있게 해 준다. 당연하지만 지그킥 배터리만으로는 아무런 의미가 없으며, 낸드플래시 영역에 다시 설치하기 위한 데이터가 필요하다. 이 데이터가 복사되어 있는, 특수하게 포맷된 메모리스틱을 일명 '매직 메모리스틱'이라고 부른다. 소니 서비스 센터로부터 훔친유출된 수리용 배터리와 메모리스틱으로부터 알아냈다는 설이 있다.

사용할 경우 낸드플래시 영역을 모두 지우는 것과 동시에, 메모리스틱에 복사되어 있는 펌웨어 데이터를 재설치한다. 따라서 소프트웨어적인 고장은 모두 고칠 수가 있다(공장 초기화와 동일한 원리). 제조를 위해서는 배터리의 EEPROM 영역을 특정한 프로그램으로 해킹하거나, '매직 차져'라는 기기를 이용하거나, 배터리를 분해하여 특정한 회로를 절단하여야 한다.[8]

PSP-2000의 일부 기판과 PSP-3000번 모든 기판은 하드웨어적인 구조가 달라졌기 때문에 지그킥 배터리를 만들 수도, 기존의 것을 사용할 수도 없다. PSP-2000의 TA-088v3기판은 판도라의 배터리를 사용할 수 없는 기판이었지만 결국 뚫어버렸다. 이유는 매직메모리스틱에 있었는데 링크의 작성자도 말했듯이 You will need knowledge in electrical engineering. 더 이상의 자세한 설명은 생략한다. 이 역시 마찬가지로 소니 서비스 센터로부터 훔친유출된 TA-088v3 기판용의 매직 메모리스틱으로부터 알아냈다는 설이다. 그러나 일반인이 쓰기엔 무리가 있는방법. 이유는 "NAND Flash TSOP-48 Programmer"라는 물건이 필요함과 더불어, 짝퉁 메모리 스틱(메모리와 컨트롤러가 통합칩이 아니어야 해서 필요)이 필요하고, 납땜기술을 요구하기 때문. 거기에다가 파일 자체가 소니 정식 서비스 파일을 그대로 사용해서 웹에 올리는 순간 법에 걸리게 돼서, 대부분의 사이트가 방법은 설명을 해도 필요한 파일은 삭제되어 있는 경우가 대다수이다.

하드웨어적으로 관련 기능을 삭제한 3000번대가 나오게 되자, 2000번대의 가격이 더 비싼 기현상이 벌어지기도 했다. #관련기사

소니가 왜 이러한 기능을 배터리에 포함시켰는지는 알 수 없으나, A/S 용도를 위한 것이 아닐까 추측될 뿐이다.

5.2. Prometheus

2010년 6월, 《킹덤 하츠 birth by sleep》(이하 KHBBS)에 걸린 락을 해제하는, 정확히는 6.xx에 포함된 모듈의 기능을 해 주는 플러그인이 중국 해커 liquidzigong에 의해 개발되었다. 이후 해당 플러그인을 분석, ISO 파일에 직접적으로 패치하여 커스텀 펌웨어 상에서도 정상적인 구동을 가능하게 하는 일명 Prometheus 패치가 등장했다.

그런데 여기서 끝나지 않고, 기존의 커펌 5.03 / 5.50에 Prometheus 모듈을 내장하여 6.xx에서만 구동되는 UMD 및 ISO를 정상적으로 구동할 수 있게 만든 커스텀 펌웨어(의 MOD판)가 등장했다. 소니와 해커들 사이에 벌어져 왔던 창과 방패의 전쟁에서, 6.xx 펌웨어에 의해 상당 부분 방패가 우세했던 상황이 한 순간에 아작이 나 버린 셈이다. 문제가 있다고 한다면 5.03Gen-C에서 생성된 세이브 데이터가 5.03 Prometheus 등에서는 읽히지 않는다는 점. 다만 예전에 나왔었던 5.50 Gen-D의 경우에도 세이브 호환성이 매우 떨어졌던 것을 생각해 보면 아주 커다란 문제는 아니다.[9] 차후에는 5.00 M33용 Prometheus가 등장했다. 핵심기능은 같다.

프로메테우스의 핵심은 어디까지나 게임구동에 있지만, 이를 이용하여 6.xx 정식 펌웨어에서 핵심이라고 불리는 SensMe Channels[10]과 일본에서만 돌리는 Digital Comics와 같은 어플리케이션을 구동할 수 있으며, 핵심적인 구성 모듈로 사용된다.

2010년 9월에 커스텀 펌웨어 MOD판이 Prometheus-2로 버전업되었다. 변경점은 차후 6.30 펌웨어를 요구하게 될 게임의 지원. 5.00 M33 시리즈의 경우는 5.00 M33-6만 지원하며, 이를 설치하는 경우 낸드플래쉬에 깔린 아얄쉘 패치, LEDA, 낸드플래쉬에 설치한 플러그인을 사용할 수 없고 이후에도 설치를 할 수가 없다. 간단히 말하면 메리트가 떨어진다.

프로메테우스 패치의 경우 상기 언급한 대로 애당초 prx, 즉 플러그인 형식으로 발표가 되었었고, 그들 스스로 'GEN-D4라고 불러도 무방하다'라고 할 만큼 커스텀 펌웨어로써의 의미는 없다고 해도 무방하지만, 복돌이 입장에서는 펌웨어에 제한이 있는 게임을 구동 가능하기 때문에 새로운 펌웨어나 다름없다고 인식하는 듯하다.

2010년 12월 1일, liquidzigong이 '신변상의 위험을 느끼기에 더 이상 CFW 개발에 관여하지 않겠다'는 요지의 발언을 하고 CFW에서 손을 뗐다. 그리고 개발중이던 Prometheus-4를 폐기하는 것과 동시에 몬스터 헌터 포터블 서드 중문화 팀에게 넘겼던 자료를 삭제해 줄 것을 요청했다. 그리고 그날 모든 몬헌 복돌이들이 울었다 그러나 그 말은 지켜지지 않았고, Prometheus-4가 12월 3일에 유출되었다. 따라서 마지막 패치가 될 것으로 여겨졌으나, 모 게임이 릴리즈되자 liquidzigong이 해당 게임 구동의 핵심 소스를 풀고 다시 사라지는 기행을 보이고, Total_Noob의 커스텀 펌웨어인 6.20TN-A가 나오자 마자 하루정도 지나고 나서 원래는 사전계획에 없었던 'Prometheus Iso Loader'를 내놓기까지 했다. 커펌계에서는 매우 당혹스러워 하는 모습을 보였으나, 사실상 예견된 일이었던 만큼 여파는 크지 않았던 듯하다.(현재는 coldbird와 함께 PRO 시리즈를 제작중, 2011년 6월 8일에도 PRO-B8을 발표하였음)

(진실: PSP 킹덤하츠의 패치 제작으로 데뷰한 liquidzigong은 그때당시 커펌의 새로운 혜성과도 같았었는데, 나름의 원칙이 있었다고 한다. 예를 들어 게임의 매출이 영향 받는게 싫어서 해킹이 끝난 게임을 일부러 뒤늦게 공개하거나 사람들이 요구해도 듣지 않는 식. 문제는 몬헌 포터블 서드의 정보를 당분간 공개하지 말라고 당부하며 중문화 팀에게 넘겼더니, 그 중의 멤버가 공략본으로 유출시켰던 것. 사람들은 그게 루머인줄 알았다가 게임 출시 후 공략이 실제와 같다는걸 알게 되고, 네티즌들은 liquidzigong이 돈을 받고 파일을 넘겼다고 매도했다. 갈수록 도가 심해지고 그에 대한 협박과 폭언으로 인해 CFW 개발에 손떼겠다는 얘기가 나온 것. 구걸충 유저들의 배은망덕 사정을 아는 사람들은 오늘날에도 liquidzigong의 이른 은퇴에 많은 아쉬움을 토로하고 있다)

5.3. HBL(Half-Byte Loader)

2010년 6월, 유저 익스플로잇을 이용하여 홈브루를 구동할 수 있는 환경을 제공해주는 툴인 Half-Byte Loader(줄여서 HBL)이 등장하였다. 커널에는 접근하지 못하지만(즉, 시스템 제어가 가능한 수준은 아니다)특정 게임의 세이브 데이터에서 일어나는 익스플로잇을 이용하여 유저 모드 익스플로잇 상에서 기존 PSP 홈브루를 직접 구동할수 있게 해 준다. 초기엔 호환성도 별로였고, 버그도 있었지만, 거듭된 개발로 커널접근성이 필요하거나 하는 등의 특정 홈브루를 빼고는 전부 구동이 가능하게 되었다. 또한 이식성이 좋아서 유저 모드 익스플로잇이 발견될 경우, 며칠내에 거의 완벽하게 HBL을 그 익스플로잇 용으로 이식이 가능하다.

이후 6.20TN 등 새로운 커스텀 펌웨어를 구동하기 위한 시동 키 역할을 하는 등, 실질적으로 커스텀 펌웨어의 역사에 커다란 영향을 끼친 툴이라 볼 수 있다.

현재 PSP의 경우 대부분의 보안이 뚫려있는 상태라서 이 HBL의 쓸모가 거의 없다시피 되어 버렸지만, VITA 내의 PSP 에뮬레이션이 PSP의 메카니즘과 완전히 같다는 것을 이용한 VHBL(VITA용 HBL)이 존재한다.

5.4. KIRK 엔진 해킹

소니의 라이센스 방어는 KIRK엔진이라고 불리는 보안체계로, 이 KIRK 인증이 되지 않은 어플리케이션을 PSP에서 구동하는 것은 본래 불가능했다. 그러나 암호화를 AES-128과 SHA-1으로 사용했는데, 두 방식 모두 PSP가 현역인 시절때 뚫린지라 해독은 시간 문제였고 시간이 흐르면서 사실상 무력화가 됐다. 결국 정식 펌웨어와 커스텀 펌웨어의 장벽이였던 홈브루 구동 문제에서 정식 펌웨어도 결국 이런 제약이 없는거나 다름없게 되었다. 물론 회사 차원에서 KIRK 엔진을 뚫은 전례가 있긴 하지만, 회사가 아닌 해커가 직접 뚫어서 인터넷에 널리 퍼진 것은 전혀 다른 상황이다. 뚫은 사람은 PS3 해킹 쪽에서도 활동하고, Dark_AleX와도 작업한 바가 있는 Mathieulh.

거기에 liquidzigong은 자신의 트위터에서 "커널 모드 홈브루를 인증시킬 수 있다"라는 발언을 하였다. 즉, 정식 펌웨어 환경에서 펌웨어를 통해 아무런 제한 없이 커널에 접근, 기계의 모든 기능을 제약 없이 제어할 수 있다는 의미. PSP의 보안 체제가 완전히 박살났다는 의미가 된다.

5.5. Infinity

배포처: http://infinity.lolhax.org

2016년 2월 등장. 6.60, 6.61 펌웨어에서 전원을 완전히 껐다 켜도 PRO, ME(LME)에 의한 CFW 상태가 유지되는, 일명 영구커펌화 해 주는 도구. 1000번대, 2000번대(일부 메인보드 제외)에서는 기존에도 가능했던 일이지만 나머지 모든 기종에서도 가능해진다는 점이 특징. 순정 펌웨어에서 메모리카드나 내장메모리(go 한정)에 넣은 Infinity를 실행, 설치 후 PRO 또는 ME(LME)를 설치, Infinity를 다시 실행해서 PRO, ME(LME) 중 어느것을 설치했는지 선택 해 주는 것으로 완료된다. 초기 버전에서는 3000번대 일부 메인보드를 지원하지 않는 등 제한이 있었으나 2019년 11월 2.0 업데이트 이후로는 전부 지원한다.

종종 부팅에 실패하고 꺼지는 증상이 있는데 다시 켜보면 된다. 메모리스틱을 뽑고 부팅하면 되기도 한다.

6. 관련 여파

커스텀 펌웨어가 등장한 초기에는 설치하려면 꽤 번거로운 작업이 필요했지만, 일단 설치가 완료되면 간단히 무한 복사인생을 살 수 있게 되고 이후 설치법이 매우 간편해짐에 따라 PSP 소프트웨어의 판매량에 나쁜 쪽으로 큰 영향을 끼쳤다.

기본적으로 한국에 있는 PSP 중 주인이 복돌이를 싫어하는 경우가 아니라면 커펌이 깔려있지 않은 PSP는 거의 없다고 보면 된다. 지금이야 저작권 인식이 개선되어 정품을 사용하는 유저가 많아지긴 했지만 당시에는 루리웹에서도 커펌이 언급될 정도로 문제가 심했었다.[11] 특히 휘발성 커펌의 경우 설치가 원터치로 간편하기 때문에 더 널리 퍼져 나갔다. 또한 많은 사람들이 착각하고 있지만 커펌 문제는 한국 뿐만 아니라 PSP가 팔렸던 모든 나라에서 일어난 문제이다. 중국은 커스텀 펌웨어를 제작해서 배포까지 한다.(...)

그러나 어디까지나 해커들이 사적으로 개조한 물건이기 때문에 휘발성 커펌이 아닌 커펌을 설치할 경우 설치과정을 잘 따르지 않으면[12] 벽돌(2번 항목)이 되어, 고치기가 매우 곤란해진다.

커스텀 펌웨어라는 게 튀어나오면서, 잘 모르고 일단 파일을 받아 깔아보자 했다가 벽돌 만든 유저들이 꽤 많았다. 초기에는 SCEK에 보내면 복구를 해 주었으나, 이후 정식 펌웨어가 아닌 경우에는 수리를 하지 않겠다는 입장을 밝혔기 때문에 고장이 나면 스스로 해결해야 하는 상황이 와서 커스텀 펌웨어의 전파가 잠시 주춤했었던 적이 있었다. 그러나 판도라 배터리가 나오면서 SCEK의 정책은 완전히 물을 먹게 되었다.(현재는 그럴 경우 PSP를 센터에서 등록한 뒤에 AS를 딱 한 번만 해주기로 결정이 되어있다.)

그리고 소니가 PSP-3000을 내놓으면서 다시 잠깐 주춤했으나, 이후 속속들이 익스플로잇 및 커펌이 등장함에 따라 커펌 등장 > 소니가 새 커널 내놓음 > 커펌팀 삽질 끝에 익스플로이팅되는 루트 찾아 커펌 등장 > 유저들은 익스플로이트 가능한 소프트웨어 찾아 헤맴 > 특정 소프트웨어 가격 폭등 > 보다 간단하고 심플한 커펌법 개발 > 특정 소프트웨어 가격 폭락이 한국에서 이제까지 적어도 3회는 반복되었다. 이후 3000번대의 커펌이 안정화되자 이러한 문제는 일단 사라졌다.

비슷한 일로, 6.20TN 등 새로운 커스텀 펌웨어가 등장함에 따라 PSP Go에도 설치가 가능하게 되자 덩달아 PSP Go의 가격이 상승하는 웃지 못할 현상이 벌어지기도 했다.

한편 PSP 갤러리에서는 게임 파일을 구걸하러 오는 징징이들에게 엿을 먹이기 위해 ISO 파일의 EBOOT.BIN 파일을 수정하여 게임을 실행하는 순간 PSP를 벽돌로 만드는 소위 벽돌이소 파일을 배포하기도 하였다. 그 중 몇 개는 토렌트를 통해 세계로 퍼져나가 외국인 복돌이들의 PSP까지 고장내고 있다(...).

7. 그 외

커스텀 펌웨어를 설치할 경우 1000번대에서는 플래시 메모리 용량 & 논리 오류가 일어날 수 있다. 이것은 플래시 메모리 1에 용량이 300kb이상 있지않을 경우 일어나는 에러다. 켜지지 않거나 PSP가 매우 불안정해진다. 필요 없는 파일은 삭제하자(예: 카메라 모듈, 헬프 파일 등). 논리 오류는 메모리 파티션에 오류가 있을경우 생기며, 커펌을 한 후 반드시 chkdsk로 검사해 보도록 하자. chkdsk/f 명령을 사용하면 오류도 자동으로 고쳐 준다.

CFW, HEN, LCFW의 펌웨어 첫째자리에 따라 커널이 달라지게 되는데 이에 따라 홈브루 및 플러그인의 호환이 안되기도 한다.

PSP 기기의 특성상, 정품 유저들도 커펌을 자주 한다. 그 이유는 UMD 항목 참조.

8. 관련 문서


[1] PSP Go는 내장 메모리 [2] 일본에서는 1.0, 해외에서는 1.50이 기본 [3] 보통 줄여서 DevHook(데브훅)이라고 부른다. [4] 3.52 커펌부터는 다크알렉스가 언어 설정을 자체적으로 지원하기 시작했다. [5] PSP-200X의 공장 출고 첫 펌웨어. PSP-1000의 1.00펌웨어와 비슷하다. 200x 사용자의 경우 펌웨어를 구해서 설치해보는 것은 가능하나 상당히 버그가 심하니 주의. [6] 5.50 GEN 이전에도 M33 팀의 허락하에 M33이 작업하지 않은 몇몇 펌웨어의 커스텀 펌웨어를 제작했었다. [7] 단, 대한민국에서는 위법 판결을 받았다. 이는 국내에서 불법복제 문제가 너무 심각했기 때문으로 보인다. 너무 대놓고 게임을 받는 방법까지 설명하고 있었으니... [8] 당연하지만, 리튬이온 배터리의 분해 및 회로 절단은 매우 위험한 작업이며 폭발 및 화재의 위험이 있다. [9] 그리고 이를 따로 해결하는 방법도 존재한다. 일반적인 블로그에는 소개되고 있지 않지만, MagicSave라는 플러그인의 Mode 2만 돌려줘도 너무 간단하게 해결된다. 물론 이 플러그인의 핵심적인 세이브 복호화 해지기능을 안써도 상관 없다. [10] 이 기능은 소니 워크맨 제품이나 소니 에릭슨 제품에서 사용되는 기능으로 Media Go를 이용하면 상당히 편리하게 사용할 수 있다. 아이튠즈, 아이팟의 Genius 기능과 비슷하지만 그거에 커버플로우가 추가된 느낌. [11] 커펌이라는 단어가 금지되었기 때문에 커펌=커피, 커펌 설치=커피를 타다 등의 표현이 유행했었다. [12] 예를 들어 설치전에 문자집합을 반드시 latin으로 지정해야 한다, 한국어로 선택시 벽돌. CFW 3.52부터 이러한 현상은 사라졌다.