刷机教程 / BOOTLOADER
索尼 XZ1C / XZ1 系列日版解锁 BL 教程
日版 Xperia XZ1 Compact 和 XZ1 可以通过 Xperable 修改 Bootloader 解锁状态。操作的关键不是获取官方解锁码,而是先准备支持临时 Root 的系统、P114 引导程序和旧版 XFL,再在 Fastboot 中完成补丁与解锁。
- 固件必须匹配具体型号和运营商,不能把 SO-02K 的刷机包用于其他 XZ1。
- 先备份手机数据;获得临时 Root 后,另行备份本机 TA,再执行最终解锁。
- 补丁出现
patched successfully后,不要重启 Fastboot,直接执行解锁命令。
这篇教程适合哪些机型?
本教程面向 Snapdragon 835 平台的日版 XZ1 Compact、XZ1。不同运营商的临时 Root 固件不同,请先在「设置 → 关于手机」查看型号和版本号。
| 机型 | 运营商型号 | 临时 Root 固件 | bindershell 版本 |
|---|---|---|---|
| XZ1 Compact | Docomo SO-02K | 47.1.F.1.105 | v2 / 支持该目标的版本 |
| XZ1 | Docomo SO-01K | 47.1.F.1.105 | v2 / 支持该目标的版本 |
| XZ1 | au SOV36 | 47.1.C.9.106 | v2 / 支持该目标的版本 |
| XZ1 | SoftBank 701SO | 47.1.D.11.32 | v2x / 支持该目标的版本 |
下面以 SO-02K 为例讲解。使用其他表内机型时,替换为对应系统固件和本机 P114 引导文件,操作顺序不变。型号或系统版本不在支持范围内时,不要直接运行漏洞工具。
如果你的设备是 XZ2、XZ2 Compact、XZ2 Premium 或 XZ3,请使用XZ2 / XZ3 系列日版解 BL 教程,不要刷入本文的 XFL 或 P114 文件。
解锁前需要准备什么?
使用 Windows 电脑、可靠的数据线和稳定 USB 接口。优先直连 USB 2.0 端口,避免通过不稳定的集线器传输。
| 工具或文件 | 用途与下载入口 |
|---|---|
| ADB / Fastboot | Android Platform Tools,用于连接手机、传文件与查询状态。 |
| Sony USB 驱动 | 准备 Flashmode 和 Fastboot 驱动;可从解锁工具与驱动页面获取。 |
| 匹配机型的 Oreo 固件 | 按上表选择版本,到网站首页查找相关 ROM 下载。 |
| Newflasher | 下载刷写工具,用于刷入系统固件或引导文件。 |
| bindershell | 下载匹配机型的临时 Root 工具;SO-02K 使用支持该目标的 v2,701SO 需 v2x 支持。 |
| Xperable 与引导文件 | 下载 Xperable,从引导文件目录准备匹配本机的 P114、xfl-o77.mbn 和 LinuxLoader-p114.pe。 |
将 LinuxLoader-p114.pe 放进 Xperable 可执行文件所在目录。ADB、Fastboot 命令在 Platform Tools 文件夹运行,Xperable 命令在其自身文件夹运行。下文统一使用 PowerShell 的 .\程序名.exe 写法。
persist 分区。步骤 1:降级到支持版本,连接 ADB
如果手机已经运行表内匹配的固件,可以跳过降级。SO-02K 需要 Android 8.0 的 47.1.F.1.105。
- 解压匹配机型的完整固件,将 Newflasher 放入固件工作目录。
- 手机关机,按住音量下键插入连接电脑的数据线。绿色指示灯亮起,即进入 Flashmode。
- 运行
newflasher.exe,逐项阅读提示并开始刷写。核对擦除选项,不要把保留数据当作降级成功的前提,也不要擦写persist。 - 刷写完成后启动手机,完成设置向导。取出 SIM 卡,暂不连接 Wi-Fi。
- 进入「设置 → 关于手机」,连续点击版本号打开开发者选项,再开启 USB 调试。连接电脑,在手机弹窗中允许调试。
在 Platform Tools 文件夹打开 PowerShell,执行:
.\adb.exe devices
设备序列号后应显示 device。如果显示 unauthorized,回到手机确认授权;如果没有设备,先处理驱动、线缆或 USB 端口问题。
完成标志:手机显示正确固件版本,ADB 识别状态为 device。
步骤 2:获取临时 Root,备份 TA
这里只需要一个临时 Root shell,不必先安装永久 Magisk。将匹配版本工具包中的 bindershell 文件放入 Platform Tools 文件夹,然后逐行执行:
.\adb.exe push bindershell /data/local/tmp/
.\adb.exe shell
cd /data/local/tmp
chmod 755 ./bindershell
./bindershell
成功时会出现 got root, start shell...,命令提示符由 $ 变为 #。在这个 shell 中执行:
id
确认输出含 uid=0。如果工具提示不支持当前设备或没有取得 Root,回到机型表核对固件与 bindershell 版本,不要继续写分区。
将 TA 备份到电脑
保持当前 Root 窗口,在 # 提示符下执行以下读取备份命令:
cd /data/local/tmp
dd if=/dev/block/bootdevice/by-name/TA of=TA-locked.img
chown shell:shell TA-locked.img
sync
确认没有读取错误,并检查 records in 与 records out。不要交换 if= 和 of=:前者是读取的 TA 分区,后者是生成的备份文件。
保留 Root 窗口不退出,在电脑另开一个 Platform Tools PowerShell 窗口,将文件复制出来:
.\adb.exe pull /data/local/tmp/TA-locked.img
确认电脑上已有完整传输的 TA-locked.img,另存一份并标记手机型号和序列号。TA 含设备专属密钥,不能用别台手机的备份替代,也不要把备份发到公开网盘。
完成标志:已确认 uid=0,并已将本机 TA 备份保存到电脑。临时 Root 在重启后失效,需要时重新执行本步骤。
步骤 3:刷入 P114 引导程序和旧 XFL
Xperable 在这个系列上需要同时满足两个条件:P114 Bootloader + LA1_1_O_77 版本的 XFL。只刷 P114、不替换 XFL,仍可能无法命中漏洞。
先刷 P114 引导程序
- 关机并按住音量下键接线,进入绿灯模式。
- 准备与本机型号匹配的 P114 引导文件,在独立工作目录中只放固件的
boot子目录内容及 Newflasher。 - 运行 Newflasher,仅刷写这组引导文件,不混入完整系统固件或其他分区文件。
- 刷完启动系统,重新按照步骤 2 获取临时 Root。
注意目录含义:这里的固件 boot 子目录是一组引导文件,不是 Android 的单个 boot.img,也不是完整 ROM。
再写入旧 XFL
将已确认来源的 xfl-o77.mbn 放入 Platform Tools 文件夹。在电脑另开一个 PowerShell 窗口上传文件:
.\adb.exe push xfl-o77.mbn /sdcard/xfl-o77.mbn
回到已取得 Root 的 # shell,执行:
dd if=/sdcard/xfl-o77.mbn of=/dev/block/bootdevice/by-name/xfl
sync
if= 是输入镜像,of= 是目标分区。检查输出包含 records in 和 records out,且没有权限、文件或写入错误。写入路径必须是 xfl,不要修改为其他分区。
完成标志:P114 已刷入,旧 XFL 写入完成且 sync 无错误。接下来进入 Fastboot,不再运行系统更新。
步骤 4:运行补丁,解锁 Bootloader
进入 Fastboot 并检查引导版本
手机关机,按住音量上键插线连接电脑,蓝色指示灯亮起后,在 Platform Tools 文件夹执行:
.\fastboot.exe devices
.\fastboot.exe getvar version-bootloader
确认设备能被识别,版本信息包含 LA2.0_P_114。如果版本不符,返回步骤 3 核对引导文件。
执行默认参数补丁
进入 Xperable 文件夹打开 PowerShell:
.\xperable.exe -v -V -B -U -5
成功时,日志会出现以下关键字;实际内存地址随设备变化:
LinuxLoader @ ... patched successfully
没有该提示,就不要发送解锁命令。默认参数失败时,按下一节查找适合本机的 size。
立即执行解锁
补丁成功后保持当前蓝灯状态,不要重启、不要断开连接,执行:
.\xperable.exe -v -V -c "oem unlock Y" -1
确认解锁命令返回 OKAY 后,再重启:
.\xperable.exe -c reboot -1
验证解锁状态
重新关机并进入蓝灯 Fastboot,在 Xperable 文件夹执行:
.\xperable.exe -A
检查输出中的 unlocked:yes。开机解锁图标只能辅助判断,不能替代状态查询。
完成标志:设备返回 unlocked:yes。至此 BL 解锁完成,可以按目标 ROM 的刷入要求准备下一步。
默认参数失败?手动查找 size
不同设备的内存布局可能不同。默认补丁失败,不代表直接换一条解锁命令就能解决;需要先定位可用的缓冲区大小。
打开参数助手,选择“XZ1 / XZP”,按实际测试结果缩小范围。它会生成下一条测试命令,拿到 distance 后再计算最终 size。
1. 重启 Fastboot,测试候选值
长按电源键与音量上键强制重启;灭灯后松开电源键,继续按住音量上键回到蓝灯模式。先尝试:
.\xperable.exe -v -V -B -U -s 0xf30080 -2
| 测试结果 | 接下来怎么做 |
|---|---|
test2 not hit | 重启 Fastboot,再增大 size。 |
test2 failed,同时确认溢出导致设备崩溃或重启 | 重启 Fastboot,再减小 size;单独的 USB 错误不能作为这个判断。 |
test2 succeeded: distance = ... | 记录 distance,重启 Fastboot,再计算最终补丁 size。 |
可从 0xf00000 至 0x1000000 的候选区间逐步缩小范围。每次 -2 测试后都要强制重启 Fastboot,包括已经拿到 distance 的那一次;仅拔插数据线不能代替重启。
2. 用 distance 计算最终 size
对于本文 P114、offset 为 0x30 的流程,按以下方式计算:
最终 size = test2 返回的 distance + 0x29d0
例如:0xf46eb0 + 0x29d0 = 0xf49880
测试时输入的 size 不等于日志返回的 distance。不要把候选 size 直接加补偿,也不要对 -5 的日志值再次加补偿。日志出现不同 offset 或额外非零修正项时,先核对工具文档。
3. 用计算结果打入补丁
例如算出的结果为 0xf49880,执行:
.\xperable.exe -v -V -B -U -s 0xf49880 -5
只有看到 patched successfully,才回到步骤 4 执行解锁。这次补丁成功后不要重启,否则内存补丁会失效。示例数值不是每台设备的固定参数,P114 的补偿公式也不能用于 XZ2 / XZ3。
常见故障与处理方法
| 现象 | 优先检查 |
|---|---|
| ADB 找不到手机 | 手机是否开机、USB 调试是否开启并授权;检查 ADB 驱动和数据线。 |
| 绿灯能刷,蓝灯找不到设备 | Flashmode 与 Fastboot 是不同模式,重新检查 Fastboot 驱动。 |
| bindershell 无法取得 Root | 核对型号、完整固件版本及 v2 / v2x 支持范围,重启后重新尝试。 |
| Fastboot 超时或蓝灯卡住 | 强制重启后重新进入蓝灯,换 USB 2.0 端口和数据线。必要时在测试命令的 -5 或 -2 前加入 -b 0x100000 限制单次传输为 1 MiB。 |
| 一直不出现补丁成功 | 先核对 P114、旧 XFL 和 LinuxLoader-p114.pe,再排查 size。不能把传输完成当作补丁成功。 |
| 解锁后进不了系统 | 可能是解锁状态变化导致数据解密失败。按本机恢复流程清除数据或恢复匹配的原厂系统;不要擦写 persist。 |
常见问题
Bootloader unlock allowed 显示 No,还能按这个方法操作吗?
这套流程使用 Fastboot 漏洞,不走官方解锁码流程,因此不以官方菜单显示 Yes 为唯一前提。仍须满足对应机型、临时 Root 固件、P114 和旧 XFL 条件。
解锁 BL 会丢失 DRM 密钥吗?
Xperable 的解锁方式不主动擦除 Sony DRM 设备密钥,但误刷分区仍可能造成损失。解锁前保留本机 TA 备份,不要擦写 persist;回锁不能恢复已经丢失的密钥。
临时 Root 需要一直保留吗?
它用于准备 TA 备份和写入旧 XFL,重启后会失效。只要旧 XFL 已正确写入,后续 Fastboot 解锁阶段不需要系统内的 Root 持续运行。
解锁 BL 等于解除运营商 SIM 锁吗?
不等于。BL 控制系统启动和镜像校验;SIM 锁控制运营商网络使用,二者是独立操作。
解锁完成后,到首页查找对应 ROM
前往 sonyrom.com 首页,按 SO-02K、SO-01K、SOV36 或 701SO 等具体型号查找相关 ROM 下载。刷入前核对运营商、地区、系统版本及 ROM 的 BL 要求,不要只按“XZ1 系列”选择刷机包。
前往首页查找 ROM技术参考与致谢
Xperable 技术文档 · bindershell 项目。感谢 j4nn 的工具开发与 SOraWiND 的实践分享。