手把手教你用Google Pixel刷机和Root

2023-05-16

e895d71dcd5ab4afa2aa7c9bf0345b60.jpeg

点击上方“Python学习开发”,选择“加为星标”

第一时间关注技术干货!

0x1.刷入系统

强烈推荐使用 android8 的系统的,android10 的因为安全等级增加了问题比较多。

0x2.下载对应文件

https://dl.google.com/dl/android/aosp/sailfish-opm4.171019.021.p1-factory-0bcf4315.zip

下载完成之后解压文件得到文件夹sailfish-opm4.171019.021.p1

0x3.手机进入 fastboot 模式

关机后按住手机的电源键和音量-键,进入 fastboot 模式。如果此时你手机的 adb 命令可以使用,使用下面的命令

adb reboot bootloader

此时手机进入 fastboot 模式,一个安卓小机器的界面,什么也不用点等着就行了。

之后将刚才下载的系统刷入

0x4.刷入系统

刚才下载的文件解压之后的文件名为 sailfish-opm4.171019.021.p1。我们通过进入该目录,运行 flash-all.sh开始刷机。
这个过程比较长,请确保手机电充足,另外刷机过程手机会重启几次,这个不用担心等着就行了。

cd sailfish-opm4.171019.021.p1
./flash-all.sh

大概过程是这样

ae13b916aeaf5baa795021b7cd821186.png
直到看到下面的信息证明我们刷机成功了。
9c378325a92c846ee7380548293ef096.png
同时手机也会重启进入新的系统。

至此刷机就完成了,下面我们进行 root 操作。
这里重点说下,新刷的系统没有开启开发者模式的,没法直接进行 adb 命令,我们找到关于手机然后点击几次版本号,就可以开启开发者模式了,之后进入开发者模式打开 usb 调试即可。

0x5.安装magisk

首先下载 magisk,它项目路径在这
https://github.com/topjohnwu/Magisk/releases。
目前最新的版本是 Magisk v25.2,  但是因为最新的没有模块搜索功能了,所以我选择了老的版本 Magisk-v22.1.apk
我们先把这个 apk 安装到手机上。

0x6.将 boot.img 传送到手机

这里主要说下 boot.img 的路径,很多朋友可能找不到。在第 0x4 步的时候,我们解压了一个文件夹 sailfish-opm4.171019.021.p1。仔细观察该文件夹里面还有一个 zip 文件,
我们解压这个 zip 文件(image-sailfish-opm4.171019.021.p1.zip),就可以看到boot.img 了.之后将 boot.img 文件传送到手机

adb push /Users/chennan/Downloads/android8/sailfish-opm4.171019.021.p1/image-sailfish-opm4.171019.021.p1/boot.img  /storage/emulated/0/Download

电脑的路径改为你的。

0x7.修补一个文件

我们打开 magisk,然后点击安装

1768a29496cb9c95398c7af7935ef41a.png
之后勾选选择并修补一个文件
0f677dbcb120ba89b8f6faee319ebe44.png
我们找到刚才传入到手机的 boot.img
它就是下载这个文件夹里 3bee07f85648b607d86eafedfede98de.png
选择之后点击开始,这时候修补工作就开始了。
e703fe0b94ddf2371c69fd365484d729.png
最后我们看到了它成功修补之后的路径,我们把它导入到电脑后面再去使用。
文件名太长我就把这个目录的都导出来了,这时候你发现boot.img也一起导过来了,可以删了boot.img。
adb pull /storage/emulated/0/Download/. .


0x8. 刷入刚才的修补文件

确保手机打开usb调试,数据线连接没问题执行命令

adb reboot bootloader

手机重启后执行命令

fastboot flash boot magisk_patched.img
861636bcc40696827d024aa63494c7ab.png
然后重启手机
fastboot reboot


0x9.测试是否 root 成功

重启手机之后进入命令行测试下是否root成功

adb shell
su

你会发现命令行不懂了,别着急这时候看手机 ,一小段时间如果没有问题,手机上会弹出这个框,我们点击永久

d2965b2dc1174f46c950715eda1e8554.png
同样的这时候可以看到命令行里面的su生效了。
a8130003c46f8530c5fc0d92c17fe076.png

至此我们的root也完成了。


其他可能用得到的操作


0x1.twrip相关

目前 twrip,主要解决上面无操作导致命令行进入不了,或者使用su的问题,目前我使用twrp主要是给shell提权的。
这部分内容作为辅助吧
地址在这里https://dl.twrp.me/sailfish/
下载下面两个文件

twrp-pixel-installer-sailfish-3.3.0-0.zip
twrp-3.3.0-0-sailfish.img

将zip结尾的文件push到手机

adb push /yourpath/twrp-pixel-installer-sailfish-3.3.0-0.zip /sdcard

