xposed 01 - 环境搭建

简介

Xposed的作者是rovo89,但是更新完 8.1 的 beta 版之后就不更新了。由于Android新版本的普及,目前新上市的手机基本都是8.0以上。所以Xposed框架已经不适用。EdXposed团队成为Xposed停止更新后的官方接任者。

当然现在有更好的 LSPosed https://github.com/LSPosed/LSPosed,这个我们后面开一个系列

原理

控制zygote进程:通过替换/system/bin/app_processs 程序控制 zygote进程,使得它在系统启动的过程中会加载Xposed framework的一个jar文件,即XposedBridge.jar,从而完成对Zygote 进程及其创建的Dalvik/ART虚拟机的劫持,并且能够允许开发者独立的替代任何class。

刷镜像

我的测试机装的是Android 8.1,我刷的是EdXposed。这个有两个选项,一个是自己编译 userdebug 镜像,一个是直接使用 google 提供编译好了的镜像。对于刚开始接触的同学来说,最好选择去下载 google 编译好的镜像来刷机。

想自己编译进行,可看我之前发的 《wsl编译android源码》

Nexus 和 Pixel 设备的出厂映像:https://developers.google.com/android/images?hl=zh-cn

可以看到,Pixel 最高可以刷到 Android 10.

下载完镜像之后,就可以刷机了,先解锁 bootloader,然后执行一下命令,等待刷机完成:

adb devices # 先检查Pixel 设备是否存在,存在则执行以下指令
adb reboot bootloader # 先进入fastboot mode
fastboot flashing unlock # 解锁

下载之后进行解压,然后执行一下命令,等待刷机完成:
Windows:运行flash-all.bat
Mac:运行flash-all.sh

TWRP

由于Pixel及Pixel XL都采用A/B升级系统,因而可以理解为手机里有2个系统,如果你按照传统刷入Twrp的方法刷入的话,那么你并不会获得一个永久的Twrp。所以需要先刷入一个临时的Twrp,再通过临时的Twrp来刷入永久的Twrp从而来获取Root权限。

首先,前往TWRP官网Devices下载最新版临时TWRP镜像文件.img。

https://twrp.me/Devices/

Pixel 设备选择 Google,选择 Google Pixel (sailfish),选择美版/欧版,进入下载页面

下载最新的 img 与 zip 文件,然后手机电脑连起来,将下载的img 与 zip 文件push到手机里面(path/to/),然后:

adb reboot bootloader

进入 bootloader 模式后,进入临时 twrp 界面:

fastboot boot path/to/twrp.img

在 twrp 界面安装 zip 文件,这样就得到了一个永久 twrp 。

刷 magisk

下载 magiskmanager:https://magiskmanager.com/downloading-magisk-manager

安装完成后,发现里面一直检查更新,点击菜单->设置->更新通道->自定义,输入:https://gitee.com/QingFeiDeiYi/Magisk/raw/master/stable.json 这个地址,然后返回刷新界面,就好了。

下载 magisk:https://github.com/topjohnwu/Magisk/releases

然后将文件 push 到手机,进入 twrp,安装,重启,即可,手机就 root 了。

EdXposed

下载3个文件:

  • Riru-Core – Download

  • EDXposed Magisk Module – Download (YAHFA and SandHook are two variants available – try both and adopt stable variant which is best for your device)

  • EDXposed Manager APK – Download

将前面两个压缩文件 push 到手机上,打开 magisk manager,点击 菜单 -> 模块 ,将上面两个 zip 文件刷入就好了。

安装 EDXposed Manager APK,重启,这样 EdXposed 框架就安装好了,打开 EdXposed Manager 会提示你是否安装好了。

XposedBridge

https://github.com/rovo89/XposedBridge

还未弄清楚版本的作用,大致看了下,新版添加了API。

你可能感兴趣的:(xposed,逆向,前端,java)