SWHelper希沃修改工具安装及简单使用教程
SWHelper 是一个针对希沃管家的增强辅助工具,它能够解锁部分系统限制、允许注入自定义 JavaScript 脚本(作为插件加载)以及自定义锁屏壁纸等
⚠️ 免责声明
本项目及教程仅供 非中国大陆地区及内部离线网络环境 研究学习使用。严禁在连接公共网络的设备上使用,严禁用于任何破坏计算机信息系统安全的行为。请严格遵守当地法律法规及DMCA,风险自负
📥 资源下载
对于大多数用户,无需手动编译,直接下载编译好的版本即可:下载exe 下载zip(推荐)
详细步骤:
- 在上面下载最新版本的
swhelper.zip(推荐)或者swhelper.exe - 如果你下载的是exe,需要从这里下载各bat脚本以便后续操作
🛠️ 安装教程
视频教程:
1. 放置主程序
从上面下载 swhelper.zip解压出 swhelper.exe 并移动到任何你想放的位置 (路径不能有中文)
- 示例目标路径:
C:\Users\seewo(用户目录)
注意:注册SWHelper服务后请不要再移动该文件,否则请重新注册服务
2. 如果你的设备有冰点还原
- 直接打开
0强解还原.bat - 等待成功后重启设备再进行下一步
3. 配置SWHelper服务
- 将你下载的压缩包里的
00注册服务.bat,00删除服务.bat与00重新注册服务.bat放到swhelper.exe同文件夹下,本示例中是C:\Users\seewo - 一般情况下直接打开相应操作的bat脚本即可,例如
00注册服务.bat,bat脚本用完就可以删了,SWHelper运行只需要swhelper.exe即可 - 你也可以直接通过命令参数
--AutoStart-reg或--AutoStart-unreg注册/删除服务 - 一旦配置好服务,SWHelper将在启动后的约15s将自身注入到管家界面,不过仍有极小概率失败,此时可以重启一下
🤔 功能使用教程
SWHelper目前所有功能:

- SWHelper主窗口,通过点击屏幕左上角,或者桌面管家窗口左上角的一个很不起眼的灰色点状半透明按钮,将打开此窗口
- 详细信息窗口,显示当前各组件版本
- 锁屏背景修改窗口,在输入框中使用输入目标图片地址(需为
file://,http://或https://协议),或手动在配置文件中设置 - 迷你JS调试控制台窗口,功能暂不完善,大部分代码仍然不可执行
- HTTP测试窗口,用于开发者调试,普通用户一般用不到(
开发者也不怎么用) - 虚拟键盘,便于在锁屏上输入文本(默认键盘会被希沃拦截)
- 刷新页面功能,用于在该页面被改出问题后重置
- 解锁锁屏,也是该工具的核心功能,点击后即可解锁锁屏,后台将显示使用激活码解锁
- 隐藏信息,在希沃管家中隐藏设备 ID,但后端仍可见
- 10-13为各功能打开按钮,此处省略…
14. SWHelper版本信息,点击后将会打开"详细版本信息"窗口
⚙️ 个性化配置
首次成功运行后,SWHelper会在当前用户目录下生成配置文件
你可以通过修改该文件来更换壁纸或加载插件:
- 配置文件路径:
C:\Users\用户名\.swhelper.config
配置文件示例 (.swhelper.config):
1 | |
disableHelper: 禁用修改工具前端UI,背景替换和插件加载仍生效autoHideInfo: 自动隐藏信息,通常仅在展示SWHelper功能使用,会影响设置的自定义背景,使其不生效backgroundImage: 设置自定义锁屏背景,将在SWHelper运行时自动替换原有背景,支持本地路径 (file:///...) 或网络图片 (http://...)(不推荐使用网络图片)plugins: 插件列表,可注入自定义 JS 代码以自定义功能,loadType等参数解释见下文
👨💻 高级:手动编译教程
如果你需要自行修改源码,可以参考下方的编译指南:
👉 点击展开:SWHelper 编译详细指南 (Win/Linux)
编译环境要求
无论在 Windows 还是 Linux 下编译,都需要安装以下基础工具:
- Node.js (v22.x) & npm
- Terser (
npm install -g terser) - Make
- GCC / MinGW-w64 (C 语言编译器)
- Windres (资源编译器)
方式一:Linux / WSL 环境编译 (推荐)
使用 Linux 进行交叉编译通常最为顺利
安装依赖 (Ubuntu/Debian):
1
2
3
4sudo apt update
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs build-essential mingw-w64 make
sudo npm install -g terser克隆代码并编译:
1
2
3
4
5git clone https://git.s3.fan/Steve3184/SWHelper.git
cd SWHelper
# 执行一键编译脚本
bash ./build.sh编译成功后,当前目录下会生成
swhelper.exe
方式二:Windows 环境编译 (使用 MSYS2)
Windows 下建议使用 MSYS2 编译,同时还需要Nodejs v22+
解压到一个工作目录(例如
D:\workspace)后,将刚才下载的NodeJS解压到此处,重命名文件夹为node,并将下载的源码也解压到此处,重命名为swhelper右键左下角Windows徽标,选择”PowerShell (管理员)”,并在打开的窗口输入下面的命令(记得替换
D:/workspace为你在上一步创建的工作目录):1
2
3
4powershell -ep bypass
cd "D:/workspace/swhelper"
../node/npm i
../node/node build.js打开开始菜单或者MSYS2安装目录,选择”MinGW”打开,执行下面的命令(记得替换
/d/workspace为你在上一步创建的工作目录):1
2
3
4
5
6
7
8
9
10pacman -S make mingw-w64-x86_64-gcc
# 此处需要输入y并回车确认安装
cd /d/workspace/swhelper
make
# 你可以通过设置FLAGS变量来选择可选功能
# 例如:
make clean_ctmp # 清理编译缓存
make FLAGS="-DMUUID='\"在这里填写允许的MUUID\"'"
# 注意: 目前想要查看muuid需要自行编译一个带muuid的版本,使用空muuid即可:
make FLAGS="-DMUUID='\"\"'"编译好了,你将在
D:\workspace\swhelper找到生成的swhelper.exe
🧪 高级:插件编写指南
SWHelper 允许编写 JavaScript 插件并在渲染进程 (Render Thread) 中运行。通过 IPC 通信,插件还可以请求主进程执行更高权限的操作
1. 核心概念
- 运行环境: 插件代码默认在目标软件的渲染进程中执行
- 通信机制: 使用
ipcRenderer与主进程通讯 - 鉴权密钥: 必须使用固定的
apiKey和channel才能通过主进程的校验
2. 插件开发模板
👉 点击展开:RenderThread插件示例
1 | |
3. API 详解
插件通过 ipcRenderer.send 发送指令对象,结构如下:
1 | |
exec: 直接在主进程 (Main Process) 上下文中执行data中的 JS 代码,可调用大部分主进程 API (对于require等函数的获取见下文)i: 将代码注入到所有窗口中执行一次,需插件自行判断是否为目标窗口j: 将代码加入循环队列,定期注入,这对于需要对抗页面刷新或重置逻辑的功能非常有用
4. 如何安装插件
编写好 .js 文件后(例如 C:\Users\seewo\my-plugin.js),需要在配置文件的 plugins 字段中注册:
编辑配置文件: C:\Users\用户名\.swhelper.config
1 | |
loadType 说明:
loadOnce: 插件代码只运行一次(适合初始化脚本)loadLoop: 插件代码会被反复运行(慎用,适合需要持续检测状态的脚本),需插件自行编写是否重复注入检测,例如if(window.__self_)return;window.__self_=1;mainThread: (特殊) 直接注入主进程,通常不需要在插件代码里再写 IPC 通信,直接写主进程逻辑即可
5. Main Thread 注入特别注意事项
当你在配置文件中将插件的 loadType 设置为 mainThread 时,代码将直接在SWHelper的主进程中运行
⚠️ 重要提示:
在主进程注入的上下文中,默认无法直接使用require函数你需要使用加载器特供的全局函数
global.___r_来加载模块,并使用特定的全局函数来向渲染进程注入代码
主进程专用 API 示例:
1 | |
总结:如果你编写的是 mainThread 插件,请务必把所有的 require('xx') 替换为 global.___r_('xx')。
❓ 常见问题
Q: 重启后没有反应?
A: 请先检测是否解锁冰点还原,如果已经解锁,请检查任务管理器”服务”选项卡中是否有 SWHelperService 服务。如果存在该服务,尝试重新注册SWHelper服务,可能是由于swhelper.exe目录改变导致(确保路径没有中文)
Q: 手动打开某些bat脚本后闪退?
A: 有几个脚本确实运行完就没了,如果你认为确实有问题,请检查swhelper.log日志文件
Q: 背景图片不显示?
A: 请确保配置文件中的路径格式正确,本地文件需使用 file:/// 前缀,且路径中尽量不要包含中文