Frida Server/Client 설치 방법 - Android(AOS)
가. 설치 프로그램 설명
1. 아나콘다(Anaconda)
- 오픈소스 라이브러리를 모아둔 개발 플랫폼이다.
- 아나콘다를 사용하면 파이썬을 버전별로 설치해서 사용할 수 있는 가상환경을 사용할 수 있다.
- 프리다는 사용하는 JS파일, 모바일 디바이스에 따라 버전별로 여러 개 설치해야 하므로 아나콘다 가상환경을 이용하면 편리하다.
2. 프리다(FRIDA)
- 프리다는 앱이 실행 중인 상태에서 코드 명령어를 삽입해 프로세스를 추적, 분석, 디버깅할 수 있는 도구이다.
- PC에는 프리다 클라이언트, 모바일 디바이스에는 프리다 서버를 설치한다.
나. 프로그램 설치 및 환경 구축
1. 아나콘다(Anaconda) 설치 방법
- 아래의 링크에 접속해 설치 파일을 다운로드하고 설치한다.
https://www.anaconda.com/products/distribution
Free Download | Anaconda
Anaconda's open-source Distribution is the easiest way to perform Python/R data science and machine learning on a single machine.
www.anaconda.com
- "Add Anaconda to the system PATH environment variable", "Register Anaconda3 as my default Python 3.9" 체크한다.
- 아래의 명령어를 입력하여 아나콘다와 파이썬이 제대로 설치되어 있는지 확인한다.(오류 발생 시 제대로 설치가 되지 않은 것)


- 파이썬 가상환경을 생성한다.
# 명령어 형식
conda create -n [이름] python=[파이썬버전] -y
# 명령어 예시
conda create -n ios_py3 python=3.9 -y
※ 이름을 변경하고 싶거나 삭제하고 싶은 경우에는 아래의 명령어를 사용하도록 한다.
# 가상환경(env) 설치 목록 출력 명령어
conda env list
# 가상환경(env) 이름 변경 명령어
conda rename -n [이전이름] [변경이름]
# 가상환경(env) 삭제 명령어
방법1) conda env remove -n [이름]
방법2) conda remove -n [이름] --all
2. 프리다 클라이언트 설치 방법
- 가상환경 실행 및 프리다 서버를 설치한다.
# 가상환경 실행 명령어 형식
conda activate [가상환경 이름]
# 프리다 클라이언트 설치 명령어
pip install frida-tools
# 특정버전 설치 명령어
pip install frida==12.6.11
pip install frida-tools
- 가상환경에 프리다 클라이언트가 제대로 설치 되었는지 확인한다.
프리다 버전확인 명령어: frida --version
3. 프리다 서버 설치 방법
- 아래의 링크에 접속하여 자신의 프리다 클라이언트와 동일한 *버전을 다운로드한다.
*클라이언트와 서버의 버전에 차이가 크면 오류가 발생하지만 차이가 크지 않다면 꼭 동일하지 않아도 된다.
- frida-server-x.x.x-android-x86_64.xz 이름의 파일을 다운로드한다.
https://github.com/frida/frida/releases
Releases · frida/frida
Clone this repo to build Frida. Contribute to frida/frida development by creating an account on GitHub.
github.com
- 다운로드한 프리다 서버 파일을 디바이스의 "/data/local/tmp" 경로로 옮긴다.
# 명령어 양식
adb push [파일 경로] [디바이스 경로]
# 명령어 예시
adb push frida-server-12.6.11-android-x86_64.xz /data/local/tmp
- adb로 프리다 서버 파일의 권한을 777로 변경한 뒤 프리다 서버를 실행한다.
# 디바이스 접속
adb shell
# 프리다 서버 권한 설정
chmod 777 /data/local/tmp/frida-server-12.6.11-android-x86_64.xz
# 프리다 서버 파일 압축 해제
xz -d /data/local/tmp/frida-server-12.6.11-android-x86_64.xz
# 프리다 서버 백그라운드로 실행
./data/local/tmp frida-server-12.6.11-android-x86_64 &
4. 프리다 클라이언트 실행
- PC의 프리다 클라이언트 명령어를 실행하여 결과가 잘 출력되는지 확인한다.
# 디바이스에 설치된 앱 리스트 출력 명령어
frida-ps -Uai
※ 만약 클라이언트 실행 중 아래와 같은 에러가 발생한다면 디바이스에 설치된 프리다 서버의 bit(비트)가 맞지 않거나 잘못된 유형의 파일을 실행하여 발생한 것이다.
Failed to enumerate applications: unable to inject library into process without libc
※ 버전이 높은 프리다 서버를 사용하면 한글이 제대로 나온다.
※ 그외 발생한 오류는 아래의 게시글을 참고하여 해결하길 바란다.
[Mobile App 취약점 진단 · 모의해킹] - 프리다(Frida) 관련 오류 해결방법 정리 - iOS
프리다(Frida) 관련 오류 해결방법 정리 - iOS
iOS App진단을 위해서는 프리다(Frida) 설치 및 실행은 필수이다. 하지만 각종 에러가 발생하며 프리다가 동작하지 않는 경우가 아주 많다. 아래는 필자가 격은 오류 및 해결방법을 정리한 것이니
hagsig.tistory.com
'Mobile App 취약점 진단 · 모의해킹 > AOS App 취약점 진단 · 모의해킹' 카테고리의 다른 글
[AOS 취약점 진단] 14강 - 런타임 조작 취약점 점검(Frida/ADB) (0) | 2024.02.19 |
---|---|
[AOS 취약점 진단] 13강 - 웹 취약점 점검(SSL Pinning 우회) (0) | 2024.02.04 |
[AOS 취약점 진단] 12강 - 취약한 콘텐츠 프로바이더 점검 (0) | 2024.01.21 |
[AOS 취약점 진단] 11강 - 취약한 브로드캐스트 리시버 점검 (0) | 2024.01.21 |
[AOS 취약점 진단] 10강 - 취약한 액티비티 컴포넌트 점검 (0) | 2024.01.08 |