2011-03-13 오후 10:21:15 Hit. 3184
영구/휘발 커펌을 이해할려면 우선 커널과 IPL(Initial Program Loader)에대한 이해가 필요합니다.커널은 운영체제에서 기본적인 기능(커널 인터럽트 처리, 프로세스 관리, 메모리 관리, 파일 시스템 관리등) 수행합니다. 간단하게 말하면 하드웨어 관리자들의 보스라고 생각하시면 됩니다. 그래서 일반적으로 접근이 불가능한 메모리에 읽혀지게되는데 바로 이커널을 이용해서 우리가 PSP로 게임도하고 동영상도 보고 홈브류도 구동하게 되는거죠 우리가 컴퓨터를 사용하기위해서는 OS(대표적인 OS로는 윈도우,맥OS,리눅스)와 하드웨어(컴퓨터)가 필요한데 PSP도 컴퓨터와 마찬가지로 기기를 동작하게 하기위해선 OS가 당연히 있어야 작동할수 있습니다. 바로 이 OS안에 커널이 포함되어 있다고 생각하시면 됩니다 너무 세분화하면 머리만 더 복잡해지니 대충 이렇게 이해하고 넘어가셔도 무방합니다.
IPL(Initial Program Loader)은 OS시작하기위해 읽어들이는 확인용파일로 하드웨어의 구동순서 등을 담고있으며 PSP를 구동하면 제일먼저 IPL을 먼저불러들인후 IPL의 정의된 순서에따라 낸드영역의 폄웨어등을 블러들이는 역활을 합니다. 이제 커널과 IPL이 먼지 대충 이해가 가셨다면 왜 커펌이 휘발과 비휘발로 나뉘게 되는지를 이해하시기 쉬울겁니다.
구형기판은 IPL자체를 변경해 커널을 이용 하지만 신형기판은 IPL 변경이 물리적으로 불가능함으로 OS를 완전히 읽어들인후 메모리의 취약성 이용해 커널을 이용 할수 있게 만드는거죠 이걸 대입해보면 구형기판은 PSP를 키자마자 변경된IPL을 읽어 들이기에 바로 커널을 이용할수있는 영구커펌이 가능하게 되는거고 신형기판은 IPL변경이 불가능하게 막아놔서 OS를 메모리에 읽어들인후 메모리의 취양성을 이용해 메모리를 개변조하여 커널을 이용할수있게 만드는거죠 최근 신형기판에도 영구커펌이 가능하게 됐는데 이것역시 구동원리는 후자쪽이랑 마찬가지입니다. PSP를 구동하고 HEN상태로 만든후 다시 커펌상태로 만드는 손으로하던 작업을 리커버리 모드에서 플러그인을 켜고 끄는 것처럼 기기를 켜기만하면 적용되도록 만든거뿐이죠 근본적인 IPL을 개변조한건 아닙니다. 하지만 동작방식은 달라도 커펌이 풀리는 일은 없으니 결과는 같은거죠
저 나름대로 최대한 이해하기 쉽게 글을 쓴다고 한건데 이해가 됐는지 모르겠네요 커펌의 기본적인 원리를 알고싶었던 분들에게 조금이라도 도움이 됐으면 합니다.
불량게시글신고
·댓글