![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=1738895534-yz1puvHLE9ISoXpG6G4HdsQjITeVRXei-0-189062e607d652d9dd485ebb38d01592)
这一小节来安装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=1738895534-y82K1Sd3IW6Tq3SQESbBcGwKQaIvL78y-0-19684d0c38c82030a569abb0c5d59284)
·图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=1738895534-KTab0jjKHQJZ6IflBK8B0p3TQ2DfMHkl-0-d708c07a9e5f50d072503008a9eee883)
·图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=1738895534-qFEts3NMAdVIypt0hRAu3evUf6mUEGle-0-bf19fe70001480b70443160bbcd2c20a)
·图1-4 Python 3.8.6安装界面
![](https://epubservercos.yuewen.com/EB904A/24800610909679206/epubprivate/OEBPS/Images/18_02.jpg?sign=1738895534-o1yssikth5QHgAmzuHP9JGEJ14sMUZzC-0-b0abccd36dc69e99c8615bfcdab80c82)
·图1-5 Python 3.8.6勾选界面
![](https://epubservercos.yuewen.com/EB904A/24800610909679206/epubprivate/OEBPS/Images/18_03.jpg?sign=1738895534-6cBJAnYqenZMMBefgbTh2UixbHnUXSv0-0-345ee09c7249ed376da6f86154d881ce)
·图1-6 Python 3.8.6安装路径选择
打开命令行终端输入“python”,如果没有报错,则说明Python已经安装成功。如下所示:
![](https://epubservercos.yuewen.com/EB904A/24800610909679206/epubprivate/OEBPS/Images/19_01.jpg?sign=1738895534-MWUY6fQLLuXqklIYTqRI7heXVM6BWRWw-0-f90901b0edeb83a805f621f5f3d4e220)
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=1738895534-yjIHdRZleC8PD7bMOeVYO3gntUAwgnUd-0-cebe095c685f6da476ff1662c8c0e906)
·图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=1738895534-oidyRGNFM1LSFzOYI1wI52I1gIYkJYUu-0-21873e3cc329c6e5ca60973ce85facf6)
·图1-8 VSCode主窗口
2)下载成功后双击运行安装程序,单击Next按钮,勾选同意协议复选框后,继续单击Next按钮,如图1-10所示。
![](https://epubservercos.yuewen.com/EB904A/24800610909679206/epubprivate/OEBPS/Images/20_02.jpg?sign=1738895534-ltu0mRiPNicH1w8at9UqLTLP4F2t1myv-0-fb02adab9b6a68e93b9bd6c86cdf0155)
·图1-9 Node.js下载
3)修改安装目录后,其他都默认,一直单击Next按钮,之后单击Install按钮安装即可,如图1-11所示。
![](https://epubservercos.yuewen.com/EB904A/24800610909679206/epubprivate/OEBPS/Images/21_01.jpg?sign=1738895534-eBSFPJA81pQwX89fIqF9dFTQ4Hm78dZx-0-6bd0348769bf7c3ba033c7fac22b0cee)
·图1-10 同意协议
![](https://epubservercos.yuewen.com/EB904A/24800610909679206/epubprivate/OEBPS/Images/21_02.jpg?sign=1738895534-JBJbwrQOT5bJQJKWpiD0Y5E4hiJJcGd9-0-f8e032b15b4a78f6038657be219be9c2)
·图1-11 选择安装路径
打开命令行终端输入“npm”,如下所示。如果没有报错,则说明Node.js已经安装成功。
![](https://epubservercos.yuewen.com/EB904A/24800610909679206/epubprivate/OEBPS/Images/21_03.jpg?sign=1738895534-XoFYyJbCWRPYQOWPKJn2UGhJ4VpmSUyn-0-6156215082060da1a99170d5f8dce5fc)
接下来,安装Frida代码提示。使用VSCode创建一个工程目录,打开命令行终端,切换到该目录下,使用以下命令来安装Frida代码提示即可:
![](https://epubservercos.yuewen.com/EB904A/24800610909679206/epubprivate/OEBPS/Images/22_01.jpg?sign=1738895534-mtiEQu8aKhDlFdU4s68rZ2ThZhjtBFdD-0-3bbc3781dc360dc09e66a16208b1aafc)
安装Frida代码提示之前,需要先安装Node.js。上述方式是局部安装,如果切换到其他工程目录,需要重新安装。
1.2.4 Frida的安装
![](https://epubservercos.yuewen.com/EB904A/24800610909679206/epubprivate/OEBPS/Images/22_02.jpg?sign=1738895534-ZVOFNZISiz4KhKrGpGxJzw1qeBTbRbwH-0-4406ddaad91bedb65f5398f4473bd9bf)
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=1738895534-g9Fuzx4hcNMIZpMuaDW00YraYHrPQ7nF-0-e9b36e3bebc0b3116ec2f0bfca1dc15f)
在计算机端,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=1738895534-U5atqwhD6P6vKztZ6lwwXpERYp9BqafD-0-3a1ab153a5ffa94b5b98a4dc129cbe8d)
可以在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=1738895534-DJ8pXPpHCMukK19BT757Gxee0a5H6QX4-0-bab449b72b1589a92d2a392233526af5)
·图1-12 Frida对应的tools版本
![](https://epubservercos.yuewen.com/EB904A/24800610909679206/epubprivate/OEBPS/Images/23_02.jpg?sign=1738895534-y410Eb6YCcw9kxzFe9AJa9QW615pXa57-0-bfc48fcdcdadead769c10db144333bef)
第二种是打开命令行终端,输入“python”,进入Python编辑器后,再输入“import frida”,看是否能够正常导入工具包,测试Frida的Python库是否安装成功的方式如下。
![](https://epubservercos.yuewen.com/EB904A/24800610909679206/epubprivate/OEBPS/Images/23_03.jpg?sign=1738895534-ls76jhH2qsCkjRp9hBHypXpmHPTU3qOP-0-b1b70a38cab4d05ead7e0c0f71e31da8)
如果需要更换Frida版本,可以使用以下命令进行Frida的卸载:
![](https://epubservercos.yuewen.com/EB904A/24800610909679206/epubprivate/OEBPS/Images/23_04.jpg?sign=1738895534-z24VW8R8Mxs8c0W4hIGgqzlrZM205HYh-0-73786fca99cac3fb9dc34293ced1a9ac)