安卓手机ROOT和刷机基本操作——以红米Note7刷安卓原生系统并Root为例

news2024/11/24 15:32:55

文章目录

  • 前言
  • 一.简介
    • 1. 安卓权限
    • 2. 安卓分区
      • Boot分区
      • System分区
      • Data分区
      • Cache分区
      • Recovery分区
    • 3. Fastboot
  • 二.前置准备
    • 1. Android SDK 工具
    • 2. 解BL锁
  • 三. ROOT
    • 1.Fastboot线刷(推荐)
      • 获取系统boot镜像
      • 修补boot.img
      • 刷入boot
    • 2. Recovery卡刷(可以尝试)
  • 四. 红米Note7刷安卓原生系统
  • 五. 参考资料

前言

学习安卓逆向需要进行调试,虽然之前对测试机root过可以进行一些调试,但是某些软件不能正常运行调试,遂选择刷安卓原生系统(PixelExperience)

一.简介

1. 安卓权限

  1. 软件权限(第三方软件) 权限最低,要向用户请求权限
  2. 用户权限 高于第三方软件,可以进行授权
  3. ROOT权限 最高权限

2. 安卓分区

Boot分区

包括了内核(Kernel)和虚拟内存(Ramdisk),root主要也是修改boot分区,如果boot损坏就无法启动,会卡在第一屏开机logo页面

System分区

包含了整个操作系统和系统软件,系统升级和刷机通常就是在操作这个分区.如果system分区损坏则会卡在第二屏,开机动画界面,无法进入系统
Vendor分区
包含了厂商定制应用和库文件,很多厂商也会直接把这些文件放在system分区

Data分区

包含了手机使用中存储的各种用户数据,包括应用,音视频,图片,文档,系统设置等.擦除该分区则会清空手机所有数据,不会影响系统启动

Cache分区

安卓系统缓存区,用于快速打开系统最常访问的数据和应用程序,清除缓存不会影响系统使用

Recovery分区

恢复分区,包含一个简易linux系统,可以用来恢复和更新其他分区,类似于Windows Pe 还可以对其他分区进行擦除,重启等操作,刷机很多时候都是在该分区进行

3. Fastboot

线刷和卡刷简介:

  1. 线刷: 通过数据线连接电脑,进入fastboot刷机
  2. 卡刷: 下载好系统包到手机中,进入recovery刷机

近年来出现了越来越多不存在recovery分区的手机,安卓从7.0开始引入了新的ota升级方式 A/B system updates,这种方式将boot和system等分区变为A/B两套,可以无缝升级,重启手机后自动切换分区

请添加图片描述

此时便需要使用fastboot刷机
类似于电脑的BIOS,开机后bootloader会初始化硬件设备,引导操作系统内核,之后可以选择进入fastboot模式进行刷机
例如小米手机可以在关机状态下长按关机键和音量-键进入fastboot
请添加图片描述

二.前置准备

1. Android SDK 工具

下载链接SDK 平台工具版本说明
解压后可以看到adb和fastboot工具
可以直接在文件夹内打开cmd或者将该文件夹添加至环境变量来执行命令
请添加图片描述

2. 解BL锁

  1. 打开开发者选项,打开usb调试和oem解锁
  2. 解开Bootloader锁(BL锁)
    点击开发者选项中的设备解锁状态,绑定账号和设备(要插手机卡)
    然后使用小米官网的解锁工具,手机进入fastboot模式按照解锁工具提示即可解开bl锁

三. ROOT

1.Fastboot线刷(推荐)

获取系统boot镜像

MIUI可以在xiaomiROM.com选择对应型号下载卡刷包
也可以在手机系统更新选项中选择下载完整更新包,然后将文件传送到电脑上
解压后得到boot.img文件

修补boot.img

  1. 手机上先安装Magisk管理端app
  2. 使用命令adb push boot.img /sdcard将刚刚得到的boot文件推送至手机
    打开文件管理就可以在内部存储设备目录下找到boot.img
  3. 在magisk中点击安装,选择修补一个文件,修补刚刚的boot.img文件
  4. 在内部存储设备/Download/目录下可以找到magisk_pached的img文件,再将修补后的boot.img传送到电脑上

