当前位置: 首页 > news >正文

安卓逆向学习及APK抓包(二)--Google Pixel一代手机的ROOT刷入面具

注意:本文仅作参考勿跟操作,root需谨慎,本次测试用的N手Pixel,因参考本文将真机刷成板砖造成的损失与本人无关

1 Google Pixel介绍

1.1手机 google Pixel

在手机选择上,优先选择谷歌系列手机,Nexus和Pixel系列,刚好手头有Pixel一代,就直接root了,大家感兴趣可以某宝几百块钱入手一台。Pixel手机花了本人一天,中间踩坑无数,终于还是root成功,感触颇深,所以先记录一下Pixel手机的root之旅。
安卓逆向学习及APK抓包(一)【Kali】安装 Scrcpy 进行手机投屏

2 google Pixel手机解锁

2.1 环境准备

除了准备Google Pixel手机外,你还需要准备一台机器,我用的kali,安装配置好adb环境参考上一篇文章《安卓逆向学习及APK抓包(一)【Kali】安装 Scrcpy 进行手机投屏》。

2.2 解锁手机

2.2.1 OEM解锁

在手机上找到设置→系统→关于手机→版本号,连续快速的点击版本号五下,打开开发者选项,即可进入开发者模式,然后进入设置→系统→开发者选项,打开USB调试选项。
点击oem解锁。

2.2.2 进入bootloader模式

手机通过数据线连接电脑,在关机状态下,同时按住电源键和音量下键不放。或者开机状态下执行

fastboot flashing unlock#如果还不行试试其他指令
#fastboot oem unlock
#fastboot flashing unlock_critical

PS:如果手机OEM解锁成功,Device is显示unlocked在刷机中,经常有人会遇到刷机失败,手机变成砖头的情况,只要我们手机能进入bootloader模式就不用怕,多试试几个不同版本的镜像,通过adb push指令推到手机内存里进行安装,总能成功的。刷Android 8失败了,降到7,升到9都不行,最后又换成Android 8.1才成功的。

3 手机刷机

3.1 下载谷歌原生系统

到谷歌的官方工厂镜像网站,打开这个网站可能需要科学上网。网站中间有一些操作指南,右边就是手机型号一览表,在这里我们选择Pixel的型号sailfish,安卓系统Android 8.1的镜像,有部分版本的镜像区分欧版美版。此时可以看一下手机后面,写着G-2PW4100就是美版,4200就是欧版。可以看到从安卓7到安卓9均支持。

3.2 进入bootloader状态

首先将手机进入bootloader状态,执行指令

adb reboot bootloader
或者手动操作,流程如下:将USB线断开,并确保手机有70%以上的电量;
将手机完全关机;
同时按住音量向下键和开机键;
手机将进入BootLoader状态;

3.3 刷入官方原生系统Android 8.1

手机用USB线连上电脑,运行脚本,将系统刷进手机

将系统镜像解压
进入解压目录,执行指令

./flash-all.sh (Mac/Linux系统)或者./flash-all.bat(windows系统)

等待刷机
刷机完成后,手机会自动重启,重启完成后即可自动进入系统。

记得再次打开USB调试选项

4、工具准备

4.1 TWRP及Magisk下载

需要下载临时的Twrp、永久Twrp及Magisk三个文件。

4.1.1 下载twrp

只需要下载twrp针对Pixel sailfish机型的镜像,刷进去即可,笔者选择的是3.2.3的版本。记住img,和zip的版本要对应好。我们下载的是twrp-3.2.3-0-sailfish.img镜像文件。

官网地址:https://dl.twrp.me/sailfish/
twrp-3.2.3-1-sailfish.img
twrp-pixel-installer-sailfish-3.2.3-0.zip

在这里插入图片描述

4.2 下载Magisk

Magisk是由中国台湾省topjohnwu开发的一款完全开源的root软件,其github项目托管主页在这里,大家进去下载release版本即可。

https://github.com/topjohnwu/Magisk

这里选择了这个版本:Magisk-v17.3.zip

5、刷入第三方Recovery:TWRP及Root

5.1、简介

由于Pixel及Pixel XL都采用A/B升级系统,因而可以理解为手机里有2个系统,如果你按照传统刷入Twrp的方法刷入的话,那么你并不会获得一个永久的Twrp。所以需要先刷入一个临时的Twrp,在通过临时的Twrp来刷入永久的Twrp从而来获取Root权限。
Magisk是当前Android社区用来获取root权限的主流方式。同时,Magisk特殊的运作机制还赋予了它systemless的特质。systemless让Magisk一方面可以有针对性地隐藏root,甚至暂时隐藏Magisk本身。另一方面,挂载系统的存在,也让Magisk拥有了多样的模块化生态系统。

5.2、安装Magisk

adb install Magisk-v25.1.apk 

在这里插入图片描述

5.3 创建一个上传目录

adb shell 
cd sdcard/download 
exit

在这里插入图片描述

5.4 通过 adb push 命令将文件上传到手机的 /sdcard/download/ 目录中:

adb push twrp-3.2.3-1-sailfish.img sdcard/download 
adb push Move_Certificates-v1.9.zip sdcard/download 
adb push LSPosed-v1.8.3-6552-zygisk-release.zip  sdcard/download 
adb push Magisk-v25.1.zip  sdcard/download  
adb reboot bootloader 

在这里插入图片描述

5.5 刷入永久Twrp

adb reboot bootloader 上边用了就不用了
#安装fastboot
apt install fastboot
执行下面命令 fastboot boot *.img 来启动临时Twrp:
fastboot boot twrp-3.2.3-1-sailfish.img 
之后,手机会进入到临时的Twrp中:打开手机-->滑动下面的 Swipe to Allow Modifications 滑条,进入Twrp操作
页面:刷入永久Twrp
选择 Install – 找到目录 /sdcard/download/ – 选择 twrp*.zip 
文件 – 弹出安装界面 – 直接滑动底部的滑条 Swipe to confirm Flash 安装:这里也间接验证了为什么要选择 /sdcard 目录:点击 Install 按钮后,直接进入
的就是 /sdcard 目录,即只能操作这个目录。等待进度条执行完毕,最后会显示 ...done 的提示。说明这一步执行完成。

安装好后,点击上方按钮返回主页,继续安装,千万不要重启

在这里插入图片描述

5.5 刷入Magisk-v25.1.zip

依照上面的安装步骤,继续安装 Magisk-v25.1.zip 文件。直到界面中提示 …done 时,说明安装完成。
安装好后重启到系统
如果让选择slot A或者slot B,根据current slot选择

6、Root完成

如果此刻手机能够正常开机,并且安装了Magisk软件
此时,手机打开debug调试模式,电脑执行adb shell和su两条指令,手机同意adb获取root权限,大功告成。

在这里插入图片描述

adb shell 
sailfish:/ # whoami
root
sailfish:/ #

在这里插入图片描述

7、面具模块安装

7.1 两个模块

选择模块–>从本地安装–>下载–>安装下面两个模块,安完第一个不要重启继续安装下一个

 Move_Certificates-v1.9.zip LSPosed-v1.8.3-6552-zygisk-release.zip

在这里插入图片描述
在这里插入图片描述
两个都装完之后在设置勾选zygisk重启
在这里插入图片描述
工具包在公众号:瓜神学习网络安全
回复:安卓逆向学习及APK抓包

相关文章:

安卓逆向学习及APK抓包(二)--Google Pixel一代手机的ROOT刷入面具

注意:本文仅作参考勿跟操作,root需谨慎,本次测试用的N手Pixel,因参考本文将真机刷成板砖造成的损失与本人无关 1 Google Pixel介绍 1.1手机 google Pixel 在手机选择上,优先选择谷歌系列手机,Nexus和Pixel系列&…...

线程池的基本认识与使用

线程池的基本认识与使用线程池线程池工作原理:优点:传统的创建线程方式线程池创建线程使用线程池 池化思想:线程池、字符串常量池、数据库连接池可以提高资源的利用率 线程池工作原理: 预先创建多个线程对象 放入线程池种&#…...

小家电品牌私域增长解决方案来了

小家电品牌的私域优势 01、行业线上化发展程度高 相对于大家电动辄上千上万元的价格,小家电的客单价较低。而且与大家电偏刚需属性不同的是,小家电的消费需求侧重场景化,用户希望通过购买小家电来提高自身的生活品质。这就决定了用户的决策…...

什么是让ChatGPT爆火的大语言模型(LLM)

什么是让ChatGPT爆火的大语言模型(LLM) 更多精彩内容: https://www.nvidia.cn/gtc-global/?ncidref-dev-876561 文章目录什么是让ChatGPT爆火的大语言模型(LLM)大型语言模型有什么用?大型语言模型如何工作?大型语言模型的热门应用在哪里可以找到大型语言…...

【监控】Linux部署postgres_exporter及PG配置(非Docker)

目录一、下载及部署二、postgres_exporter配置1. 停止脚本stop.sh2. 启动脚本start.sh3. queries.yaml三、PostgreSQL数据库配置1. 修改postgresql.conf配置文件2. 创建用户、表、扩展等四、参考一、下载及部署 下载地址 选一个amd64下载 上传至服务器,解压 tax…...

基于Java+SpringBoot+Vue+Uniapp(有教程)前后端分离健身预约系统设计与实现

博主介绍:✌全网粉丝3W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战✌ 博主作品:《微服务实战》专栏是本人的实战经验总结,《Spring家族及…...

【2023】DevOps、SRE、运维开发面试宝典之Redis相关面试题

文章目录 1、redis主从复制原理2、redis哨兵模式的原理3、reids集群原理4、Redis 哈希表进行的触发时机是什么?5、Redis 的 RDB 和 AOF 机制各自的优缺点是什么?这两种机制是否可以混合使用?6、Redis 经常被称为单线程的系统,你如何理解 Redis 的单线程模型7、redis 的事务…...

十五、MyBatis使用PageHelper

1.limit分页 limit分页原理 mysql的limit后面两个数字: 第一个数字:startIndex(起始下标。下标从0开始。) 第二个数字:pageSize(每页显示的记录条数) 假设已知页码pageNum,还有每页…...

【MySQL】B+ 树索引

一、索引是什么 ? 为什么需要索引 ? 索引就是目录,目录就是索引。 索引从 InnoDB 存储引擎数据存储结构上来看,就是为各个页建立的目录。保证我们在查询时,可以通过二分法快速定位到页,再在页内通过二分法…...

Android Gradle Plugin Version 和 Gradle Version 的对应关系

官网参考 以下是插件版本和Gradle 版本对应关系: 插件版本所需的最低 Gradle 版本Android Gradle Plugin VersionGradle Version1.0.0 - 1.1.32.2.1 - 2.31.2.0 - 1.3.12.2.1 - 2.91.5.02.2.1 - 2.132.0.0 - 2.1.22.10 - 2.132.1.3 - 2.2.32.14.1 - 3.52.3.03.33.0…...

更多单词/词组/短语补充和总结(二)

auto 美 /[ˈɔːtoʊ] n.汽车adj.与汽车有关的,汽车的。不要记成“自动的” mobile 美 /[ˈmoʊbl] adj.可移动的;流动的;不要记成“手机”,手机是mobile phone automobile 美 /[ˈɔːtəməbiːl] n.汽车adj.自动的 automatic 美 /[ˌɔːtəˈmtɪk]…...

HEC-HMS和HEC-RAS快速入门、防洪评价报告编制及洪水建模、洪水危险性评价等应用

