用于修改原厂ocdt,永久解锁fb不掉触摸
此工具用于修改OPPO设备的OCDT分区,实现永久解锁Bootloader(fastboot可用)+ 保留触摸功能正常。
- OPPO Find X6 Pro (PGEM10, Snapdragon 8 Gen 2, ColorOS 15/16)
- 理论上适用于所有已刷入解锁ABL的OPPO/OnePlus骁龙设备
- ✅ 已刷入解锁版ABL(
unlock_abl.img)到A/B双槽 - ✅ 设备已Root(Magisk / APatch / KernelSU)
⚠️ 必须使用原厂锁定OCDT作为输入(不要用已修改过的)
从设备导出当前OCDT(设备需要已root):
adb shell su -c 'dd if=/dev/block/by-name/ocdt of=/data/local/tmp/ocdt_original.img'
adb pull /data/local/tmp/ocdt_original.img .# 基本用法(自动命名为 ocdt_original_unlock.img)
python3 patch_ocdt.py ocdt_original.img
# 指定输出文件名
python3 patch_ocdt.py ocdt_original.img ocdt_unlock.img输出示例:
已备份原文件: ocdt_original.img.bak
读取OCDT: ocdt_original.img
--- 修改前 ---
状态: 已锁定
Flags: 0x528B 0x528B 0x528B
...
修改中...
Flags[0x1060]: 0x528B -> 0x594D
Flags[0x1064]: 0x528B -> 0x594D
Flags[0x1068]: 0x528B -> 0x594D
签名段[0x1100-0x1200]: 清零
✅ 已保存: ocdt_unlock.img
🎉 OCDT补丁成功!
adb push ocdt_unlock.img /data/local/tmp/
adb shell su -c 'dd if=/data/local/tmp/ocdt_unlock.img of=/dev/block/by-name/ocdt'
adb rebootadb reboot bootloader
fastboot flash ocdt ocdt_unlock.img
fastboot reboot重启后检查:
adb shell getprop ro.boot.verifiedbootstate # 应输出: orange
adb shell getprop ro.boot.flash.locked # 应输出: 0
adb shell su -c 'cat /proc/touchpanel/tp_index' # 应输出: 0 (触摸正常)如需恢复原厂锁定状态:
# 刷回备份的原厂OCDT
adb push ocdt_original.img /data/local/tmp/
adb shell su -c 'dd if=/data/local/tmp/ocdt_original.img of=/dev/block/by-name/ocdt'
adb reboot⚠️ 必须使用原厂锁定OCDT作为输入,不要用已修改过的⚠️ 脚本会自动备份原文件(.bak后缀),请妥善保管⚠️ 如果不刷入解锁ABL,只改OCDT会导致签名检查失败,设备无法开机
仅供安全研究和教育目的使用。使用者自行承担风险。