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


Frida是什么

  我覺得官網已經說得很清楚了。簡單的說就是一款動態代碼檢測工具,可用於各種主流操作系統,這里主要討論的是動態檢測Android系統里面代碼運行情況。

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

分類如下:

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

frida - CLI的其它替代方案:
  我這里使用Window系統的Python語言,同理你可以切換成Linux、Mac OS等其他操作系統,只要能安裝Python環境即可。


Android端安裝步驟

根據CPU架構選擇frida-server

  Android手機主要是安裝一個 frida-server,安裝前,但是需要根據不同的CPU架構去選擇 frida-server,其實也可以從宏觀的層面上看出Frida的核心功能就是監管CPU、內存的操作,現在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端安裝步驟

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/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM