미국 외 지역용 삼성 기기들의 업데이트에는 사용자들을 당황시킬 수 있는 새로운 형태의 잠금 장치가 포함되었습니다. 하지만 이 잠금은 개발 활동을 막기 위한 것이 아니라 기기 도난을 방지하기 위한 목적입니다. 물론 이러한 보안 조치는 언제나 그렇듯 개발자 커뮤니티에도 영향을 미치게 됩니다.
잠금 자체는 부트로더 안에 있지만, 잠금을 유발하는 트리거는 시스템 내부에 위치합니다. 재현이 꽤 어려운데, 일반적으로 펌웨어의 국가 버전과 다른 국가의 SIM 카드를 삽입할 때 발생합니다. 사람들은 해외여행 중 방문 국가의 SIM 카드를 임시로 사용하기도 하므로 다소 이상해 보이지만, 우리는 삼성의 보안 전문가가 아니니 어쩔 수 없습니다.
실제로 일어나는 현상은 기기가 재부팅되면서 데이터를 초기화하는 것입니다. 순정 ROM을 사용하는 사용자에게는 타국 SIM 카드를 사용했다는 이유만으로 데이터가 삭제되는 불편이 있을 뿐 부팅 자체는 가능합니다. 반면 루팅된 커널이나 TWRP 같은 커스텀 바이너리가 설치되어 있다면, 부트로더가 시스템을 변경하는 커스텀 바이너리의 실행을 차단하기 때문에 기기를 아예 부팅할 수 없게 됩니다.
잠금 보호가 적용된 기기 목록
다음 삼성 기기들이 이 보호 방식이 적용된 것으로 확인되었습니다:
- 삼성 갤럭시 S9 & S9+ – SM-G960F & SM-G965F
- 삼성 갤럭시 노트8 – SM-N950F
- 삼성 갤럭시 S8 & S8+ – SM-G950F & SM-G955F
- 삼성 갤럭시 A8 & A8+(2018) – SM-A530F & SM-A730F
- 삼성 갤럭시 A 시리즈(2017) – SM-A320F/FL, SM-A520F & SM-A720F
- 삼성 갤럭시 노트 FE – N935F
잠김 여부를 확인하는 증상
기기가 잠기면 다음 증상 중 하나를 확인할 수 있습니다:
- "Only official released binaries are allowed to be flashed(공식 출시 바이너리만 플래시할 수 있습니다)"라는 메시지 표시
- 개발자 옵션에서 "OEM 잠금 해제" 옵션을 사용할 수 없음
- 다운로드 모드로 부팅하면 "RMM State = Prenormal"이 표시됨
필요한 다운로드 파일
- 삼성 펌웨어 – Updato, Sammobile, Samsung-Firmware.org, Samsung-Updates.com
- 삼성 USB 드라이버
- Odin
- 최신 SuperSU 안정판
- 최신 Magisk 안정판
- RMM-State_Bypass
- No-Verity-Opt-Encrypt
잠금 해제 방법
위에서 설명한 보호 기능이 작동하여 삼성 기기가 잠긴 경우, 유일한 해결책은 해당 국가의 SIM 카드를 삽입하고 Odin을 통해 최신 전체 순정 펌웨어(사용자 국가 버전)를 플래시한 후 삼성 폰을 부팅하는 것입니다.
이때 절대 폰을 재부팅하지 말고, SIM 카드도 제거하지 마세요. 네트워크에 연결된 상태로 정확히 7일을 유지해야 합니다. 7일이 지나면 RMM 상태가 초기화되고 다시 TWRP를 플래시할 수 있게 됩니다. 현재 가동 시간은 설정 > 휴대전화 정보 > 상태에서 확인할 수 있습니다.
다시 잠기는 것을 방지하려면 잠금 보호 기능을 비활성화하는 방법을 적용해야 합니다. 삼성 기기에 맞는 TWRP를 플래시한 후 TWRP로 부팅하여 수정 파일을 설치하면 됩니다.
커스텀 ROM을 플래시한 후 이 zip 파일을 함께 플래시하면 잠기는 것을 확실히 예방할 수 있습니다. 이 zip에는 잠금 메커니즘을 담당하는 서비스를 비활성화하는 범용 스크립트가 포함되어 있습니다. 이미 잠긴 기기에는 플래시할 수 없지만, 기기 잠금을 해제한 후 미리 적용해 두면 재차 잠기는 상황을 막을 수 있습니다.
TWRP 안전하게 설치하기
- 먼저 최신 Odin을 다운로드하고 삼성 USB 드라이버를 설치합니다.
- 이 가이드의 다운로드 섹션에서 최신 RMM-State_Bypass 수정 파일과, 사용 중인 삼성 기기에 맞는 최신 TWRP도 다운로드합니다.
- RMM-State_Bypass.zip을 외장 SD 카드에 복사합니다.
- 설정 > 개발자 옵션으로 이동하여 OEM 잠금 해제를 활성화합니다.
- USB 케이블로 삼성 기기를 PC에 연결한 후 다운로드 모드로 재부팅합니다.
- PC에서 Odin을 실행하고 Options 메뉴로 이동하여 Auto-reboot이 체크되어 있지 않은지 확인합니다.
- Odin에서 AP 탭을 클릭하고 TWRP .tar 파일을 선택한 후 'Start'를 누릅니다.
- Odin에서 TWRP 플래시가 완료되면 녹색 "Pass!" 버튼이 표시됩니다.
다음 단계는 매우 신중하게 진행해야 하며, 시작하기 전에 내용을 충분히 읽어두세요.
삼성 기기를 PC에서 분리한 후, 홈 + 볼륨 다운 + 전원 버튼을 길게 눌러 다운로드 모드를 종료합니다.
화면이 꺼지는 즉시 볼륨 다운 버튼에서 손을 떼고, 홈 + 볼륨 업 + 전원 버튼을 약 10~15초간 누르면 기기가 강제로 TWRP로 부팅됩니다. 만약 삼성 기기가 안드로이드 시스템으로 부팅되도록 놔두면 다시 잠기게 되니 주의하세요.
TWRP로 부팅되면 화면을 스와이프하여 수정을 허용하고, TWRP Install 메뉴에서 RMM-State_Bypass.zip을 플래시합니다.
플래시가 성공적으로 완료되면 이제 안드로이드 시스템으로 재부팅할 수 있습니다.
안전하게 루팅하는 방법
삼성 기기의 잠금이 해제되고 TWRP가 설치되었다면, 다음 단계를 매우 주의 깊게 따르세요.
루트 zip 파일과 no-verity-opt-encrypt-6.0을 다운로드하여 외장 SD 카드에 복사합니다.
TWRP로 부팅하여 수정을 허용합니다. 그런 다음 Wipe 메뉴로 들어가 "Format Data"를 선택합니다. 이 과정에서 내부 저장소를 포함한 모든 데이터가 삭제되므로 사전에 백업이 필요합니다.
"Reboot Recovery"를 선택하고 다시 수정을 허용한 후 RMM-State_Bypass.zip을 플래시합니다.
no-verity-opt-encrypt-6.0 zip을 플래시하여 데이터 파티션 암호화를 비활성화합니다.
이제 루트 zip을 플래시하고 시스템으로 재부팅합니다.
설정 마법사에 들어가면 진단 데이터(Diagnostic Data) 항목을 반드시 체크 해제하세요.