为了调游戏外挂,需要一个更强劲的调试机,之前的Pixel 3 XL不太行了,因此又买了个Google Pixel 5。现在开始移植一下调试环境,顺便把以前没发出来的blog整理一下。
Android逆向-搭建调试机环境
购买手机
一般推荐用Google Pixel,没记错的话是欧版还是啥版本来着能直接解锁OEM。
但是,买的时候还是要注意一下是什么运营商的,一定要问清楚能不能解锁OEM和bootloader。
环境配置
adb,fastboot。没记错的话都在一个工具链里面。
Pixel3XL配置(2023-10-10)
- Magisk 25.2
- Riru v25.4.4.r426.05efc94
- Riru - LSPosed v1.8.3(6552)
- Riru - MomoHider 0.0.8
相关APP:
- Fox’s Mmm
- Magisk
- LSPosed
- XAppDebug
解锁bootloader
打开开发者选项
About Phone –> Build number点击多次,开启Developer Option。
解锁OEM
将OEM unlocking选项开启
测试fastboot
手机与电脑连接,执行:
1 | adb reboot bootloader |
说明手机能正确进入bootloader模式,同时能用fastboot重启。
解锁bootloader
1 | adb reboot bootloader |
然后用音频+/-键调整是否解锁bootloader,改成”Unlock the bootloader”后,按下启动键,就可以了。
注意,此步似乎会导致手机重置数据。因此要注意保存数据。
下载镜像
https://developers.google.cn/android/images
注意了,要选择正确的版本!在手机设置的”关于手机“里面,找到”版本号“,仔细与镜像仔细比对。
比如我最新的pixel5的版本号是:TQ1A.230205.002
,那就应该下载:https://dl.google.com/dl/android/aosp/redfin-tq1a.230205.002-factory-8713dc8e.zip?hl=zh-cn
以及我之前的那个Pixel3xl(crosshatch),下载此版本镜像:(别下这个,Android10不适合Java层调试)
10.0.0 (QQ3A.200705.002, Jul 2020) | Flash | Link | 4f657fc7a19ee9b52742574be2c481180db72ad93e51d621fc4e9c5290b07ea0 |
https://googledownloads.cn/dl/android/aosp/crosshatch-ota-sp1a.210812.016.c2-efea980d.zip
刷机(非必须)
这一步是用来降低Android版本的。一般的调试环境搭建不需要这一步。
将镜像解压后,
1 | adb reboot bootloader |
进入bootloader加载界面上,然后执行
1 | ./flash-all.bat |
这样会直接清空整个sdcard,所以调试机上不要放重要文件。
安装Magisk
下载并安装Magisk
https://github.com/topjohnwu/Magisk/releases
下载Magisk v25.2.apk
(2022-07-21)
然后安装
1 | adb install Magisk-v25.2.apk |
Patch镜像(获取Root)⭐
使用Magisk获取Android设备root权限 - xyxyxyxyxyxy - 博客园 (cnblogs.com)
刚刚解压出的镜像文件夹里面又有个压缩包,解压它。里面会有一个叫做boot.img
的玩意。将这个玩意传入手机中。
在Magisk APP上点击Install,选择这个boot.img,进行安装,这样会生成经过Magisk修改后的magisk_pathced-xxxx.img
镜像。
将magisk_patched-xxxx.img
复制回电脑。
重启手机,调到bootloader界面:
1 | adb reboot bootloader |
然后执行
1 | fastboot flash boot magisk_patched-xxxx.img |
将手机的boot修改成Magisk注入魔改后的版本。
1 | fastboot flash boot magisk_patched-25200_0KSRm.img |
成功注入。
重启,打开Magisk,发现状态显示为Installed
(也有可能是”更新”),说明安装成功。(反正能正常启动一般就成功了)
更新Magisk
推荐在Magisk里面直接下载并安装。
安装Magisk Delta
放在另一个blog了。比Magisk多了一些高雅的功能。隐藏root更全面一些。建议使用。
安装Riru(outdated)
Riru也是一种通过注入Zygote进程实现自定义功能的玩意。
https://github.com/RikkaApps/Riru
不过我发现这玩意居然在我上次更新博客不久后就停止更新了,并推荐大家去用Zygisk。
安装Zygisk
Magisk v24版本以上,Zygisk直接内置于Magisk里面了。
点击右上角设置,直接打开Zygisk选项就好了,然后重启。
安装TWRP
我个人感觉不应该在这一步才安装TWRP。然后由于现在的手机是Android 13,TWRP还没支持,因此就不管了。
https://www.xda-developers.com/how-to-install-twrp/#howtoinstalltwrpgoogle
https://twrp.me/google/googlepixel3xl.html
https://dl.twrp.me/crosshatch/
通常安装步骤
手机关机,电源键+音量减同时按进入bootloader(或者adb reboot bootloader)
1 | fastboot flash recovery twrp_xxx.img |
等待出现 finished total time
后表示刷入成功。
手机上用音量键来选择 “recovery mode” 按电源键来进入 twrp 即可 。
Google Pixel3 XL(crosshatch)
首先,下载一个与安卓版本一致的TWRP来进行安装。版本不一致绝对会导致安装失败。比如我现在的Pixel3XL的安卓版本是11,那么我应该安装twrp-installer-3.6.1_11-0-crosshatch.zip
。
这里先引用原文:
Installation:
If you already have TWRP installed: Download the latest img and install the image using TWRP.
If you do not already have TWRP installed: You need to install a LZMA ramdisk kernel before installing TWRP. Use XDA to find the proper instructions in the thread. Download the img. You will need to have fastboot binaries and the correct drivers installed. Power off your device completely. Hold volume down and turn on the device. Your device should now be in the bootloader. Connect the device to your PC. Open a command window and run the following command from the proper location:
fastboot boot path/to/twrp.img
This will temporarily boot TWRP on your device. Use adb to push the img onto your device:
adb push path/to/twrp.img /
Go to install and select Install Image. Browse to the img and install the img. The img will install TWRP to both boot slots. Installing TWRP at this time will remove root if you are currently rooted. You can reflash magisk to get root again.
If you accidently flash TWRP to your device using fastboot instead of temporarily booting the image, you will need to download the latest factory image for your device and reflash the boot image.
换成更直接的步骤:
- 安装Magisk(应该?)
- 安装LZMA Ramdisk(在Magisk上面能看到,似乎默认就有)
- 手机进入bootloader(
adb reboot bootloader
),执行:fastboot boot path/to/twrp-3.6.1_11-0-crosshatch.img
指令,让手机暂时以TWRP模式启动。 - 在TWRP下,执行
adb push twrp-installer-3.6.1_11-0-crosshatch.zip /
,将img传入手机中。(或者提前push进去) - 然后选择
Install
,找到并安装zip。(注意,最好选择Install using Zip,会轻松一点。)(最后Reboot时应该点的是slot b
) - 安装后,
root
会丢失。因此需要重新刷Magisk镜像。(具体看安装Magisk
部分)
玩脱了的解决方法⭐
安装TWRP操作不对容易导致手机没法正常开机。拯救方法:
在官网上下载官方镜像,解包,拿到boot.img
。然后:
1 | fastboot flash boot boot.img |
即可。
进入TWRP Recovery
How to boot into custom recovery (like CWM or TWRP) on Android - PhoneArena
- 有USB线,与电脑连接,然后
adb reboot recovery
- 关机后,长按音量键或者与电源键的组合(不同机种不一样),进入Recovery
使用TWRP
主要就是用于Backup, 在要整活之前备份一下数据.
安装LSPosed
以前的Xposed早就在Android5就过时了,后面还有个Ed-Xposed,不过也不是很稳定,有一堆bug。现在用LSPosed,这玩意还在持续更新。
GitHub - LSPosed/LSPosed: LSPosed Framework
选择Zygisk release:
https://github.com/LSPosed/LSPosed/releases/download/v1.8.6/LSPosed-v1.8.6-6712-zygisk-release.zip
拿到这个zip,传到手机里面。
打开Magisk,在“模块”里面选择这个zip,就自动安装了。
成功安装后并重启即可。
安装FoxMagiskManager
https://github.com/Fox2Code/FoxMagiskModuleManager
https://www.reddit.com/r/Magisk/comments/svrobc/help_cant_download_magisk_modules_anymore/
原来的Magisk APP的下载支持被转移到了这个APP上。
就是说,能够直接在联网的情况下,在手机上下载并安装自定义模块了。
安装XAppDebug
可以选定某个APP变成可调试模式。在变成可调试模式后,就可以在
开发者选项里面选择”可调试的应用“,选中后,当这个程序打开后,便会自动进入等待attach的状态,即可用JEB或者其他调试器去attach上去。
https://bbs.pediy.com/thread-267256-1.htm
https://github.com/Palatis/XAppDebug/releases/tag/1.0.5
Pixel救砖
[原创]记一次 pixel 救砖历程-Android安全-看雪-安全社区|安全招聘|kanxue.com
在电脑上配置好fastboot工具,然后USB连接手机设备,然后用官方镜像直接flash-all.bat
开始重置整个手机即可。
另一种可行的调试方法
除了利用XAppDebug,也可以用这种原始方式来强制开启debug选项。
这样能够临时修改ro.debuggable权限,且保持adb连接,这样即使开发者选项崩溃了也可以继续调试。
临时变量,手机重启后即重置为0。每次重启都需要手动操作一次。
1 | adb shell #adb进入命令行模式 |
参考
使用Magisk获取Android设备root权限 - xyxyxyxyxyxy - 博客园 (cnblogs.com)
- 本文作者: Taardis
- 本文链接: https://taardisaa.github.io/2023/06/09/Android逆向-搭建调试机环境/
- 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!