push完成后,再次让手机进入到fastboot模式

adb reboot bootloader

之后使用下面的命令开始刷入twrp

fastboot boot twrp-3.3.0-0-sailfish.img

另外如果在使用twrip过程出现了文件夹是乱码,解决办法就是去掉手机的pin密码和指纹密码。


2.安卓手机禁止自动更新

pm disable com.google.android.gms/.update.SystemUpdateActivity 
pm disable com.google.android.gms/.update.SystemUpdateService 
pm disable com.google.android.gms/.update.SystemUpdateService$ActiveReceiver 
pm disable com.google.android.gms/.update.SystemUpdateService$Receiver 
pm disable com.google.android.gms/.update.SystemUpdateService$SecretCodeReceiver 
pm disable com.google.android.gsf/.update.SystemUpdateActivity 
pm disable com.google.android.gsf/.update.SystemUpdatePanoActivity 
pm disable com.google.android.gsf/.update.SystemUpdateService 
pm disable com.google.android.gsf/.update.SystemUpdateService$Receiver 
pm disable com.google.android.gsf/.update.SystemUpdateService$SecretCodeReceiver


3.开机后wifi有感叹号, 时间无法同步解决办法

在手机的shell里以root用户执行:

settings put global captive_portal_http_url https://www.google.cn/generate_204
settings put global captive_portal_https_url https://www.google.cn/generate_204
settings put global ntp_server 1.hk.pool.ntp.org
reboot

后续只要把时区调对,时间会自动同步的。

推荐阅读

App逆向|App一般逆向流程记录

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

