🖼️ 透明截图
June 29, 2026 · View on GitHub
🖼️ 透明截图
基于 LSPosed 框架的 Xposed 模块,为应用提供全面的截图、录屏及屏幕投射防护。
✨ 核心功能
应用层功能
| 功能 | 说明 |
|---|---|
| 启用默认窗口隐藏方案 | 通过 setSkipScreenshot 标志阻止系统截图和录屏。 |
| 去除阴影遮罩 | 移除窗口的阴影效果。 |
| 窗口不接收触摸与焦点 | 设置 FLAG_NOT_FOCUSABLE | FLAG_NOT_TOUCHABLE | FLAG_NOT_TOUCH_MODAL,窗口无法接收任何触摸和焦点事件。(⚠️ 注意:窗口将无法点击。) |
| 绕过焦点检查 | 仅设置 FLAG_NOT_FOCUSABLE,保留触摸能力,但输入法(键盘)不会弹出。(⚠️ 注意:键盘输入将无法弹出。) |
| 隐藏最近任务界面 | 从最近任务列表中移除应用卡片。 |
| 修改窗口标题为 | 将窗口标题伪装为系统录屏组件,支持全局品牌选择或自定义标题。 |
| 允许截屏至壁纸层 | 窗口完全透明时显示壁纸而非黑色(仅部分应用生效)。 |
系统层隐藏
系统层隐藏通过注入系统框架,在系统服务层级直接拦截窗口的渲染,可同时隐藏窗口及其所属 Task 的阴影/边框。此功能需要在设置中手动开启,并在主界面点击 系统框架 进行配置。
⚠️ 开启后可能略有卡顿,请按需使用。
📖 使用方法
- 确保设备已 Root 并安装了 LSPosed 框架。
- 安装本模块。
- 打开 LSPosed 管理器,启用本模块。
- 在模块界面中 勾选需要生效的目标应用(作用域)。
- 点击目标应用进入配置页,开启所需功能。
- 强制停止目标应用后重新启动,配置即可生效。
全局标题设置
在模块主界面右上角菜单 → 设置,可以选择默认的窗口标题品牌。应用配置中选择 “全局” 模式时,将自动跟随此设置。
系统层隐藏设置
- 进入 设置 → 开启 系统层隐藏 开关。
- 系统将请求添加
system到模块作用域。 - 返回主界面,点击 系统框架 条目。
- 在系统层隐藏界面中,选择需要隐藏的应用(支持搜索)。
- 已开启隐藏的应用会自动排在列表最上方。
- 右上角菜单可切换显示/隐藏系统应用。
🔬 技术说明
SkipScreenshot 原理
SkipScreenshot 是系统窗口与渲染流程中的标识,用于指示某个窗口或界面在进行截图、录屏或屏幕投射时应被 跳过,不参与最终画面的合成。
当该标识生效时:
- 应用界面在设备本地仍然可见、可交互。
- 系统截图、录屏或投射结果中 不会包含 该界面内容。
SystemUI 增强 - Oplus 小窗菜单隐藏
在 设置 中开启 SystemUI 菜单隐藏(Oplus 增强) 后,模块会 Hook SystemUI 进程中的 FlexibleMenuManager,在 OPPO/一加设备的自由窗口(小窗)弹出菜单时,自动对该菜单的 Surface 施加 setSkipScreenshot,使其不显示在截图/录屏中。
此功能仅适用于 OPPO/一加 ColorOS 15/16 设备。
修改窗口标题原理
当窗口标题为特定字符串时,系统在截屏和录屏中会跳过合成该窗口,从而达到隐藏效果。
系统层隐藏原理
系统层隐藏直接作用于系统服务 (system_server) 的窗口管理机制,在目标窗口的 Surface 创建时就为其设置 setSkipScreenshot 标志,并将该标志同步应用到窗口所属的 Task 容器,从而同时隐藏窗口内容和阴影边框。
⚠️ 注意事项
本模块涉及对系统窗口管理机制的深度干预。使用前请确保您了解相关风险,并具备基本的窗口系统知识。因不当配置导致的系统界面异常、功能失效或其他不可预期的问题,由用户自行承担。
🔒 权限说明
本模块需要以下权限:
QUERY_ALL_PACKAGES– 用于获取已安装应用列表。- Xposed 框架权限 – 用于 Hook 目标应用窗口。
📄 免责声明
本工具仅供 安全研究 和 个人学习 使用。
请勿用于侵犯他人隐私或版权的用途。
使用本模块产生的任何后果由用户自行承担。
🙏 致谢
本模块的核心功能实现受到了以下优秀项目的启发:
| 项目 | 说明 |
|---|---|
| SpoofTitle | 窗口标题伪装逻辑 |
| -HideScreen- | 防截屏问题修复 |
Transparent Screenshot © 2025 · Made with ❤️