개요
안드로이드 OS는 높은 커스터마이즈 자유도를 제공하기 때문에 루팅 또는 커스텀 ROM 작업 중 문제가 발생할 수 있습니다. 그중 하나는 패턴 잠금이 작동하지 않거나 패턴을 잊어버리는 경우입니다. 이 문서에서는 루팅된 기기에서 ADB를 이용해 안드로이드 패턴 잠금을 우회하는 방법을 설명합니다. 이 방법은 실험적이며 모든 기기에서 동작하지 않을 수 있습니다.
중요 용어: ADB — Android Debug Bridge, 기기와 PC 간 명령 전달 도구입니다.
필요한 것
- 루팅된 안드로이드 기기(루트 권한이 있어야 함)
- USB 케이블
- ADB가 설치된 컴퓨터(ADB 및 Android SDK 플랫폼 도구)
- 컴퓨터에 설치된 적절한 USB 드라이버(Windows의 경우 제조사 드라이버)
- 명령 프롬프트(Windows) 또는 터미널(Mac/Linux)
중요: ADB 디버깅과 ADB 권한 관리 상태에 따라 접근이 불가능할 수 있습니다. 잠겨있는 기기에서 ADB 권한을 이미 허용하지 않았다면 이 방법이 작동하지 않습니다.
준비 단계
- 컴퓨터에 ADB(Platform Tools)와 USB 드라이버를 설치합니다.
- 기기를 USB로 연결합니다.
- 명령 프롬프트(또는 터미널)를 열고 ADB 바이너리가 있는 디렉터리로 이동합니다.
참고: ADB와 드라이버 설치 방법은 웹에 많은 자료가 있습니다. 기종별 제조사 안내를 확인하세요.
패턴 잠금 우회 방법 — 단계별
아래 명령은 루팅된 기기에서 실행되어야 합니다. 각 줄은 실행 후 Enter 키를 누릅니다.
adb shell
cd /data/data/com.android.providers.settings/databases
sqlite3 settings.db
update system set value=0 where name='lock_pattern_autolock';
update system set value=0 where name='lockscreen.lockedoutpermanently';
.quit
명령을 실행한 뒤 기기를 재시작하세요. 패턴이 묻는 화면에서 임의의 패턴을 입력하면 잠금이 해제될 수 있습니다.
간단한 대체 한 줄 명령 (장치에 따라 동작하지 않을 수 있음):
adb shell rm /data/system/gesture.key
위 한 줄을 실행하면 시스템의 저장된 패턴 파일이 삭제되어 잠금이 해제될 가능성이 있습니다. 이 방법이 모든 기기에서 동작하지 않으니 실패 시 대체 방법을 검토하세요.
명령어 치트시트
- adb devices — 연결된 기기 확인
- adb shell — 기기 쉘로 진입
- cd /data/data/com.android.providers.settings/databases — 설정 DB 폴더로 이동
- sqlite3 settings.db — 설정 DB 조작을 위한 sqlite3 실행
- update system set value=0 where name=’lock_pattern_autolock’; — 자동 잠금 해제
- update system set value=0 where name=’lockscreen.lockedoutpermanently’; — 영구 잠금 해제 플래그 초기화
- adb shell rm /data/system/gesture.key — 패턴 키 파일 삭제
- adb reboot — 기기 재시작
언제 동작하지 않는가 (원인과 해결책)
- 기기가 루팅되어 있지 않음: 루팅이 되어 있어야 /data 시스템 영역에 접근 가능합니다.
- ADB 권한이 허용되어 있지 않음: 잠긴 상태에서 ADB 권한을 승인하지 않았다면 접근 불가.
- 제조사 보안(예: 삼성 Knox) 또는 SELinux 강제 모드: 시스템 파일 변경이 차단됩니다.
- 기기별 파일 경로 또는 데이터베이스 스키마 차이: 일부 제조사는 설정 DB 위치를 변경합니다.
- 디스크 암호화(파일 시스템 암호화): 파일을 직접 삭제해도 잠금 해제에 실패할 수 있습니다.
해결책 요약:
- 가능하면 먼저 기기 제조사의 공식 복구 옵션 또는 구글 계정 복구(Find My Device)를 시도하세요.
- 커스텀 리커버리(TWRP 등)를 설치해 접근하거나, 커스텀 ROM 재설치로 문제를 해결할 수 있습니다.
- 데이터가 중요하면 전문 서비스에 의뢰하세요.
대체 접근법
- Google 계정/Find My Device를 통한 잠금 해제(설정에 따라 가능)
- 공장 초기화(데이터 손실 발생)
- 커스텀 리커버리에서 파일 조작 또는 백업 후 리스토어
- 커스텀 ROM 플래시(최후 수단)
보안·법적 주의사항
- 이 가이드는 합법적으로 기기에 대한 접근 권한이 있는 사용자를 위한 것입니다. 타인의 기기 보안 우회는 사생활 침해 및 법적 문제를 초래할 수 있습니다.
- 불법적 사용에 대한 책임은 전적으로 사용자에게 있습니다.
중요: 본 방법은 데이터를 보장하지 않으며, 잘못 적용하면 데이터 손상 또는 기기 부팅 불가(브릭)가 발생할 수 있습니다.
체크리스트 (작업 전)
- 배터리 50% 이상 확보
- 필요한 드라이버 및 ADB 설치 완료
- 루팅 상태 확인
- 가능하면 전체 백업(리커버리에서 Nandroid 백업 권장)
- ADB로 기기 식별 확인(adb devices)
역할별 간단 절차
- 기기 소유자: 백업 → 루팅 확인 → ADB 연결 → 명령 실행 → 재부팅 및 확인
- 기술자: 로그 확인 → SELinux 설명 모드/리커버리 접근 고려 → 안전한 수단으로 복구
1줄 용어집
- 루팅: 안드로이드에서 관리자(root) 권한을 획득하는 행위
- ADB: Android Debug Bridge, PC에서 기기를 제어하는 도구
- gesture.key: 안드로이드가 패턴을 암호화해 저장하는 파일
요약
루팅된 안드로이드에서는 ADB를 통해 설정 DB를 변경하거나 gesture.key 파일을 삭제해 패턴 잠금을 우회할 수 있습니다. 그러나 모든 기기에서 동작하지 않으며, 실패 시 공장 초기화나 커스텀 리커버리, 전문 서비스 등을 고려해야 합니다. 항상 합법적이고 윤리적인 목적으로만 사용하세요.
[출처] XDA-Developers