![Android应用安全实战:Frida协议分析](https://wfqqreader-1252317822.image.myqcloud.com/cover/345/45700345/b_45700345.jpg)
1.2 Frida框架环境搭建
个人计算机上安装的是Frida框架的客户端,安装方法极其容易,但是需要借助Python的pip包管理器。因此,需要开发者先下载安装Python。Python是一个语法简洁优雅、上手容易、开发迅速的面向对象的脚本语言,海量的第三方包和方便快捷的包管理机制让Python成了当下最流行的编程语言之一。本节会先介绍Python的安装,之后讲解JavaScript与Python代码编辑器的安装,最后讲解如何在个人计算机上安装Frida框架。
1.2.1 Python的安装
![](https://epubservercos.yuewen.com/EB904A/24800610909679206/epubprivate/OEBPS/Images/17_01.jpg?sign=1739320161-QoNC5OtD7QNHg02K2qRBTTMxnv3Jp3mT-0-393bbd78d93d8d10f1dfa0866aaf2cb4)
这一小节来安装Python这门脚本语言,Python存在不同系统的版本,可以自行选择。本书以在Windows下安装Python 3.8.6为例,具体下载安装步骤如下。
1)打开Python官网https://www.python.org/,单击Downloads选项卡→Windows选项,如图1-2所示。
![](https://epubservercos.yuewen.com/EB904A/24800610909679206/epubprivate/OEBPS/Images/17_02.jpg?sign=1739320161-wSl1xxHFS1lruItJmiQLVvXYdiUjCe35-0-84612ca2b60b1b3fe13da21f5c16ca64)
·图1-2 Python官网
2)进入Windows版本的Python下载页面,在众多版本中找到图1-3中的Python 3.8.6版本,下载图1-3中框选的64位安装包。
![](https://epubservercos.yuewen.com/EB904A/24800610909679206/epubprivate/OEBPS/Images/17_03.jpg?sign=1739320161-1KZuyH91AZez3pLCD1y0xMT7D5f7GMIN-0-1ae463a4e4f8996b0b98597224b92e45)
·图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按钮安装即可。
![](https://epubservercos.yuewen.com/EB904A/24800610909679206/epubprivate/OEBPS/Images/18_01.jpg?sign=1739320161-jxlcIDyKUwmHMay5rSeLlUgoONgsH2Yn-0-13ac802fcaf96a050e462c63d5786a7f)
·图1-4 Python 3.8.6安装界面
![](https://epubservercos.yuewen.com/EB904A/24800610909679206/epubprivate/OEBPS/Images/18_02.jpg?sign=1739320161-mmOJg6mXc1fOOqP9zajDL4Egt7V73tOC-0-a12e4873478e970331e73a8f0826bab8)
·图1-5 Python 3.8.6勾选界面
![](https://epubservercos.yuewen.com/EB904A/24800610909679206/epubprivate/OEBPS/Images/18_03.jpg?sign=1739320161-BgDE0K1JbTX2SsCcjI7Vr6zZAQzLrD3P-0-badaedab7e24f44d6f323ec56a717ffa)
·图1-6 Python 3.8.6安装路径选择
打开命令行终端输入“python”,如果没有报错,则说明Python已经安装成功。如下所示:
![](https://epubservercos.yuewen.com/EB904A/24800610909679206/epubprivate/OEBPS/Images/19_01.jpg?sign=1739320161-Xiye0xmywWGTVS8fc0n55QifAwm245hG-0-77b7d8fa080e795a5dbe342ed105341e)
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所示。
![](https://epubservercos.yuewen.com/EB904A/24800610909679206/epubprivate/OEBPS/Images/19_02.jpg?sign=1739320161-1Xlb8t4zgNgGdN4goK4IU6pnltYC1edl-0-8d50420f88d5d8e3729d89bf1f5e54ce)
·图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位安装包。
![](https://epubservercos.yuewen.com/EB904A/24800610909679206/epubprivate/OEBPS/Images/20_01.jpg?sign=1739320161-Jd4bnD6T2H2a1FzzIkdXQabdvktgDOVB-0-eb2ad37a13dd6d39f5e6552810811db7)
·图1-8 VSCode主窗口
2)下载成功后双击运行安装程序,单击Next按钮,勾选同意协议复选框后,继续单击Next按钮,如图1-10所示。
![](https://epubservercos.yuewen.com/EB904A/24800610909679206/epubprivate/OEBPS/Images/20_02.jpg?sign=1739320161-ZUSgKr21Qfg91wwSoOQbjaydemlFzi2a-0-fe05dbd7cf2bb2de21b3cd61e434bf77)
·图1-9 Node.js下载
3)修改安装目录后,其他都默认,一直单击Next按钮,之后单击Install按钮安装即可,如图1-11所示。
![](https://epubservercos.yuewen.com/EB904A/24800610909679206/epubprivate/OEBPS/Images/21_01.jpg?sign=1739320161-VLAJmisPlCTZVpBGqjrr2xVFKxnE2nLf-0-af37d5366df1c6dfdd9f9f4a5291d148)
·图1-10 同意协议
![](https://epubservercos.yuewen.com/EB904A/24800610909679206/epubprivate/OEBPS/Images/21_02.jpg?sign=1739320161-eUEKNKqgBG72CLVQ2vGtH0vn8eMsKNyA-0-53122c1009da2ffa8e12c48dd522c9b4)
·图1-11 选择安装路径
打开命令行终端输入“npm”,如下所示。如果没有报错,则说明Node.js已经安装成功。
![](https://epubservercos.yuewen.com/EB904A/24800610909679206/epubprivate/OEBPS/Images/21_03.jpg?sign=1739320161-80GhypFPGKxNJbWcU8CHw0pfoecbQsuC-0-51cabf42a7733f86c1c60c0d03dc51a5)
接下来,安装Frida代码提示。使用VSCode创建一个工程目录,打开命令行终端,切换到该目录下,使用以下命令来安装Frida代码提示即可:
![](https://epubservercos.yuewen.com/EB904A/24800610909679206/epubprivate/OEBPS/Images/22_01.jpg?sign=1739320161-IfI4DocvZz5mOsRUA5kuDgpvIOWkJj2W-0-6d409abd35552352cbbaf6dc5e7aeeec)
安装Frida代码提示之前,需要先安装Node.js。上述方式是局部安装,如果切换到其他工程目录,需要重新安装。
1.2.4 Frida的安装
![](https://epubservercos.yuewen.com/EB904A/24800610909679206/epubprivate/OEBPS/Images/22_02.jpg?sign=1739320161-2a0rrK6YJGP3Uu37fg8rzZDv36wp6Srg-0-f633c6b9fb09c4f1a80170195b02b8e5)
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即可,默认会安装最新版本:
![](https://epubservercos.yuewen.com/EB904A/24800610909679206/epubprivate/OEBPS/Images/22_03.jpg?sign=1739320161-3E1SawBAgyevwteEWfAPbHTZhTEDsVGM-0-5aece630a816cf4585c1fc330d2b1960)
在计算机端,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://epubservercos.yuewen.com/EB904A/24800610909679206/epubprivate/OEBPS/Images/22_04.jpg?sign=1739320161-WoRcXDGlJrtsYIIJkMl6tmWBtuwDv3mt-0-c25d738e18d51e437459afcd382711e3)
可以在https://github.com/frida/frida/releases/tag/12.8.0查看Frida对应的tools版本,如图1-12所示,网址最后的版本号可以根据需要进行更改。
可以使用以下两种方式来判断是否安装成功,两种方法都要测试。
第一种是打开命令行终端,输入“frida-version”,看是否能够打印Frida版本号。测试frida-tools是否安装成功的方式如下:
![](https://epubservercos.yuewen.com/EB904A/24800610909679206/epubprivate/OEBPS/Images/23_01.jpg?sign=1739320161-xdQRc7ZGVdET62JDeE8BSVsTSe1XWkku-0-89ca6b7da7a1fef0224595c4d17d11b2)
·图1-12 Frida对应的tools版本
![](https://epubservercos.yuewen.com/EB904A/24800610909679206/epubprivate/OEBPS/Images/23_02.jpg?sign=1739320161-CehdIQIQIRrMll6KK4GmRiFhfpTv7nCD-0-70c72c4a3455bd190e11c4f1a93f0010)
第二种是打开命令行终端,输入“python”,进入Python编辑器后,再输入“import frida”,看是否能够正常导入工具包,测试Frida的Python库是否安装成功的方式如下。
![](https://epubservercos.yuewen.com/EB904A/24800610909679206/epubprivate/OEBPS/Images/23_03.jpg?sign=1739320161-h928TjFp6yMjVTnqcwrykS0uaIJ6eHdC-0-2fe0b63478380b83aa8cea06ef2cf85f)
如果需要更换Frida版本,可以使用以下命令进行Frida的卸载:
![](https://epubservercos.yuewen.com/EB904A/24800610909679206/epubprivate/OEBPS/Images/23_04.jpg?sign=1739320161-pyq94sxxUbKVHuJHTBXTzMsyzeXHEUfC-0-8322a768593a5c13d17b9fd335a1385b)