Lufs's Blog

Life feeds on negative entropy.

水深火热的电信用户自救指南 —— Pixel 2 在 Android 10/11 破解电信

Lufs's Avatar 2019-11-29 分享

  1. 1. 目录
  2. 2. Magisk 模块破解
    1. 2.1. 原理解释
      1. 2.1.1. 原先的模块
      2. 2.1.2. 后来的模块
  3. 3. QPST 方法破解
    1. 3.1. 准备
      1. 3.1.1. 电脑端准备
      2. 3.1.2. 手机端准备
      3. 3.1.3. 搞定 QPST 设别
    2. 3.2. 开始破解。。。
    3. 3.3. 注意
  4. 4. 备份 EFS 恢复破解
    1. 4.1. 准备 EFS 文件
      1. 4.1.1. 降级
      2. 4.1.2. Magisk 预准备
      3. 4.1.3. 文件准备
      4. 4.1.4. 测试文件
      5. 4.1.5. 提取 EFS
    2. 4.2. 恢复 EFS 破解
  5. 5. 碎碎念
  6. 6. 参考链接

Pixel 2 在 Android 8/9/10/11 破解电信过程存档

最后更新于: 2021-01-09

注意⚠️:

  • 需要解锁 Bootloader
  • 请备份数据后尝试(头铁?直接上就完事儿了,数据坏了/丢了我不管哦
  • 本文所诉操作可能会导致您的手机(包括但不限于)数据丢失、极其卡顿、再起不能、红魔馆爆炸!

需要的资源:

注意 ⚠: 本资源内为电信配置文件


目录

Magisk 模块破解

  1. 下载 Pixel-QC835-AndroidQR-Volte.zip 文件
  2. 安装 Magisk 模块
  3. Enjoy

注意 ⚠:
个人实测可能无法正常通话,请留意

原理解释

(以下纯属推测)

原先的模块

原来的模块使用的是将配置文件注入到 /system/vendor/rfs/msm/mpss/readonly/mbn/mcfg/configs/mcfg_sw/generic/ 目录下,并替换/添加 mbn_sw.txtoem_sw.txt 激活配置 (有一个可以省略,但我忘记是哪个了 😂️)

其中:
/system/vendor/ 目录链接指向 /vendor/

/vendor/rfs/msm/mpss/readonly/mbn/ 目录又链接指向 /vendor/mbn/

mbn 目录又是 readonly 的,故无法成功注入

后来的模块

后面这个模块将配置文件注入到 /vendor/mbn/ 去了,不再是 readonly,便可以成功注入

综上,此模块除注入路径不一样之外,并无区别

QPST 方法破解

准备

电脑端准备

卸载各类某某安全管家以确保顺利安装

下载 mbn.zipQUD.WIN.1.1 Installer-10037.3 Setup.zipQPST_2.7.474.zip 、以及 ADB 工具

解压 mbn.zip 得到ct_hvolte_o.mbnct_volte_op.mbn 备用(ct 前缀为电信运营商的 VoLTE 配置文件)

解压 QPST_2.7.496.zip 并安装

解压驱动 QUD.WIN.1.1 Installer-10037.3 Setup.zip 并安装

解压 ADB 工具

手机端准备

在 TWRP 内刷入 Magisk-v21.2.zip

开发者选项 中打开 USB 调试

搞定 QPST 设别

  1. 将手机通过数据线链接上电脑(请勿使用无法传输数据的劣质数据线)

  2. 按住 shift 并右键点击在解压出的 ADB 工具文件夹中,在弹出的窗口中依次输入以下命令(记得在手机上授权哦)

adb shell
su
resetprop ro.bootmode usbradio
resetprop ro.build.type userdebug
setprop sys.usb.config diag,diag_mdm,adb
diag_mdlog

注意: 依次执行上述命令后,应该会卡在

failed to open diag socket

这时按下 Ctrl + C,等待执行完毕即可

开始破解。。。

  1. 电脑打开 PDC Tool 并在下拉菜单中选择设备

  2. 点击 load 按钮选择下载的 xxx.mbn
    mbn 文件任选其一,其中 ct_volte_op.mbn 可显示中国电信

  3. 找到加载出的运营商配置文件后,右键选择并指配到 sub_0

    • 注 1: 文中是选择 CT 结尾的配置文件
    • 注 2: ct 为中国电信,cmcc 为中国移动 cu 则为中国联通
    • 注 3: 其他运营商都可通过此方法享受 VoLTE (需要对应配置文件,过程与本教程无异)

  4. 点击 active 应用

  5. 刷入 VoEnabler-v1.4.zip开启 VoLTE 的 Magisk 模块

  6. Enjoy !
    重启有效,升级有效!

注意

疑难杂症之一: 开启 VoLTE 后连接 Wi-Fi ,在一段时间内系统将会自动关机重启(如已应用系统主题样式,将会在关机前恢复默认样式),并在重启后显示「系统已损坏,无法启动」等信息

解决办法之一: 关闭 Wi-Fi 通话


换其他运营商的卡后需要加载指定运营商配置文件才能使用
建议破解完成后将模块禁用并升级回官方 Magisk

备份 EFS 恢复破解

注意 ⚠️:

  • 此方法需要一个破解电信后的 EFS 文件,需要降级到 Android 8.1 获取
    • 个人实测 Android 9 部分版本无法成功获取正确的 EFS 文件,推荐直接降级到 Android 8.1

准备 EFS 文件

降级

降级教程可按照 Google Developers 官网教程来,看不懂请自备翻译,下面我会简单的说一下


降级包 Google Developers 官网有提供

这里我放一个 8.1.0 (OPM2.171026.006.G1,Jul 2018) 的官方直链(dl.google.com 可在国内正常访问,速度极佳)

  1. 解压下载后的包

  2. 开始刷入

  • macOS
      1. 打开终端键入 cd 后空格,将文件拖入后回车
      1. 键入 . ./flash-all.sh
  • Windows
    • 双击 flash-all.bat 即可
  1. 等待即可,完成后手机会自动重启进入系统

Magisk 预准备

在 TWRP 中刷入 Magisk(官方版本就行,可以不用上面提供的)

打开 Magisk 应用,首页中的 安装选项 取消勾选 保留 AVB 2.0/dm-verity 选项,再次安装一遍

文件准备

下载 enable_volte_pixel2_china.zip

解压 enable_volte_pixel2_china.zip 到任意文件夹

解压的文件夹中的 ./system/vendor/rfs/msm/mpss/readonly/mbn/mcfg/configs/mcfg_sw/generic/ 中的 china 文件夹便是重点。
将此文件夹复制到根目录下的 /vendor/rfs/msm/mpss/readonly/mbn/mcfg/configs/mcfg_sw/generic/,然后将其权限修改为 0755(三读一写三执行)

返回上级文件夹,打开 oem_sw.txt,在末尾添加如下文本

mcfg_sw/generic/china/cmcc/commerci/volte_op/mcfg_sw.mbn
mcfg_sw/generic/china/cmcc/commerci/volte_su/mcfg_sw.mbn
mcfg_sw/generic/china/cmcc/lab/agnss_lo/mcfg_sw.mbn
mcfg_sw/generic/china/cmcc/lab/conf_vol/mcfg_sw.mbn
mcfg_sw/generic/china/cmcc/lab/eps_only/mcfg_sw.mbn
mcfg_sw/generic/china/cmcc/lab/lpp_loct/mcfg_sw.mbn
mcfg_sw/generic/china/cmcc/lab/nsiot_vo/mcfg_sw.mbn
mcfg_sw/generic/china/cmcc/lab/rrlp_loc/mcfg_sw.mbn
mcfg_sw/generic/china/cmcc/lab/tgl_comb/mcfg_sw.mbn
mcfg_sw/generic/china/cmcc/lab/w_irat_c/mcfg_sw.mbn
mcfg_sw/generic/china/cmhk/commerci/volte_op/mcfg_sw.mbn
mcfg_sw/generic/china/ct/commerci/openmkt/mcfg_sw.mbn
mcfg_sw/generic/china/ct/commerci/subsidiz/mcfg_sw.mbn
mcfg_sw/generic/china/ct/commerci/volte_op/mcfg_sw.mbn
mcfg_sw/generic/china/ct/commerci/hvolte_o/mcfg_sw.mbn
mcfg_sw/generic/china/ct/lab/cta/mcfg_sw.mbn
mcfg_sw/generic/china/ct/lab/test/mcfg_sw.mbn
mcfg_sw/generic/china/ct/lab/test_eps/mcfg_sw.mbn
mcfg_sw/generic/china/ct/lab/test_no_/mcfg_sw.mbn
mcfg_sw/generic/china/ct/lab/volte_co/mcfg_sw.mbn
mcfg_sw/generic/china/cu/commerci/openmkt/mcfg_sw.mbn
mcfg_sw/generic/china/cu/commerci/subsidiz/mcfg_sw.mbn
mcfg_sw/generic/china/cu/commerci/volte/mcfg_sw.mbn
mcfg_sw/generic/china/cu/lab/test/mcfg_sw.mbn

返回,保存即可

测试文件

删除 /data/vendor/radio/ 文件夹(这步是清除 radio 缓存

重启,查看是否能使用对应的运营商,能即可进入下一步。

提取 EFS

TWRP - Backup - EFS Swipe to Backup

只勾选 EFS 即可,然后滑动备份

推荐将 /sdcard/TWRP/ 保留好,这个是你能使用能使用对应运营商的前提

恢复 EFS 破解

破解完成后,便可正常更新系统

若线刷,TWRP 恢复备份后删除 radio 缓存重启即可使用

这是我整理的遇到的情况

  • TWRP 刷 OTA 包
    • 可用
  • TWRP 刷 OTA 包后删除 radio 缓存
    • 可用
  • 线刷
    • 若切换网络类型,将会导致 radio 缓存失效
      • 不可用
    • 其余不涉及 radio 缓存的操作都可用
  • 线刷后删除 radio 缓存
    • 不可用

在更高的版本中,TWRP 无法解密 data,无法读取 /sdcard/ 下的文件,我对此的解决办法是将 TWRP 文件移动到 U 盘,然后使用 OTG 转接器连接,恢复时手动选择存储设备即可

如果无法恢复后无法使用,请刷入 Magisk 模块 —— Pixel-QC835-AndroidQR-Volte.zip

碎碎念

这个想法其实我也有,之前我在手机上尝试使用 Android 10/11 的新 mbn 命名方式,奈何手机上操作复杂,编辑 mbn_sw.txtoem_sw.txt 这俩文件没有电脑上好使,可能是路径错了还是啥的,测试失败后便接着用 备份 EFS 恢复破解 了 🤣

参考链接

机锋
XDA
XDA
XDA

本文作者 : Lufs
本文采用 CC BY-NC-SA 4.0 许可协议。转载和引用时请注意遵守协议!
本文链接 : https://blog.isteed.cc/post/4291184207/

本文最后更新于 天前,文中所描述的信息可能已发生改变