Anonym0usWork1221/liboemcrypto-disabler

GitHub: Anonym0usWork1221/liboemcrypto-disabler

一个 Magisk/KernelSU 模块,通过禁用 OEM Widevine 库来修复已 root Android 设备上流媒体应用的 DRM 播放错误。

Stars: 2 | Forks: 0

# liboemcrypto 禁用器 [![GitHub 发布版本](https://img.shields.io/github/v/release/Anonym0usWork1221/liboemcrypto-disabler?style=flat-square)](https://github.com/Anonym0usWork1221/liboemcrypto-disabler/releases) [![许可证: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](LICENSE) [![Magisk](https://img.shields.io/badge/Magisk-v20.4%2B-00B39B?style=flat-square)](https://github.com/topjohnwu/Magisk) [![KernelSU](https://img.shields.io/badge/KernelSU-supported-red?style=flat-square)](https://github.com/tiann/KernelSU) [![Android](https://img.shields.io/badge/Android-10%2B-3DDC84?style=flat-square)](https://www.android.com/) ## 功能说明 此模块通过 Magisk 的无系统覆盖方式,用空文件替换了 `/vendor/lib64/liboemcrypto.so` 和 `/vendor/lib/liboemcrypto.so`。在 OEM Widevine 库被禁用后,Android 的 DRM 框架会回退到 **Google 原生 Widevine 实现**,该实现不会执行激进的 root 检测。 结果就是:之前在已获取 root 权限的设备上拒绝播放视频的流媒体应用现在可以正常工作了。 ## 修复的问题 - **Crunchyroll 错误 EXO-1004**("连接出现问题") - 在已获取 root 权限的设备上,各种流媒体应用中出现 **"无法播放视频" / DRM 错误** - 登录成功后仍 **播放失败**(界面正常但视频无法播放) - Widevine 层级上的 **Root 检测**(不同于 Play Integrity / SafetyNet) - OEM Widevine HAL 损坏或缺失导致的 **自定义 ROM 播放问题** ## 已知可修复的应用 | 应用 | 状态 | 备注 | |---|---|---| | Crunchyroll | ✅ 已修复 | EXO-1004 问题解决 | | HBO Max / Max | ✅ 可用 | 画质无变化 | | Hulu | ✅ 可用 | 画质无变化 | | Paramount+ | ✅ 可用 | | | Peacock | ✅ 可用 | | | Apple TV+ | ✅ 可用 | | ## 可能降级画质的应用 | 应用 | 行为 | |---|---| | Netflix | 以 SD 画质而非 HD 播放(HD 需要硬件 Widevine L1) | | Disney+ | 可能提供 SD 画质 | | Amazon Prime Video | 可能提供 SD 画质 | | DAZN | 可能降至较低画质 | ## 工作原理 ``` ┌─────────────────────────┐ ┌─────────────────────────┐ │ Streaming App │ │ Streaming App │ │ (Crunchyroll, etc.) │ │ (Crunchyroll, etc.) │ └───────────┬─────────────┘ └───────────┬─────────────┘ │ │ ▼ ▼ ┌─────────────────────────┐ ┌─────────────────────────┐ │ Widevine CDM │ │ Widevine CDM │ │ (Android Framework) │ │ (Android Framework) │ └───────────┬─────────────┘ └───────────┬─────────────┘ │ │ ▼ ▼ ┌─────────────────────────┐ ┌─────────────────────────┐ │ OEM liboemcrypto.so │ │ ✗ (empty / disabled) │ │ (detects root → fails)│ │ │ └─────────────────────────┘ └───────────┬─────────────┘ │ fallback ▼ ┌─────────────────────────┐ │ Google's stock Widevine│ │ (no root detection) │ └─────────────────────────┘ BEFORE AFTER ``` ## 安装指南 ### 方法一:通过 Magisk 1. 下载最新的 [发布包](https://github.com/Anonym0usWork1221/liboemcrypto-disabler/releases/latest) 2. 打开 **Magisk** → **模块** → **从本地存储安装** 3. 选择下载的 zip 文件 4. 重启设备 5. 强制停止并清除流媒体应用的数据 6. 打开应用并测试播放 ### 方法二:通过 KernelSU 1. 下载最新的 [发布包](https://github.com/Anonym0usWork1221/liboemcrypto-disabler/releases/latest) 2. 打开 **KernelSU 管理器** → **模块** → **安装** 3. 选择下载的 zip 文件 4. 重启设备 5. 强制停止并清除流媒体应用的数据 ### 方法三:通过 APatch 1. 下载最新的 [发布包](https://github.com/Anonym0usWork1221/liboemcrypto-disabler/releases/latest) 2. 打开 **APatch** → **APModule** → **从本地存储安装** 3. 重启设备 ## 验证 重启后,确认模块已激活: ``` su ls -la /vendor/lib64/liboemcrypto.so # 大小应为 0 字节(或接近该值) ls /data/adb/modules/liboemcrypto_disabler/ # 应显示模块文件 ``` 您也可以从 Play 商店安装 [**DRM Info**](https://play.google.com/store/apps/details?id=com.androidcentral.app.drminfo)。前后对比: - **模块安装前:** Widevine 安全级别 → `L1` - **模块安装后:** Widevine 安全级别 → `L3`(符合预期 —— 这是回退路径) 此级别变化是预期行为,正是它使得 Crunchyroll 等应用得以播放。 ## 兼容性 | 组件 | 兼容性 | |---|---| | **Android** | 10, 11, 12, 13, 14, 15, 16+ | | **架构** | arm64-v8a, armeabi-v7a | | **Root 方案** | Magisk v20.4+, KernelSU, APatch | | **分区** | 动态和传统 `/vendor` 布局 | 已在以下设备上测试: - 骁龙 8 Gen 2 (红魔 8S Pro / NX729J) - 骁龙 8 Gen 3 设备 - 联发科天玑系列 如果您的设备可用,请创建一个带有 `device-confirmed` 标签的 issue,以便他人知晓。 ## 优点与缺点 ### 优点 - ✅ 修复已获取 root 权限设备上最常见的 DRM 相关播放失败问题 - ✅ 无系统修改 —— 不对 `/vendor` 分区进行永久更改 - ✅ 一键可逆:禁用或移除模块即可恢复 - ✅ 无需维护密钥盒子或设备指纹 - ✅ 可在 OTA 更新后存活(如果 `/vendor` 改变,只需重新刷入) - ✅ 通过 Magisk/KSU 支持自动更新 - ✅ 可与 Play Integrity Fix、Tricky Store、Shamiko 共同使用 ### 缺点 - ⚠️ Widevine 降级至 L3 → Netflix、Disney+ 等的高清串流会失效 - ⚠️ 并非解决 *所有* DRM 问题的方案(某些应用会进行 Widevine 之外的检查) - ⚠️ 不能绕过 Play Integrity API —— 如有需要,请配合 PIF 使用 - ⚠️ 某些自定义 ROM 可能需要不同的 `.so` 路径(罕见) ## 切换状态 临时禁用(例如,为观看 Netflix 高清视频): 1. 进入 Magisk → 模块 → 关闭 `liboemcrypto_disabler` 的开关 2. 重启 3. 观看 Netflix 4. 重新开启开关,重启,返回使用 Crunchyroll ## 推荐配合使用的模块 此模块修复了 Widevine 层级的 root 检测。要实现完整的 root 设备下流媒体播放,可结合以下模块: - **[Play Integrity Fix (Fork)](https://github.com/osm0sis/PlayIntegrityFork)** —— 通过 Play Integrity DEVICE 判定 - **[Tricky Store](https://github.com/5ec1cff/TrickyStore)** —— Keystore 认证欺骗(需有效的密钥盒子) - **[Shamiko](https://github.com/LSPosed/LSPosed.github.io/releases)** —— 从 DenyList 中的应用隐藏 root 状态 ## 常见问题 **问:这会影响银行应用吗?** 答:仅当银行应用依赖 Widevine 进行 root 检测时才会受影响(罕见)。大多数银行应用使用 Play Integrity / SafetyNet,此模块不会影响它们。对于这些应用,请配合 PIF 使用。 **问:它在 KernelSU 上有效吗?** 答:有效。模块格式兼容 Magisk、KSU 和 APatch。 **问:为什么我的 Widevine 现在显示 L3?** 答:这是预期的。禁用 OEM Widevine 强制回退到基于 Google 软件的路径,该路径报告为 L3。这正是让 Crunchyroll 工作的原因 —— L1 是检测 root 的路径。 **问:这安全吗?** 答:安全。此模块是无系统的 —— 不会修改您物理 `/vendor` 分区上的任何内容。禁用模块可立即恢复原始库。刷入安全,移除也安全。 **问:Google 会检测到吗?** 答:禁用 `liboemcrypto.so` 是一个本地更改。它不与 Google 通信,因此 Google 服务器端无法检测到。但是,您的 Play Integrity 判定不会改变 —— 如有需要,请使用 PIF。 **问:我可以选择性禁用吗 —— 只禁用 64 位的库?** 答:可以。编辑模块,移除 `system/vendor/lib/liboemcrypto.so`,如果您只运行 64 位应用。保留完整捆绑包是最安全的。 **问:我的应用还是不行。** 答:尝试清除应用数据,而不仅仅是缓存。有些应用缓存了 DRM 会话令牌,需要重置。如果仍然有问题,则问题不在 Widevine 层级 —— 请使用 [Play Integrity API Checker](https://play.google.com/store/apps/details?id=gr.nikolasspyr.integritycheck) 检查 Play Integrity 状态。 ## 卸载 - **Magisk:** 进入模块 → 点击 `liboemcrypto_disabler` 的移除按钮 → 重启 - **KernelSU:** 进入模块 → 卸载 → 重启 - **APatch:** 进入 APModule → 卸载 → 重启 下次启动时,原始的 `liboemcrypto.so` 将被恢复。 ## 致谢 - 最初修复发现:XDA 社区 ([帖子](https://xdaforums.com/t/fixed-error-exo-1004-with-the-crunchyroll-app-and-system-ro2rw-tutoral.4690132/)) - Magisk 模块封装:**Abdul Moez** ([@Anonym0usWork1221](https://github.com/Anonym0usWork1221)) - Magisk 模块框架:[topjohnwu](https://github.com/topjohnwu/Magisk) ## 许可证 MIT —— 完整文本请参阅 [LICENSE](LICENSE)。 ## 免责声明 此模块按"原样"提供,仅供教育和个人使用。作者对因使用此模块而导致的任何 DRM 违规、账户封禁或服务中断不承担责任。您有责任遵守您所使用的任何流媒体平台的服务条款。不支持盗版内容。 如果这个模块为您节省了大量寻找密钥盒子和刷机的时间,请考虑给这个仓库点个星 ⭐
标签:Android安全, Android模块, Crunchyroll, DRM破解, HBO Max, Hulu, KernelSU模块, Magisk模块, OEM Widevine, Root检测绕过, Widevine禁用, 应用兼容性, 播放问题修复, 数字版权管理, 根权限管理, 流媒体修复, 流媒体应用, 目录枚举, 移动安全, 系统less覆盖, 软件模块