珍爱生命 远离小米 华为

下载适用于WindowsSDK平台工具(域名都包含google关键字) 将其(指fastbootadb)添加到PATH

继续高级搜索 标题包含 使用fastboot刷写 的标签页

阅读完后 你应该会擦除data分区了

在标题包含NexusPixel的出厂映像 (可以使用高级搜索)的标签页中找到20242月的链接 后下载归档(zip)文件(Pixel 5的代号是RedFin)

解压后用7-zip查看SHA-256 CheckSum

阅读章节 手动刷写说明

现在 你学会了刷user构建版本的映像了!!(前提你不要用百度搜狗360搜索)

flash-all.bat里搜索(就像在WeChat里找f一样)

fastboot -w update

这一行的-w可以不要 而且解压这一行的归档文件 找到boot.img 背下它 




Magisk是一套安卓应用程序(因为有Magisk模块) 而topjohnwu是它的作者之一 可以到github.io里找他

那么打开命令提示符 我将要列出存储库的发行版

gh release list -R topjohnwu/Magisk

找到类型为最新的

现在是v29.0

相应的命令为

gh release download -R topjohnwu/Magisk -D ./ -p Magisk-v29.0.apk
unzip Magisk-v29.0.apk
cd lib/x86_64
mv libmagiskboot.so magiskboot
./magiskboot

输出了"用法 引导映像修改工具"的帮助文字

先背下来 以后要用它

adb install Magisk-v29.0.apk

打开

com.topjohnwu.magisk

选择并修补一个文件

adb push boot.img /sdcard

将文件复制到了存储设备

开始 

然后

adb pull /storage/emulated/0/Download/XXX XXX

从设备复制文件到XXX

启动进入fastboot模式

fastboot flash boot XXX

刷写分区后启动设备 继续启用USB连接

adb shell
su

允许

com.android.shell

的超级用户请求




adb pull /apex/com.android.adbd/bin/adbd 后用IDA免费交互式反汇编打开


然后它说处理器ARM不包含在已安装的IDA版本中


那么我将用radare2以及它的管道接口r2pipe来逆向工程adbd

import r2pipe
r=r2pipe.open("adbd")
r.cmd("aa")
r.cmd("iz~adbd cannot run as root in production builds")
r.cmd("axt 0x00012529")
r.cmd("s 0x194d80")
r.cmd("af")
r.cmd("pdg")

~字符启用了内部grep 可以用来过滤任何命令的输出


iz 列出了字符串


s 寻找addr


af 分析函数(从addr开始)


aa 分析全部


运行git clone https://android.googlesource.com/platform/packages/modules/adb && cd adb 


然后在daemon\restart_service.cpp中找到


restart_root_service


Web中搜索__android_log_is_debuggable


终于你学会了adb root


在此致谢liwugang