给 Wand 客户端装上“解锁工具“:Wand-Enhancer 如何把被隐藏的能力一一打开
2026/8/19 14:49:46 网站建设 项目流程

给 Wand 客户端装上"解锁工具":Wand-Enhancer 如何把被隐藏的能力一一打开

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

Wand-Enhancer 是一个开源的本地互操作工具,专门为 Wand(WeMod)桌面客户端解锁被隐藏的高级能力:Pro 状态、开发者调试入口、手机远程控制面板,以及任意自定义脚本注入。它不联网、不破坏数字签名、完全在本地完成修改,面向的是那些既想要完整功能、又不想把信任交给来路不明破解包的普通玩家和技术爱好者。本文不打算写一份"三步教程",而是顺着这个项目真实的工作方式,把"它到底在改什么、怎么改、改完之后还能玩出什么"讲清楚。

一个下午,Pro 标识悄悄消失了

很多 WeMod 老用户都经历过这样的场景:某天打开客户端,熟悉的 Pro 徽标不见了,广告回来了,训练器右上角的倒计时也回来了。你什么都没做,它自己"降级"了。

Wand-Enhancer 的维护者在 changelog 里还原了这类事故的真相:客户端会在后台周期性刷新账号数据(refreshAccount)、处理推送更新、甚至在你切换界面语言时重新写入账号状态——这些路径都会绕过 Pro 校验,把补丁打出来的效果"洗掉"。更隐蔽的是 1.0.9.3 版本修复的 bug:用官方的手机配对码连接另一台设备,会触发服务端把当前桌面会话直接登出。

这些问题的共同点是:你面对的不是一个开关,而是一套会自我修复的客户端逻辑。这也决定了 Wand-Enhancer 不能靠"改一个配置项"完事,它得在客户端代码里做更精细的手术。

拆开看:这个补丁工具到底在锁着哪几扇门

项目的补丁类型定义在WandEnhancer/Models/PatchConfig.cs,一个枚举就写明了全部可解锁能力:

  • ActivatePro:向账号服务方法注入subscription:{period:"yearly",state:"active"},覆盖getUserAccountsetAccountWandBrandExperiencesetAccountLanguage三个返回账号数据的接口,最后再用setAccountReducer重写ACTION_SET_ACCOUNT的 store reducer,保证任何账号写入路径都"留住"Pro。
  • DisableUpdates:把ACTION_CHECK_FOR_UPDATE的处理器替换为空实现,客户端不会再弹更新。
  • DevToolsOnF12:在 Electron 主进程的whenReady().then(锚点挂一个before-input-event钩子,按 F12 直接开 DevTools,而且刻意不碰渲染进程的 keydown 监听——因为那个位置在每次 Wand 发版时都会变。
  • RemoteWebPanelPreview:整套远程面板,包括桥接层、渲染脚本、游戏库同步,全部注入到客户端里。

值得注意的细节是,这些补丁没有一个是"改个布尔值"。它们在WandEnhancer/Core/EnhancerConfig.cs里以正则表达式定义目标函数,setAccountLanguage那个补丁甚至要动态捕获真实参数名再重建函数体——因为压缩后的变量名每次构建都可能不同。这也是它能在 Wand 频繁更新后依然工作的原因:锚点选在稳定位置,字段名靠运行时解析,而不是写死。

补丁管线:在 app.asar 里做一场可逆的外科手术

Wand 是 Electron 应用,核心代码打包在resources/app.asar里。Wand-Enhancer 的工作流程(WandEnhancer/Core/Enhancer.cs)可以概括为四步:

  1. 先杀掉运行中的客户端进程,检查app.asar.backup:首次打补丁就备份,之后再打则先恢复原始文件,保证每次都在"干净状态"上操作;
  2. 用自带的 AsarSharp 库把app.asar解包到app.asar.unpacked
  3. 遍历app-*.bundle.jsindex.js,按配置逐条应用正则补丁;
  4. 重新打包回app.asar,并在客户端根目录放置一个version.dll代理加载器。

每一步都有日志输出到界面,补丁失败时会把错误原因(比如"找到多个目标函数,此版本不支持")直接打出来,而不是静默失败。界面上的成功提示[SUCCESS] WeMod directory found at ...意味着检测通过、可以开始。

整个过程中所有操作都在本机完成,没有任何网络请求;补丁通过修改本地文件实现,不触碰数字签名。正因如此,官方把它定位成"本地客户端配置增强",而不是注入器或破解器。

把整个客户端搬进手机:远程面板与自定义脚本

补丁只是起点,真正让人眼前一亮的是 1.0.7.0 引入的Remote Web Panel。打上RemoteWebPanelPreview补丁后,客户端内部会跑起一个 WebSocket 桥接服务(默认端口3223),把训练器状态、数值变更、游戏库实时同步出来。PC 和手机连同一个 Wi-Fi,悬停客户端顶部的 Connect 按钮,用手机扫二维码即可接入。

手机端能做的不只是"看看":可以远程启动/停止训练器、调节数值滑杆、开关作弊项,甚至把某个作弊项钉在列表顶部(pinned-cheats)、保存快速预设(presets)。客户端里那个原本被锁住的 Pro 远程卡片会被替换成这套本地方案,这也解释了为什么项目要专门禁用官方的手机配对流程——两套远程控制会互相打架。

同一条注入通道还支持自定义脚本:打补丁时选择一个或多个.js文件,或把脚本丢进可执行文件旁的renderer-scripts/目录,它们就会被打包进客户端、随 Wand 窗口一起运行,拥有完整的 DOM 访问权和 Noderequire能力。脚本用WandEnhancer.log(...)输出日志、用全局标志防止重复执行,抛出的错误会被捕获而不会拖垮客户端。官方给的hello.js示例就是一个监听弹窗的 MutationObserver——想自己改界面逻辑的玩家可以从这里开始。

拿到它之前,先读懂三行安全声明

Wand-Enhancer 没有官方预编译的 exe,也不在 GitHub Releases 里挂二进制文件——这是刻意为之:无签名的补丁工具反复被第三方站点重新打包、贴错标签、触发杀软误报。官方推荐的获取方式是 fork 仓库,在自家 Actions 里跑Build executable工作流,下载产物后自己运行。构建产物是未签名的,Windows SmartScreen 大概率会弹警告,这是预期行为,不是木马信号。

仓库里还有三条值得先读的声明:

  • 没有官方 YouTube 教程。网上用这个项目名字做教程、在描述里塞恶意软件的骗子不少,任何从视频链接下载的 exe 都不可信;
  • 完全离线。桌面补丁工作不出本机,远程面板也只在你家局域网内提供服务;
  • Apache-2.0 许可,仅限教育、研究与本地互操作。修改软件可能违反 Wand 的服务条款,请在个人环境内使用。

如果你熟悉 Windows 开发,也可以走源码路线:需要 CMake、Node.js + pnpm、Visual Studio 2022 和 .NET Framework 4.8,仓库根目录的build.cmd会依次构建前端面板、原生 helper 和 WPF 主程序。Web 面板前端在web-panel/,桥接层在web-panel/bridge/src/,想研究渲染器注入的可以从installed-apps-sync.js读起。

想动手的话,第一步很明确:打开官方仓库,读一遍 README 里的安全提示,然后 fork 并在自己的 Actions 里构建一次。补丁前记得先备份,补丁后如果遇到问题,界面上 Restore 按钮可以一键回滚到原始文件。工具只是把门打开,至于走进门之后要改什么、玩出什么花样,那就是你自己的事了。

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

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

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

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

立即咨询