HOME
home
CV News
home

Android Rooting&Frida setup

속성
MOBILE
날짜
환경
Windos 10 64bit
Samsung Galaxy Note 8 (N950N, arm64)

초기화

루팅을 시작 하기 전 정품 펌웨어로 공장 초기화를 해주는 것이 좋다.
필요없다고 판단 될 경우 제외하고 진행 하여도 무관하다.
초기화 하기전 기본적으로 USB 디버깅 모드를 실행해 주어야 한다.
1. 설정 > 휴대전화 정보 > 소프트웨어 정보 > 빌드번호 7번 클릭
2. 설정 > 개발자 옵션 > USB 디버깅 활성화
순정 펌웨어 다운로드는 SamFirm을 이용하여 다운로드 한다. (SamFirm은 인터넷 검색하여 다운로드)
SamFirm을 다운로드 하여 설치, 실행 하면 위 그림과 같이 프로그램이 실행된다.
모델에 원하는 정품 펌웨어 모델을 입력 후 다운로드 버튼을 누르게 되면 자동 다운로드가 된다.
다운로드 된 파일을 압축 해제 하면 위 그림과 같이 파일이 생성 되며 초기화 할때 AP, BL, CP, CSC 4가지 파일을 이용하게 된다.
초기화는 Odin을 사용하여 진행 한다. (Odin 역시 검색하여 다운로드)
Odin까지 설치하고 나면 핸드폰 초기화를 진행한다.
핸드폰 전원 종료 후, 전원 + 빅스비 + 볼륨 하 3가지 키를 동시에 누르면 1번과 같은 화면이 나온다.해당 상태에서 볼륨 상 키를 눌러 2번과 같이 다운로드 모드로 진입 후 USB 포트를 PC와 핸드폰에 연결해 준다. (필요 시 USB 통합 드라이버 다운로드)
USB 연결 후 Odin에 조금 전 다운받은 정품 펌웨어를 이름에 따라 차례대로 넣어주고 Start버튼을 누르면 자동으로 초기화 된 후 핸드폰이 재부팅 된다.
모두 완료 되고 나면 해당 화면에서 Wipe data/Factory reset 버튼을 볼륨 하 키를 눌러 이동 후 전원 버튼을 눌러 선택 해 주고 yes 를 선택해 주면 초기화가 진행되고 한번 더 위 그림과 같은 화면으로 진입한다. 그때는 Reboot system now 버튼을 선택하여 재부팅 해주면 끝이 난다.

루팅

루팅 하기전 기본적으로 USB 디버깅 모드와 OEM잠금 해제를 활성화해 주어야 한다.
1. 설정 > 휴대전화 정보 > 소프트웨어 정보 > 빌드번호 7번 클릭
2. 설정 > 개발자 옵션 > OEM잠금 해제 활성화
3. 설정 > 개발자 옵션 > USB 디버깅 활성화
설치 파일
Android studio는 환경 변수 설정이 되어있어 adb 명령을 실행할 수 있어야 한다.
Odin (버전 상관 없음)
Magisk
TWRP
RMM
설치 파일 참조 (https://kgezzang.tistory.com/823)
핸드폰 전원 종료 후, 전원 + 빅스비 + 볼륨 하 3가지 키를 동시에 누르면 1번과 같은 화면이 나온다.
해당 상태에서 볼륨 상 키를 눌러 2번과 같이 다운로드 모드로 진입 후 USB 포트를 PC와 핸드폰에 연결해 준다. (필요 시 USB 통합 드라이버 다운로드)
Odin을 실행 후 TWRP 파일을 AP에 업로드 후 옵션의 Auto Reboot를 체크 해제 후 Start버튼을 눌러 진행한다.
정상 업로드 되고 PASS가 뜨면 핸드폰에서 볼륨 하 + 전원 버튼을 눌러 종료 후, 볼륨 상 + 빅스비 + 전원 버튼을 눌러 리커버리 모드로 진입한다. 리커버리 모드로 진입 되면 하단 스크롤을 우측으로 이동하여 TWRP 메뉴로 진입한다.
TWRP메뉴에서 Wipe 메뉴 선택 > Format Data > yes 입력 순차적으로 진행
진행 후 상단에 Successful이 나오면 정상적으로 진행 되었으므로 홈 버튼을 눌러 다시 메뉴로 진입
PC와 핸드폰이 USB연결이 된 상태에서 다운받은 두개의 파일을 adb 명령을 이용하여 핸드폰의 sdcard로 이동
정상 연결 확인
adb devices
파일 업로드
adb push [파일명] /sdcard
install메뉴로 진입하면 업로드 한 파일 두개가 존재한다. 하나씩 선택하여 설치를 진행한다.
설치가 정상 완료 되었는지 확인 후 재부팅 (TWRP 홈 > Reboot > system)
핸드폰 부팅 시 Magisk앱이 정상적으로 설치 되어 있고, 소프트웨어 버전이 최신 버전인지 확인한다.
adb를 실행하여 su - 를 입력할 경우 Magisk앱에서 권한 허용 질의를 한다.
권한을 허용 해주면 위 그림과 같이 root권한을 얻을 수 있다.

프리다

설치 파일
Anaconda
Python
Android Studio
아나콘다 프롬프트를 실행하여 프리다를 다운로드 한다.
pip install Frida-tools
프리다가 설치되면 버전 확인 후 adb를 이용하여 현재 연결된 기기의 안드로이드 비트를 확인 한다.
getprop ro.product.cpu.abi
확인 후 자신의 프리다 버전과 안드로이드 비트 수를 확인하여 동일한 버전의 서버를 다운로드 한다.
다운로드 된 서버 파일은 압축 해제 후 adb 명령을 이용하여 tmp 폴더로 업로드 한다.
adb push frida-server-12.9.2-android-arm64 /data/local/tmp
업로드가 정상적으로 이루어 지면 adb shell을 이용하여 업로드 된 파일에 실행 권한을 부여하고, 백그라운드로 실행 한다.
ls -al
chmod 755 ./frida-server-12.9.2-android-arm64
./frida-server-12.9.2-android-arm64 &
ps -ef |grep frida
마지막으로 서버 구동을 확인하려면, 아나콘다 프롬프트에서 frida-ps -U 명령을 입력하여 서버 프로세스가 잘 구동 되고 있는지 확인 하면 설치, 실행이 완료 된다.