一、介绍
本文主要介绍以下搭建Frida环境逆向调试安卓软件的过程。
使用的系统为Windows系统,且为了方便,用的是模拟器,并不是真机。
二、步骤
首先我们需要下载Frida,而Frida的下载,可以通过python工具pip完成。
所以推荐你先去安装python环境:Welcome to Python.org
安装完python后,在终端输入命令:pip install frida-tools
,进行安装。
安装完成后,可以输入命令:frida --version
,来输出版本,看是否成功安装:
完成后,我们还需要能够安卓开发调试工具包,如果你已经安装了Android Studio,则已经有该工具包了,如果没有,可以直接下载:platform-tools-windows
下载完成后,是一个压缩包,将其解压,然后放在你觉得比较稳妥的位置,最后将其路径添加到环境变量中即可。
不知道什么是环境变量的可以参考另一篇文章;推荐文章-4.程序员必懂的常识-酷编程 (kucoding.com)
将其路径添加到用户环境变量、PATH
变量下即可。
添加完成后,直接输入命令:adb
,打印出相关的帮助信息,则说明你已经操作完成:
然后还需要去下载逍遥模拟器:逍遥安卓模拟器_
这个很简单直接下载安装即可,安装完成后,打开它,然后打开root权限:
一般默认就是打开的,就不用管。
然后还要打开开发者模式,首先找到设置:
这个设置可能放在了系统应用框中,点击它打开即可。
然后直接顶部搜索:关于平板电脑
点进去,翻到最下面,多次点击版本号:
直到它弹出提示:你已经处于开发者模式。
然后搜索:开发者选项
打开USB调试:
然后我们就可以回到终端,输入命令:adb kill-server
,先关闭这个调试服务。
然后就可以连接我们的安卓模拟器了:adb connect 127.0.0.1:21503
注意,逍遥模拟器虚拟设备默认端口为21503
,并且目前处于局域网,所以链接为上面那个,如果有多个设备,那么每增加一个设备,端口号就会增加10,如果有第二个虚拟设备,那么端口号就是21513
了。
然后进入安卓的终端:adb shell
输入命令:getprop ro.product.cpu.abi
,查看安卓的架构信息。
最后退出:exit
比如我这里输出的是x86_64
,那么要记住这个名字。
去官网:Releases · frida/frida (github.com)下载相应的服务器:
一般直接选择最新的即可,因为前面pip安装是安装的也是最新的。
下载下来先解压,然后你可以将其重新命名,方便后面使用,我这里只保留了前面的frida-server
。
然后将这个文件传到安卓模拟器中:
adb push D:\Download\frida-server-16.1.4-android-x86_64\frida-server /data/local/tmp
注意,前面的D:\Download\frida-server-16.1.4-android-x86_64\frida-server
是我下载解压后保存在我电脑上的路径,你需要更换成你的。
然后再次打开模拟器终端:adb shell
进入上面文件保存到的安卓系统路径:cd /data/local/tmp
更改这个文件的权限:chmod 777 frida-server
然后运行这个文件:./frida-server
至此,我们环境就搭建完成。
你可以再开启一个终端,输入命令:frida-ps -U
,来验证其是否成功:
这个命令是用来输出当前安卓系统中所有进程信息的,能获取并输出,则说明环境已经陈功搭建。