Nox Emulator에 frida-server를 설치한다.
실습 환경은 OS X Catalina 환경이지만 Windows에 설치했을 때에도 이상 없이 설치됨을 확인했다.
현재(20.11.14)기준으로 프리다 최신 버전은 14 버전이다. 공식 홈페이지에서 받을 수 있다.
NOX 설치
- ROOT 켜기
- ADB 쉘 연결 위한 BusyBox 설치
- 파일 관리자 실행으로 루트 및 시스템 경로 접근 가능한지 확인
실습 환경에 ADB 설치
Windows : https://4urdev.tistory.com/77
- Android SDK Platform Tools 페이지에서 OS에 맞는 ADB를 다운로드
- 다운받은 경로를 환경변수(시스템변수 - Path)에 등록
- 쉘에서 adb명령어로 설치 확인
[사진4]
OSX에서는adb connect 127.0.0.1:62001
을 통해서 연결 가능하다.
- nox 설치 경로도 환경변수에 등록하여 nox_adb 실행도 확인
오류, error: more than one device/emulator
에뮬레이터 종료가 정상적으로 이루어지지 않았거나 다른 이유로 여러개의 에뮬레이터가 조회되는 경우이다.
adb devices
를 통해서 타겟 디바이스의 목록을 확인하고, adb-kill-server
를 통해서 목록의 디바이스를 모두 종료시킬 수 있다.
그다음 nox_adb shell
을 통해서 연결한다.
또는 adb -s 디바이스명 shell
-s 옵션을 통해서 타겟을 직접 지정할 수도 있다.
frida-server 설치
-
안드로이드 운영체제 비트 확인(32bit)
nox_adb shell getprop ro.product.cpu.abi
-
frida-server 설치
-
https://github.com/frida/frida/releases에서 운영체제에 맞는 frida-server설치(frida-server-12.11.12-android-x86.xz)
nox에서 파일관리자 실행 후 드래그&드롭 하면 복사되나 권한오류문제(Permission denied, remote Read-only file system)를 만나기 싫으면 실행권한이 있는 폴더로 파일이동 해야함, 또는 직접 실행권한을 부여해야한다.
드래그앤드롭시 파일위치
실행권한이 있는 /data/local/tmp 폴더 생성후(이미 존재할 수도 있음)
adb push 파일위치 nox이동위치
nox로 파일복사권한부여
chmod 777 frida-server
./frida-server &
으로 백그라운드 실행ps |grep "frida*"
로 실행 확인
`frida-ps -U` 로 frida-server PID를 확인하여 attach 시킬 수 있다.
fridump 설치
-
https://github.com/rootbsd/fridump3 에서 download
- python2의 경우 fridump, python3의 경우 fridump3을 사용한다.
-
압축풀고 실행
-
패키지명 또는 PID를 통해서 타켓을 지정하고 메모리를 dump 할 수 있다.
#
frida-ps -U | findstr [APP NAME]
#
python fridump3.py -u -s [PACKAGE NAME]
Frida 설치
frida는 bob 트랙별 교육 중 설치하였다. 다음 명령어로 설치한다.
#python -m pip install —upgrade pip
#pip install frida
pip install frida-tools —upgrade
설치가 완료되면 필요에 따라 환경변수에 등록한다.
CrackMe
덤프를 위한 적절한 앱을 찾기 위해 크랙미 실습파일을 구했다.
실습용 예제파일
https://github.com/OWASP/owasp-mstg/blob/master/Crackmes/Android/Level_01/UnCrackable-Level1.apk
문자열검색을 통해 Package Name을 찾고 Dump를 수행한다.
error:device not found
solve:
-
더보기fridump3.py 을 연다.
-
더보기frida.get_usb_device()를 찾아 frida.get_usb_device(1)로 수정
-
메모리 덤프
'Security > Mobile' 카테고리의 다른 글
[Frida] 안드로이드 루팅 탐지 우회하기 2 (0) | 2020.12.24 |
---|---|
[Frida] 안드로이드 루팅 탐지 우회하기 (4) | 2020.12.23 |
[Flutter][Reversing]Webview, JSInterface 통신 앱 분석 (0) | 2020.11.21 |
[Flutter] Webview, JSInterface 통신하기 (0) | 2020.11.20 |
[Flutter] URI Scheme 사용하는 앱 개발 (2) | 2020.11.17 |