HTC 스마트폰의 파티션을 수정하고 싶은데 보안 기능 때문에 계속 막히고 있으신가요? 이 글에서는 그러한 보안 프로토콜을 해제할 수 있는 HTC S-OFF에 대해 자세히 알아봅니다. S-OFF를 진행하려면 HTC 부트로더에 대한 이해가 필수적이며, 이 역시 함께 다룹니다. 정확한 정보를 위해 끝까지 읽어보시길 권합니다.
HTC S-OFF란 무엇인가요?
일반적으로 모든 기기는 출고 시 라디오(Radio) 파티션에 플래그를 설정하는 S-ON 보안 프로토콜이 적용되어 있습니다. 즉, HTC 폰의 보안 플래그는 기본적으로 '켜짐' 상태입니다. 이 플래그를 끄면 아래와 같은 변화가 생깁니다.
- S-ON 플래그는 기기의 라디오 영역에 저장되며, 이를 끄면 시스템 메모리에 직접 쓰기 작업을 할 수 있습니다.
- S-ON 상태에서는 커스텀 ROM, 스플래시 이미지, 커스텀 리커버리 등을 사용할 수 없습니다.
- NAND 플래시 메모리 접근이 제한되어 기기의 NAND 파티션을 영구적으로 변경할 수 없습니다.
- NAND 파티션에는 부트(Boot) 파티션, 리커버리(Recovery) 파티션, 라디오(Radio), 시스템(System) 파티션 등이 포함됩니다.
- S-ON 상태에서 변경한 내용은 단순히 재부팅만으로 원래 상태로 되돌아갑니다.
- 반면 S-OFF 상태에서는 재부팅해도 변경 사항이 그대로 유지됩니다. 현재 상태가 S-ON인지 S-OFF인지는 부트로더 화면 상단에 표시되는 텍스트로 확인할 수 있습니다.
참고: 보안 해제(S-OFF)는 전적으로 사용자 본인의 책임이며, 반드시 필요한 경우가 아니라면 진행하지 않는 것이 좋습니다.
S-OFF 상태에서 루팅이 가능한가요?
루트(Root)는 리눅스 OS에서 최고 관리자 권한을 얻는 것과 유사한 개념입니다. HTC 폰의 부트로더에서 S-OFF를 적용하면 Superuser.apk 같은 패키지 파일과 su 바이너리를 플래싱할 수 있습니다. 중요한 점은 Superuser를 플래싱하기 전에 먼저 커스텀 리커버리를 플래싱해야 한다는 것입니다. 이후 재부팅하면 루트 권한을 사용할 수 있습니다. 즉, HTC S-OFF 자체가 루트를 만들어주는 것은 아니지만, 루트 권한을 획득할 수 있게 해주는 프로그램을 설치할 수 있는 환경을 만들어 줍니다.
S-OFF의 장점
HTC 기기에서 S-OFF를 적용하면 얻을 수 있는 주요 장점은 다음과 같습니다.
- 파티션 드라이브 접근 및 덮어쓰기 가능: S-OFF를 적용하면 기기의 NAND 영역에 접근할 수 있어 파티션 잠금을 해제하고 내용을 수정할 수 있습니다. 기본 상태에서는 파티션 드라이브를 변경할 수 없지만, S-OFF 플래그를 설정하면 OS가 부팅된 상태에서도 파티션 드라이브의 코드를 덮어쓸 수 있습니다.
- 펌웨어 이미지 서명 검사 우회: 원래 모든 펌웨어 zip 파일은 HTC의 디지털 서명이 있어야 부트로더를 통해 플래싱할 수 있습니다. S-OFF를 적용하면 이 보안 검사를 건너뛰고 서명되지 않은 부팅 이미지, 스플래시·HBOOT 이미지, 리커버리, 커스텀 펌웨어 등을 자유롭게 업로드할 수 있습니다. 결과적으로 안드로이드 폰을 최대한 커스터마이징할 수 있게 됩니다.
HTCdev로 부트로더 잠금 해제하기
HTCdev는 부트로더를 S-OFF 상태로 만들어주지는 않지만, 폰의 파티션 잠금을 해제해 줍니다. 이를 통해 커스텀 리커버리를 플래싱하고 이후 커스텀 ROM을 설치할 수 있으며, 이 과정에서 굳이 HTC S-OFF 상태를 유지할 필요는 없습니다. 주요 특징은 다음과 같습니다.
- HTCdev 웹사이트에 회원가입하고 로그인한 후 부트로더 잠금을 해제할 수 있습니다.
- HTC가 공식 제공하는 방법으로, boot·system·recovery 등 일부 파티션만 제한적으로 잠금 해제됩니다.
- 보안상의 이유로 잠금 해제 범위가 제한되며, 임의의 펌웨어 zip을 파티션에 플래싱하는 것은 차단됩니다. 단, SIM 카드 잠금 해제는 불가능합니다.
- 잠금 해제 과정에서 폰의 소프트웨어가 변경되므로 예기치 못한 문제가 발생할 수 있습니다. HAC(보청기 호환성) 또는 SAR 값이 바뀌거나 기기가 과열될 가능성도 있습니다.
- DRM 보안 키 때문에 타사 또는 HTC를 통해 구매한 일부 콘텐츠가 무효화되거나 접근할 수 없게 될 수 있습니다.
- FOTA(Firmware over the Air) 무선 펌웨어 업데이트를 사용하지 못할 수 있으며, 돌이킬 수 없는 변경이 발생하면 HTC의 공식 보증에서 제외될 수 있습니다.
S-OFF 진행 전 사전 준비 단계
HTC 폰에서 S-OFF를 적용하기 전에 아래 단계를 반드시 순서대로 완료하세요.
- 부트로더 잠금 해제를 마친 후 HTC 폰에서 HTCdev 도구를 제거합니다.
- 설정 → 보안으로 이동해 폰의 모든 보안 설정을 비활성화합니다.
- 설정 → 전원/배터리 관리자에서 빠른 부팅(Fast Boot) 모드를 비활성화합니다.
- PC와의 호환성을 위해 USB 3.0 대신 USB 2.0 포트를 사용합니다.
- Firewater 같은 S-OFF 도구를 다운로드해 PC에 준비합니다.
- PC에 Minimal ADB를 설치합니다.
- 전원이 꺼지는 것을 방지하기 위해 배터리를 60% 이상 충전합니다.
- 기기가 완전히 초기화될 수 있으니 중요한 미디어 파일과 메시지를 백업합니다.
- 폰과 PC를 연결할 수 있도록 HTC 드라이버를 설치합니다.
- 설정 → 개발자 옵션 → USB 디버깅을 활성화합니다.
- PC의 백신 프로그램과 방화벽을 일시적으로 비활성화합니다.
HTCdev 도구로 부트로더 잠금 해제하는 방법
아래는 HTCdev 도구를 이용해 부트로더 잠금을 해제하는 절차입니다. 시작 전에 신뢰할 수 있는 케이블로 폰과 PC를 연결하세요.
- 전원 버튼을 길게 눌러 폰을 종료합니다.
- 전원 + 볼륨 아래 버튼을 30초간 눌러 HBOOT 모드로 진입합니다.
- 볼륨 버튼으로 Fastboot 항목을 선택하고 전원 버튼으로 확정합니다.
- Windows 탐색기를 열고 로컬 디스크(C:)의 Minimal ADB and Fastboot 폴더로 이동합니다.
- 폴더 주소창에 cmd를 입력하고 Enter 키를 누릅니다.
- fastboot devices 명령을 입력하고 Enter를 눌러 PC가 폰을 인식하는지 확인합니다.
- 명령 프롬프트에서 fastboot oem get_identifier_token 명령을 입력하고 Enter를 누릅니다.
- 긴 토큰 코드 블록이 생성되면 이를 복사해 HTCdev 웹사이트에서 Submit 버튼을 클릭해 제출합니다.
- HTCdev에서 Unlock_code.bin 파일이 첨부된 메일을 보내줍니다. 파일을 다운로드해 Windows 탐색기의 Fastboot 폴더로 이동시킵니다.
- 명령 프롬프트에서 fastboot flash unlocktoken Unlock_code.bin 명령을 입력하고 Enter를 누릅니다.
- 폰 화면에서 전원 버튼으로 설치 요청을 확인하고 재시작이 완료될 때까지 기다립니다.
HTC에서 보안 프로토콜 해제(S-OFF)하는 방법
이제 실제로 S-OFF를 적용하는 단계를 살펴보겠습니다.
- Firewater 파일을 PC의 Minimal ADB 폴더로 복사합니다.
- 폴더 주소창에 cmd를 입력하고 Enter 키를 누릅니다.
- adb devices 명령을 입력하고 Enter를 눌러 기기를 인식시킵니다.
- 아래 명령어를 하나씩 입력할 때마다 Enter 키를 누릅니다.
adb reboot
adb wait-for-device push firewater /data/local/tmp
adb shell
su
chmod 755 /data/local/tmp/firewater
data/local/tmp/firewater/
- 폰에서 권한 허용 요청이 나타나면 승인합니다. 이후 부트로더 상태가 S-OFF로 표시되는지 확인하면 됩니다.
함께 읽으면 좋은 글
- Windows 10에서 팬 속도 조절하는 방법
- 안드로이드에서 WPS로 Wi-Fi 네트워크 연결하는 방법
- Verizon 고객센터 상담원에게 바로 연결하는 방법
- 문자 메시지에서 'mhm'의 의미는?
이 글에서는 HTC S-OFF와 HTC 부트로더에 대해 살펴보았습니다. 관련 용어를 찾다가 혼란스러우셨다면 이 글이 도움이 되었기를 바랍니다. 추가로 궁금한 점이나 의견이 있다면 댓글로 자유롭게 남겨주세요.