Wand-Enhancer:本地解锁 Pro 订阅,再给 Wand 装一个手机远程面板
【免费下载链接】Wand-EnhancerAdvanced UX and interoperability extension for Wand (WeMod) app项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer
Wand-Enhancer 是一款面向 Wand(前身 WeMod)客户端的本地改造工具:它直接改写客户端的 asar 包,帮你打开 Pro 特性,还能在电脑上起一个手机能访问的远程面板。全程不出网、每一步可回滚,适合想折腾本地客户端的开发者。
能力总览:Wand 解锁 Pro 等 5 个补丁开关
补丁选择窗里的每个开关,都对应EPatchType枚举里的一个值,由WandEnhancer/Core/Enhancer.cs按位组合执行;匹配用的正则和替换模板统一放在WandEnhancer/Core/EnhancerConfig.cs。
| 开关 | 改变了什么 | 什么时候用 |
|---|---|---|
| Activate Pro(默认勾选) | 客户端里三处返回账号信息的服务方法被改写,响应中带上subscription: {period:"yearly", state:"active"},另在 store 层补一个ACTION_SET_ACCOUNT兜底,Pro 特性即刻生效 | 想让本地客户端用上 Pro 功能时 |
| DevTools Hotkey | 在 Electron 主进程的whenReady().then(位置挂before-input-event钩子,F12 即可开关 DevTools | 调试客户端行为、排查面板问题时 |
| Disable Updates | ACTION_CHECK_FOR_UPDATE的处理函数换成空实现,客户端不再请求更新源 | 游戏进行中不想被升级弹窗打断时 |
| Remote Web Panel Preview | 前端整体打包为remote-panel/塞进 asar,并注入桥接代码,让客户端在0.0.0.0:3223同时暴露 HTTP 与 WebSocket | 想让手机、平板访问客户端时 |
| Custom Scripts | 把挑选的.js一并打进 asar,与远程面板走同一条渲染器注入通道 | 想跑自己的脚本、又不想常驻远程面板之外内容时 |
所有改动只发生在你的机器上;工具本身不发任何网络请求。执行补丁前会先备份原始文件,主窗口的Restore Backup可随时把一切还原。
构建前准备:为什么官方不提供现成 exe
构建跑在 Windows 上,环境先备齐:CMake、Node.js、pnpm、Visual Studio 2022(装Desktop development with C++工作负载)、.NET Framework 4.8 目标包。
仓库没有放出任何预编译二进制。原因在 README 里说得很直白:非官方构建容易被反复重传、贴错标签、触发扫描器告警。稳妥的拿包路径是:fork 仓库 → 开启 Actions → 跑Build executable工作流 → 从 Artifacts 下载 zip。如果你愿意自己构建,切到仓库根目录执行build.cmd即可,它会依次完成 web-panel 前端打包、原生 CMake 组件编译、NuGet 还原、WPF 解决方案构建。
如何构建并跑起 Wand-Enhancer:第一次跑通的 6 步
- 克隆代码(仓库地址见 gitcode):
git clone https://gitcode.com/GitHub_Trending/we/Wand-Enhancer - 本地构建:装好上一节列的依赖后,在仓库根目录执行
build.cmd,等待前端、CMake、NuGet、WPF 四段流程跑完。 - 启动程序:运行
WandEnhancer.exe。主窗口会自动扫描%LOCALAPPDATA%\WeMod\app-*这类版本化目录,老品牌的WeMod目录名同样认。 - 确认识别:日志区出现绿色的
WeMod directory found at ...,右下角Patch按钮点亮,说明找到了目标。没找到就用Browse手动指向含resources\app.asar的目录。 - 勾选并执行:在补丁窗里勾选需要的开关(至少勾 Activate Pro),点Patch。内部流程是:先把
resources/app.asar复制为app.asar.backup、app.asar.unpacked目录一并备份,随后解包、正则替换、重新打包,最后在 Wand 根目录写入version.dll代理。 - 验证结果:日志出现
Done!且绿色Backup created出现,本次操作成功;之后可以随时用Restore Backup一键还原。
怎么从手机打开 Wand 远程面板
- 补丁窗里勾选Remote Web Panel Preview,完成一次 patch。
- 确认手机和电脑连在同一个 Wi-Fi。
- 手机浏览器打开
http://<电脑IP>:3223/remote/,看到面板即成功。
打不开时按顺序排查:
- 路由器是否开了AP 隔离 / 客户端隔离(访客网络经常默认开启);
- Windows 防火墙放行本地网络的 TCP
3223入站; - 网络连接类型从 Public 改为Private;
- 想用流量或跨网访问,参考 README 建议上 Tailscale 之类的组网工具,工具本身不做公网穿透。
自定义脚本怎么写,端口在哪改
自定义脚本复用远程面板的注入通道,因此必须先启用 Remote Web Panel 补丁。脚本运行在 Wand 的渲染进程里,能直接摸 DOM、能用 Noderequire;抛出的错误会被捕获写日志,不会拖垮客户端。注意:同一段脚本可能被执行多次(首次加载、稍后加载各一遍),一次性逻辑请挂globalThis.__xxxInstalled这类守卫。运行时可用的小工具:WandEnhancer.log(...)、WandEnhancer.remoteUrl、WandEnhancer.apiVersion。
添加脚本有两条等价路径:
- Patch 弹窗里点Add .js,选一个或多个已存在的
.js文件; - 在
WandEnhancer.exe同级新建renderer-scripts/目录,把.js丢进去。
重名脚本会自动追加.custom1、.custom2后缀防止覆盖;仓库web-panel/scripts/custom/下就放了一份示例脚本,可以直接抄。
端口与路径的"单一事实来源"是web-panel/protocol/web-contract.json:
"web-contract.json": 3223, "/remote/", "/remote/ws"(示意:defaultRemotePort为 3223,basePath为/remote/,webSocketPath为/remote/ws。)改端口只动这一个文件再重新构建,桥接层不会藏第二份常量;IPC 通道与 WebSocket opcode 集中在web-panel/bridge/src/constants.ts。想改前端就去web-panel/src/(Tailwind +src/shared/ui/共享组件),想调桌面配色或加语种,改的是WandEnhancer/Style/和WandEnhancer/Locale/下的 XAML,不碰 C#。
Wand 补丁回滚与排障:三个高频卡点
| 现象 | 原因 | 动作 |
|---|---|---|
Wand 升级后补丁失败,日志报The version may not be supported | 补丁靠正则匹配 minified JS 的函数形状,上游换了写法就失配 | 点Restore Backup还原 asar,等上游更新模板后重打;备份文件别手删,恢复流程依赖它 |
手机打不开http://<电脑IP>:3223/remote/ | 路由器 AP 隔离、防火墙拦截或网络类型为 Public | 确认同网段 → 放行 3223 入站 → 网络改 Private |
在 Releases 找不到.exe下载 | 官方只发说明,不发二进制 | fork 仓库、跑Build executable,从 Artifacts 拿包 |
红线与边界
- 项目没有官方 YouTube 教程、没有预编译 exe、没有第三方镜像。
- 视频简介、Discord 附件、陌生站点里的
.exe一律视为不可信。 - 构建产物未签名,首次运行时 SmartScreen / Windows Defender 拦截属正常现象。
- 只运行自己构建出来的那个二进制。
- 动手前备份游戏存档;把改动限定在单机或私人游戏会话里,这是对原作者最基本的尊重。
把客户端里几个"要 Pro 才给"的开关用可审计、可回滚的方式打开,再顺手得到一个手机侧面板——这就是 Wand-Enhancer 的全部承诺。构建完第一次 patch,日志里看到Done!与绿色Backup created,就可以关窗口开游戏了。
【免费下载链接】Wand-EnhancerAdvanced UX and interoperability extension for Wand (WeMod) app项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考