- 安卓Frida逆向與協(xié)議分析
- 陳佳林
- 1254字
- 2023-09-15 17:59:18
1.3 移動設備環(huán)境準備
1.3.1 刷機
在安卓逆向的學習中,提及基礎一定不能錯過刷機,而在刷機之前,一定要準備一臺測試機,這里筆者推薦Google官方的Nexus系列和Pixel系列的測試機。之所以推薦Google原生系統(tǒng),是因為Google官方不僅提供了鏡像,而且在對應的源碼網(wǎng)站上能夠找到相應鏡像的全部源碼,在國內Android市場,比如華為、小米等公司實際上都魔改了Android系統(tǒng),但均未開源,其在測試過程中總會與Android官方源碼有所差異,導致出現(xiàn)各種各樣的問題,因此筆者更加推薦Google官方推出的手機。筆者在這本書中選擇了Nexus 5X,讀者如選擇其他型號的手機,僅供參考。
在拿到測試機后要完成刷機,首先需要打開手機的“開發(fā)者選項”,具體步驟如下:
進入“設置”頁面,點擊“系統(tǒng)”,然后點擊“關于手機”,進入“關于手機”界面,如圖1-8所示。

圖1-8 進入“關于手機”界面
連續(xù)多次點擊“版本號”所在View,直到屏幕提示已進入“開發(fā)者模式”,如圖1-9所示。
在出現(xiàn)頁面提示“已處于開發(fā)者模式”后返回上一級目錄,也就是進入“系統(tǒng)”界面,此時會出現(xiàn)“開發(fā)者選項”,點擊“開發(fā)者選項”,如圖1-10所示。

圖1-9 打開“開發(fā)者模式”

圖1-10 進入“開發(fā)者選項”界面
在進入“開發(fā)者選項”界面后,首先打開“USB調試”。在這個選項打開后,使用USB線連接計算機,手機端就會出現(xiàn)“允許USB調試嗎?”對話框,如圖1-11所示。

圖1-11 請求允許USB調試
在同意USB調試之前和之后使用adb devices命令的結果如下:

再次回到Android測試機上,此時還有一個“OEM解鎖”選項需要允許,如圖1-12所示。這個選項決定了后續(xù)能否完成刷機,也就是刷機中常聽到的Bootloader鎖。
此時,在計算機的終端上執(zhí)行命令adb reboot bootloader或者將手機關機后同時按住手機電源鍵與音量減鍵,進入Bootloader界面。OEM未解鎖之前的Bootloader界面,如圖1-13所示。

圖1-12 請求允許“OEM解鎖”

圖1-13 OEM未解鎖之前的Bootloader界面
保持手機使用USB線連接上計算機,再次在計算機終端中運行fastboot oem unlock命令,然后測試機就會彈出確認界面,此時按音量減鍵直至選中YES選項后按電源鍵,至此,OEM鎖就成功解鎖了。如圖1-14所示為解鎖后的Bootloader界面。


圖1-14 OEM已解鎖的Bootloader界面
在OEM解鎖后,一個完整的可供刷機的手機就準備完成了,此時如果要刷入新的特定系統(tǒng),就要準備刷機包。這里的刷機包其實也可以叫作官方鏡像包,Google官方提供了一個官方鏡像的站點(網(wǎng)址:https://developers.google.com/android/images),筆者這里下載Nexus 5X的對應刷機包,由于Android 8.1.0_r1這個版本的系統(tǒng)支持的設備比較多,因此在這里筆者選擇這個版本的系統(tǒng)進行演示。Android 8.1.0_r1對應代號為OPM1.171019.011,版本與代號對應關系的網(wǎng)址為https://source.android.com/setup/start/build-numbers#source-code-tags-and-builds,在找到代號后,再次回到官方鏡像站下載對應版本的鏡像。
在下載完畢后,解壓刷機包并進入刷機包目錄,同時手機進入Bootloader界面并使用USB線連接上主機,然后直接運行flash.sh文件。對應步驟如下:

之后,手機系統(tǒng)便會進入初始化界面,在完成語言、WiFi等相關的設置后,一臺“新”的測試機就誕生了。當然,為了方便后續(xù)測試,此時還需要再次打開“開發(fā)者選項”以獲取USB調試許可。
如圖1-15所示,在聯(lián)網(wǎng)之后會發(fā)現(xiàn)測試機系統(tǒng)時間與計算機時間不對應,且頁面提示“此WLAN網(wǎng)絡無法訪問互聯(lián)網(wǎng)”。此時可以通過以下命令解決這個問題,在命令運行結束后,待測試機重新開機后便會發(fā)現(xiàn)問題消失。


圖1-15 WLAN網(wǎng)絡無法訪問互聯(lián)網(wǎng)及時間不同步問題
- 精通COBOL:大型機商業(yè)編程技術詳解(修訂版)
- pytest框架與自動化測試應用
- MATLAB與C/C++混合編程
- 敏捷開發(fā)的藝術(原書第2版)
- 企業(yè)性能測試:體系構建、落地指導與案例解讀
- VMware vSphere 7.0云平臺運維與管理(第2版)
- 嵌入式系統(tǒng)開發(fā)之道:菜鳥成長日志與項目經(jīng)理的私房菜
- ODPS權威指南 阿里大數(shù)據(jù)平臺應用開發(fā)實踐
- 鑄魂:軟件定義制造
- HTML5游戲編程核心技術與實戰(zhàn)
- Spring in Action(第二版)中文版
- 虛擬現(xiàn)實:科技新浪潮
- 36個創(chuàng)意電子小制作:安全衛(wèi)士
- Kubernetes Operator開發(fā)進階
- 深入淺出系統(tǒng)虛擬化:原理與實踐