Notícia do IT Home em 26 de agosto: o engenheiro de engenharia reversa Xusheng Li publicou, em 15 de agosto, um post no blog com uma análise aprofundada do serviço Windows Health and Optimized Experiences.

O IT Home informou em 3 de agosto que a Microsoft adicionou os serviços de back-end acima ao sistema Win11. Os usuários relataram que esse serviço inicia automaticamente sempre que o computador liga, faz monitoramento contínuo do uso da CPU, temperatura e status da bateria e, a cada 15 minutos, envia os dados para a Microsoft.

Em resposta, a vice-presidente da Microsoft, Scott Hanselman, disse que esse recurso foi lançado em 2025 e que seu principal objetivo é coletar dados de diagnóstico de desempenho.

O engenheiro reverso Xusheng Li reverteu o serviço whesvc, e seus resultados corroboram basicamente as explicações da Microsoft, mas também revelou que sua arquitetura subjacente é muito mais complexa do que a de ferramentas comuns de diagnóstico de desempenho.

A função central do serviço whesvc está no windiag.dll (229 KB); essa biblioteca de links dinâmicos incorpora a linguagem de script Lua 5.4.7. A Microsoft também fornece whesvc_assets.dll, que contém 84 scripts Lua compilados, usados para lidar com diferentes cenários de diagnóstico. O mecanismo de scripts expõe 79 funções nativas, permitindo acessar capacidades de múltiplas classes do Windows.

O serviço pode ler e modificar o Registro do Windows, realizar operações de arquivos, criar e interagir com processos, consultar WMI (Windows Management Instrumentation), coletar registros do ETW (Windows Event Tracing), verificar tokens de segurança, obter informações de energia e temperatura, baixar arquivos de símbolos, criar arquivos .cab e iniciar solicitações HTTP.

O serviço também oferece um FFI genérico (interface de funções externas), que permite que scripts chamem bibliotecas dinâmicas nativas e operem vários tipos de identificadores (handles) do Windows. No entanto, Li não encontrou evidências de que a Microsoft use esses recursos para modificar arquivos ou o registro aleatoriamente; os scripts existentes executam principalmente tarefas de diagnóstico comuns.

Esses scripts podem coletar registros de rastreamento após a aplicação deixar de responder, monitorar a latência de entrada e anomalias na exibição, identificar aplicativos com inicialização lenta e detectar serviços que permanecem em estado de suspensão por longos períodos.

Os módulos relacionados à energia conseguem investigar consumo anormal da bateria, determinar a causa que impede o computador de entrar em suspensão e responder a comportamentos contínuos de alto consumo. O módulo memory_handle_leak acompanha a memória e a quantidade de handles em múltiplos intervalos de tempo e, em seguida, usa a tendência de crescimento contínuo e a inclinação da regressão linear para distinguir possíveis vazamentos de memória de um crescimento normal.

O módulo system_summary gera um resumo JSON de 900 segundos, ou 15 minutos, mas o arquivo é salvo localmente. Embora o serviço tenha recursos de rede, Li não encontrou cenários em que ele realmente faça qualquer solicitação HTTP.