基于 Xposed / LSPosed、YukiHookAPI 与 KavaRef 构建,作用于官方 Android 客户端 tv.danmaku.bili。
下载 Release · 提交问题 · 交流群组
Bilibili Innocent Lab 是一个面向 Android 哔哩哔哩客户端的 Xposed/LSPosed 模块。项目的主要目标,是在尽量保持客户端原有视觉结构和操作习惯的前提下,对部分影响使用体验的界面内容进行净化,同时补全评论、视频简介、第三方扩展兼容和版本适配等方面的交互能力。
Tip
建议搭配哔哩漫游食用效果更佳,本模块一并为其提供了高版本宿主兼容设置,若您使用本模块的“进阶设置”,请关闭其他模块中重复的功能以保证实现。本模块现在与未来都不会提供有关服务器解析的任何功能,若有相应需求,请另寻办法。LSPosed仓库中的版本可能存在滞后性,可以前往主仓库下载最新版本:Bilibili Innocent Lab
本模块并不是一个独立的哔哩哔哩客户端,也不会替代官方应用。它以运行时 Hook 的方式加载到目标应用进程中,对特定界面、数据绑定和交互入口进行有限修改。用户仍然使用原有的哔哩哔哩账号、播放器、推荐系统、评论区和视频详情页,只是在模块启用后,可以根据自己的需要开启或关闭相应功能。
项目强调“可选择、低侵入、可恢复”。绝大多数功能都提供独立开关,用户可以只启用自己需要的部分;模块不会要求所有功能必须同时开启。对于实验性功能,设置界面会给出明确提示,便于用户根据当前客户端版本和设备环境自行决定是否使用。
由于哔哩哔哩客户端会持续更新,内部类名、方法签名、布局结构和数据模型也可能发生变化,本项目加入了运行时版本适配、适配结果缓存和手动重新适配机制,尽可能降低客户端升级后功能整体失效的概率。但任何基于 Hook 的模块都无法保证永久兼容所有未来版本,使用前仍建议阅读版本说明和已知问题。
为保证项目稳定维护,请勿将本项目相关内容以包括但不限于以文件,文本,图标,链接,图片,视频,代码等形式在公开的社交媒体进行不定向传播。
本项目为非盈利性项目,不会以任何方式收取软件服务费用,不会以任何方式在未经同意的前提下主动获取并传输您的个人信息,若您怀疑从其他渠道获取的文件与以上宗旨相违背,请务必对照对应版本 Release HASH,若您发现文件 HASH 不一致,则该文件可能经过第三方篡改,本项目无法保证其安全性,若您已知并继续使用,由此带来的一切风险与后果请自行承担。
ROOT 权限特别说明
若可能,请授予本模块 ROOT 权限,以实现以下功能:
- 保存设置后确认并重新启动哔哩哔哩。
- 统一诊断中心部分本地诊断内容。
本说明会跟随版本更迭即时修改,始终保证 ROOT 权限使用透明化;项目承诺不会滥用 ROOT 权限进行任何危害宿主设备的行为,详细参见项目最新开源代码。
NPatch 免 Root 支持说明
本模块现已提供实验性的 NPatch 免 Root 支持,可在不使用 Root/LSPosed 的设备环境中,通过 NPatch Manager 将模块加载到经本地修补的哔哩哔哩客户端;该能力是独立的可选兼容路径,不会改变原有 Root/LSPosed 的安装与使用方式。当前要求 Android 9 及以上、NPatch Manager 1.0.7 及以上,并使用本地/管理器模式;请先在 NPatch Manager 中添加并启用本模块,再在模块设置中开启“免 Root 支持(NPatch,实验性)”。
启用后,模块会将当前支持的功能配置同步到 NPatch,并由已修补的哔哩哔哩进程加载对应 Hook。开启、关闭或修改相关设置后,需要手动强制停止并重新打开哔哩哔哩;只有在授权与完整配置校验通过后,目标进程才会安装模块功能,模块界面收到并验证宿主回执后才会显示为已激活。
NPatch 支持仍属于实验性能力,实际稳定性会受到 Android 版本、ROM、NPatch Manager 版本、哔哩哔哩版本及其他注入模块影响,不能视为对所有 Root/LSPosed 场景的完整替代。使用前请自行备份配置,并保留恢复原版应用的能力。
模块将功能拆分为独立开关,用户可以只启用自己需要的部分。原有净化与自由复制能力保持原先的开关行为;“进阶设置”中的新增能力默认关闭,启用后通常需要重启哔哩哔哩才能生效。若当前客户端版本没有找到足够可靠的适配入口,对应功能会跳过处理并保留宿主原有行为,不会为了强行生效而全局修改未知页面或数据。
| 功能 | 说明 |
|---|---|
| 隐藏首页游戏中心 | 隐藏首页顶部的游戏中心入口,搜索、扫一扫等其他入口不受影响 |
| 隐藏搜索推荐词 | 清除搜索框内自动展示的默认推荐词,不影响进入搜索页、输入关键词和正常搜索 |
| 功能 | 说明 |
|---|---|
| 隐藏首页大卡轮播推荐 | 处理首页顶部或推荐区域中占用较大空间的轮播卡片,补全部分环境下失效的轮播净化能力 |
| 过滤推荐广告 | 在首页推荐数据进入界面前过滤已识别的广告内容,普通视频推荐不受影响 |
| 过滤推荐图文 | 按已适配的数据类型过滤首页推荐流中的图文卡片 |
| 过滤游戏推广 | 过滤首页推荐流中能够被明确识别的游戏推广内容 |
| 竖屏视频进入详情页 | 从首页打开竖屏视频时优先进入普通视频详情页,避免自动进入竖屏连续播放界面;其他页面的打开方式不受影响 |
| 功能 | 说明 |
|---|---|
| 自定义首页标签 | 按名称填写要隐藏的首页标签,支持逗号、中文逗号、分号或换行分隔多条规则;始终保留至少一个标签,避免启动页和索引失效 |
| 自定义首页组件 | 按组件名称或已知标识填写隐藏规则,用于减少不需要的首页功能区域 |
| 自定义底栏 | 按名称隐藏底部导航入口;只处理已适配的视觉绑定,不删除宿主的底层页面数据,始终保留至少一个可用入口 |
| 功能 | 说明 |
|---|---|
| 隐藏“同城”标签 | 从动态页标签中移除“同城”,其他标签及原有顺序保持不变 |
| 隐藏“校园”标签 | 从动态页标签中移除“校园”,其他标签及原有顺序保持不变 |
| 默认显示“视频”标签 | 进入动态页时优先定位到“视频”分类;若当前版本没有对应标签或定位入口,保持宿主默认页面 |
| 功能 | 说明 |
|---|---|
| 隐藏大会员卡片 | 隐藏“我的”页中的大会员卡片,不改动其他菜单与账号信息 |
| 保留大会员卡片位置 | 配合“隐藏大会员卡片”使用,在隐藏内容的同时保留原有布局占位,减少页面结构跳动 |
| 自定义“我的”页组件 | 按菜单名称填写隐藏规则,可用于精简创作中心、课程、游戏中心等不需要的入口 |
| 功能 | 说明 |
|---|---|
| 关闭客户端更新提醒 | 阻止哔哩哔哩客户端自身的更新提醒,不影响本模块检查 Stable 或 Preview 更新 |
| 关闭青少年模式提醒 | 隐藏青少年模式提示页面,不修改青少年模式的开启状态、限制规则或系统设置 |
| 显示完整数字 | 播放量、点赞数等计数优先显示完整数值,减少“万”“亿”等缩写;只处理已经适配的数字格式化入口 |
| 功能 | 说明 |
|---|---|
| 隐藏视频提及区域中的游戏广告 | 过滤带游戏标签视频下“视频提及”等区域中已识别的游戏推广卡片,保留正常的视频信息、标签和详情内容 |
| 隐藏 UP 主分享好物推广 | 隐藏视频详情页中已识别的“UP 主分享好物”等商品推广区域,不影响普通简介、合集、标签和评论内容 |
| 过滤相关推荐 | 可分别过滤商业推广、游戏推荐、直播推荐、课程推荐和特殊推荐,依据宿主公开数据中的明确类型判断 |
| 功能 | 说明 |
|---|---|
| 隐藏视频暂停页广告 | 处理部分视频暂停后出现的推广内容;实际效果受客户端版本、播放器类型、账号实验分组和广告下发策略影响 |
| 隐藏竖屏切换按钮 | 隐藏播放器中的“进入看一看”按钮,全屏、播放控制等其他控件保持可用 |
| 播放器状态栏透明 | 仅在普通视频详情页使用透明状态栏样式,不全局修改其他 Activity 或窗口 |
| 默认播放画质 | 跟随哔哩哔哩,或优先请求 360P / 480P / 720P / 720P60 / 1080P / 1080P 高码率 / 1080P60 / 4K / 8K;仅调整视频开始播放时的初始画质请求,不解锁大会员或付费画质,片源、账号、网络或服务器不支持时客户端仍会自动调整 |
竖屏连续播放界面支持分别过滤以下类别的内容:
广告 · 直播 · 游戏推广 · 番剧影视 · 课程 · 短剧 · 带货 · 电影 · 纪录片 · 电视剧 · 综艺 · 音乐
所有类别均通过已适配数据对象中的公开结构化类型或业务对象是否存在进行精确判断;没有明确命中时保持放行,普通竖屏视频维持原有顺序与播放行为。
| 功能 | 说明 |
|---|---|
| 关闭评论关键词搜索链接 | 评论中的关键词不再跳转搜索,评论文字、表情和正常链接结构尽量保持原样 |
| 隐藏空评论区引导 | 隐藏“暂无评论”状态下的一键发送引导,不关闭评论区入口 |
| 隐藏评论投票组件 | 隐藏评论中的投票、站队等组件,普通点赞、回复和正文不受影响 |
| 隐藏评论关注按钮 | 隐藏评论区中的关注按钮,保留评论内容、用户徽章和其他交互 |
| 关闭评论体验反馈 | 隐藏评论体验反馈、问卷等 QOE 内容 |
| 隐藏评论区运营推广 | 过滤评论区数据中已识别的运营推广内容,不修改普通评论与回复正文 |
| 关闭评论点击快速回复 | 短按评论正文或卡片时不再直接打开回复编辑器;显式回复按钮、底部输入栏、三点菜单和长按自由复制仍然可用 |
| 功能 | 说明 |
|---|---|
| 按关键词过滤评论 | 最多可配置 64 个关键词,支持逗号、中文逗号、分号或换行分隔;评论或回复正文包含任一关键词时被隐藏,匹配时忽略英文字母大小写 |
| 按用户等级过滤评论 | 设置最低保留等级后,低于该等级的评论与回复会被隐藏;无法可靠读取某条评论的用户等级时保留该评论,避免误删 |
过滤覆盖已适配的主评论、置顶评论和嵌套回复列表,只读取判断所需的正文与等级信息;没有命中时保留宿主原列表,命中时才创建过滤后的副本。它与自由复制相互独立,可以分别开启或关闭。
启用后,长按评论正文会在当前内容附近弹出可选择文字的复制气泡。继续长按文字并拖动 Android 系统选择句柄,即可自由选取需要的片段,再通过系统浮动工具栏完成复制,不必复制整条评论。
- 支持范围:普通评论、长评论、展开后的内容和部分回复列表。
- 完整原文:优先读取评论数据中的完整原文,尽量避免只取得折叠状态下屏幕显示的省略文本,并保留原有换行。
- Emoji 映射:哔哩哔哩自有 Emoji 会尽量映射为可读的文字形式,减少复制结果中的空白或无意义占位符。
- 列表复用适配:滚动期间延后批量绑定,列表稳定后分批处理当前视口附近的评论;页面引用采用弱引用管理,长按期间暂停可能争用界面帧预算的任务。
- 官方交互保护:图片、按钮、媒体容器和三点菜单等官方交互区域不会被正文长按监听器接管;在带图评论中使用自由复制并关闭气泡后,评论图片仍可正常点击打开预览。
长按视频详情页简介后,可以使用同样的复制气泡选择部分文字。对于可展开简介,模块会尽量读取完整原文,并统一换行、清理末尾多余空白、处理图标或特殊 Span 产生的占位内容,同时保留正文段落结构。
| 显示方式 | 说明 |
|---|---|
| 默认暗色 | 默认配色,无需配置 |
| 手动亮色 | 手动切换为亮色样式 |
| 自动跟随 | 跟随哔哩哔哩亮暗主题;开启后覆盖手动亮色设置,主题结果提前判断并缓存,避免长按弹窗时临时执行反射 |
气泡使用透明对话框承载系统选择句柄和浮动工具栏,点击气泡外部即可播放退出动画并关闭。
“漫游版本支持扩展”用于配合已经安装并启用的哔哩漫游模块工作。它不是哔哩漫游的替代品,也不提供账号、解析服务器、访问密钥或网络代理服务。
当较新的哔哩哔哩客户端改变内部分析目标时,旧版漫游可能在读取或生成 Hook 信息时出现异常。启用扩展后,本模块会尝试修补已知的分析候选问题,并协助漫游重建完整缓存,使其设置入口、页面定制和相关 Hook 能力能够在已适配版本中继续工作。当前兼容处理包括:
- 在缓存损坏、过期或客户端版本变化时重新分析;
- 减少无意义的重复全量分析和冷启动等待;
- 在“我的”页面补充漫游设置入口;
- 通过跨进程 Provider、受权限保护的广播和本地缓存同步开关状态;
- 处理部分 MIUI/HyperOS 环境中的应用可见性与后台启动限制;
- 功能关闭后恢复相应原生行为,避免兼容状态长期残留。
开启该功能后,通常需要按照设置页提示重启哔哩哔哩两次,使缓存重建与后续快速启动路径依次完成。实际兼容性同时受哔哩哔哩版本、哔哩漫游版本和 LSPosed 分支影响。
在支持预见式返回手势的系统中,模块设置界面的返回操作会走系统提供的返回过渡预览。
- Android 14~15:以实验性开关的形式提供,可在设置中自行开启或关闭;
- Android 16 及以上:系统对本模块强制启用该能力,运行时已无法关闭,因此设置中不再显示这一开关(已保存的偏好仍会保留,便于旧备份导入)。
部分厂商系统可能自行修改、限制或关闭对应动画。
哔哩哔哩更新后,混淆类名、方法签名和页面结构可能变化。模块会结合类结构、字段类型、方法参数与绑定特征定位各功能所需的 Hook 点,并记录客户端版本、安装包指纹和适配规则版本。适配成功后会缓存结果,后续启动在环境未变化时优先使用快速路径,减少重复扫描。
各功能拥有相互独立的安装与诊断边界;自动适配只能覆盖结构仍然相近的客户端版本,若宿主发生大规模重构,部分能力仍可能需要等待模块更新。
升级哔哩哔哩后功能失效时:
- 打开模块设置,进入“实验性功能”;
- 选择“重新适配当前版本”,确认清除记录;
- 重启哔哩哔哩,模块会在下次启动时重新定位当前版本的功能入口。
| 功能 | 说明 |
|---|---|
| 激活状态 | 模块主页显示是否已被 Xposed/LSPosed 激活,并在可用时展示框架名称与 API 版本;若显示未激活,应检查模块开关、作用域是否包含哔哩哔哩,以及修改后是否已结束并重启目标进程 |
| 隐藏桌面图标 | 隐藏模块启动图标,之后仍可从 LSPosed 管理器进入设置;若 LSPosed 启用了“强制显示桌面图标”,需要先关闭该选项 |
| 一键重启哔哩哔哩 | 保存设置后可从模块内结束并重新启动目标应用;Root、Shell 权限或厂商后台限制可能导致操作失败,此时可手动强制停止后再打开 |
| 日志设置 | 日志捕捉可独立开启,提供“精简”与“完整”两档:精简档保留显著错误与关键运行问题,完整档增加 Hook 注册、功能命中和拦截信息;公开日志前请自行检查其中可能包含的客户端版本、类名与运行状态 |
| 更新检查 | 支持 Stable 与 Preview 双渠道,分别进行低频检查,网络失败时可切换备用镜像;Stable 只接收正式 Release,Preview 同时比较符合语义版本格式的 Alpha 预发布版并提示风险;模块不会在后台静默安装 APK,是否下载、安装或使用测试版本始终由用户决定 |
| 项目 | 要求 |
|---|---|
| Android 版本 | Android 8.1(API 27)及以上 |
| Root / Hook 环境 | 建议使用 Magisk + LSPosed |
| 目标应用 | 官方 Android 哔哩哔哩,包名 tv.danmaku.bili |
| 模块框架 | Xposed / LSPosed 兼容环境 |
| 已验证客户端 | 8.84.0~9.12.0 的主要版本路径 |
| 漫游扩展 | 需要用户另行安装并启用兼容的哔哩漫游版本 |
| 预见式返回 | Android 14~15 提供开关;Android 16 及以上由系统强制启用,设置中不再显示该开关 |
“已验证”只表示项目在相应版本或同类结构上进行过开发测试,不代表所有设备、系统主题、账号实验分组和客户端小版本都能得到完全相同的结果。理论上介于已验证版本号之间的客户端亦可使用,但不保证功能完全实现;若功能失效并希望项目进行适配,请按照问题反馈中的流程提交 Issue。
准备
- 从 GitHub Releases 下载 APK;
- 在 Android 设备上安装或覆盖安装模块。
在 LSPosed 中启用
- 打开 LSPosed 管理器;
- 启用
Bilibili Innocent Lab; - 将官方哔哩哔哩
tv.danmaku.bili加入模块作用域; - 强制停止哔哩哔哩,然后重新启动。
验证与配置
- 打开模块设置,确认页面显示“模块已激活”;
- 根据需要启用净化、自由复制或实验性功能;
- 若设置未立即生效,使用模块内的“重启哔哩哔哩”,或手动强制停止目标应用。
漫游扩展
- 漫游版本支持扩展请按照页面提示完成两次重启。
覆盖安装模块后,一般不需要清除哔哩哔哩数据。除非发布说明明确要求,否则不要随意清空客户端数据、模块配置或漫游缓存。
首次安装建议按以下顺序验证:
- 确认模块已激活;
- 只开启一个界面净化功能;
- 重启哔哩哔哩并检查详情页或首页;
- 测试评论区自由复制;
- 测试视频简介自由复制;
- 根据主题选择手动亮色气泡或自动跟随;
- 确认基础功能稳定后,再尝试实验性功能;
- 仅在已安装哔哩漫游且确有兼容需求时开启漫游扩展。
逐项启用更便于判断问题来源,也能避免多个模块同时修改同一页面时难以定位冲突。
| Stable 稳定版 | Alpha 预发布版 | |
|---|---|---|
| 定位 | 日常使用 | 提前验证新功能、适配新客户端、测试兼容性修复 |
| 更新检查 | 模块内置检查默认只接收正式 Release | 同时比较正式版与符合语义版本格式的 Alpha 预发布版,并提示预发布风险 |
| 稳定性 | 优先考虑已知功能、构建完整性和基础兼容性 | 可能包含尚未完成广泛设备验证的改动 |
| 适用建议 | 推荐日常使用 | 不建议在无法自行导出日志或恢复旧版本的设备上长期使用 |
发布纪律:Alpha 版本不会因为每一次本地构建而自动发布,只有在开发者明确认为当前构建具备测试价值时,才应通过对应工作流上传,避免 Release 页面被大量不可用的中间产物占满。
版本号规则:Alpha 的版本前缀始终使用当前稳定版的下一个补丁版本——稳定版为
1.0.6时,Alpha 使用1.0.7-alpha.N;正式发布1.0.7后,再切换到1.0.8-alpha.N。
| 问题 | 排查方法 |
|---|---|
| 模块显示未激活 | 确认 LSPosed 已启用本模块,作用域包含官方哔哩哔哩;修改作用域后重启目标应用,必要时重启设备 |
| 开关已打开但功能没有生效 | 先强制停止并重启哔哩哔哩;刚升级客户端可尝试“重新适配当前版本”;漫游扩展可能需要两次启动完成缓存重建 |
| 评论长按没有出现自由复制气泡 | 确认评论自由复制开关已开启,且当前页面属于已适配的官方评论区;若只有少量评论失效,请记录评论类型、是否带图、是否为回复列表及客户端版本 |
| 使用自由复制后图片无法打开 | 当前版本已专门保护带图评论的媒体容器;请确认使用最新构建并彻底重启哔哩哔哩进程,仍可复现时请说明操作顺序及气泡关闭后到点击图片的间隔 |
| 气泡内无法选择或复制文字 | 确认没有其他模块同时 Hook 系统剪贴板、文本选择工具栏或 PopupWindow;部分厂商系统深度定制了文本选择组件,遇崩溃请提供系统版本和 crash 日志 |
| 首页轮播仍然出现 | 首页结构可能受账号实验分组影响;请提供客户端版本、首页样式截图和完整日志,避免只描述“功能无效” |
| 漫游扩展开启后仍然异常 | 请一并提供:哔哩哔哩、哔哩漫游、本模块、LSPosed(含分支)、Android/ROM 各自版本,是否完成两次重启,以及 LSPosed 中目标主进程的相关日志 |
| 与其他模块冲突怎么办 | 多个模块同时修改评论区、视频详情页、剪贴板、主题属性或漫游缓存时可能产生执行顺序冲突;建议暂时关闭其他模块仅保留本模块复现,确认单模块正常后再逐个恢复 |
仓库根目录和 Gradle 工程目录并不相同。Gradle 工程位于:
Bilibili_Innocent_Lab/
构建 Debug APK
Windows PowerShell:
cd Bilibili_Innocent_Lab
.\gradlew.bat assembleDebug --console=plain --no-daemonLinux / macOS:
cd Bilibili_Innocent_Lab
./gradlew assembleDebug --console=plain --no-daemon运行 JVM 单元测试
.\gradlew.bat testDebugUnitTest --console=plain --no-daemon产物校验
调试 APK 输出位置:
Bilibili_Innocent_Lab/app/build/outputs/apk/debug/app-debug.apk
构建完成后,请确认 APK 修改时间晚于源码修改时间。安装到设备后,建议对比本地 APK 与设备端已安装 base.apk 的校验值,避免 Gradle 缓存或旧产物导致测试结果失真。
延伸文档
本模块包含多个运行在目标应用进程中的 Hook,因此在设计时尽量避免把复杂逻辑放入高频回调:
热路径与调度
- 对滚动、触摸和文本绑定路径设置快速返回条件;
- 评论绑定使用空闲调度与分批处理。
缓存与生命周期
- 反射获得的方法和字段会尽量缓存;
- 页面、Dialog 和评论 View 使用弱引用保存;
- 异步任务只持有 Application Context;
- 新版本适配结果写入缓存,避免每次启动重复扫描。
兼容与豁免
- 跨进程开关读取具有多级降级路径;
- 对自己的 Dialog、系统选择句柄和宿主媒体容器设置身份或来源豁免;
- 在 ROM 差异明显的窗口、状态栏和主题属性上使用显式配置。
项目不会为了追求“拦截更多内容”而无条件接管所有系统 API。对于 PopupWindow、Dialog、剪贴板、广播和触摸事件等影响范围较大的入口,优先根据对象身份、调用来源和手势生命周期判断是否属于模块目标,避免干扰图片预览、系统文本选择和宿主其他正常功能。
提交 Issue 前,请尽量完成以下检查:
- 使用最新稳定版或说明正在使用的 Alpha 版本;
- 确认问题在只启用本模块时仍能复现;
- 记录哔哩哔哩、Android、LSPosed 和模块版本;
- 说明具体功能开关状态;
- 给出从进入页面到问题出现的完整操作步骤;
- 必要时附上截图、录屏或 LSPosed 日志;
- 崩溃问题请优先提供 crash buffer 中的完整堆栈;
- 不要公开上传账号、Cookie、访问密钥或其他个人敏感数据。
明确、可重复的步骤通常比单独一句“不能使用”更容易定位问题。
模块的功能逻辑主要在本地设备和目标应用进程中运行。运行日志写入 LSPosed 日志系统,更新检查会访问 GitHub Release 信息。模块不会代替用户登录哔哩哔哩,也不会要求用户向本项目提交账号密码。
在导出和分享日志前,用户仍应自行检查其中是否包含视频链接、设备信息、应用版本或其他不希望公开的内容。
本项目是非官方、非商业性质的个人学习与研究项目,与哔哩哔哩及其关联公司不存在隶属、授权、合作或背书关系。
使用 Xposed/LSPosed 模块可能改变目标应用运行行为,并可能受到客户端更新、系统安全策略、厂商 ROM、账号实验分组或其他模块的影响。使用者应自行评估风险,并对安装、启用、数据备份和设备环境负责。
本项目不提供任何内容资源,不参与账号交易,不提供访问凭证,也不保证第三方扩展服务的可用性。请在遵守所在地法律法规、目标平台规则和开源项目许可的前提下使用。
重要提示:请在下载、安装、编译、分发或使用本项目之前完整阅读本声明。
本声明用于说明项目性质、使用风险与责任边界,不构成针对任何个人、组织或司法辖区的正式法律意见。若你计划将本项目用于公开发行、组织运营、商业活动或其他具有较高法律风险的场景,请另行咨询具备相应资质的专业人士。若你不同意本声明的任何内容,请立即停止下载、安装、编译、分发或使用本项目。
Bilibili Innocent Lab 是由社区开发者独立维护的非官方、非商业性质开源研究项目,主要用于 Android、Xposed/LSPosed、运行时 Hook、界面交互和软件兼容性等技术的学习、研究与交流。
本项目与哔哩哔哩及其运营主体、关联公司、合作伙伴不存在任何隶属、授权、委托、合作、赞助、认可或背书关系,也不代表任何第三方平台、框架或扩展项目的立场。
项目名称、文档或代码中出现的“哔哩哔哩”“Bilibili”、相关应用包名、界面名称、产品名称、商标、标识及其他专有名称,仅用于说明兼容目标、技术背景或功能适用范围。其商标权、著作权及其他合法权益均归相应权利人所有。此类描述性使用不表示本项目获得了相关权利人的授权。
本项目仅提供运行于用户本地设备中的模块代码,不是独立视频客户端,不提供或运营任何音视频内容、账号服务、会员服务、网络代理、解析服务、访问凭证、Cookie、Access Key、版权内容、付费资源或第三方平台数据。
本项目不会授予用户对任何第三方内容、软件、接口、账号或服务的额外权利。模块提供的文本选择、界面净化、交互增强、版本适配或第三方扩展兼容能力,不代表用户因此取得复制、转载、发布、传播、修改、汇编或商业使用相关内容的许可。
自由复制功能仅改变本地界面的文本选择方式。用户复制、保存、引用、转载或传播评论、简介及其他文本时,应自行确认其行为符合著作权、隐私权、个人信息保护、平台规则及其他适用要求。模块能够执行某项技术操作,不等于该操作在所有场景下均具有合法授权。
本项目不以规避付费机制、破解会员权益、绕过数字版权保护、破坏访问控制、获取未授权数据、干扰平台正常运营、实施网络攻击、传播违法内容或侵犯第三方合法权益为目的。
任何人不得利用本项目从事包括但不限于以下行为:
- 未经授权访问、抓取、收集、出售或传播第三方数据;
- 绕过付费服务、版权保护、账号权限或安全验证;
- 获取、分享或滥用他人的账号、Cookie、Token、Access Key 等凭证;
- 大规模复制、转载、下载或传播无合法授权的内容;
- 对平台、服务器、客户端或其他用户实施干扰、攻击、欺诈或滥用;
- 将项目重新包装为含恶意代码、隐私收集、广告注入或收费欺诈的版本;
- 违反所在地法律法规、目标平台规则或第三方开源许可证的其他行为。
因使用者擅自改变项目用途、修改代码、组合其他工具或实施违规操作所产生的责任,由实际行为人自行承担。
Xposed、LSPosed、Magisk、Root、Zygisk 及其他运行时 Hook 环境会改变 Android 系统和目标应用的正常执行流程,可能降低系统安全边界或引发不可预期行为。即使项目在特定设备和客户端版本上经过测试,也无法保证在其他环境中具有相同结果。
潜在风险包括但不限于:
- 目标应用启动失败、闪退、无响应或功能异常;
- 系统界面异常、软重启、启动循环或设备无法正常进入系统;
- 应用配置、缓存、本地文件或其他数据损坏、丢失;
- 电量消耗、内存占用、发热或性能发生变化;
- 与其他模块、主题、ROM 定制功能或安全软件产生冲突;
- 账号被限制功能、触发安全验证、受到警告、封禁或其他平台处置;
- 客户端更新后部分或全部 Hook 失效;
- 第三方扩展、依赖库或服务发生异常、停止维护或改变行为。
使用者应当具备恢复设备、关闭模块、卸载 APK、进入安全模式、还原备份和排查 LSPosed 日志的基本能力。使用前请自行备份重要数据,并确保能够承担测试失败或环境冲突带来的后果。
项目维护者没有能力控制第三方平台的风控规则,也不会对账号安全、账号价值、账号权益或平台处罚结果作出任何承诺。
本项目基于目标应用在特定时间、特定版本中的运行结构开发。目标应用可以随时调整类名、方法签名、数据结构、界面布局、网络协议、实验配置和安全策略,因此本项目的任何功能都可能在客户端更新后部分失效、完全失效或产生新的兼容问题。
README、Release 说明、已验证版本列表、截图、日志和测试结果,仅代表相应测试时间与测试环境中的表现,不构成对其他设备、系统、账号、地区、网络环境或未来版本的保证。
项目维护者不保证:
- 所有功能永久有效;
- 所有设备和 ROM 均可正常运行;
- 所有客户端版本均能自动适配;
- 项目不存在错误、漏洞、兼容问题或安全风险;
- Issue、反馈或兼容请求一定会被处理;
- 修复会在特定期限内发布;
- Release、Alpha 构建或更新检查服务始终可用;
- 第三方模块、依赖库或外部服务能够持续兼容。
项目可能随时修改、暂停、删除或停止维护部分功能,也可能停止发布构建、归档仓库或结束整个项目,恕不承诺提前通知。
在适用法律允许的最大范围内,本项目及相关代码、文档、构建产物、脚本、配置和说明均按“现状”和“可用状态”提供,不附带任何明示、默示或法定担保。
项目作者、维护者、贡献者和发布者不对适销性、特定用途适用性、准确性、完整性、稳定性、连续性、安全性、不侵权性、无错误性、无病毒性或与特定设备兼容性作出保证。
任何示例、测试记录、性能数据、开发经验或用户反馈都不应被理解为承诺、保证或服务等级协议。使用者应自行验证项目是否适合其设备、账号和使用目的。
在适用法律允许的最大范围内,项目作者、维护者、贡献者、发布者及相关协作者不对因下载、安装、编译、修改、分发、启用、禁用或使用本项目而直接或间接产生的损失承担责任,包括但不限于:
- 数据丢失、文件损坏、设备故障或系统恢复成本;
- 应用异常、功能中断、业务中断或时间损失;
- 账号限制、封禁、权益损失或平台处罚;
- 收益损失、机会损失、商誉损失或预期利益损失;
- 隐私泄露、凭证暴露或第三方索赔;
- 使用非官方构建、被篡改版本或恶意二次打包造成的损失;
- 与第三方模块、框架、服务、网站或依赖发生冲突造成的损失;
- 任何间接、附带、特殊、惩罚性、偶然性或后果性损失。
上述责任限制不适用于依据适用法律不得排除、限制或转移的责任。本声明不试图免除因故意、重大过失、人身损害或其他依法不得免责事项所产生的法定责任。
本项目可能使用或提及 LSPosed、Xposed、Magisk、YukiHookAPI、KavaRef、哔哩漫游、GitHub 及其他第三方软件、框架、服务或网站。相关项目均由各自权利人独立维护,并适用其各自的许可证、隐私政策、服务条款和免责声明。
项目中出现第三方名称、链接或兼容代码,不代表本项目对其安全性、合法性、稳定性或持续可用性作出保证,也不代表双方存在合作或授权关系。
访问外部链接、安装第三方组件、启用其他模块或使用外部服务所产生的风险,由使用者自行判断和承担。
建议仅从本项目官方 GitHub 仓库及其 Releases 页面获取源码和 APK,并自行核对 Release 来源、数字签名、文件校验值和版本信息。
项目作者无法控制第三方网站、网盘、群组、论坛或个人重新分发的安装包。对于非官方来源、被修改版本、重新签名版本、恶意二次打包版本或捆绑其他软件的版本,项目维护者不提供可信性保证,也不承担由此产生的责任。
任何二次分发者都应遵守仓库适用的开源许可证、保留必要的版权和来源信息,并明确说明其构建并非官方发布。不得冒用项目作者身份,不得将修改版本描述为官方原版,也不得利用本项目实施收费欺诈、恶意广告、隐私收集或其他损害用户权益的行为。
模块运行日志可能包含应用版本、系统版本、设备型号、进程名称、类名、页面状态、视频链接或其他运行环境信息。用户在公开提交 Issue、日志、截图或录屏前,应自行检查并删除账号信息、Cookie、Token、Access Key、个人聊天、评论身份、设备序列号和其他敏感内容。
用户主动提交至 GitHub、论坛或其他公开渠道的信息,可能被第三方查看、转载、索引或长期保存。项目维护者无法保证外部平台能够彻底删除已经公开传播的信息。
如果用户提交的内容包含明显敏感信息、第三方隐私或与问题无关的数据,维护者可以对其进行隐藏、删除或拒绝处理,但不保证能够在泄露发生前及时发现。
本项目由开发者利用个人时间维护,不构成商业服务、技术支持合同、托管服务或服务等级协议。
项目维护者没有义务:
- 对每个 Issue 作出回复;
- 为特定设备或版本提供专门适配;
- 提供一对一远程协助;
- 修复所有错误或兼容问题;
- 保证更新频率;
- 保留历史版本下载;
- 对二次修改版本提供支持;
- 为用户恢复设备、账号或数据。
社区帮助、开发建议和问题回复均属于自愿行为,不应被理解为持续服务承诺。
如果任何权利人认为本项目中的代码、文档、名称、截图、链接或其他内容侵犯其合法权益,可以通过 GitHub Issue 或仓库公开联系方式提交说明,并提供足以识别权利主体、相关内容和权利基础的必要信息。
项目维护者将在合理范围内进行核查,并可视情况采取说明、修改、移除、限制分发或其他适当措施。对反馈进行处理不代表项目维护者自动承认侵权、违法或承担责任。
本免责声明可能随着项目功能、发布方式、依赖关系和适用规则变化而更新。更新后的版本自公开发布之日起适用于后续下载、安装、编译和使用行为。
使用者有责任在更新模块或重新使用项目前查看最新 README、Release 说明和免责声明。继续使用更新后的项目,表示使用者已经知悉相应风险提示;若不同意更新内容,应停止使用并卸载相关版本。
如果本声明中的部分条款被认定为无效、不可执行或与适用法律冲突,不影响其他条款在法律允许范围内继续适用。相关条款应在尽可能接近原有风险提示和责任边界目的的前提下,按照适用法律进行解释。
项目维护者未立即行使或主张某项权利,不应被解释为永久放弃该项权利。
需要特别说明的是,免责声明并不当然排除一切责任。中国《民法典》对格式条款的提示说明义务、责任限制以及依法不得免责的情形设有明确边界,因此本声明始终以“适用法律允许的最大范围”为限,不排除任何依法不得排除的责任。《中华人民共和国民法典》、最高人民法院关于民法典合同编通则的相关解释
涉及复制、转载、传播或使用第三方作品时,使用者还应自行遵守著作权及信息网络传播权相关规则。本模块提供技术上的文本选择能力,不等于获得内容权利人的复制或传播许可。《中华人民共和国著作权法》
下载、安装、编译、修改、分发或使用本项目之前,请确认你已经理解:
- 本项目是非官方社区项目;
- Hook 环境可能影响设备、应用和账号安全;
- 功能可能随客户端更新失效;
- 自由复制能力不等于获得内容传播授权;
- 第三方服务和模块由各自维护者负责;
- 非官方构建可能包含无法验证的修改;
- 你应自行备份数据并具备恢复环境的能力;
- 你应对自己的具体使用方式及其后果负责;
- 项目不提供任何形式的绝对安全、永久兼容或无风险保证;
- 所有责任限制均以适用法律允许的范围为限。
如果你无法接受上述风险,请不要安装、启用或继续使用本项目。
除另有说明的第三方内容外,本项目原创源代码采用 GNU General Public License v3.0 only 许可。
SPDX-License-Identifier: GPL-3.0-only
项目使用或兼容的第三方组件、框架与代码分别遵循其自身许可证。
感谢以下项目和社区提供的基础能力与开发参考:
- YukiHookAPI
- KavaRef
- BBZQ
- Xposed / LSPosed 社区
- Android 开源项目与相关开发文档
- 参与测试、反馈兼容问题和提供日志的用户
如果这个项目对你有帮助,欢迎通过 Issue 提交可复现的问题、兼容性信息或改进建议。