지난번엔 iOS에서 Frida를 사용하기 위해 설치했었는데요!
이번에는 android에도 Frida를 설치해보도록 하겠습니다!
Frida는 동적으로 바이너리를 분석할 수 있게 해주는 툴입니당
Windows, macOS, GNU/Linux, iOS, Android 등에 있는 바이너리에다가 JS 코드를 삽입해서 클래스나 함수들을 후킹해서 흐름을 조작할 수 있게 해줍니다.
Frida로 앱을 분석하려면 루트권한을 가지고 있는것이 좋습니다... 없어도 할 수는 있겠지만 그만큼 접근할 수 있는 범위가 좁겠죠...?
(지난번 것 긁어오기... ㅎㅎ)
1. Frida 라이브러리 설치
먼저 프리다를 설치합시다! 파이썬 패키지로 존재하기 때문에 pip로 간단하게 설치를 할 수 있습니다.
저는 우분투에서 분석을 진행할 것이기 때문에 우분투에 설치를 진행했는데요, 윈도우에서도 동일한 방식으로 설치할 수 있습니다!
2. Frida-server 설치
iOS에서는 탈옥을 한 후 진행하여 아이폰 안에서 바로 frida-server 소스를 추가해 줄 수 있었습니다
안드로이드에서는 adb를 이용하여 컴퓨터에서 안드로이드로 옮겨주는 방법을 사용하는 것 같습니다!
https://github.com/frida/frida/releases
위 github에서 안드로이드용 frida-server를 다운로드 받을 수 있습니다. 이때 자신이 사용하는 안드로이드의 플랫폼과 비트 수를 알아야해요!!
adb shell에 접속해서 getprop ro.product.cpu.abi / getprop ro.product.cpu.abi2 명령어를 이용하면 확인할 수 있습니다. 저는 arm 32bit네요... 이거 쓰면서 adb 설치 과정에 대한 정리를 안한게 생각났네요....ㅎㅎ
이중에 자신한테 맞는 버전을 확인해서 다운로드 하고, xz를 풀어줍니다!
제 터미널이 색 구분을 모호하게 해놔서 가독성은 좀 떨어지지만...
unxz frida-server-***.xz
명령어를 입력하여 압축을 풀어주고, 이름이 너무 기니까 간단한 이름으로 바꾸어줍니다!
mv frida-server-*** frida-server
다음은 다운로드 받은 frida-server를 android에다가 넣어주어야 합니다. 이 과정에서도 adb가 설치가 되어있어야 합니다!
먼저 adb를 이용하여 안드로이드와 컴퓨터를 연결해줍니다.
루트 권한이 필요하기 때문에 su 명령을 통해 루트권한으로 만들어줍니다.
adb push frida-server /data/local/tmp
다음은 adb push 명렁을 이용하여 다운로드 받은 frida-server를 안드로이드의 /data/local/tmp에 넣어줍니다.
넣어준 서버는 실행권한을 주고
백그라운드 프로세스로 동작시켜줍니다!!
다 제대로 되면 위와 같이 안드로이드에 frida-server가 정상적으로 동작하는 걸 볼 수 있습니다!
USB로 안드로이드를 연결해서 frida-ps -U 명령어를 통해 확인해보면
위와 같이 컴퓨터에서 안드로이드 프로세스를 확인할 수 있습니다! 이렇게해서 설치가 제대로 되었다는 것을 확인했습니다 ㅎㅎ
이제 준비는 마쳤으니... 앱분석 공부도 시작해야지
'Mobile' 카테고리의 다른 글
libpcap Android build(arm cross compile) (0) | 2020.03.13 |
---|---|
[Android] APK 분석 준비하기 (0) | 2019.12.31 |
[Android] ADB install (0) | 2019.12.31 |
[Android] Nexus5 Rooting (0) | 2019.12.31 |
[iOS_Frida] 시작하기 (0) | 2019.11.23 |