手把手教你用Google Pixel刷机和Root 的相关文章

  • Javascript 画布像素操作

    我有产品图片 每个图片都有两个可配置区域 如下所示 一 背景 2 前景 我必须开发一项功能 让客户可以更改两个区域的颜色并保存设计 我的问题是 我正在遍历图像以读取旧像素值并用新选择的颜色更改它 位旧像素值不一致 图像上存在纹理效果 这会导
  • 刚创建数据库后,无法以 root 身份访问该数据库

    作为 root localhost mysql gt CREATE USER aaa Query OK 0 rows affected 0 00 sec mysql gt GRANT USAGE ON TO aaa WITH MAX QUE
  • Android 11 - ROOT:挂载 /system 失败,在 /proc/system 中找不到

    我的操作系统是 PixysOS Android 11 当我做 mount o rw remount system 它失败了 mount system not in proc mounts 但通常它是有效的 我也在android 9中测试过
  • 如何在没有扩展程序的情况下在 Chrome 中测量像素?

    由于工作中的安全限制 我不被允许安装 Chrome 扩展程序 Chrome 在开发者工具中内置了一个标尺 但我不知道如何像标尺允许的那样定义起点和终点 是否有无需安装 Chrome 扩展程序即可测量像素的工具或技术 您可以创建自己的标尺功能
  • 如何找出网页浏览者每英寸的像素数?

    谁能想到一种方法来发现用户的每英寸像素数 我想确保图像显示在网络浏览器中exactly我需要它的大小 因此使用分辨率 我可以从用户代理获得 和每英寸像素的组合我可以做到这一点 但是 我不确定是否有任何方法可以发现用户的每英寸像素数 最好使用
  • 使用 /var/lib/mysql 的 chown 从 root 更改所有者,现在 mysql 中出现错误 1049 (42000)

    在 Ubuntu 上 我之前在终端中使用以下代码创建了一个 mysql 数据库 my sql u root p 然后在mysql中 CREATE DATABASE securities master 我试图使用文件资源管理器来查看与该数据库
  • JavaScript 生成 dataURL 格式的透明 1X1 像素

    我想知道一种在 JavaScript 中生成单个像素并将其转换为 base64 的方法 理想的函数是 function createPixel hexColor opacity Calculate return base64DataURL
  • launchctl 无法运行二进制文件并以代码 78 退出

    我一直在构建一个 golangapp https gist github com krlc 8b9a79b33b857d1a66221ffc802d3c0d带有系统托盘 GUI 我想了launchctl每当我登录时运行我的程序 程序编译并运
  • 使用内联“宽度”时省略像素

    这是一个有点愚蠢的问题 但对我来说理解很重要 据我所知 在 HTML 中使用内联 width 属性时 允许省略 px 除非使用百分比 20 否则将自动被理解为 20px 我的问题是 即使不需要 px 使用它是否错误 这段代码对我来说看起来非
  • Python使用sudo启动时找不到模块

    我有一个使用 Google Assistant 库的脚本 并且必须从那里导入一些模块 我发现这只适用于 Python 虚拟环境 这真的很奇怪 在同一个文件夹中 我有一个使用 GPIO 引脚并且必须使用 root 的脚本 它们相互交互 因此当
  • 如何设置 BufferedImage 中的 RGB 像素以显示 16 位深度的 PNG?

    我正在尝试读取并显示 PNG 文件 我处理 8 位深度的图像没有问题 我按如下方式进行 BufferedImage result new BufferedImage width height BufferedImage TYPE INT R
  • 将颜色对象“舍入”到最接近的颜色常量的最佳方法是什么?

    我将检索像素的确切颜色 并希望将该确切颜色与常量相关联 例如Color blue 有没有一种简单的方法可以 舍入 到最接近的颜色常数 此外 有没有办法定义自己的颜色常量 基本方法是通过简单地将样品与每个样品进行比较来找到与样品最接近的标准颜
  • OpenGL ES 像素艺术 - 缩放

    我在 iPhone 上的 OpenGL Es 1 1 上显示基于像素的艺术 想想复古瓷砖和艺术 时遇到问题 图块使用 8 个字节 每行 1 个字节 表示 每一位代表一个像素是否被设置 例如数字为 8 的图块 0 0 0 0 0 0 0 0
  • 放弃root权限

    我有一个以 root 身份启动的守护进程 因此它可以绑定到低端口 出于安全原因 初始化后我非常希望它放弃 root 权限 谁能指点我已知正确C 中的一段代码可以做到这一点 我阅读了手册页 研究了不同应用程序中的各种实现 它们都是不同的 其中
  • 重置 MySQL root 密码不起作用

    我花了很多时间阅读并尝试了数十种重置 root 密码的方法 但我一无所获 我发现 并尝试过 的最完整的说明如下 顺便说一句 我在 Win7 32 位上运行 MySQL 5 5 我创建了一个文件 c mysqlinit txt 其中包含两行
  • 如何重置捕获像素的值

    我正在尝试创建一个 C 函数 该函数返回屏幕截图位图中每四个像素的 R G 和 B 值 这是我的代码的一部分 for int ix 4 ix lt 1366 ix ix 4 x x 4 for int iy 3 iy lt 768 iy i
  • 使用 Objective C 将 RGB 彩色图像更改为灰度图像

    我正在开发一个将彩色图像更改为灰度图像的应用程序 然而 有些图片显示出来是错误的 我不知道代码有什么问题 也许我输入的参数有误 请帮忙 UIImage c UIImage imageNamed downRed png CGImageRef
  • 快速像素绘图库

    我的应用程序以每像素的方式生成 动画 因此我需要有效地绘制它们 我尝试过不同的策略 库 但结果并不令人满意 尤其是在更高分辨率的情况下 这是我尝试过的 SDL 好的 但是慢 OpenGL 像素操作效率低下 xlib 更好 但仍然太慢 svg
  • 如何让Android设备始终处于唤醒模式?

    设备root成功后 现在 我需要使设备始终处于唤醒状态 即始终可见 UI 并且没有黑屏或任何白日梦屏幕 为此 我认为我必须完成以下任务 无锁屏 已关闭 睡眠设置为 从不 白日梦设置为 关闭 我发现都是关于应用程序层的 即有一些应用程序可以完
  • 按像素值偏移 gl_Position 或 gl_Vertex

    我的属性包含像素值 我想用这个属性值来偏移我的 gl vertex 问题是我的 gl vertex 以世界单位为单位 而 offset attribute 以像素为单位 如果我将屏幕尺寸作为统一发送 然后将像素转换为 1 到 1 值 并将其

