정뾰안 - 정보보안 블로그
Nox 설치 및 루팅 본문
1. Nox 루팅 설명
안드로이드에서 설정 → 휴대전화 정보 → 빌드 번호를 여러 번 누르면 ‘개발자가 되었습니다’라는 메시지가 뜨고 개발자 옵션이 활성화된다. 이 과정에서 시스템 내부적으로 여러가지 일이 진행된다.
1) developer options enabled가 true로 바뀐다.
*시스템 저장소 설정 중 ‘OS가 개발자 옵션 메뉴를 보여줄지’ 여부를 조정하는 플래그인 development_settings_enabled 값이 1로 저장된다. developer options enabled은 개발자 옵션(Developer Options) 활성화 여부를 나타내는 시스템 설정 값으로, 실제 설정에서는 development_settings_enabled = 1 또는 development_settings_enabled = 0 형식을 사용한다.
- 1 : 개발자 옵션 활성화(true)
- 0 : 개발자 옵션 비활성화(false)
*시스템 설정 저장소 : Settings.Global, Settings.Secure, Settings.System
Settings.Global
- Android 4.2 이후 추가된 전역 설정 영역
- 일반 앱은 대부분 쓰기 불가
- 다사용자 환경에서 모든 사용자에게 적용되는 설정 시스템 설정 및 디바이스 전체 정책에 해당하는 항목들
- 비행기 모드 상태, 데이터 사용량 제한, 자동 시간/시간대 설정 등
- 보통 developer options enabled 설정은 여기에 존재함
- 일부 오래된 Android 4.1 이하 기기에서는 Settings.Secure에 저장되기도 했지만 현대 기기 대부분은 Settings.Global에 있음
Settings.Secure
- 보안 관련 설정
- 일반 앱 쓰기 불가, 읽기만 가능(일부는 읽기도 제한) Sensitive settings라서 시스템/특권 앱만 수정 가능
- ADB 활성화 여부 (adb_enabled), 위치 서비스 상태, 잠금 화면 방식 설정 등
Settings.System
- 사용자 접근이 비교적 자유로운 설정
- 앱이 읽기/쓰기 가능한 경우가 많으나, Android 6.0 이후 대부분 WRITE 권한이 제한됨 원래는 일반 앱도 변경 가능했지만, 보안 강화 이후 대부분 WRITE_SETTINGS 권한 필요
- 화면 밝기(brightness), 벨소리(ringtone), 볼륨(volume) 설정 등
2) 보이지 않던 개발 관련 메뉴가 활성화된다.
여기서 활성화의 의미는 단순히 설정 UI의 기능을 열어주는 것으로, 시스템 권한이나 파일 구조에는 변화가 없다.
개발 관련 메뉴 : USB 디버깅, 애니메이션 스케일 조정, 백그라운드 프로세스 제한, GPU 관련 디버깅 도구, 로그 옵션 등
3) 오해하지 말아야 할 점은 시스템 파티션·바이너리·권한에는 어떠한 변화도 없다는 것이다.
- /system/bin/ 또는 /system/xbin/ 에 어떤 파일도 생성되지 않음
- 권한 상승 기능은 전혀 추가되지 않음
- 루트 관련 프로세스가 실행되지 않음
개발자가 되었습니다라는 메시지. 즉, 개발자 옵션이 활성화되었다는 것은 루팅이 되었다는 것과는 다르다. 단순히 보이지 않던 개발 관련 설정 UI 기능을 열어주는 것이다. 루팅이란 시스템 파티션을 수정하거나 su 바이너리를 설치하여 슈퍼유저 권한을 획득하는 것이다. 따라서 Nox에서 루팅을 하기 위해서는 Nox 설정에서 Root 켜기 옵션을 활성화하여야 한다.
Root 켜기 옵션을 활성화하면 여러가지 일이 진행된다.
1) 시스템에 su 바이너리가 추가된다.
Nox는 자체적으로 빌드한 간단한 su 바이너리를 /system/xbin/su 또는 /system/bin/su 위치에 삽입한다.
2) 앱이 요청하면 root 권한을 바로 허용한다.
Magisk 같은 복잡한 구조가 아니라 Nox 내부에서 root 권한을 그냥 기본적으로 허용하는 형태이다. 따라서 앱들은 root 권한이 있다고 인식한다.
3) system 파티션이 읽기/쓰기 가능 상태로 동작한다.
루팅된 상태처럼 시스템 파일 수정, hosts 파일 변경, busybox 설치 등의 작업이 가능하다.
다만, Nox와 같은 에뮬레이터 루팅과 실제 안드로이드 기기 루팅은 차이가 있다.
( 향후 추가 예정 )
2. Nox 설치 및 루팅
◇ Nox 공식 홈페이지에서 Nox 설치파일을 다운로드한다. 나는 7.0.6.2 버전을 사용했다. https://kr.bignox.com/
Noxplayer – Fastest and Smoothest Android Emulator for PC & Mac – Free and Safe
Play the most popular mobile games and run apps on PC with NoxPlayer, the best Android Emulator. Supports Android 9. Compatible with Windows & Mac. Much faster and more stable.
www.bignox.com

◇ 원하는 설치 경로(C:\Program Files) 지정해서 Nox를 설치한다.

◇ Nox 설치 완료 후 실행한다.

◇ 설정에 들어가서 개발자 옵션을 활성화한다.
- 설정 > 태블릿 정보 > 빌드 번호 연속 클릭 > ‘이미 개발자입니다.’ 확인

◇ ADB Shell 접속을 위해 PC 환경변수 설정을 한다. 시스템 변수 Path에 설치 경로 하위 bin 경로를 추가한다.
- 내 경로 : C:\Program Files\Nox\bin

◇ USB 디버깅 모드를 활성화 한다.
- adb shell은 스마트폰 내부 리눅스 쉘에 직접 접속하는 명령으로, 기본 제한되어 있다.
- USB 디버깅은 개발자 옵션 기능으로, 명령 실행 및 시스템 접근용 연결이다.
- 따라서 adb shell로 접속하여 명령 등을 수행하기 위해 USB 디버깅 모드 사용이 필요하다.

◇ Nox 설정에 들어가서 Root 켜기 후 재시작한다.
- Nox 시스템설정 > 일반 > Root켜기 > 설정저장

◇ CMD 창을 열고 CPU 아키텍처를 확인하는 명령을 입력하여 ADB Shell을 확인한다.
- adb shell 접속 전 CMD 창
adb shell getprop | find "[ro.product.cpu.abi]"
- adb shell 접속 후
uname -m
getprop ro.product.cpu.abi
getprop ro.product.cpu.abilist

'Mobile' 카테고리의 다른 글
| Frida 설치(+Nox) (1) | 2025.12.31 |
|---|---|
| Nox에 Burpsuite 인증서 등록 (0) | 2025.12.25 |
| Frida 기초 (0) | 2025.12.24 |
| Dopamine 탈옥(아이폰SE + iOS 15.8.3) (0) | 2025.12.24 |
| JEB (+Frida/Nox) (0) | 2025.12.19 |