>_ DevTrendspt

Idioma

Início

Linguagens

Seções

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarcados Segurança
C-sharp

Como Turbinar o WeMod Sem Pegar um Minerador de Criptomoedas

Situação familiar: você encontra um utilitário legal para seu app favorito, vai ao YouTube em busca de um guia, e lá na descrição tem um link para um "super-patcher.exe" que, uma vez executado, rouba todas as senhas do seu navegador? Essa é exatamente a história do projeto WandEnhancer. O autor imediatamente emitiu um aviso enorme: não há executáveis oficiais nos lançamentos, e todos os vídeos do YouTube são golpes de fraudadores.

Na verdade, WandEnhancer é uma ferramenta de código aberto para usuários do aplicativo Wand (melhor conhecido como WeMod). Ele não invade o lado do servidor — funciona exclusivamente com o cliente local, adicionando recursos que estão faltando por padrão.

logo

Por que um desenvolvedor precisa disso

Se você achou que isso era apenas um "botão de trapaça", é mais interessante do que isso. O projeto é essencialmente um framework para injeção de JavaScript em um aplicativo desktop Electron/WPF. Isso permite personalizar a interface ao seu gosto, automatizar configurações do ambiente e até controlar o aplicativo remotamente.

Ponto interessante: o autor escolheu uma abordagem radical de segurança. Para garantir que você tenha 100% de confiança no código, eles sugerem não baixar arquivos pré-compilados, mas compilá-los você mesmo através do GitHub Actions em seu próprio fork. Este é um ótimo exemplo de como distribuir software que requer altos privilégios do sistema, mantendo a confiança do usuário.

O que o WandEnhancer pode fazer

O projeto aborda vários pontos problemáticos do cliente padrão. Aqui está o que achei mais útil:

  • Painel de controle remoto. Ele tem um servidor web integrado. Você escaneia um código QR com seu celular e pode controlar os recursos do app sem sair do seu jogo. Conveniente se você tem apenas um monitor.
  • Injeção de scripts personalizados. Você pode soltar seus próprios arquivos .js na pasta renderer-scripts, e eles serão executados no contexto da janela do app. Você obtém acesso completo ao DOM e ao Node.js require.
  • Temas e layouts. Se a interface escura padrão ficou entediante, você pode redesenhá-la ao seu gosto através dos mesmos scripts ou configurações integradas.

Como a mágica funciona nos bastidores

O projeto é escrito em C# (WPF) usando Node.js para a parte frontend do painel remoto. A arquitetura é bastante transparente: o patcher encontra os arquivos do cliente local, modifica-os para suportar injeção de scripts e inicia um servidor local para o painel web.

Para quem quer mergulhar no código, aqui está um exemplo de como fica um script de injeção personalizado:

if (!globalThis.__myPluginInstalled) {
  globalThis.__myPluginInstalled = true;

  WandEnhancer.log("Плагин запущен!", WandEnhancer.remoteUrl);

  // Следим за появлением диалоговых окон в интерфейсе
  new MutationObserver(() => {
    const dialog = document.querySelector("ux-dialog:not([data-seen])");
    if (dialog) {
      dialog.setAttribute("data-seen", "1");
      console.log("Обнаружено новое окно");
    }
  }).observe(document.documentElement, { childList: true, subtree: true });
}

Os scripts são executados no ambiente do renderer, então você pode usar APIs Web padrão. O autor até incluiu proteção: se seu script travar com um erro, ele simplesmente registra no log e não "trava" todo o aplicativo.

Segurança e compilação

Vou repetir: não procure WandEnhancer.exe na internet. A única forma segura de obter uma versão funcional é compilá-la você mesmo. O processo é assim:

  1. Faça um fork do repositório para o seu perfil.
  2. Vá até a aba Actions e execute o workflow "Build executable".
  3. Após a conclusão, baixe o artifact (arquivo zip) dos logs de build.

Se você decidir compilar localmente, prepare o Visual Studio 2022, CMake e pnpm. O processo é automatizado através de build.cmd, que irá puxar as dependências do frontend, compilar o helper nativo e compilar a solução WPF.

Vale a pena tentar

WandEnhancer é uma ferramenta de nicho. É definitivamente útil para quem usa ativamente o WeMod e quer tirar o máximo proveito: remover elementos desnecessários da interface ou adicionar controle remoto.

Para desenvolvedores, também é um exemplo claro de como estender aplicativos desktop fechados sem acesso ao código-fonte deles. O projeto está vivo com uma comunidade ativa (quase 7.000 estrelas no GitHub falam por si), mas requer habilidades mínimas com Git e compreensão de como scripts funcionam no navegador.

screenshot

O mais importante, lembre-se das configurações de rede. Se o painel remoto não abrir no seu celular, provavelmente é devido ao isolamento de clientes no seu roteador Wi-Fi ou ao Firewall do Windows bloqueando a porta 3223 por padrão.

Projetos relacionados