目录 ①HEC-RAS一维、二维建模方法及实践技术应用 ②HEC-HMS水文模型实践技术应用 ③新导则下的防洪评价报告编制方法及洪水建模实践技术应用 ④基于ArcGIS水文分析、HEC-RAS模拟技术在洪水危险性及风险评估 ⑤山洪径流过程模拟及洪水危险性评价 ①HEC-RAS一维、二维建模方…...

全面了解 B 端产品设计 — 基础扫盲篇

在今天,互联网的影响力与作用与日俱增,除了我们日常生活领域的改变以外,对于商业领域的渗透也见效颇丰。 越来越多的企业开始使用数字化的解决方案来助力企业发展,包括日常管理、运营、统计等等。或者通过互联网的方式开发出新的业务形态,进行产业升级,如这几年风头正劲的…...

顺序表(增删查改)

目录一、什么是顺序表二、顺序表的增删查改2.1 结构体的声明2.2 顺序表的初始化2.3 顺序表检查容量2.4 顺序表尾部插入数据2.5 顺序表头部插入数据2.6 顺序表尾部删除数据2.7 顺序表头部删除数据2.8 顺序表查找数据2.9 顺序表任意位置插入数据2.10 顺序表任意位置删除数据2.11 …...

一款优秀的低代码开发平台是什么样的?

目录 一、一款优秀的低代码平台应该是什么样的? 二、低代码核心能力 01、全栈可视化编程: 02、全生命周期管理: 03、低代码扩展能力: 三、小结 一、一款优秀的低代码平台应该是什么样的? 从企业角度来说&#x…...

ElasticSearch 学习笔记总结(四)

文章目录一、ES继承 Spring Data 框架二、SpringData 功能集成三、ES SpringData 文档搜索四、ES 优化 硬件选择五、ES 优化 分片策略六、ES 优化 路由选择七、ES 优化 写入速度优化七、ES 优化 内存设置八、ES 优化 重要配置一、ES继承 Spring Data 框架 Spring Data 是一个用…...

HDFS文件块大小

HDFS中的文件在物理上是分块存储(Block),块的大小可以通过配置参数(dfs.blocksize)来规定,默认大小在Hadooop2X版本中是128M,老版本中是64M。 思考:为什么块的大小不能设置太小&…...

C++——优先级队列(priority_queue)的使用及实现

目录 一.priority_queue的使用 1.1、基本介绍 1.2、优先级队列的定义 1.3、基本操作(常见接口的使用) 1.4、重写仿函数支持自定义数据类型 二.priority_queue的模拟实现 2.1、构造&&重要的调整算法 2.2、常见接口的实现 push() pop() top() empt…...

Linux学习记录——십일 环境变量

文章目录1、认识2、通过代码获取环境变量1、手动获取2、函数获取3、重新认识环境变量1、认识 在云服务器上写程序时,最终的执行需要./文件名,点表示当前目录,/是文件分隔符,之后就会打印程序,这是用户的操作&#xff…...

【人工智能 Open AI 】我们程序员真的要下岗了- 全能写Go / C / Java / C++ / Python / JS 人工智能机器人

文章目录[toc]人工智能 AI Code 写代码测试用golang实现冒泡排序用golang实现计算环比函数goroutine and channel用golang实现二叉树遍历代码用golang实现线程安全的HashMap操作代码using C programming language write a tiny Operation Systemuse C language write a tiny co…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...

springboot 百货中心供应链管理系统小程序

一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生,我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要,而您认真负责的教学态度,让课程的每一部分都充满了实用价值。 尤其让我…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...

Xen Server服务器释放磁盘空间

disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...

C++使用 new 来创建动态数组

问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...

适应性Java用于现代 API:REST、GraphQL 和事件驱动

在快速发展的软件开发领域,REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名,不断适应这些现代范式的需求。随着不断发展的生态系统,Java 在现代 API 方…...

Ubuntu Cursor升级成v1.0

0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开,快捷键也不好用,当看到 Cursor 升级后,还是蛮高兴的 1. 下载 Cursor 下载地址:https://www.cursor.com/cn/downloads 点击下载 Linux (x64) ,…...