- Android應用安全實戰:Frida協議分析
- 李岳陽 卓斌編著
- 1720字
- 2022-11-23 17:37:02
1.2 Frida框架環境搭建
個人計算機上安裝的是Frida框架的客戶端,安裝方法極其容易,但是需要借助Python的pip包管理器。因此,需要開發者先下載安裝Python。Python是一個語法簡潔優雅、上手容易、開發迅速的面向對象的腳本語言,海量的第三方包和方便快捷的包管理機制讓Python成了當下最流行的編程語言之一。本節會先介紹Python的安裝,之后講解JavaScript與Python代碼編輯器的安裝,最后講解如何在個人計算機上安裝Frida框架。
1.2.1 Python的安裝

這一小節來安裝Python這門腳本語言,Python存在不同系統的版本,可以自行選擇。本書以在Windows下安裝Python 3.8.6為例,具體下載安裝步驟如下。
1)打開Python官網https://www.python.org/,單擊Downloads選項卡→Windows選項,如圖1-2所示。

·圖1-2 Python官網
2)進入Windows版本的Python下載頁面,在眾多版本中找到圖1-3中的Python 3.8.6版本,下載圖1-3中框選的64位安裝包。

·圖1-3 Python 3.8.6下載
3)下載完畢后雙擊運行,出現了如圖1-4所示安裝界面,勾選下方的Add Python 3.8 to PATH復選框,那么在安裝完成后,會在系統中自動添加相應環境變量。接著選擇Customize installation選項進行自定義安裝。
4)勾選圖1-5所示的復選框,單擊Next按鈕。進入圖1-6所示的界面后,選擇C盤以外的路徑作為Python安裝目錄,最后單擊Install按鈕安裝即可。

·圖1-4 Python 3.8.6安裝界面

·圖1-5 Python 3.8.6勾選界面

·圖1-6 Python 3.8.6安裝路徑選擇
打開命令行終端輸入“python”,如果沒有報錯,則說明Python已經安裝成功。如下所示:

1.2.2 Visual Studio Code的安裝
Visual Studio Code(以下簡稱VSCode)是一個輕量級但功能強大的源代碼編輯器,適用于Windows、Linux和macOS等多個操作系統。本書的JavaScript與Python代碼都將在其中編寫,具體下載安裝步驟如下。
1)在瀏覽器中打開網址https://code.visualstudio.com/。選擇適合自己系統的VSCode版本,這里選擇的是Windows x64中的Stable版本。
2)下載成功后雙擊運行安裝程序,勾選“創建桌面快捷方式”與“添加到PATH(重啟后失效)”復選框,然后單擊“下一步”按鈕進行安裝,如圖1-7所示。

·圖1-7 VSCode下載與安裝配置
3)安裝成功后VSCode會自動啟動,展示出如圖1-8所示的主窗口。
1.2.3 Node.js的安裝
Frida的Hook代碼通常采用JavaScript編寫,而安裝Node.js可以在編寫JavaScript代碼時有更好的代碼提示,也有助于后續配置Frida代碼提示。本書以在Windows下安裝為例,具體下載安裝步驟如下。
1)在瀏覽器中打開網址http://nodejs.cn/download/current/,如圖1-9所示。選擇LTS版本的Windows 64位安裝包。

·圖1-8 VSCode主窗口
2)下載成功后雙擊運行安裝程序,單擊Next按鈕,勾選同意協議復選框后,繼續單擊Next按鈕,如圖1-10所示。

·圖1-9 Node.js下載
3)修改安裝目錄后,其他都默認,一直單擊Next按鈕,之后單擊Install按鈕安裝即可,如圖1-11所示。

·圖1-10 同意協議

·圖1-11 選擇安裝路徑
打開命令行終端輸入“npm”,如下所示。如果沒有報錯,則說明Node.js已經安裝成功。

接下來,安裝Frida代碼提示。使用VSCode創建一個工程目錄,打開命令行終端,切換到該目錄下,使用以下命令來安裝Frida代碼提示即可:

安裝Frida代碼提示之前,需要先安裝Node.js。上述方式是局部安裝,如果切換到其他工程目錄,需要重新安裝。
1.2.4 Frida的安裝

Frida框架作為Python的第三方包,其安裝是非常簡單快捷的,因為Python的包管理器會自動為開發者處理一系列煩瑣的工作。但是不同的Android系統版本需要對應不同的Frida版本,而且不同的Frida版本對Python的版本也有要求。一般而言,可以根據如下的對應關系進行版本選擇。
·Android 5~6使用Frida 12.3.6版本,Python安裝3.7版本。
·Android 7~8使用Frida 12.8.0版本,Python安裝3.8版本。
·Android 9.0+使用Frida 14.0+版本,Python安裝3.8版本。
使用以下命令安裝Frida即可,默認會安裝最新版本:

在計算機端,Frida框架包含兩個部分:一個是Frida的Python庫;另一個是frida-tools,也就是Frida的CLI工具。后者中有一些可執行文件,可以幫助開發者非常便捷地進行Hook調試。如果要使用Python編寫代碼,才需要用到Frida的Python庫。不過在安裝Frida的CLI工具時,會自動安裝Frida的Python庫。此外,Frida框架還有另外一個部分需要單獨下載,然后配置在移動端,如frida-server、frida-inject、frida-gadget等。
如果需要安裝指定版本的Frida,推薦先安裝Frida的Python庫,再安裝frida-tools。本書使用的Frida版本是14.2.18,指定版本安裝的方式如下:

可以在https://github.com/frida/frida/releases/tag/12.8.0查看Frida對應的tools版本,如圖1-12所示,網址最后的版本號可以根據需要進行更改。
可以使用以下兩種方式來判斷是否安裝成功,兩種方法都要測試。
第一種是打開命令行終端,輸入“frida-version”,看是否能夠打印Frida版本號。測試frida-tools是否安裝成功的方式如下:

·圖1-12 Frida對應的tools版本

第二種是打開命令行終端,輸入“python”,進入Python編輯器后,再輸入“import frida”,看是否能夠正常導入工具包,測試Frida的Python庫是否安裝成功的方式如下。

如果需要更換Frida版本,可以使用以下命令進行Frida的卸載:

- 網絡空間攻防技術原理
- 黑客攻防與電腦安全從新手到高手(微視頻+火力升級版)
- 特種木馬防御與檢測技術研究
- Practical Network Scanning
- Kali Linux Network Scanning Cookbook(Second Edition)
- 模糊測試:強制發掘安全漏洞的利器
- 可信計算3.0工程初步(第二版)
- 空間群組密鑰管理研究:基于自主的深空DTN密鑰管理
- 信息安全工程與實踐
- 聯邦學習原理與算法
- CTF網絡安全競賽入門教程
- ATT&CK視角下的紅藍對抗實戰指南
- 大中型網絡入侵要案直擊與防御
- 網站入侵與腳本技術快速防殺
- Hands-On Spring Security 5 for Reactive Applications