刷入boot

  1. 手机进入fastboot模式
  2. 电脑使用命令
    adb reboot fastboot                   //重启至fastboot
    fastboot flash boot "boot.img路径"    //刷入修补后的boot
    
  3. 如果ab分区机型刷入提示失败可以使用
    fastboot flash boot_a xxx.img			//刷a分区
    fastboot flash boot_b xxx.img			//刷b分区
    
    刷掉两个分区
    重启后打开magisk管理app,若成功显示版本号和超级用户选项则成功获取root权限
    请添加图片描述

2. Recovery卡刷(可以尝试)

  1. 进入twrp官网,下载设备对应型号的boot.img文件
  2. 电脑上执行刷机命令 fastboot flash recovery “img文件路径”
  3. recovery安装magisk
    将magisk包(后缀名改为zip)放到手机中
    关机状态下长按电源和音量+键直到出现logo即可进入recovery
    安装magisk.zip
    重启后将.zip改为.apk,安装magisk管理端
    如果magisk显示了版本以及下方有超级用户的选项则说明成功root

缺点:需要twrp适配手机,ab分区手机可能需要刷两遍

四. 红米Note7刷安卓原生系统

登录pixelexperience官网
找到note7,点击install guide请添加图片描述

根据InstallGuide进行操作,点击下方的Show Instructions即可查看详细步骤(非常详细,照做即可)

  1. 解BL锁
  2. 下载Recovery分区镜像文件并安装
    adb reboot bootloader
    fastboot flash recovery “img路径”
    关机后按住电源和音量+键直到出现徽标即可进入recovery
  3. 下载并安装PixelExperience安装包
    在recovery中先恢复出厂设置
    再选择更新以及Apply from ADB
    电脑使用adb sideload filename.zip
    之后便会自动刷pixel系统,重启之后就可以正常使用了

在这一步可以提取.zip文件中的boot.img,然后使用magisk修补,进fastboot进行root

五. 参考资料

玩机必看!带你入坑安卓刷机,小白也能看懂的ROOT基础指南来啦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/668363.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Burpsuite介绍及2022.8.2版本超详细安装教程(图文版)

Burpsuite介绍及2022.8.2版本超详细安装教程(图文版) 文章目录 Burpsuite介绍及2022.8.2版本超详细安装教程(图文版)Burpsuite是什么?Burpsuite环境配置及安装JDK选择及配置Burpsuite下载安装 Burpsuite快捷启动方式选…

卷积神经网络中池化层的详细介绍

卷积神经网络自2012年,到2023年经历了翻天覆地的变化。最早的卷积神经网络由卷积层、池化层和全连接层所构成。其中卷积层用于提取图像的特征,池化层削减特征数量,全连接层用于对特征进行非线性组合并预测类别。然而在transformer横行的年代&…

【瑞吉外卖】适合速成SpringBoot和MyBatis的作业项目

文章目录 零、MyBatisPlus一、管理端登录1.0 统一的返回结果Result类1.1 admin/login1.2 admin/logout1.3 Filter1.4 自定义消息转换器 二、员工管理2.1 新增员工-字段填充2.2 全局异常捕获2.3 员工信息分页查询 三、分类管理3.1 分类的删除 四、菜品管理4.1 文件的上传与下载1…

CNAPPs投资热度持续攀升 腾讯云被Gartner评为全球案例厂商

