安裝準備¶
安裝準備文件是為您描述在安裝前您應該準備好的事項,FIRERPA 支援的裝置類型和架構較多,此處列舉了各種常見裝置需要提前準備的操作,您可以根據實際情況來判斷使用何種方法。FIRERPA 整體分為用戶端以及伺服器端,用戶端主要是 Python 相關函式庫及介面,伺服器端則是執行在目標手機上的服務。您可以選擇在電腦上安裝 Python 函式庫來實現對手機的控制,同樣,如果需要透過 Python 控制裝置,您需要在手機上安裝並執行 Android 伺服器端,這是必選的。
基礎要求¶
FIRERPA 最理想的執行環境是您剛剛 root (如:新建模擬器,自帶權限的 ROM,Magisk 剛 root),請確保有一台已經 root 且執行記憶體大於 2GB,可用儲存空間大於 1GB 的 Android 裝置或模擬器,推薦使用最新版夜神、雷電模擬器,或者 AVD 模擬器,啟動前務必檢查如下事項:
- 關閉 Magisk Hide
- 關閉 frida-server
- 確認完畢後重啟裝置
重要
系統設定¶
通常情況下,您的手機還需進行如下的設定,這些並非必選,但是為了確保能一次成功,建議您在有時間的情況下完成以下幾項設定。
檢查時區時間¶
開啟系統設定,找到日期與時間,檢查是否已自動設定中國標準時間或您所在地的時區,檢查時間是否正確或在可接受的誤差範圍內。如果沒有,請關閉使用網路提供的時區以及網路時間,並手動設定時區及時間為您目前所在地的時區及時間。
關閉無障礙服務¶
開啟系統設定,找到無障礙服務(在系統或更多設定中),關閉或卸載所有使用無障礙服務的應用程式(例如 TalkBack、Auto.js 等)。
備註
網路設定¶
實體機、雲手機、模擬器等裝置的網路情況各不相同,您需要根據實際情況完成如下對應的設定,否則您在安裝後將無法正常存取服務。
對於實體機,只需要確保電腦與手機在同一個網路下即可。對於模擬器,預設建立的模擬器正常情況下與您的本機網路並不互通,如果您使用的是 Android x86 (基於 VMWare 的 Android 虛擬機),
請嘗試在虛擬機設定中將網路模式設定為橋接模式。對於雷電、夜神等模擬器,需要在其設定中根據提示安裝驅動程式並開啟橋接模式,隨後重啟模擬器。對於 Android Studio 的 Virtual Device,則沒有相關設定。如果需要連接 AVD,請先執行 adb forward tcp:65000 tcp:65000,並使用 localhost 進行連線。
備註
其他設定¶
WSA (Windows Subsystem for Android)¶
如果使用的是 WSA (Windows Subsystem for Android),請確保 WSA 版本不低於 2210.40000 並且已 root。隨後開啟 WSA 設定 -> Subsystem Resources -> 選擇 Continuous,關閉 Advanced Networking。選擇 Developer,開啟 Developer mode 並展開選項卡,開啟 "Support single machine UI automation",隨後重啟 WSA 子系統即可。
AVD (Android Studio Virtual Device)¶
如果使用的是 AVD (Android Studio Virtual Device),請先擴充預設儲存空間和記憶體的大小。
點擊 Android Studio 中的 Virtual Device Manager,新建一個虛擬機,隨後找到對應的虛擬機並點擊後方的編輯按鈕(一個筆的圖示), 點擊 Show Advanced Settings,找到 Storage -> Internal Storage 並將其設定為至少 2GB,並將 RAM 記憶體大小設定為至少 4GB。
Redroid (android in docker)¶
注意
如果使用的是 Redroid (android in docker),以官方建議的 Ubuntu 20.04 為例,首先安裝 linux-modules-extra 相關模組。
apt install linux-modules-extra-`uname -r`
編輯檔案 /etc/modules,將下列名稱複製並插入檔案底部,重啟目前的主機。
# redroid modules
mac80211_hwsim
binder_linux
ashmem_linux
最後使用以下命令啟動,redroid_gpu_mode 及其他相關參數請根據實際情況進行修改。
注意
docker run -itd --rm --privileged --pull always -v /lib/modules:/lib/modules:ro -v ~/redroid:/data -p 127.0.0.1:5555:5555 -p 127.0.0.1:65001:65000 redroid/redroid:12.0.0-latest androidboot.redroid_gpu_mode=guest
上述命令中將容器的 65000 埠映射到本機的 65001 埠,是因為部分工具需要臨時綁定到本機的 65000 埠,為了避免衝突,我們使用 65001 埠。
備註