Post

Frida 환경구축

1. Anaconda 파이썬 환경구축

  • 프리다는 파이썬 버전에 영향을 많이 받기 때문에 다양한 파이썬 버전을 관리할 수 있는 Anaconda의 설치는 필수다.

Untitled

1) Anaconda 다운로드 및 설치

A. Anaconda 다운로드

B. Anaconda 설치

  • Next를 누르다가 Advanced Option 이 나오면 Add Anaconda to system PATH enviroment variable을 체크한다.

C. 설치 확인

conda --version 명령어를 이용하여 Anaconda가 잘 설치되었는지 확인한다.

Untitled


2) 독립된 파이썬 환경 구축

A. conda create

  • conda create -n '환경이름' python=파이썬버전 -y 을 이용해서 사용할 파이썬 환경을 만들어준다.
1
> conda create -n py3.7.1 python=3.7.1 -y

B. activate

  • activate '사용할 환경이름' 명령어를 입력하여 원하는 파이썬 버전의 환경을 사용할 수 있다.
1
> activate py3.7.1

Untitled


2. NOX 앱 플레이어 설치

Untitled

1) NOX 다운로드 및 설치

2) NOX 설정

  1. NOX 앱 플레이어를 실행시키고 상단의 ⚙️을 누르고 기본설정 → 시작항목 → ROOT 켜기 를 체크해줍니다.
  2. 설정저장을 누르고 NOX 앱 플레이어를 재부팅 합니다.

3) nox_adb(adb) 환경변수 설정

  • nox_adb 그리고 adb는 NOX가 설치되어있는 폴더의 bin 폴더 안에 있음.
  • NOX 가 설치되어 있는 폴더 안에 있는 bin폴더를 환경변수에 등록한다.

    → default는 C:\Program Files (x86)\Nox\bin\ 에 있음.

  • 환경변수 등록하기 : 작업탐색기 → 내 pc 우클릭 → 속성 → 고급 시스템 설정 → 환경변수

Untitled

3. FRIDA 설치

  • 위에서 구축한 파이썬 환경에서 pip install frida-tools 를 입력해 FRIDA를 설치한다.
1
(py3.7.1) > pip install frida-tools
  • 설치가 잘 되었는지 확인하기 위해 frida --version 을 입력한다.
1
2
(py3.7.1) > frida --version
15.1.1

4. FRIDA 서버 실행

로컬 컴퓨터에 설치한 FRIDA와 안드로이드 에뮬레이터가 서로 통신하기 위해서는 에뮬레이터에 FRIDA 서버를 실행해야 한다.

1) 안드로이드 비트 확인

  1. adb shell 혹은 nox_adb shell 을 입력하여 에뮬레이터 쉘에 접속한다.
  2. getprop ro.product.cpu.abi 명령을 이용해 안드로이드 비트를 확인한다.
1
2
3
(py3.7.1) > adb shell
# getprop ro.product.cpu.abi
x86

2) frida-server 다운로드

frida 버전과 안드로이드 비트에 맞춰서 아래의 링크를 통해 frida-server 파일을 다운로드 한다.

본 예제의 frida 버전은 15.1.1 이고 안드로이드 비트는 32비트(x86) 이므로 frida-server-15.1.1-android-x86.xz 를 다운로드 했다.

Untitled

3) 안드로이드 에뮬레이터로 frida-server 옮기기

  • frida-server 파일의 압축을 푼다.
  • adb push 명령어를 통해 안드로이드 에뮬레이터의 /data/local/tmp 경로로 frida-server 파일을 옮긴다.

    adb push frida-server 파일이 있는 경로 /data/local/tmp

1
> adb push frida-server-15.1.1-android-x86 /data/local/tmp

4) frida-server 파일 실행하기

  1. adb shell 을 통해 에뮬레이터 쉘에 접속한다.
  2. cd /data/local/tmp 로 경로이동
  3. chmod 755 frida-server-15.1.1-android-x86 을 통해 실행권한을 준다.
  4. ./frida-server-15.1.1-android-x86 & 백그라운드로 frida-server 실행시킨다.
  5. ps | grep frida 로 frida 서버가 잘 실행되었는지 확인한다.

5) frida와 안드로이드 연결 확인

  • frida-ps -U 명령을 사용해서 안드로이드 에뮬레이터에서 동작하고 있는 프로세스를 확인한다.

    -U 옵션은 USB 옵션을 의미한다. frida는 USB 장치를 인식하지만 에뮬레이터가 동작하고 있는 경우 에뮬레이터로 인식하여 작동한다.

Untitled

This post is licensed under CC BY 4.0 by the author.