近日,Gartner发布《新兴技术:在三重挤压中蓬勃发展—对云安全风险投资的关键洞察》(Emerging Tech: Thriving Amid the Triple Squeeze— Critical Insights on VC Funding for Cloud Security)(以下简称《报告》&…

Flink 学习五 Flink 时间语义

Flink 学习五 Flink 时间语义 1.时间语义 在流式计算中.时间是一个影响计算结果非常重要的因素! (窗口函数,定时器等) Flink 可以根据不同的时间概念处理数据。 处理时间: process time System.currentTimeMillis()是指执行相应操作的机器系统时间(也称为纪元时间…

优化|如何减小噪声和误差对梯度下降法的影响

编者按: ​ 许多精确算法在理论上能保证我们的目标函数值一直下降。在随机梯度下降以及无导数优化等情况下,目标移动方向受到噪声干扰,与实际下降方向往往会存在偏差。本文将分析噪声和下降偏差对于梯度下降法等算法的影响,并且介…

SpringMVC08:拦截器+文件下载

目录 一、概述 二、自定义拦截器 1、新建一个Moudule,SpringMVC-07-Interceptor,添加web支持; 2、配置web.xml和springmvc-servlet.xml文件 3、编写一个拦截器 4、在springmvc的配置文件中配置拦截器 5、编写一个Controller&#xff0…

【数据库】Mysq备份与恢复

文章目录 一、数据库备份的分类1. 数据备份的重要性2. 数据库备份的分类3. 常见的备份方法 二、Mysql 完全备份与恢复1. Mysql 完全备份2. 数据库完全备份分类2.1 物理冷备份及恢复2.2 mysqldump 备份数据库完全备份一个或多个完整的库(包括其中所有的表&#xff09…

基于YOLOv5实现安全帽检测识别

目录 1、作者介绍2、YOLOv5网络模型2.1 算法简介2.2 数据集介绍2.2.1 VOC数据集准备2.2.2 YOLOv5算法检测流程 3、代码实现3.1 数据集划分部分代码3.2 训练阶段3.3 测试阶段3.4 检测结果 4、问题与分析参考链接 1、作者介绍 陈梦丹,女,西安工程大学电子…

【6.20】sleep()和wait()的区别

sleep()和wait()的区别 1、wait()方法 1.1使用场景 当某个线程获取到锁后,却还是不满足执行的条件,就可以调用对象锁的wait方法,进入等待状态。 直到外在条件满足了,就可以由其它线程调用notify或者notifyAll方法,…

在软件研发排期中要求“倒推时间”,项目结束后悲剧了……

有没有遇到某个项目任务的研发周期已被各路boss定下,研发团队都觉得时间不合理,反馈给上级无果,而要求“倒推时间”进行任务排期的情况? 什么是“倒推时间”? 目标倒推法,从剩下的时间反推算出每天该做的事…

【Java】死锁问题及ThreadLocal

什么是死锁分析过程发生死锁的原因避免死锁ThreadLocal 什么是死锁 多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞,因此程序不可能正常终止。这是一个最严重的BUG之一。 分析过程 1.一个线程一把锁 一个线…

深入理解TDD(测试驱动开发):提升代码质量的利器

在日常的软件开发工作中,我们常常会遇到这样的问题:如何在繁忙的项目进度中,保证我们的代码质量?如何在不断的迭代更新中,避免引入新的错误?对此,有一种有效的开发方式能帮助我们解决这些问题&a…

14.处理大数据集

14.1 随机梯度下降 假设你正在使用梯度下降来训练一个线性回归模型 当m个样本的m很大时,求和计算量太大了。这种梯度下降算法有另外一个名字叫做批量梯度下降(batch gradient desent)。这种算法每次迭代需要使用全量训练集,直到算…

【代码阅读软件】Source Insight 4 使用教程 | 很详细——适合新手

目录 一、概述二、常用的几个窗口👉2.1 符号窗口(Symbol Window)👉2.2 项目文件窗口(Project Window)👉2.3 关系窗口(Relation Window)👉2.4 上下文窗口&…

STM32--基于固件库(Library Faction)的led灯点亮

目录 一、STM32芯片的简单介绍 二、基于固件库(Library Faction)的led灯点亮 这是一个学习stm32的开端,我们由简入难,之前学过C51/52或是其他型号的一般都是从led开始,也就是简单的输入输出端口的应用。(想…

SpringBoot整合模板引擎Thymeleaf(1)

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl Thymeleaf概述 Thymeleaf是一种用于Web和独立环境的现代服务器端的Java模板引擎,主要目标是将优雅的自然模板带到开发工作流程中,并将HTML在浏览器中…

【kubernetes】Etcd集群部署与验证

前言:二进制部署kubernetes集群在企业应用中扮演着非常重要的角色。无论是集群升级,还是证书设置有效期都非常方便,也是从事云原生相关工作从入门到精通不得不迈过的坎。通过本系列文章,你将从虚拟机准备开始,到使用二进制方式从零到一搭建起安全稳定的高可用kubernetes集…

吐血整理,性能测试Jmeter分布式压测遇坑总结+解决

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 为什么要使用分布…

JSON.parse() 全面用法介绍

JSON 通常用于与服务端交换数据。在接收服务器数据时一般是字符串。我们可以使用 JSON.parse() 方法将数据转换为 JavaScript 对象。 语法 JSON.parse(text[, reviver]) text:必需, 一个有效的 JSON 字符串。 reviver: 可选,一个转换结果的函数&#xf…