1. 개요

Android 핸드폰을 점검하며 View 조작과 앱을 사용한 루팅 우회, 간단한 파일 바꾸기,, 간단한 Smali파일 변조 등 여러 가지 방법으로 점검을 해보았을 것입니다.

하지만 알기만 한다면 Android iOS에서 가장 많은 활용도를 보여주는 도구는 단연 Frida일 것입니다.

물론 제가 다 아는 것은 아니지만 아는 부분에 관해 풀어놓아 작은 도움이나마 되기 위해 시작해 보겠습니다.

 

2. 준비

Frida, Frida-server, 약간의 java혹은 C언어 다루는 능력? 다른 언어라도 쓸 수 있다면 형태를 맞추어 사용하셔도 무방합니다. Pyrhon 2.7 버전과 ADB툴도 필요합니다.

 

3. 방법

우선 FridaFrida-server를 다운로드하여주셔야 합니다.

여기에서 주의할 점은 Frida버전과 Frida-server버전 그리고 32bit 혹은 64bit를 맞추어 다운로드해야 합니다.

 

후선 FridaCMD창에서 pip install frida 명령으로 최신 버전을 다운로드할 수 있습니다.

 

 

저는 먼저 다운로드하여 놓았기 때문에 저렇게 뜨지만 처음 받는 화면은 조금 다를 겁니다.

여기에서 주의해야 할 부분은 아래 부분의 버전입니다. 보시는 바와 같이 버전은 12.7.16입니다. 이를 생각하고 이제 frida-server를 받아야 합니다..

 

https://github.com/frida/frida/releases

위의 링크로 들어가면 fridafrida에 관련된 여러 툴을 보실 수 있습니다. 여기에서 주의해야 할 부분은 본인이 사용하고 있는 디바이스가 32bit 혹은 64bit인지와 설치할 운영체제가 어떤 것 인지입니다. 또한 arm을 사용하는지 여부를 통해 본인의 OS에 깔린 Frida와 버전을 맞추어 깔아 주시면 됩니다.

 

정리 : frida 버전, OS 종류, 단말기 비트, arm 여부

 

 

Ctrl+F를 누르고 frida-server를 찾아주시면 목록으로 쉽게 오실 수 있습니다. 위의 frida버전과 사용하는 단말기인 NOX와 대조하여 저에게 필요한 것은 frida-server-12.7.16-android-arm.xz로 확인하였습니다.

 

이제 파일을 다운로드하여 주시고 압축을 풀어 줍니다.

 

 

위와 같이 다운로드하여 압축을 풀었지만 사용하세 편하도록 frida-server만 남기고 이름을 변경해 주었습니다.

 

Android는 리눅스 환경이고 이를 실행시켜주기 위해 frida의 확장자가 없어도 상관이 없으므로 이름을 변경하여 사용하게 편하게 만들어 주었습니다.

 

이제 ADB를 통해 /data/local/tmp로 옮겨 주어야 합니다.

 

(ADB 연결 방법은 일전에 알려주었으니 생략하도록 하겠습니다.)

 

새로운 CMD를 열고 frida-server의 위치로 가서 ADB를 통해 넣어주시거나 아니면 frida-server가 위치한 폴더에서 (shift + 우클릭)을 하면 목록에 powershell창 열기 혹은 명령어 창 열기가 생기는데 이것을 눌러 바로 CMD혹은 powershell을 열 수도 있습니다.

 

adb push <frida-server의 위치+/frida-server> /data/local/tmp

(: adb push C:\frida-server /data/local/tmp)

 

위의 명령어로 frida-server를 단말기 내부로 옮겨줍니다. (NOXADB가 붙지 않는다면 개발자 모드를 열고 USB 디버깅을 허가하여 주시면 됩니다. 또한 기존 실제 단말기가 위와 같이 했는데도 안 된다 하면 핸드폰 연결 종류를 충전이 아닌 사진 전송이나 파일 전송으로 바꾸어 주면 연결이 가능합니다.)

 

 

frida-server를 옮긴 폴더로 가서 chmod로 권한을 변경하여주고 ./frida-server &으로 frida-server를 실행해줍니다.

이제 frida를 사용할 준비가 끝났습니다.

 

frida가 잘 붙었는지와 frida-server가 정상적으로 작동하는지 확인하는 방법은 OS에서 frida-ps -U로 현재 단말기에서 구동 중인 process를 확인해보면 확인 가능합니다.

 

 

위와 같이 process가 확인이 된다면 frida를 사용할 준비가 된 것입니다.

 

frida의 활용은 앞으로 글을 통해 알려드리도록 하겠습니다.

 

 

+ Recent posts