碎碎念:截至笔者写此教程的2022.10.10,xposed官网貌似已经G了(?),网上有的教程已经过时,有的是针对奇怪的商用的Android模拟器的教程(以科研工作者的角度来说),在此环境下出一篇Android官方模拟器的Xposed框架安装教程(PatDroid可以不看)(纯纯的小白向)
第一部分-Android官方模拟器安装Xposed教程
本教程环境:Ubuntu20.4
1.材料准备:
(1) Android开发必备:Android Studio(Android Studio),没有的话通过链接去官网装一个
(2) Xposed安装材料:网盘链接
提取码:nhso
2.开始安装Xposed
(1) 安装官方模拟器Android 7.1.1
打开Android Studio ➡工具栏右上角“AVD Manager”➡+Create Virtual Device...➡机型选择“Nexus 5X”并点击“Next”➡系统选择“x86_64 Android 7.1.1”(一定不要选择Google API版本,此版本root不了)(要下载就下载)➡点击“Next”➡点击“Finish”完成创建➡创建完成以后不用打开模拟器,直接关掉Android Studio就可以了
后续一定不要使用AS开虚拟机,因为它会重置掉我们配置的环境
Android Studio依次点击顶部菜单栏:File -> Settings -> System Settings -> Android SDK,安装下图圈住的东西(不用在意版本)
(2) 通过非Android Studio的方式启动刚创建好的模拟器
打开命令行终端,cd到android sdk的emulator目录下
通过emulator可执行文件(与文件夹同名)查看刚才创建的模拟器的名字
./emulator -list-avds
接着,使用以下命令启动模拟器(模拟器第一次启动较慢):
./emulator -avd (自己模拟器的名字) -writable-system
模拟器启动完成后不要关闭终端!关闭终端模拟器也会关闭
(3) 获取模拟器root权限
新建终端,在新终端内cd到Android sdk的platform-tools文件夹内
依次输入一下指令,获取root权限
./adb root
./adb remount
./adb shell
setenforce 0
exit
安装实现准备好的xposed-installer-3-1-5.apk
./adb install xxx/xposed-installer-3-1-5.apk(apk所在的绝对路径)
可以启动该apk查看当前Xposed的状态,可以看到当前Xposed还是没有装上的
进行这一步前,必须完成之前的root操作)
./adb push xxx/xposed(xposed文件夹所在的绝对路径) /system
依次执行以下命令,使用脚本安装Xposed
./adb shell
su
cd /system/xposed
sh script.sh
exit
exit(没看错,没多写)
离成功只差一步,使用以下命令重启模拟器(重启时间较长)
./adb reboot
模拟器重启完成后,再次打开Xposed应用,发现Xposed已激活
补充:
关闭模拟器时,直接x掉模拟器就行,不要碰电源键(重启模拟器可能会重置掉环境)
如果你只想用Xposed框架,到这一步就可以了,第二部分不需要再看
第二部分-测试工具PatDroid安装教程
前提:完成第一部教程
PatDroid来自一篇17年FSE的论文,链接
摘自原文:本文介绍了一种称为 PATDroid 的自动化方法,用于有效地测试 Android 应用程序,同时考虑权限对其行为的影响。PATDroid 对被测应用程序及其测试套件执行混合程序分析,以确定应针对哪些权限组合执行哪些测试。
1.材料准备:
通过链接(PatDroid)下载工具
下载并解压后打开文件夹内的index.html查看教程
2.工具安装
(1)配置工具所需环境(具体各环境的安装步骤可以百度)
python2.7,笔者所用Ubuntu20.4自带
Java8 自行安装
将sdk根目录添加到环境(~/.bashrc)里
运行我们事先安装好Xpose的模拟器
./emulator -avd xxx(模拟器名字) -writable-system
最最最最最最最坑的,PatDroid作者教程里没写,安装gradle
3.使用测试模式运行PatDroid工具
在终端内cd到PatDroid文件内,使用以下命令运行工具
python2 ./PATDroid.py a xxx(待测apk所在绝对路径) -t m
稍等片刻,工具即可开测