三星 S8 刷机记录

我一直有一台闲置的国行三星 S8+手机在手边,作为主力机的备用,但是一直没有什么上场机会,放在包里吃灰。这次准备对他进行重新改造,挑战自己给它刷个机 root 以下,方便自己的学习生活,也是作为自己首次的刷机尝试,入个门积累经验。

这篇文章作为经历的记录,除了对刷机部分的重点介绍以外,也会记录前期的资料准备,踩坑实录,后期的完善尝试,不足之处等等,作为一次难得的经验之谈。如果恰好和您的需求不谋而合,也希望这篇文章带给您一些启发。

前期准备

作为刷机界的小白,首先我非常推荐大家去查看一下 B 站 UP 主@极客湾 Geekerwan 发布的 基础教学

我这里摘录一些于我而言非常有帮助的基础概念:

  1. root 的概念:

    root 即类似 linux 系统中的超级用户 root,有别于发行版手机系统中的用户,其具有对手机的完全控制。

  2. Magisk 的概念:

    我们如果要实现 root 的效果该怎么办呢?方法是使用 root 管理器。root 管理器的历史包括:早期的 xposed 框架,近期的 exposed 框架,以及现在的 magisk。这些管理器都(曾)能够使用自己的方式,对系统的线程进行劫持和修改,获得对系统的完全权限控制。为了做到这一点,这些管理器多少都需要对系统文件进行增删改查,因此 root 具有一定的风险和上手难度。这里留一些扩展阅读材料,有关于 root 的原理和 magisk 的历史,我就不展开了。其中 magisk 由于其不修改安卓原系统分区的内容,另辟一块空间的安全性,获得了长久的生命力。

  3. 关于安卓的分区:

    这里不详细说明,可以参考上文视频进行学习。主要的注意点是:安卓用来启动的是 boot 分区,用来留后门救砖的是 recovery 分区,系统是 system 分区,用户文件是 data 分区。
    注意在格式化手机的时候,手动清除的只有是 data 分区,自己清其他分区有可能就是变砖

  4. fastboot 刷机和 recovery 刷机

    一部解锁 bootloader 的手机(bootloader 相当于 bios 的功能,驱动硬件,引导进入系统,打开手机。而开发商用来限制随便刷系统的锁叫 bootloader 锁),理论上就可以使用 fastboot 刷入各种固件。比如全新的 recovery 分区文件,经过修补的 boot.img 文件等等。fastboot 模式就是刷入文件的一种底层方法。fastboot 刷机就是使用 fastboot 模式,将 root 好的 boot.img 文件刷入手机达到 root 的目的。recovery 刷机是指先通过 fastboot(或类似模式)将第三方 recovery(多为 twrp 出品)刷入手机,然后进入第三方 recovery(下称 twrp),通过它刷入 root 好的系统固件,或者 root 管理器完成 root。

三星 S8+ root 的基本方案

那么,对于三星 S8+来说,root 的方法是什么呢?

很遗憾,三星没有所谓的 fastboot 模式。不能使用外接 fastboot 进行刷机。但是三星可以刷入第三方 recovery,从而导入刷机包。因此,三星的 root 方案就是使用 twrp 刷入 root 好的刷机包或者 magisk 进行 root。

三星使用的模式是 download(挖煤)模式,进入这个界面且合理解锁各种锁之后,就是进入可以刷机的状态了。连接上电脑且电脑配好环境之后,就可以进行刷机了。

三星的电脑端刷机控制器是 odin,现在版本是 odin3。odin 的使用方法请自行下载学习。odin 一般可以刷入五种文件。

第一种 BL 文件是带有 bootloader 版本的文件。这个文件包含了了一个刷机固件的 bl 版本。刷机时刷入包的 bl 版本不能比原手机内的低 。包的 bl 版本查看方法为刷机包名称的倒数第五个数字

第二中是 ap 文件。ap 文件不知道是什么,但是刷入的 recovery 就是在 ap 中。

第三个是 cp 文件,同样不知道是什么。

第四个是 csc 文件,包含手机的基带版本。

第五个是 HOME 文件 (USER_DATA) 文件,是系统分区文件,一般如果原手机没有改过的话都是不会变的。

对于一次刷机,如果我们想刷入 twrp(第三方 recovery),只需要刷入对应版本的 twrp 的 ap 文件。对于救砖(或者刷成某个版本的新机),需要上述四个文件全部刷入。版本变化甚至第五个文件也需要。需要注意的是粗体字中的 bl 版本不能刷入更低的!,这根本决定了使用这种方法系统降级是不太可行的(悲)。

刷入 twrp 之后,按照网上的一些教程,刷入 magisk 就可以了。如果刷入第三方刷好机的固件也可以。下面就介绍一下我使用的方法。

