모바일 앱해킹(Android)/Frida Lab

[Mobile Hacking] Nox & Frida 설치방법 (환경세팅)

무너박사 2024. 10. 19. 00:54

안녕하세요! 이번 포스팅에서는 모바일 앱해킹에서 가장 중요하게 사용되는 Frida 설치 방법에 대하여 알려드리겠습니다.

 

 

Frida 란? 

> 모바일 애플리케이션 및 기타 프로그램에서 사용되는 동적 코드 분석 및 조작 도구입니다. 쉽게 말해서 어플이 동작할때 코드를 분석할 수 있고 함수가 호출될 때 저희가 작성한 함수가 호출되도록 조작할 수 있습니다. 즉! 동작중인 프로그램의 프로세스에 코드를 삽입하여 분석을 진행하는 도구입니다!

 

Nox AppPlayer 란?

> 사실 안드로이드 휴대폰이 있다면 앱을 Frida로 분석하면 되지만 이를 위해선 핸드폰을 루팅해야 합니다. 루팅이란 시스템의 최고 권한을 부여해주는 작업인데 잘못하다가 핸드폰이 벽돌이 될 수 있으므로 좀 위험한 작업입니다... 그래도 저희에겐 컴퓨터에서 핸드폰 앱을 실행시킬수 있는 NOX AppPlayer 가 있기 때문에 괜찮습니다! NOX에선 루팅 과정없이도 시스템 최고 권한을 부여할 수 있기 때문에 따로 위험요소가 존재하지 않습니다!

 

※ Frida 는 python 기반으로 동작하기 때문에  python 설치가 필요합니다! 아래 링크에서 파이썬 설치를 완료하신 후 내용을 따라와주세요! 

> 참고로 이 포스팅에서 사용하게 될 Frida의 최신버전은 Python3.x 버전에서만 동작하므로 버전을 유의해서 설치를 진행하여 주세요!

 

https://www.python.org/downloads/

 

Download Python

The official home of the Python Programming Language

www.python.org

 

 

↓ 지금부터 차근차근 따라오세요!


1. 녹스(Nox) 설치

아래 링크에서 녹스 앱플레이어를 다운로드 받아주세요.

 

 

https://kr.bignox.com/

 

Noxplayer – Fastest and Smoothest Android Emulator for PC & Mac – Free and Safe

Play the most popular mobile games and run apps on PC with NoxPlayer, the best Android Emulator. Supports Android 9. Compatible with Windows & Mac. Much faster and more stable.

www.bignox.com

 


 

경로를 편하신 곳에다가 설정하고 설치해주세요

 


설치가 완료되었으면 시스템설정 > 일반 > Root켜기 를 체크하시고 재실행 해주세요.


2. nox_adb 환경 변수 설정

adb(Android Debug Bridge) 란 명령어를 사용해서 안드로이드를 제어할 수 있게 해주는 소프트웨어입니다. nox_adb.exe를 명령어 창으로 실행해야 하는데 C:\Nox\bin   -> (nox_adb.exe가 담겨있는 파일 경로입니다) 경로로 매번 가서 실행할 수 없으니 환경 변수에 등록하여 경로이동 없이 실행될 수 있도록 설정해주겠습니다.


 

우선 저의 경우에는 C:\Nox\bin 에 adb.exe 파일이 존재하였습니다. 이 경로를 복사해주세요.


 

시스템 속성 > 시스템 변수 > PATH 를 더블클릭하여 들어가주세요.

시스템 속성 PATH 클릭

환경 변수 편집 > 새로 만들기 > 복사한 경로 삽입을 한 후 확인을 눌러주세요.

환경변수 편집창 <새로 만들기> 클릭 복사한 경로를 넣어주기

 

이제 CMD 창에서 경로 이동없이 nox_adb가 실행되는지 학인하기 위하여 cmd창에서 다음 명령어를 입력해주세요.

이후 nox_adb의 버전 정보가 잘 출력되는것을 확인하실 수 있습니다.

>> nox_adb version


3. Frida 설치

일단 위에서 Python3 설치를 마쳤다고 생각하고 진행하겠습니다.

Frida를 설치하는 명령어는 두개입니다. cmd창을 여시고 실행하여 설치해주세요.

>> pip install frida
>> pip3 install frida-tools

 

>> 다른 웹사이트에선 pip frida-tools를 하라해서 했더니 자꾸 오류가 나서 pip3 install frida-tools 라고 했더니 설치가 되었습니다. 만약 제 코드로 안되는 분들은 pip frida-tools 로 시도해보세요.


 

이후 frida --version을 입력하셔서 설치된 Frida의 버전을 확인해주세요.

>> frida --version


4. Frida-server 설치

> Frida는 현재 로컬컴퓨터에 깔려있습니다. Frida 서버를 녹스 앱플레이어에 설치하여 녹스와 로컬컴퓨터가 서로 통신할 수 있게 만들어주어야 합니다. Nox를 실행한 상태에서 cmd 창을 켜고 nox_adb_shell 명령어를 입력해줍니다. 녹스를 명령어로 입력할 수 있는 shell 이 열렸습니다.


여기다가 getprop ro.product.cpu.abi  라고 입력해주어서 현재 nox의 안드로이드가 몇 비트인지 확인합니다.

(현재의 경우 X86<32비트> 인 것을 확인하였습니다)


이제 아래의 사이트로 접속하셔서 저희 Frida 버전과 비트의 맞는 Server 파일을 다운로드 받아야합니다.

frida-server-버전-android-x86.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


마지막으로 압축을 풀어주었던 파일을 아래의 명령어를 사용하여 다음의 경로로 옮겨주세요.

>> nox_adb push [옮길 파일의 경로] /data/local/tmp/frida-server

 

 

이런식으로 옮기시면 Nox & Frida 환경구축이 끝났습니다!


긴 글 읽어주셔서 감사합니다