随机推荐

  • win7 本地连接共享无线网络(即两网卡共享)

    一 首先保证插了网线能上网 二 添加无线接入 1 管理无线网络 2 添加 3 创建临时网络 4 建接入点名称 6 接入点 三 共享本地网络 右键属性 xff08 注 xff1a 我是拨号上网 xff0c 所以选 宽带连接 xff0c 如果没
  • AD——PCB布线常用快捷键

    切换层数 切换下层 xff1a 小键盘 切换上层 xff1a 小键盘 43 显示属性 xff1a Tab mil和mm单位互换 xff1a q 本层显示部件 线路切换 xff1a shift 43 s 布线时切换线宽 xff1a shift
  • TR 是什么?

    TR是技术评审的英文 Technical Review 的缩写 xff0c 目的是尽早地发现工作成果中的缺陷 xff0c 并帮助开发人员及时消除缺陷 xff0c 从而有效地提高产品的质量 产品开发中 xff0c TR是技术评审节点 TR1
  • Android 关于dialog的显示位置设置

    自定义dialog 默认的显示位置是window 的位置 我们可以通过dialog或者窗口对象 window 然后通过window 去设置dialog的上下中的位置 例如 dialog getWindow 得到window对象 window
  • janusgraph开发难点总结

    前言 xff1a 本文为项目开发过程中 xff0c 研究加实战了半个月的踩坑记录 xff0c 只记了重要的部分 xff0c 建议有一定基础的童鞋阅读 时隔半年 xff0c 发出来分享下 xff0c 因为是从word中直接粘贴出来的 xff0
  • CInternetFile::GetLength()长度不对

    不少童鞋反映遇到这个问题 xff0c 在调用CFtpConnection OpenFile 后 xff0c 无法通过CInternetFile GetLength 获取正确的文件长度 之所以要求文件长度 xff0c 是因为读文件CInter
  • 超市小票案例--适合Java初级练习Scanner类以及Java基础语法的例题

    购买总数量超过10件或者总金额大于100 xff0c 就在总价的基础上打五折 xff0c 要求最终出现如下效果 span class token comment 超市购物小票案例 span span class token keyword
  • ubuntu18.04中用evolution使用outlook!!(能用浏览器打开的就不考虑这个了)

    1 一般的企业都会给一个配置文档的教程 但是里面也就 mail baba com一条重要信息 其实如果手动配置的话就要知道企业邮箱的服务地址 2 之前在ubuntu上用的雷鸟配置的企业邮箱 但是性能超差 最后发现可以用evolution来玩
  • nginx配置 (转)

    Nginx常见配置 xff1a 多域名对应多端口配置 配置不同域名对应不同端口 配置301跳转使用根域名跳转对应二级域名 添加404网页 禁止ip直接访问 古兰精 博客园 Nginx常见配置 xff1a 多域名对应多端口配置 配置不同域名对
  • ubuntu20.04,无中文输入法 18.04升级到20.04 解决方法 (201513更新)

    rt xff0c 升级过程如下 xff1a sudo apt update amp amp sudo apt full upgrade amp amp sudo apt autoremove amp amp sudo systemctl r
  • ubuntu 20.04 修改文件夹默认图标

    rt 修改图标不用下载什么软件 早个网站下载png或者ico格式的图标 放到要修改的文件夹下或者其他地方 然后右键点击属性 然后左键点击图标的地方 就可以修改了 选择到你想要的图片 保存一下就可以了 ps 如果怕删除掉图标文件 可以在名称前
  • 块存储、文件存储、对象存储这三者和分布式文件存储系统的本质区别(转)

    三类存储从架构上的区别 xff0c 可以见下图 xff1a 为什么需要这三类存储 xff0c 是因为这三类存储适用的应用场景有不一样的地方 块存储 xff1a 要求高性能的应用 xff0c 如数据库需要高IO xff0c 用块存储比较合适
  • ITIL 2011 -- 服务运营的5个流程简介 (上)

    要做一个IT运维管理的项目 xff0c 客户提到了ITIL xff08 IT Infrastructure Library xff09 xff0c 所以谈需求之前我研究了一下ITIL xff0c 发现东西比较多 xff0c 但是里面的服务运
  • html用vue实现模拟聊天窗口

    模拟一个人跟自己聊天 lt html gt 格式省略 lt style type 61 34 text css 34 gt talk con1 width 600px height 500px border 1px solid 666 ma
  • linux下查看所有监听端口

    1 检查所有监听端口 netstat tln awk NR gt 2 sub 4 print 4 2 检查所有监听端口并排序去重 netstat tln awk NR gt 2 sub 4 print 4 sort uniq lsof i
  • django学习笔记(1)

    61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 课程概况 django框架 3天 drf框架 3天 美多商城 12天 61 61 61 61 61 61 61 61 6
  • gzip和deflate的区别

    我们在配置网站GZip压缩的时候 xff0c 会发现有两个模块可以设置的 xff0c 一个是GZip模块的参数配置 xff0c 另一个是Deflate模块的参数配置 xff0c 他们的设置方法是一样的 刚开始时我不太明白 xff0c 这两地
  • (个人笔记)Django学习笔记整理

    64 为遗漏点或者难点 为重点标记 39 若有打眼 欢迎自取 错误之处 还请指教 DAY 11 24 64 url统一资源定位符限定有2到4kb 因为浏览器地址栏里只能输入这么多东西 1 xff0c MVT 2 xff0c 观看中文文档 3
  • mysql中用alter table建立索引

    1 添加PRIMARY KEY xff08 主键索引 xff09 mysql gt ALTER TABLE table name ADD PRIMARY KEY column 2 添加UNIQUE 唯一索引 mysql gt ALTER T
  • 手把手教你用Google Pixel刷机和Root

    点击上方 Python学习开发 xff0c 选择 加为星标 第一时间关注技术干货 xff01 0x1 刷入系统 强烈推荐使用 android8 的系统的 xff0c android10 的因为安全等级增加了问题比较多 0x2 下载对应文件