- C 62.2%
- JavaScript 35.3%
- CMake 2.5%
| frontend | ||
| include | ||
| resources | ||
| src | ||
| .gitignore | ||
| build.js | ||
| CMakeLists.txt | ||
| DISCLAIMER.md | ||
| enc.js | ||
| LICENSE | ||
| package.json | ||
| plugin.example.js | ||
| README.md | ||
| toolchain-mingw64.cmake | ||
SWHelper
For use only in non-China regions and exclusively within an internal network environment.
It is strictly prohibited to use on devices connected to the public network.
DISCLAIMER
你可以在 Releases 中下载预编译的二进制文件.
安装
首先你需要下载SWHelper(带有GUI的版本),然后直接打开,先进行解冻操作以便安装服务:
依次点击: SWFreeze管理器 -> 切换 stopProtect (强制禁用) 状态 -> 立刻重启系统
在设备开机进入系统前,如果可以,建议拔掉一体机设备的网线,直到开机5分钟后再连接,这样可以避免解冻信息上传。
再次开机后,此时设备应该已经解冻,将之前下载的SWHelper复制到一个安全且不易被发现的位置(例如C:\Windows\System32\并重命名为pwsh.exe),此时再次打开SWHelper,安装自启动服务:
依次点击:概览 -> 注册服务
注册完自启动服务后,你可能还需要重启启用冰点:
依次点击: SWFreeze管理器 -> 切换 stopProtect (强制禁用) 状态 -> 立刻重启系统
SWHelper将在重启后完成安装,开机后5-10s内锁屏及管家右上角会出现一个非常不明显的灰色“+”按钮,在锁屏界面点击时,默认解锁屏幕,在管家内部点击时,将打开Helper菜单。
如果你需要编辑配置文件(例如禁用在锁屏界面中的LiteHelper),按照上面的方法解冻即可。
编译
依赖: CMake >= 3.10, nodejs 22.x & npm, C 编译器 (Windows 下推荐 MSVC VS2022, Linux 下推荐 mingw-w64 交叉编译)
推荐构建 Release 版本以获得最佳性能
1. Windows (使用 MSVC)
在 Visual Studio 2022 的 Developer PowerShell 或 Developer Command Prompt 中运行:
cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -G "Visual Studio 17 2022" -A x64
cmake --build build --config Release
# 安装 (可选,安装到 build/install 目录)
cmake --install build --prefix build/install
2. Linux (使用 MinGW 交叉编译)
确保已安装 x86_64-w64-mingw32-gcc 等交叉编译工具链
cmake -DCMAKE_TOOLCHAIN_FILE=./toolchain-mingw64.cmake -B build -S . -DCMAKE_INSTALL_PREFIX=build/install -DCMAKE_BUILD_TYPE=Release
cmake --build build
# 安装 (安装到 build/install 目录)
cmake --install build
其他编译选项
你可以通过 cmake -D<OPTION>=ON 的方式传递参数:
-DMUUID="your-uuid": 指定允许的机器码 (MUUID)-DNOICON=ON: 不带图标编译 (体积更小)-DNODESC=ON: 剔除VERSIONINFO/StringFileInfo/VarFileInfo资源信息-DENC=ON: 生成并使用加密后的中间源码进行编译-DBUILD_GUI=OFF: 关闭 Nuklear GUI,仅构建核心/命令行能力
命令行用法
用法: swhelper.exe [选项] [PID]
选项:
(none) 运行 GUI 模式
--daemon 运行 Daemon 模式
--loader 运行 Loader 模式
--test 运行测试模式
--clean 运行清理模式
--SWFreezeAPI-check 查看SWFreezeAPI服务状态
--SWFreezeAPI-modify <vol> 通过SWFreezeAPI设置磁盘状态
--SWFreezeAPI-off 通过SWFreezeAPI关闭保护
--SWFreeze-query 查询SWFreeze运行时状态
--SWFreeze-modify <vol> 开启保护并设置SWFreeze磁盘状态
--SWFreeze-stop <0|1> 强制开关还原功能 (1=停止, 0=正常)
--SWFreeze-off 关闭并禁用SWFreeze
--SWAce-list 显示SWAce状态与磁盘信息
--SWAce-mount <d> <p> [L] 挂载SWAce磁盘分区到指定盘符
--SWAce-umount <d> <p>|L 卸载指定SWAce磁盘分区或盘符
--PassV3-crack [opts] 破解6位数字PasswordV3密码
--PassV3-gen <pass> [opts] 生成PasswordV3密码
--AutoStart-reg 注册自启动服务
--AutoStart-unreg 删除自启动服务
--muuid 查看当前机器码
--help, -h 显示此帮助信息
参数:
[PID] : 在注入模式下指定目标进程PID, 主要在调试时使用
<vol> : 按Z-A二进制格式排列的磁盘, 例如选择C盘为100, C盘和D盘为1100
<d> : 指定要操作的SWAce磁盘ID, 可通过--SWAce-list查看
<p> : 指定要操作的SWAce磁盘分区, 可通过--SWAce-list查看
[L] : 指定要挂载到的目标磁盘序列号, 可为0-9A-Z的任意字符, 末尾不带冒号
<d> <p>|L : 指定要卸载的SWAce磁盘ID及分区或卸载指定盘符上挂载的SWAce分区
[ps] : PassV3破解器参数:
[--device-id <id>] : 指定设备ID
[--machine-id <id>] : 指定MachineID,包含括号
[--passv3 <pass>] : 指定要破解的PassV3密码
其中设备ID和MachineID为一对, 必须一起指定, PassV3仅在计算密码时可用
修改配置
首次成功运行后,SWHelper会在当前用户目录下生成配置文件:
- 配置文件路径:
C:\Users\用户名\.swhelper.config
该配置文件使用JSON语法,若包含语法错误可能会导致配置被重置,在保存新配置前建议检查一下。
配置文件示例:
{
"disableHelper": false,
"enableLiteWhenLock": true,
"autoHideInfo": false,
"backgroundImage": "file:///C:/Users/Public/Pictures/my_wallpaper.jpg",
"plugins": [
{
"url": "file:///C:/Users/seewo/my_plugin.js",
"loadType": "loadOnce"
}
]
}