对于小白来说,手机进不去系统不要怕,只要进的了 download 模式(用 twrp 也能进入 download),就能使用 odin 刷入五件套/四件套/一体包重刷成新机,不会变砖头。一般只要见到亮屏,就能进这几个模式。一般不瞎删分区,不会亮不了机(亮机是引导完成,boot 程序开始工作,出 logo 是进系统了)。如果亮也不亮,那可能就要 9008 或者花钱救砖了。

步骤简述

  1. 使用 CROM Service 软件解锁 crom 锁。

    旧版的三星手机没有所谓的 bl 锁和 oem 锁,而是使用了 crom 锁防止刷机。解锁的方式是使用现已失传的杜奕颖版本的 crom service 软件进行解锁。解锁手机后会熔断手机的安全服务,支付服务,保修等等。SM-G9550 使用的 crom service 是 1.0.8 版本,下载链接放在最后。

  2. 打开手机开发者模式,打开其中的 usb 调试选项,连接电脑授权电脑对其进行 usb 调试。如果找不到手机说明需要下载驱动,参考 b 站视频进行操作。注意是对手机安装驱动,不是对电脑安装!

  3. 退出三星账户(自动会解锁 reactivation 锁)

  4. 下载恢复机器用的对应版本官方刷机包。安卓 9 的 S8+固件名称是:G9550CHC6DUD1,国家代码是 CHC

  5. 下载刷机工具 Odin3,见文末教程链接中下载

  6. 下载可能需要的手机驱动(见第二条事项)

  7. 下载第三方 recovery(TWRP),可以在这个网站寻找

  8. 下载第三方 rom(我使用极光 rom)

  9. 将手机切换到挖煤模式(downloading 模式),刷入 TWRP 并立刻进入 TWRP

  10. 在 TWRP 中双清手机(进入 wipe 模式解密 data 分区并 factory 化手机)并重启,详细步骤可以见文末链接中的教程

  11. 再次进入 twrp 并使用电脑导入第三方 rom(极光 rom),使用 twrp 解压 zip 进行安装

  12. 跟随第三方 rom 引导安装手机系统。

  13. 手机重启,root 完成,自带 magisk。

折腾踩坑记录

上述步骤可能和网上的大同小异,但是事实上很多细节的部分有所不同,也是踩着坑摸索着过来了。

  1. crom service 的版本问题:

    实测网上多个 crom 软件,只有我使用的才能成功

  2. 手机驱动是给手机安装的,而且一般只有低版本安卓才需要

  3. 三星没有传统的 fastboot 刷入的方法,只能通过 recovery(TWRP)刷入固件

  4. 三星单独刷入 magisk 会导致无法开机,不知道是什么原因,可能是 google 验证的关系?

  5. odin 识别到手机需要在挖煤模式,刷入 twrp 只需要刷入 ap 文件,刷入固件则需要四件套

  6. 手机不能刷 bl 版本不一样的官方固件

  7. 双清手机的步骤是清理 data 分区和出厂化手机

最终我选择的第三方 rom 刷入的方法也不是没有缺点。首先,第三方 rom 带有一些垃圾软件,需要自己找到删除的方法,回归纯净系统。其次,第三方 rom 会破坏手机的固件完整性,我的 rom 无法通过 safetynet 的检测(两项都不行),自然无法使用网银,下载一些敏感软件了。最后,第三方 rom 多少会有点膈应,但是也是唯一测试可行的方法,熟悉一下也就释然了。

后续使用

当我们 root 好手机之后,我们可以做什么,或者使得 root 更加强壮呢?

这里记录我在 root 之后折腾的事情。

  1. 恢复 google 服务
  2. 升级 magisk manager 和 magisk 版本到 i 最新
  3. 下载搞机工具箱 R,链接为:
  4. 安装 lsposed 框架,使用 lsposed 框架中的模块玩机(使用 zygisk 模式)
  5. 下载 fake location 模拟定位

恢复 google 服务的方法,极光 rom 里面自带了教程。按照教程走后可以使用商店和服务,但是 safetynet 检测就别想了

升级 magisk 的方法是,首先需要魔幻上网,其次将升级渠道切换为测试版或者稳定版(不是 canary)。然后就可以看到有自动提示升级的图标。这里首先审计 magisk manager(app),然后在升级后的 app 中选择升级 magisk 版本,直接安装即可。

搞机工具箱中可以查看和修复 magisk 的运行环境等,可以找到 magisk 和 xposed 模块的仓库,不可多得的神器

lsposed 框架是 edxposed 框架的继任者,现在仓库依然在维护,是玩机必备,防撤回什么的全靠它。

fake location 需要 root 稳定运行,交个 9 块钱月费可以使用虚拟定位做很多事情~

比如 blabla