본문 바로가기
보안 및 개발/MOBILE

[Android] frida 환경 구축

by CH@3M 2020. 2. 11.

1. adb shell (핸드폰 설정 > USB 디버깅 허용해주기)

- 삼성폰은 USB 드라이버 설치 필요한 것으로 알고있음

(설치 : http://local.sec.samsung.com/comLocal/support/down/kies_main.do?kind=usb)

 

2. PC에 python 설치 및 frida 설치

2019/10/07 - [Mobile/iOS] - [iOS] frida 환경 구성 내용과 비슷하다.

- python 설치 : https://www.python.org/downloads/ 다운로드하고 설치할 때 add to path 체크해서 하면 편함

- pip 설치 : https://pip.pypa.io/en/latest/installing/#do-i-need-to-install-pip 참고

> curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
> python get-pip.py

- frida 설치

pip install frida-tools

 

3. frida-server 다운로드 (PC와 폰의 frida 버전은 맞춰주긔)

https://github.com/frida/frida/releases/tag/12.7.22 에서 frida-server를 다운받는다. 지금 테스트폰은 노트3라서 32bits환경의 폰이므로 frida-server-12.7.22-android-arm 파일을 폰에 넣어준다.

adb push frida-server위치 data/local/tmp 

frida-server를 옮기고 /data/local/tmp 위치로 가서, 권한을 주고 실행 시킨다.

shell@hltelgt:/data/local/tmp $ su
root@hltelgt:/data/local/tmp # chmod 777 frida-server-12.7.22-android-arm
root@hltelgt:/data/local/tmp # ./frida-server-12.7.22-android-arm &

다음과 같은 에러가 나오면 root 권한이 아니거나, 본인이 가진 모바일 CPU에 맞지 않는 버전의 server 파일을 가져온 것이니 다시 확인해야한다.

shell@hltelgt:/data/local/tmp $ /system/bin/sh: ./frida-server: not executable: magic 7F45

shell@hltelgt:/data/local/tmp $ Unable to load SELinux policy from the kernel: Failed to open file “/sys/fs/selinux/policy”: Permission denied

 

4. PC로 와서 frida-ps -U로 프로세스를 확인한다. 

반응형