1.Frida是一款基於python + js的Hook框架,
適用於android,ios等全平台,由於是基於腳本的交互,因此相比xposed和substrace cydia更加便捷。
Frida
的功能如同油猴插件,通過油猴插件編寫的腳本可以直接改變網頁的編碼方式。
Frida
通過使用 Python
注入 JavaScript
腳本來操作設備上的 Java
代碼,以及native中方法。
2.Frida的官網為:http://www.frida.re/
frida環境的搭建主要分為兩個部分:
一部分是運行在系統上的交互工具 frida,
一部分是運行在Android機器上的注入工具 frida-server。
安裝Firda需要python環境(建議安裝3.7以上版本,舊版本可能部分有問題),直接pip即可
pip install frida-tools
如果安裝較慢或者不成功移步到Pypi站點中下載fridahttps://pypi.org/search/?q=frida
安裝Frida-server,注意Frida-server是需要安裝在手機上的,安裝前需要查看當前手機架構信息,然后選擇對應的包
下載包地址:https://github.com/frida/frida/releases
我用的是雷電模擬器,設置的是華為型號,直接用 Device Info HW 查看的手機架構
如果是其他的手機型號的話,在adb shell中使用如下命令進行查看
C:\Users\Administrator>adb shell #進入手機底層安卓操作系統 shell@X3:/ $ su #切換到root權限 root@X3:/ # cat /proc/cpuinfo #查看架構信息
Processor 項中查看架構信息
下載完成后,將文件解壓,將文件frida-server-xxx 使用如下命令push到系統中。
adb push frida-server-12.7.5-android-arm64 /data/local/tmp/ #push文件 adb shell #進入手機操作系統 su #切換到root權限 cd /data/local/tmp/ #進入相關目錄 chmod 777 frida-server-12.7.5-android-arm64 #給文件賦權限,777為最高權限 ./frida-server-12.7.5-android-arm64 #啟動frida-server
注:如果 出現以下錯誤
C:\Users\user>adb shell adb.exe: more than one device/emulator
#查看連接設備
C:\Users\user>adb devices
127.0.0.1:5555 offline
emulator-5554 device
#使用以下命令進入
C:\Users\user>adb -s emulator-5554 shell
root@aosp:/ #
最后將手機端的端口轉發到PC端進行通信
adb forward tcp:27042 tcp:27042 adb forward tcp:27043 tcp:27043
如上命令操作完成后,可以在PC端,cmd命令行下使用如下命令,查看當前Frida-server是否安裝成功。
frida-ps -R
如果顯示找不到frida命令,查看是否已安裝frida-tool 或者是安裝到了python的虛擬環境中,則需要在虛擬環境中使用,顯示以下內容則成功啟動
PID Name ---- --------------------------------- 903 android.ext.services 1342 android.process.acore 948 android.process.media 96 audioserver 97 cameraserver