Wand-Enhancer 一次本地补丁解锁 Pro 功能与手机远程面板
2026/9/13 10:17:14 网站建设 项目流程

Wand-Enhancer 一次本地补丁解锁 Pro 功能与手机远程面板

【免费下载链接】Wand-EnhancerAdvanced UX and interoperability extension for Wand (WeMod) app项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer

Wand-Enhancer 是面向 Wand(原 WeMod)游戏修改客户端的开源本地补丁工具。一次离线修补,就能解锁本地 Pro 功能、手机浏览器远程面板和自定义脚本注入——不注册账号、不发任何网络请求,全部源码可审计。这篇文章把从构建到首次打补丁、补丁项勾选、注入脚本编写,到出问题怎么排错回滚讲一遍。

Wand-Enhancer 到底解决什么问题

先说清楚:它不碰服务端验证。作者在项目说明里写明,整个工具零网络请求,只改本地客户端文件。那它实际解决了什么?两件事。

一是 AI 功能、布局与主题定制这些 Pro 能力被官方付费订阅绑着,走云端验证、必须联网;二是客户端跑在 PC 上,游戏开在客厅机器,躺在床上想调个数值就得爬起来。

和官方订阅比,差别浓缩成四行:

  • 成本:付费 vs 免费开源
  • 验证:云端验证 vs 全本地离线
  • 定制:功能集固定 vs 脚本与面板都能自己改
  • 隐私:必须联网 vs 零网络请求、源码全开放

首次构建与打补丁步骤

项目刻意不发布预编译二进制。原因在说明里写得很直白:无签名的补丁工具会被第三方反复重新上传、塞入恶意代码,与其背锅不如让大家从自己的 fork 构建。

路线一,GitHub Actions,不用装本地开发环境:Fork 仓库,打开 Actions 标签页并按提示启用工作流,选中 Build executable 工作流点 Run,完成后下载 artifact 压缩包,解压运行WandEnhancer.exe

路线二,源码构建:先克隆git clone https://gitcode.com/GitHub_Trending/we/Wand-Enhancer,装好 CMake、Node.js、pnpm、Visual Studio 2022(含 MSBuild 与 C++ 工作负载)、.NET Framework 4.8 桌面开发工具,然后运行build.cmd——它依次构建前端、用 CMake 编译原生辅助库、再构建 WPF 解决方案。

首次运行就三步:双击启动(免安装);程序自动检测 Wand 安装目录,检测不到就用顶部的 Folder path 手动选;日志出现绿色 SUCCESS 和 Ready for patching 后,勾选补丁项,点 Patch。

补丁对话框里的五个勾选项怎么选

勾选项对应 WandEnhancer/Models/PatchConfig.cs 中EPatchType枚举的 5 个值,可任意组合:

  • ActivatePro:把客户端里上报订阅状态的几个方法在本地层面改写,让检查结果恒为已激活,AI、布局与主题定制随之可用。这里有个坑:某些版本切换语言会把 Pro 状态冲掉,补丁把语言接口的返回值也包了一层,防止覆盖。
  • DisableUpdates:阻止客户端自动更新,避免升级把补丁文件冲掉。
  • DisableTelemetry:关闭遥测上报。
  • DevToolsOnF12:按 F12 打开开发者工具。钩子挂在 Electron 主进程启动钩子上而不是渲染层,跨客户端版本更不容易失效。
  • RemoteWebPanelPreview:最实用的一项。补丁后 PC 上会启动本地 HTTP + WebSocket 服务,默认端口 3223,手机浏览器打开就能看到游戏列表、修改控制与实时数值,连远程 Play/Stop 修改器都支持。

面板用法:确保 PC 与手机在同一 Wi-Fi,鼠标悬停 WandEnhancer 顶栏的 Connect 按钮,用手机扫弹出的二维码。游戏库、数值同步、远程 Apply 都在这一个页面里;常用修改项可以置顶,一组常用数值还能存成预设,存在浏览器本地,换台手机连回同一台 PC 依然生效。端口与协议版本统一放在 web-panel/protocol/web-contract.json:端口 3223,前后端共用一份,不用两边各维护一套。

给 Wand-Enhancer 写自定义注入脚本

只要远程面板补丁处于启用状态,打补丁时就能把自己的 JavaScript 打包进客户端渲染进程:完整 DOM 访问,Node 的require也能用;执行错误有捕获层,脚本抛异常不会搞崩客户端。

有个前提要注意:同一个脚本在一次客户端启动里可能执行多次,所以一次性初始化逻辑要用全局标志挡住,官方示例的思路就是:

if (!globalThis.__helloScriptInstalled) { globalThis.__helloScriptInstalled = true; WandEnhancer.log("Hello from my custom script!"); }

WandEnhancer.logWandEnhancer.remoteUrl这类助手对象开箱即用,配合 MutationObserver 监听弹窗等 DOM 变化,就能修掉界面上的小毛病。脚本有两种加入方式:补丁对话框里选.js文件(只接受已存在的 .js),或把脚本丢进 exe 旁边的renderer-scripts/文件夹;内置默认脚本在 web-panel/bridge/scripts/default/。

补丁引擎:改写 app.asar 的四步流水线

Wand 是 Electron 应用,整个前端打包在resources/app.asar里。ASAR 是 Electron 的打包格式,本质是一份前端文件(JS 等)组成的文本归档——可以解开来看、逐文件读写的"压缩包"。

流水线四步走:

  1. 备份:先把app.asar完整复制成app.asar.backup(未打包目录同理备份),原始文件永远不动,随时点 Restore 一键回滚。
  2. 定位:每条规则带正则加搜索关键字,先核对关键字再在压缩混淆的代码里精确锚定目标函数。
  3. 改写:匹配后由工厂方法基于匹配内容动态生成替换函数体塞进归档;匹配不到就原样跳过。
  4. 校验:规则声明只该匹配一处却找到多处,直接抛 version not supported 报错,绝不硬改。

说白了,这是一套带保险条款的查找替换宏:目标段落找不到不动手,找到两处有歧义也不动手。ASAR 读写库在 AsarSharp/,全部补丁规则集中在 WandEnhancer/Core/。

常见问题排错与回滚

Patch 按钮灰着不能点:已打过补丁,先 Restore 恢复备份再重新打。SmartScreen 或 Defender 报警:自构建文件无签名,只运行自己从 fork 构建的二进制,别碰来路不明的 exe。远程面板页面打不开:大概率是路由器开了客户端隔离或防火墙没放行,同一 Wi-Fi、关掉 AP 隔离、放行 TCP 3223,必要时把 Windows 网络类型从公用切到专用。报 version not supported:客户端升级改了代码,更新本项目的补丁规则后重试。打完补丁部分功能没生效:勾选项不全,核对对话框后重启 Wand 客户端。

如果非要跨网络(手机流量)用面板,走 Tailscale 这类组网工具。

补丁打完,Pro、手机远程面板和脚本扩展一起到手;真出问题,Restore 一点就退回去。

【免费下载链接】Wand-EnhancerAdvanced UX and interoperability extension for Wand (WeMod) app项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询