뭔가 프로젝트는 해야겠고.. 뭘 할지는 모르겠어서 찾아보니까 모의해킹에 관한 내용이 상당히 많았다. 그래서 안드로이드 웹 해킹에 도움이 되는 디버거인 frida를 한 번 설치해보기로 했다.
Nox 앱 플레이어 설치
먼저 Nox를 설치해주어야 하는데, 이걸 설치하고 실행하려니까 다음과 같은 창이 뜨면서 실행이 되지 않았다.

VT 문제 인 것 같아서 BIOS 키고 살펴봤는데, 켜져 있었다. 그래서 구글링 해보니까

이 항목에서 가상 머신 플랫폼 부분을 꺼주어야 했다. 이걸 끄니까 정상적으로 잘 작동되었다.
Frida 설치
일단 먼저 cmd에 frida를 설치를 해주어야 하는데, 설치 방법은 다음과 같다.
cmd에 다음과 같이 입력해준다.
pip install frida-tools
그런데 이렇게 입력해도 frida가 어디로 도망갔는지 나오지를 않았다.
그래서 검색해보니, 파이썬 환경 변수 문제였다.
시스템 환경 변수 편집 -> 고급 -> 환경 변수에서
시스템 변수, Path를 찾아서 그 안에 frida가 설치되어 있는 경로를 찾아 넣어주어야 한다.
그렇게 하니 정상적으로 작동되는 모습을 확인했다.
Frida server 설치
이제 안드로이드(Nox)와 컴퓨터를 연결해주는 서버를 설치해야 한다.
먼저 Nox랑 연결되는 쉘을 실행해야 하는데, nox 폴더에 저장된 bin 폴더에 들어가서 cmd를 실행시킨다.
이제 서버를 다운받아야 하는데, 단말기의 버전과 동일한 버전을 다운받아야 하므로, 다음 명령어로 단말기의 버전을 확인한다.
getprop ro.product.cpu.abi

x86_64 버전이 나온다. 그렇다면 이 버전에 따라서 서버를 다운받아주면 되는데,
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/bin에다가 풀어 준뒤에 push를 해주어야 한다.
NOX/bin 경로로 이동해서 cmd를 실행시킨 다음, 다음과 같이 명령어를 입력한다.
nox_adb push ./{서버 이름} /data/local/tmp
이러면 서버 파일이 adb shell 안의 /data/local/tmp 파일로 이동하게 된다.
nox_adb shell로 쉘을 실행시켜준 뒤에 경로로 이동한 뒤에 파일을 다음과 같이 실행시킨다.
./{서버 이름} &
그 후에 NOX/bin cmd로 돌아와서 다음과 같이 입력해준다.
frida-ps -Uai

다음과 같이 연결된 경로에 있는 파일들이 전부 출력된다.
이를 이용해서 앱과 연결하여 앱의 사용 로그를 전부 추적할 수 있다! 와!
'기타 지식들 > 개발 관련' 카테고리의 다른 글
| Android studio를 Firebase와 연동해서 실시간 채팅 어플 구현하기 (0) | 2025.03.02 |
|---|---|
| Kotlin으로 SQLite 활용해서 회원가입 페이지 간단하게 구현하기 (1) | 2025.02.24 |
| Kotlin으로 입력 이벤트 구현하기 (0) | 2025.02.24 |