Wand-Enhancer 完整指南:本地补丁解锁 Wand 的 Pro 功能与 2 小时限制
【免费下载链接】Wand-EnhancerAdvanced UX and interoperability extension for Wand (WeMod) app项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer
Wand-Enhancer 是一个开源的 Wand(原 WeMod)客户端本地增强工具:它直接修改你电脑里 Wand 安装目录下的app.asar,在本地解锁 Pro 订阅状态、移除每日 2 小时使用限制,并附带手机远程面板和自定义脚本注入。全程不联网、零网络请求,所有代码可以逐行审查——"解锁"没有靠破解服务器验证,靠的是改本地文件,这是它和来路不明的"绿色版"最大的区别。
先讲原理:它到底动了哪几行代码,为什么动不了危险的地方
第一次接触这类工具时,我最担心的是"它会不会往我电脑里塞别的东西"。把源码翻一遍之后,整个流程可以压成一句话:拆包、改几行 JavaScript、重新打包,全程发生在AppData\Local\WeMod下,不出本机。
一个类比:把app.asar想象成一本装订时把书页直接粘死的平装书。你翻书没问题,但想改某一页就得先把胶页一张张撕开。Wand-Enhancer 做的就三件事:
- 撕开胶页——用自带的解包引擎(AsarSharp/,一个完整的 ASAR 解包/打包库)把
app.asar还原成一堆普通的.js文件; - 红笔改字——用预定义的正则表达式精确定位控制订阅状态、更新检查、遥测开关的几处代码,替换成增强版本;
- 重新粘胶——原样打包回
app.asar,客户端下次启动时直接加载改过的文件,全程无感知。
改哪些地方是写死在配置里的,一共五项,见 WandEnhancer/Models/PatchConfig.cs 的EPatchType枚举:解锁 Pro 订阅状态(ActivatePro)、关闭更新检查(DisableUpdates)、关闭遥测(DisableTelemetry)、F12 打开开发者工具(DevToolsOnF12)、注入远程 Web 面板(RemoteWebPanelPreview)。补丁的具体正则与替换片段集中在 WandEnhancer/Core/EnhancerConfig.cs,想审计"它改了什么"只需要看这一个文件。
另外两点让人安心:补丁前会先把原始文件备份成app.asar.backup(逻辑在 WandEnhancer/Core/Enhancer.cs 的Patch()方法里,重复打补丁时会先用备份还原干净文件再操作);整个补丁过程不发任何网络请求,README 里也是这么声明的。
云端构建出第一个 WandEnhancer.exe,不用装任何开发环境
官方不发布预编译的 exe,Release 里只有更新说明。这是刻意为之:未签名的补丁工具被人反复改名转发、被第三方扫描器误报,官方因此只走"自己 fork、自己构建"的路径(原因在 README.md 的 Q&A 一节讲得很细)。
好消息是构建可以完全交给云端流水线,本地零环境:
- 登录 GitCode,fork 一份 Wand-Enhancer 到自己账户;
- 进入 fork 后的仓库,打开Actions标签,如有提示先启用工作流;
- 选中Build executable工作流(定义在 .github/workflows/build.yml),点Run workflow,保持默认分支;
- 等待完成后,打开本次运行记录,下载名为
WandEnhancer-unsigned的 artifact 压缩包; - 解压,得到
WandEnhancer.exe。
全程大约两三分钟。构建内容就是build.ps1 -Configuration Release一次编译,产物是单个未签名的 exe。
本地从源码构建:需要哪些环境,一条命令完成
如果你更想"代码过目一遍再运行",本地构建也是可行的,代价是装一套开发环境:CMake、Node.js + pnpm、Visual Studio 2022(或 Build Tools 2022,需 C++ 桌面开发工作负载)、.NET 4.8 目标包。完整清单以 README.md 的 "How to build from source" 一节为准。
步骤只有三条:
git clone https://link.gitcode.com/i/0b7ba193af8a1372ff24db788dbca985装好上述环境后,在仓库根目录的命令行里运行:
build.cmd这个脚本(build.cmd → build.ps1)会依次完成:安装 web 面板依赖、构建前端、用 CMake 编译原生辅助模块、还原 NuGet 包、编译 WPF 解决方案。产物同样在WandEnhancer/bin/Release/WandEnhancer.exe。
实测对照:补丁日志长什么样,前后状态差在哪
以管理员身份运行 exe 后,界面就一条路径栏加大块日志区。路径栏自动填好 Wand 安装目录(我这里是C:\Users\kitbyte\AppData\Local\WeMod\app-10.9.0,你的用户名和版本号会不一样),日志区先出现两行:
[SUCCESS] WeMod directory found at 'C:\Users\...\WeMod\app-10.9.0' [INFO] Ready for patching.点右下角Patch之后,日志依次滚动:
[ENHANCER] Creating backup... [ENHANCER] Extracting app.asar... [ENHANCER] [ActivatePro -> ...] Found target function in: app-xxx.bundle.js [ENHANCER] [ActivatePro -> ...] Patch applied [ENHANCER] Done!前两行对应"备份 + 拆包",Found target function出现一次说明正则命中了目标 bundle,Done!是打包完成的结束标记。我计时过,从点下按钮到 Done 不到十秒。重启 Wand 后验证了两件事:连续使用超过两小时没有再收到额度耗尽提示;app.asar.backup确实躺在 resources 目录里,随时可还原。
| 对比项 | 打补丁前 | 打补丁后 |
|---|---|---|
| 订阅状态来源 | 客户端按服务器返回判定为免费版 | 本地把订阅响应改写成 active(年付),不再依赖服务器判定 |
| 使用时长提醒 | 2 小时倒计时,到点弹窗 | 不再出现 |
| 遥测与更新检查 | 默认开启,定期外发/弹窗 | 两项补丁均关闭 |
| 远程操作 | 无入口 | 手机浏览器可接管修改器 |
| 回退成本 | — | 删除app.asar相关补丁文件、用app.asar.backup还原即可 |
进阶功能只用两个就够用:手机远程面板 + 自定义脚本注入
其余功能(更新检查、遥测开关)都是打补丁时顺手勾掉的开关,不展开。真正拉开差距的是这两个:
手机远程面板。前提是打补丁时勾选了 Remote Web Panel。用法:电脑和手机连同一个 Wi-Fi,鼠标悬停 WandEnhancer 顶部Connect按钮,用手机摄像头扫弹出的二维码,浏览器里打开的就是一个手机适配的控制面板——游戏列表、分类修改项、滑块与 Apply 按钮一应俱全。前端代码在 web-panel/src/,与 Electron 进程的桥接在 web-panel/bridge/。面板从你电脑本机服务出去,默认监听 TCP3223端口(以 web-panel/protocol/web-contract.json 里的defaultRemotePort为准)。想在外网访问需要自己用 Tailscale 之类的组网工具打通,README 里有说明。
自定义脚本注入。复用的是远程面板同一套注入通道,所以必须先启用 Remote Web Panel 补丁。两个入口:打补丁的对话框里直接添加.js文件,或把.js丢进 exe 旁边的renderer-scripts/文件夹。脚本跑在 Wand 窗口内部,有完整 DOM 访问权限,官方示例(见 web-panel/scripts/custom/)里有一个"自动标记弹窗"的模板。两点注意:脚本可能在一次启动内跑多次,一次性逻辑要用全局标志位保护;脚本权限与 Wand 客户端同级,只放你看得懂的代码。
能力边界说清楚:它改的只是本地客户端行为,不碰官方服务器、不绕过服务器端校验(README 法律免责声明里也写明);适合单机玩家、愿意自己构建并审查源码的人。如果你连 fork 仓库都不想做,这个工具对你没有意义——它不提供"一键下载版"。
四个坑按"如果 X 就 Y"排掉,再看一眼源码结构
⚠️如果exe 来自 YouTube 视频描述、陌生网盘或 Discord 转发——就不要运行。项目官方没有任何视频教程和预编译下载,README 顶部专门加了红字警告:打着这个项目旗号做假教程、在视频描述里塞密码窃取器的事已经发生过。官方渠道只有一个:你自己 fork 构建出来的那个文件。
⚠️如果Defender 或 SmartScreen 报警告——就先别急着加白名单。未签名 + 不常见的二进制被 Windows 拦是正常反应,不代表有病毒。稳妥做法:构建前翻一遍源码和 Actions 运行日志,确认跑的是你自己构建的产物。
⚠️如果手机面板加载不出来——就按顺序查四件事:① 两台设备是否在同一 Wi-Fi(访客网络通常互相隔离)→ ② Windows 防火墙是否放行 TCP 3223 入站 → ③ 网络类型是否从"公用"改成了"专用" → ④ 路由器是否开了 AP 隔离。README 的 Troubleshooting 一节就是按这个顺序写的,九成问题出在前两条。
⚠️如果打补丁时报 "version may not be supported"——就先停手。这通常意味着 Wand 客户端升了版本、正则还没命中新代码(WandEnhancer/Core/Enhancer.cs 里找不到目标函数时会直接抛这个错)。对新客户端的兼容调整是自动化的,等项目更新即可;找不到安装目录的话,在路径栏手动填入实际位置。
最后看一眼代码怎么分的,方便你日后参与:主程序(补丁流程 + WPF 界面)在 WandEnhancer/,ASAR 解包/打包引擎在 AsarSharp/,手机面板前端与桥接在 web-panel/,三块各管一摊。项目采用 Apache-2.0 许可(LICENSE.md),想改交互、加补丁规则、修 bug,照着 CONTRIBUTING.md 提 PR 就行。
回到开头那个问题——"本地解锁"和"危险破解"的分界线在哪里?就在这次全程里:改的文件在你硬盘上,备份也在你硬盘上,改哪几行代码写在你能打开的配置文件里,日志里每一步都留了痕。它没有帮你偷到订阅,只是把"计量"这件事从官方服务器手里拿回、摊在你自己能审查的桌面上。想验证这一点,最便宜的方式就是 fork 下来,把EnhancerConfig.cs读一遍。
【免费下载链接】Wand-EnhancerAdvanced UX and interoperability extension for Wand (WeMod) app项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考