1、以frida為例:
frida是一款代碼插樁工具,它可以向windows,macOS,Linux,iOS,Android等平台的原生應用中注射自定義的JavaScript和python代碼片段,使用python和javascrip進行hook模塊的開發。
(1)准備一台已Root手機,連接至PC/Mac;
(2)在PC/Mac上安裝Python 2.7或Python 3.6,並安裝frida和frida-tools:
pip install frida pip install frida-tools pip list|find "frida" //列出已經安裝的指定包
(3)從 https://github.com/frida/frida/releases 下載對應的frida-server, 解壓后使用adb向目標手機推送frida-server:
adb push frida-server /data/local/tmp adb push frida-server-12.2.30 /data/local/tmp
(4)在手機上運行Frida Server,同時啟動目標App:
$adb shell su $su $cd /data/local/tmp/ $chmod 755 /data/local/tmp/frida-server $ adb shell su -c "/data/local/tmp/frida-server" ./frida-server-12.2.30 //筆記本連接用這個
//筆記本上運行如下命令: pip search frida frida -version //筆記本上查看安裝的frida版本,要與手機上的frida-server版本一樣才能正常連接
5)windows下面啟動命令行,輸入以下命令進行注入嘗試:
直接執行frida一鍵運行腳本.bat,可以執下列大多數的命令。
@ECHO OFF IF EXIST tmp DEL tmp ECHO su >>tmp ECHO cd /data/local/tmp >>tmp ECHO ./frida-server-12.2.30 >>tmp adb forward tcp:27042 tcp:27042 adb forward tcp:27043 tcp:27043 adb shell <tmp
frida-ps -U
frida-ps -Uai
frida-ps -R //測試frida環境,如果出現android手機的進程列表說明搭建成功
//目標App包名,如好空氣:
frida-trace -U -i "recv*" -i "read*" com.home.www.uHomeHaierGoodAir
ps -e|grep var //手機上運行查找所有正在運行的進程
(6)觀察Frida是否能成功注入,並且獲取recv api相關的數據。
(7)請調用目錄下的各個py腳本實現不同的功能。
ps -e|grep var //手機上運行查找所有正在運行的進程