usrbin
컴퓨터 일기
usrbin
전체 방문자
오늘
어제

공지사항

  • whoami
  • 분류 전체보기 (127)
    • 깔짝할짝 (61)
    • 잡지식 (30)
    • Network (7)
      • Programming (3)
      • Study (4)
    • Mobile (13)
    • Reversing (5)
      • Win API (2)
      • 분석 (0)
    • Kernel (4)
      • linux (1)
      • Windows (3)
    • Programming (5)

블로그 메뉴

  • 홈
  • 방명록

인기 글

태그

  • System Hacking
  • HEVD
  • pwntools
  • sql injection
  • nethunter
  • System
  • network
  • Hive Ransomware
  • Follina
  • Network Programming
  • Scapy
  • x64dbg
  • pcap
  • Digital Forensics
  • qt
  • HackCTF
  • suninatas
  • PWN
  • BOF
  • Reversing
  • ftz
  • monitor mode
  • Android
  • libpcap
  • forensics
  • xcz.kr
  • Packet
  • Pwnable
  • pcapng
  • pwnable.kr

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
usrbin

컴퓨터 일기

[Android_Frida] 시작하기
Mobile

[Android_Frida] 시작하기

2019. 12. 31. 15:51

 

지난번엔 iOS에서 Frida를 사용하기 위해 설치했었는데요!

이번에는 android에도 Frida를 설치해보도록 하겠습니다!

Frida는 동적으로 바이너리를 분석할 수 있게 해주는 툴입니당

Windows, macOS, GNU/Linux, iOS, Android 등에 있는 바이너리에다가 JS 코드를 삽입해서 클래스나 함수들을 후킹해서 흐름을 조작할 수 있게 해줍니다. 

Frida로 앱을 분석하려면 루트권한을 가지고 있는것이 좋습니다... 없어도 할 수는 있겠지만 그만큼 접근할 수 있는 범위가 좁겠죠...?

(지난번 것 긁어오기... ㅎㅎ)

 

1. Frida 라이브러리 설치

먼저 프리다를 설치합시다! 파이썬 패키지로 존재하기 때문에 pip로 간단하게 설치를 할 수 있습니다.

Windows10
Ubuntu 18.04

저는 우분투에서 분석을 진행할 것이기 때문에 우분투에 설치를 진행했는데요, 윈도우에서도 동일한 방식으로 설치할 수 있습니다!

 

2. Frida-server 설치

iOS에서는 탈옥을 한 후 진행하여 아이폰 안에서 바로 frida-server 소스를 추가해 줄 수 있었습니다

안드로이드에서는 adb를 이용하여 컴퓨터에서 안드로이드로 옮겨주는 방법을 사용하는 것 같습니다!

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

 

frida/frida

Clone this repo to build Frida. Contribute to frida/frida development by creating an account on GitHub.

github.com

위 github에서 안드로이드용 frida-server를 다운로드 받을 수 있습니다. 이때 자신이 사용하는 안드로이드의 플랫폼과 비트 수를 알아야해요!!

adb shell

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
    usrbin
    usrbin
    컴퓨터 할거야

    티스토리툴바