1. 程式人生 > >Android組合Windows環境下Frida的安裝步驟

Android組合Windows環境下Frida的安裝步驟

Frida是什麼

  我覺得官網已經說得很清楚了。簡單的說就是一款動態程式碼檢測工具,可用於各種系統,這裡的主要用途是動態檢測Android程式碼,配合Windows系統環境使用。

  Frida環境的搭建主要分為兩個部分, 一部分是執行在系統上的互動工具 frida - CLI,另一部分是執行在Android機器上的注入工具 frida - server。下面 frida-server我簡稱為Android端、frida CLI我簡稱為Windows端。把這兩端的環境都部署好後,就能通過Windows向Android傳送指令了。

分類如下:

  • frida - server (Android端)
  • frida - CLI (Windows端)


Android端安裝步驟

根據CPU架構選擇frida-server

  Android手機主要是安裝一個 frida-server,安裝前,但是需要根據不同的cpu架構去選擇 frida-server ,現在Android主流的CPU架構分類為 x86 和 arm 架構的,那麼怎麼區分自己Android手機的CPU架構呢? 跟著我敲一行命令即可:

adb shell getprop ro.product.cpu.abi 

這樣可以直接獲取cpu處理器位數:
armeabi-v7a -------(32位ARM裝置)
arm64-v8a -------(64位ARM裝置)

下載地址:https://github.com/frida/frida/releases
地址裡面比較多產品,因為Frida比較牛逼,支援的平臺眾多,你就搜尋frida-server-XXX.XXX.XXX-android-x86_64.xz就好。

我這個是 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報錯無法執行,新手儘量使用真機來避免這個問題,如果實在沒有這個條件,那麼挑選虛擬機器的時候儘量注意一下這個問題即可。

  如果程式一直處於執行狀態(如下圖),不返回shell就是正常的。


Windows端安裝步驟

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/ho