Windows 桌面端可视化面板:管理运行中进程、调用 Injector-cap 提供的 injector 做防截屏相关操作,并支持收藏、拖放启动、进程列表筛选等。
本项目的注入能力与使用方式 参考并依赖 第三方开源项目:
| 项目 | 说明 |
|---|---|
| Injector-cap | 防截屏注入工具(C++),仓库内包含 Injector.cpp、InjectDLL.cpp;发布包见 Releases · v2025.07.2120。 |
- InjectUI 不包含 Injector-cap 的完整源码实现,仅通过 命令行调用
injector(或用户配置的等价路径),并在界面侧做进程管理与快捷操作。 - 请勿将 InjectUI 等同于 Injector-cap 官方发行物;使用注入、防截屏等功能时,请遵守当地法律法规与目标软件许可,风险自负。
- 上游仓库已于 2025-11-04 标记为 Archived,只读存档,后续维护以本仓库与本地
attach文件为准。
- 进程列表:用户模式(有主窗口)/ 全面模式(全部 Win32 进程),支持搜索。
- 禁止截屏:对运行中进程执行类似
injector <进程名>.exe -notopmost(以侧栏设置为准)。 - 结束 / 重启:用于在进程级消除注入影响(新进程未注入)。
- 收藏、拖放启动、快速启动、一键从
attach部署 injector(见下文)。
- 先 启动目标程序(注入仅对 正在运行 的进程有效)。
- 在列表中 搜索 后点击 禁止截屏。
- 需要恢复可截屏时:结束进程 或 重启 该应用。
更详细的参数、环境变量与界面行为见下文「配置」与「attach」章节。
- 从 Injector-cap 发布页 2025.07.2120 获取作者提供的压缩包(解压密码见包内说明)。
- 将
injector.exe、InjectDLL.dll及同包内需随附的.exe/.dll散文件 放入本仓库attach/(可与Toolkit_fix.reg等文件同级)。 - 在 InjectUI 侧栏 注入命令设置 → Injector-cap(attach):
- 一键部署并检测:复制到应用数据目录下的
injector-bundle并自动填写injector.exe绝对路径后自检。 - 检测当前命令:对当前「可执行文件」配置执行无参数运行检测。
- 部署到系统目录:按官方说明将散文件复制到
%SystemRoot%(通常需 管理员权限),并将命令设为injector。
- 一键部署并检测:复制到应用数据目录下的
打包发布:
electron-builder会把attach/整体 作为extraResources打进安装包,安装后位于resources/attach,与开发时行为一致。
- 默认:可执行文件名为
injector,进程名之后参数-notopmost(与上游发布说明中的示例一致)。 - 环境变量可覆盖本地保存项:
INJECTUI_INJECT_COMMANDINJECTUI_INJECT_MODE(exeName|localPid)INJECTUI_INJECT_EXE_ARGS
npm install
npm run dev- 若
npm install时下载 Electron 超时,可在终端设置ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/后再执行;其它镜像说明见 npmmirror。(npm 10+ 不建议在.npmrc里写非官方electron_mirror键,易触发警告。) - 开发态下 Electron 加载 Vite 开发服务器;生产态加载
dist/index.html。
npm run build
npm start遵循常见 GitHub Releases 约定,便于用户与自动化识别版本。
- 使用 语义化版本
MAJOR.MINOR.PATCH(如1.0.0)。 package.json中的version与 Git tag、Release 标题应对齐。
- 推荐带
v前缀 的 tag,与内置 CI 一致:- 示例:
v1.0.0
- 示例:
- 创建 release 前:
npm version patch # 或 minor / major;会改 package.json 并创建 tag
git push origin main --follow-tags或手动:
git tag -a v1.0.0 -m "InjectUI v1.0.0"
git push origin v1.0.0npm ci
npm run dist:winElectron 下载卡在 retrying / GitHub 超时:dist:win / pack / dist 已内置 ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/(见 package.json 脚本)。若仍失败,可在当前终端手动再设一次后重跑:
$env:ELECTRON_MIRROR = "https://npmmirror.com/mirrors/electron/"
npm run dist:winwinCodeSign 解压报错 Cannot create symbolic link / 客户端没有所需特权:未做代码签名时不应拉取该工具链。本项目已在 package.json 中关闭 Windows 签名并默认设置 CSC_IDENTITY_AUTO_DISCOVERY=false。若你曾失败过,请删掉缓存目录后重试:
%LOCALAPPDATA%\electron-builder\Cache\winCodeSign
仍要自行签名时,可用 管理员 打开终端,或在 Windows 设置 → 隐私和安全性 → 开发人员模式 中开启以允许创建符号链接。
产物默认在 release/ 目录,例如:
InjectUI-<version>-win-x64.exe— NSIS 安装程序InjectUI-<version>-win-x64.zip— 绿色压缩包
发布前检查:在干净虚拟机或未安装过旧版的机器上安装/解压,确认能启动、attach 内文件随包存在、一键部署/检测逻辑正常。
若安装包/zip 启动后 白屏:多为前端资源路径问题。本项目已在 vite.config.js 中设置 base: './',请重新执行 npm run build / npm run dist:win 后再测。
- 打开仓库 Releases → Draft a new release。
- Choose a tag:选择或新建
v*.*.*。 - Release title:建议
InjectUI v1.0.0(与 tag 一致)。 - Describe this release:
- 简述变更(Added / Fixed / 破坏性变更等);
- 标明 仅 Windows x64、依赖用户自备/包内 Injector-cap 文件 与合规使用说明。
- Attach binaries:上传
release/下生成的.exe与.zip(勿将密码、密钥写入仓库)。 - (可选)在说明中附上 SHA256 校验和,便于用户校验下载完整性。
仓库包含 .github/workflows/release.yml:当推送符合 v*.*.* 的 tag 时,在 windows-latest 上执行 npm ci 与 npm run dist:win,并将 release/*.exe、release/*.zip 上传到 同一 tag 对应的 GitHub Release。
- 首次使用需在 Settings → Actions → General 中允许 Workflow 权限(发布 Release 需要
contents: write)。 - Workflow 已为 Job 设置
ELECTRON_MIRROR指向 npmmirror,降低 Actions 内拉取 Electron 失败概率。
在 GitHub 新建仓库:Repository name 自定(如 InjectUI)、Public、不要勾选 “Add a README”(本地已有 README.md)。创建后按页面提示或执行:
cd F:\inject
git branch -M main
git remote add origin https://github.com/<你的用户名>/<仓库名>.git
git push -u origin main若本地分支仍为 master 且不想改名:
git remote add origin https://github.com/<你的用户名>/<仓库名>.git
git push -u origin master再到仓库 Settings → General 里把 Default branch 设为你要保留的分支。
关于 attach/:若其中包含 Injector-cap 的 injector.exe、InjectDLL.dll 等,公开前请确认 上游许可是否允许再分发;若不允许,应从 Git 中移除并在 README 中说明用户自行从 Injector-cap Releases 获取(可用 git rm --cached attach/*.dll attach/*.exe 等,并把这些路径加入 .gitignore)。勿将解压密码、个人密钥提交进仓库。
推送完成后,可按上文 §4 在 Releases 上传 release/ 下构建产物,或推送 v* 标签走 CI 自动构建。
使用 SSH 时把 origin 改为 git@github.com:<用户名>/<仓库名>.git。
已安装 GitHub CLI 时可:gh repo create InjectUI --public --source=. --remote=origin --push
- 左侧:统计、启动区、收藏、注入设置等,独立滚动。
- 右侧:进程表在右栏内滚动,不带动左侧。
MIT,全文见仓库根目录 LICENSE(与 package.json 中 license 一致)。Injector-cap 为独立项目,其许可证与版权以上游仓库为准;请勿将二者版权混为一谈。