EFI해제 근황

디코딩한 firmwareapp

EFI의 락을 해제하기 위한 노력은 현재진행중이다.

C로 지우겠다 선언한 이후, 소식이 뜸했던 건,

첫째, 내 맥북의 연혁을 생각하면 반쯤 '방치해도 무방한 것' 즘으로 여기는 태도가 생긴 이유가 있고.
둘째로, 실제로는 EFI. 정확히는 UEFI의 구조를 공부하느라 시간을 다 쓰고 있어서다.
마지막으로, 내 생활도 있어서다.
(왠지 극장을 너무 자주 다니는 것 같아보인다면, 그건 사실이다!)

구글에 검색해보면 EFI 락 해제를 위한 몇가지 방법을 찾을 수 있다.
그 선각자들이 걸은 길은 이렇다.

첫째, 맥의 뚜껑을 따서 문제의 EFI에 직접 케이블을 연결해 롬을 뜬 다음. 해당 섹션을 통째로 지운다!
둘째, 맥의 뚜껑을 따서 로직보드 번호를 확인한 다음, SCBO파일을 자력으로 만들어 낸다.

일단, 뚜껑을 따라... 라는 것과.
어느쪽도 엔지니어링에 제법 시간이 든다.
그리고 난 첫째로 뚜껑을 따고싶지 않다.
(이게 시간이 많이 들고 있는 큰 이유다)
둘째로 그렇다보니 SCBO파일 만드는 방법이 아닌, EFI직접 접근, 직접 삭제로 방향을 잡고 있는 것이다.

EFI라는 놈은 이런 구조를 가지고 있다.
3구역으로 구성되어 있는데,
Descriptor Region.
ME Region.
BIOS Region.
이 그것이다.
(그 사이 사이는 무수한 파이널판타지들로 채워져 있다!)

그 안에 각 부분이 "헤더-NULL"로 끝나고,
그 뒤에 압축 섹션을 의미하는 헤더-NULL이 있고,
곧바로 압축된 본 데이터 섹션이 나온다.
(이 압축이 EFI의 보안 그 자체인 셈이면서, 요즘 나오는 UEFI보안 문제의 원흉이다)

이 중 맥은 EFI 1세대 방식을 쓰고, 그후 T2칩을 이용한 오늘날의 방법으로 나뉜다.
내 문제는 EFI 1세대 방식이고,
본체 뚜껑을 열지 않고는 작업이 더딜 수 밖에 없는 것이다.

그럼에도 고집을 부리는 이유는,
그래도 할 수 있는 이유는 찾았기 때문인게 첫번째고.
두 번째는 범용으로 쓸 수 있게 해보자는 게 있고.
내 생활에 할애하는 시간이 있어 작업이 더디지만, 그냥 내 멋대로 하겠다! 라는 이유 때문이다.
(...)

암튼 진행은 되고 있고, 뭔가 하고 있는 건 사실이다.
결과가 없어서 그렇지.
(웃음)

Next Post Previous Post
No Comment
Add Comment
comment url