경고: 이 글에서 소개하는 내용은 제조사가 공식적으로 지원하지 않는 기능이다.
- 숨겨진 메뉴 접근 및 설정 변경은 기기 보증을 무효화할 수 있다
- 잘못된 설정은 통화 불가, 데이터 연결 불가, 기기 벽돌화 등 심각한 문제를 일으킬 수 있다
- 통신 관련 설정 변경은 전파법 위반에 해당할 수 있다
- 이 글의 내용을 적용하여 발생하는 모든 문제에 대한 책임은 사용자 본인에게 있다
- 반드시 테스트 기기에서만 시도하라
사전 준비
ADB 설치 및 연결
Android Debug Bridge(ADB)가 필요하다. Android SDK Platform Tools에 포함되어 있으며, 독립 패키지로도 설치 가능하다.
# 기기 연결 확인
adb devices
# USB 디버깅이 활성화되어 있어야 합니다
# 설정 → 개발자 옵션 → USB 디버깅
개발자 옵션은 설정 → 휴대전화 정보 → 소프트웨어 정보 → 빌드번호 7회 연속 터치로 활성화한다.
HiddenMenu 접근
삼성 갤럭시에는 com.sec.hiddenmenu라는 시스템 앱이 내장되어 있다. 다이얼 패드에서 특정 코드를 입력하거나 ADB am start 명령으로 직접 액티비티를 실행할 수 있다.
주요 HiddenMenu 액티비티
Service Mode (서비스 모드)
기기의 하드웨어 상태, 네트워크 정보, 배터리 상태 등을 확인할 수 있다.
adb shell am start -n com.sec.hiddenmenu/.ServiceModeApp \
-e 7267864872 72678647376477466
Field Test Mode (필드 테스트 모드)
현재 연결된 기지국 정보, 신호 강도, 주파수 대역 등 상세한 네트워크 정보를 확인한다.
adb shell am start -n com.sec.hiddenmenu/.FIELDTESTMODE \
-e 7267864872 72678647376477466
LTE 설정
LTE 관련 상세 설정에 접근한다. 대역 선택, MIMO 설정 등을 확인할 수 있다.
adb shell am start -n com.sec.hiddenmenu/.LTE \
-e 7267864872 72678647376477466
Phone Utility
기기의 하드웨어 테스트 및 유틸리티 기능에 접근한다.
adb shell am start -n com.sec.hiddenmenu/.PhoneUtil \
-e 7267864872 72678647376477466
Band 설정 관련 메뉴
특정 주파수 대역의 활성화/비활성화를 설정하는 메뉴들이다.
# Band Priority 편집
adb shell am start -n com.sec.hiddenmenu/.BandPriorityEdit \
-e 7267864872 72678647376477466
# Band 25 MIMO 설정
adb shell am start -n com.sec.hiddenmenu/.Band25MIMO_edit \
-e 7267864872 72678647376477466
# Band 41 MIMO 설정
adb shell am start -n com.sec.hiddenmenu/.Band41MIMO_edit \
-e 7267864872 72678647376477466
# NR (5G) 설정
adb shell am start -n com.sec.hiddenmenu/.NR_Edit \
-e 7267864872 72678647376477466
네트워크 관련 고급 설정
# VoLTE 설정
adb shell am start -n com.sec.hiddenmenu/.VoLTE_edit \
-e 7267864872 72678647376477466
# DNS 설정
adb shell am start -n com.sec.hiddenmenu/.DNS_Set \
-e 7267864872 72678647376477466
# APN 연결 설정
adb shell am start -n com.sec.hiddenmenu/.APNActiveConnection \
-e 7267864872 72678647376477466
디버깅 및 진단 메뉴
# 디버깅 메뉴
adb shell am start -n com.sec.hiddenmenu/.DebugingMenu \
-e 7267864872 72678647376477466
# ASM 디버그 UI
adb shell am start -n com.sec.hiddenmenu/.Asmdebug \
-e 7267864872 72678647376477466
# MEID 정보 확인
adb shell am start -n com.sec.hiddenmenu/.MEIDInfo \
-e 7267864872 72678647376477466
# Terminal Mode
adb shell am start -n com.sec.hiddenmenu/.TerminalMode \
-e 7267864872 72678647376477466
CID Manager를 통한 접근
com.samsung.android.cidmanager는 CID(Customization ID) 및 사전 설정 관리를 담당하는 시스템 앱이다. Secret Code를 통해 특정 설정 화면에 직접 접근할 수 있다.
# Preconfig 설정 (type 3)
adb shell am start -n com.samsung.android.cidmanager/.preconfig.PreconfigActivity \
-a android.provider.Telephony.SECRET_CODE \
-d secret_code://272837883 --ei type 3
# Preconfig 설정 (type 2) — 일부 기기에서 경로가 다름
adb shell am start -n com.samsung.android.cidmanager/.modules.preconfig.PreconfigActivity \
-a com.samsung.android.action.SECRET_CODE \
-d secret_code://27262826 --ei type 2
기기 모델과 펌웨어 버전에 따라 액티비티 경로가 다를 수 있다. 위 두 경로 중 하나가 동작한다.
System Shell 접근 (고급)
Factory Test Launcher(FTL)를 통해 시스템 수준의 셸 액티비티에 접근하는 방법이다. 이 방법은 KNOX 및 Device Admin 설정 변경을 수반하므로 특히 주의가 필요하다.
절차 개요
- Factory Test Launcher APK를 기기에 설치한다
adb push FactoryTestLauncher.apk /data/local/tmp
adb shell pm install -d -i PrePackageInstaller \
/data/local/tmp/FactoryTestLauncher.apk
- KNOX Agent 관련 설정을 조정한다
# KNOX Agent 비활성화
adb shell pm disable-user com.samsung.klmsagent
-
Activity Launcher 앱으로 FTL의 Shell Activity를 찾아 실행한다
-
작업 완료 후 KNOX Agent를 다시 활성화한다
# KNOX Agent 재활성화
adb shell pm enable com.samsung.klmsagent
중요: KNOX Agent를 비활성화한 상태로 방치하면 보안 기능이 무력화된다. 작업 후 반드시 재활성화해야 한다. 또한, KNOX 트립 카운터가 증가하면 삼성 페이, 보안 폴더 등의 기능이 영구적으로 비활성화될 수 있다.
자주 사용하는 진단 명령어
시스템 메뉴 외에 ADB 셸에서 직접 실행할 수 있는 유용한 진단 명령어들이다.
# 현재 네트워크 상태 확인
adb shell dumpsys telephony.registry
# 배터리 상태 상세 정보
adb shell dumpsys battery
# 설치된 패키지 중 hidden/system 앱 목록
adb shell pm list packages -s
# 특정 앱의 액티비티 목록 확인
adb shell dumpsys package com.sec.hiddenmenu | grep Activity
주의사항 요약
- 모든 작업은 테스트 기기에서 수행해야 한다. 주력 기기에서의 실험은 위험하다.
- Band 설정 변경 전 현재 설정을 기록해 두어야 한다. 잘못된 설정으로 통신 불가 시 복원이 필요하다.
- KNOX 관련 작업은 비가역적일 수 있다. KNOX 트립이 발생하면 삼성 보안 서비스가 영구 비활성화된다.
- 펌웨어 업데이트 후 경로가 변경될 수 있다. One UI 버전에 따라 액티비티 경로나 패키지명이 달라질 수 있으니, 업데이트 후 재확인이 필요하다.
- 기기 모델별 차이가 있다. 위 명령어들은 주로 미국 통신사 모델 기준이며, 한국 내수 모델에서는 일부 메뉴가 없거나 다를 수 있다.
참고 자료
- XDA: Samsung Galaxy System Shell Access — XDA 시스템 셸 접근 가이드