본문 바로가기
App hacking

[안드로이드] 폰 루팅 및 프리다 서버 설치

by m_.9m 2023. 2. 10.

1.1. 진단 폰 루팅

Step 1. 진단 폰 루팅을 위해서 ‘설정>시스템>소프트웨어 정보’를 누른다. 빌드 번호 항목이 보이면 빌드 번호를 연속 클릭해 개발자 옵션을 활성화 시킨다.

 

 

 

Step 2. 개발자 옵션에서 ‘USB 디버깅’ 옵션을 킨다.

 

 

 

Step 3. 이후 루팅에 필요한 파일들을 모두 다운로드 받아 준다. 오딘, twrp, magisk, dm-verity _forceEncrypt 파일이다.  dm-verity 경우 안드로이드 시스템 보안 매커니즘으로 dm-verity _forceEncrypt를 통해 dm-verity와 강제 암호화 기능을 강제로 비활성화할 수 있다.

 

 

 

Step 4. 핸드폰에 ‘빅스비 버튼’+’볼륨 하’+’전원’ 버튼을 동시에 눌러 다운로드 모드로 진입한다. 이후 오딘을 열고 ID:COM에 기기가 뜨면 AP에 twrp 파일을 올려 다운로드를 시작한다. 완료 시 녹색의 PASS! 버튼을 볼 수 있다.

 

 

Step 5. 이후 ‘볼륨 하’+’전원’ 버튼을 눌러 폰을 재 시작하고 시작할 때 폰이 검은 화면으로 바뀌면 ‘빅스비 버튼’+’볼륨 상’+’전원’ 버튼을 동시에 눌러 twrp recovery 모드로 진입한다. 진입 후 Wipe --> Format Data --> "yes" 입력으로 폰을 초기화 한다. 그 다음 윈도우 탐색기에 omni_starlte > lnternal Storage에 magisk, dm-verity _forceEncrypt 파일을 넣어준다.

 

 

 

Step 6. install 버튼을 통해 두 파일 다 설치를 진행한다. 설치하면 Successful 문구를 통해 설치가 제대로 된 것을 확인할 수 있다. 이후 폰을 다시 재 부팅하면 루팅이 성공한 것을 확인할 수 있다.  

 

 

1.2. frida 환경 구축 및 테스트

Step 1. 로컬에 pip를 통해 frida와 frida-tools를 설치한다.

 

 

Step 2. 프리다 버전 확인을 하고 같은 버전의 frida-server를 github에서 찾아 내려받는다.

 

Step 3. 다운받은 프리다 버전을 adb를 통해 안드로이드 기기에 넣어주고 제대로 서버가 폴더에 들어갔는지 확인한다.  

 

Step 4. 권한을 chmod 777 등으로 frida-server의 파일 권한에 실행 권한을 부여한다.

 

Step 5. ‘./frida-server &’ 로 백그라운드로 서버를 실행 시키고 ps | grep frida로 실행을 확인한다.

 

 

 

1.3. jadx, apk easy tool 설치

Step 1. jadx는 apk를 Decompile하여 소스코드를 확인할 수 있게 하는 도구이다. 설치 후 디컴파일하고 싶은 파일을 열어 확인할 수 있다.

 

 

 

Step 2. Apk Easy Tool은 apk 파일을 쉽게 Decompile, Compile, Sign 할 수 있는 툴이다. 간단하게 Browse로 파일을 열고 버튼을 누르면 실행된다.

 

 

 

Step 3. 디컴파일을 예시로 들 경우 버튼을 누르고 나서 설치 경로에 ‘1-Decompiled APKs’ 폴더가 생긴다. 진입할 시 Decompile된 파일을 확인할 수 있다.