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