Frida的安裝步驟基於Android系統組合Python語言

Frida是什麼

  我以爲官網已經說得很清楚了。簡單的說就是一款動態代碼檢測工具,可用於各類主流操做系統,這裏主要討論的是動態檢測Android系統裏面代碼運行狀況。
python

  Android版的Frida環境的搭建主要分爲兩個部分,一部分是運行在Android機器上的代理工具 frida - server,另外一部分是Windows系統用Python PIP安裝了發指令的工具 frida - CLI,下面 frida-server我簡稱爲Android端、frida CLI我簡稱爲Windows端。把這兩端的環境都部署好後,就能經過Windows向Android發送指令了。linux

分類以下:android

  • frida - server (至關於Android系統裏面安裝了一個代理工具)
  • frida - CLI (指在Windows系統用Python PIP安裝了發指令的工具)

frida - CLI的其它替代方案:
  我這裏使用Window系統的Python語言,同理你能夠切換成Linux、Mac OS等其餘操做系統,只要能安裝Python環境便可。git


Android端安裝步驟

根據CPU架構選擇frida-server

  Android手機主要是安裝一個 frida-server,安裝前,可是須要根據不一樣的CPU架構去選擇 frida-server,其實也能夠從宏觀的層面上看出Frida的核心功能就是監管CPU、內存的操做,如今Android主流的CPU架構分類爲 x86 和 arm 架構的,那麼怎麼區分本身Android手機的CPU架構呢? 跟着我敲一行命令便可:github

adb shell getprop ro.product.cpu.abi

CPU架構和位數:
armeabi-v7a -------(32位ARM設備)
arm64-v8a -------(64位ARM設備)shell

下載地址:https://github.com/frida/frida/releases
地址裏面比較多產品,由於Frida比較牛逼,支持的平臺衆多,你就搜索frida-server-XXX.XXX.XXX-android-x86_64.xz就好。
windows

我這個是 arm64 架構的,下載好了以後解壓,adb push ~ ~到Android手機就好了。架構

Android安裝frida-server

adb push frida-server /data/local/tmp   # adb push 參數1  參數2
adb shell
su
cd data/local/tmp
chmod 777 frida-server

ls -all # 驗證是否777
-rwxrwxrwx shell    shell    21248332 2019-01-03 17:29 frida-server-12.2.27-android-arm

./frida-server    # 必須運行

  機器須要root權限,由於Frida要求的權限比較大。注意儘可能使用真機測試,由於一些虛擬機CPU使用混合模式架構,這樣就會致使Frida報錯沒法運行,新手儘可能使用真機來避免這個問題,若是實在沒有這個條件,那麼挑選虛擬機的時候儘可能注意一下這個問題便可。tcp

  若是程序一直處於運行狀態(以下圖),不返回shell就是正常的。
工具


Windows端安裝步驟

Python PIP安裝組件

pip install frida
pip install frida-tools
pip list # 驗證一下pip是否安裝成功

Windows端驗證 frida-server 是否成功

# 設置端口轉發
adb forward tcp:27042 tcp:27042
adb forward tcp:27043 tcp:27043

# 查看進程
frida-ps -R
# 或
frida-ps -U


能看到打印出來的PID和進程,說明Android、Windows端都已經安裝好了。去探索吧,少年!


參考

https://frida.re/docs/home/

相關文章
相關標籤/搜索