Corrigir erro SecurityHealthSSO.dll no Windows 11 (Bad Image 0xc000012f)

Erro “SecurityHealthSSO.dll” no Windows 11? Aprenda por que o alerta Bad Image 0xc000012f surge na inicialização, como substituir o DLL danificado com total segurança e quais passos extras garantem que o Windows Security volte a funcionar sem pop‑ups incômodos.

Índice

Visão geral do problema

Durante o boot do Windows 11, alguns usuários se deparam com a janela:

C:\Windows\System32\SecurityHealth\<versão>\SecurityHealthSSO.dll
não foi feito para ser executado no Windows ou contém um erro (0xc000012f)

Além de comprometer a experiência de uso, o aviso impede que a interface do Windows Security se abra corretamente, limitando o acesso a Antivírus, Firewall e outras áreas críticas de proteção.

O que causa o erro SecurityHealthSSO.dll — Bad Image 0xc000012f?

O Windows armazena todos os componentes do Windows Security em subpastas numeradas (10.0.<build>‑<revision>) dentro de %SystemRoot%\System32\SecurityHealth. Quando o arquivo SecurityHealthSSO.dll é corrompido, excluído ou substituído por versão incompatível (por falha de atualização, antivírus de terceiros ou desligamento abrupto), o carregamento do módulo falha e o sistema exibe o código de exceção BADIMAGEFORMAT.

O identificador 0xc000012f indica que o binário não passou nas checagens internas de assinatura ou está danificado em nível de estrutura PE (Portable Executable).

Como corrigir substituindo o DLL corrompido

Passo a passo rápido

  1. Anote a pasta exata indicada na caixa de diálogo (ex.: 10.0.27777.1008‑0).
  2. Baixe a versão correta de SecurityHealthSSO.dll ou um pacote ZIP contendo o diretório completo e copie para C:\Temp.
  3. Abrindo o Prompt elevado (Iniciar → Pesquisar → cmd → Executar como administrador), execute:
cd /d C:\Windows\System32\SecurityHealth\<em>&lt;versão&gt;</em>
takeown /f SecurityHealthSSO.dll /a
icacls SecurityHealthSSO.dll /grant *S-1-5-32-544:(F)
copy /y C:\Temp\SecurityHealthSSO.dll
  1. Reinicie e confirme que o pop‑up desapareceu.
  2. Exclua C:\Temp se quiser.

Por que esses comandos?

UtilitárioPapel na correção
takeownTransfere a propriedade do arquivo protegido para o grupo Administradores.
icaclsConcede Full Control (F) de forma explícita, ignorando restrições de TrustedInstaller.
copySobrescreve silenciosamente (/y) o DLL defeituoso, liberando‑o de proteção de integridade.

Método alternativo: instalador de atualização da plataforma

Alguns fabricantes disponibilizam SecurityHealthSetup.exe, um instalador que verifica assinaturas, restaura permissões corretas e substitui todos os componentes corrompidos de uma só vez. Caso esteja acessível em portal corporativo ou canal de suporte oficial, basta:

  1. Executar o instalador como administrador.
  2. Escolher Repair quando solicitado.
  3. Reiniciar o sistema após a barra atingir 100 %.

É o método recomendado em ambientes empresariais, pois preserva ACLs padrão e remove a necessidade de intervenções manuais.

Falhas comuns e como resolvê‑las

  • The system cannot find the file specified — Verifique se C:\Temp\SecurityHealthSSO.dll existe e se não houve mudança de extensão.
  • Versão divergente — Baixe o pacote exato que corresponda à pasta exibida (27777.1008‑0, por exemplo). DLLs de builds diferentes falham ao registrar.
  • Access is denied — Execute o Prompt como administrador e confirme se seu usuário está no grupo Administradores. Em redes corporativas, políticas de ACL podem exigir elevação via runas /user:DOMAIN\admin.
  • Arquivo em uso — Ocorrência rara; reinicie em Modo de Segurança e repita a cópia.

Verificações e manutenção pós‑correção

A correção funcionou, mas manter o ecossistema íntegro evita reincidências:

  1. Verificar integridade do sistema:
sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth
  1. Atualizar o Windows — verifique Configurações → Windows Update; instale cumulativos pendentes e Intelligence Updates do Microsoft Defender.
  2. Criar ponto de restauração antes de alterações futuras em %SystemRoot%.
  3. Digitalizar o DLL baixado com o antivírus de sua preferência ou com mpcmdrun -Scan -ScanType 3.
  4. Reiniciar duas vezes se a interface Privacidade e Segurança → Windows Security ainda demorar a carregar (alguns serviços se registram apenas no segundo boot).
  5. Coletar logs FRST em caso de persistência: publique o FRST.txt e o Addition.txt para análise de especialistas.

Perguntas frequentes

PerguntaResposta curta
Preciso manter a pasta C:\Temp?Não, pode excluir.
Posso usar CTRL+C / CTRL+V para copiar o DLL?Geralmente falha por permissões; utilize o comando copy.
O erro pode voltar?Apenas se o DLL ficar corrompido novamente (atualizações mal‑sucedidas, antivírus).
A correção vale para outras versões?Sim, basta trocar a pasta e baixar o DLL correspondente.
É seguro baixar DLLs de sites aleatórios?Evite. Prefira catálogos oficiais ou repositórios validados por comunidades respeitadas.
O que é BADIMAGEFORMAT?Falha de integridade/assinatura que impede a carga de um binário Win32.

Entenda a arquitetura do Windows Security

Desde o Windows 10 1703, o Windows Security Center (WSC) foi remodelado. O SecurityHealthService.exe orquestra módulos especializados (SecurityHealthAgent.dll, SecurityHealthSSO.dll etc.) empacotados em pastas de versão para permitir atualizações independentes dos cumulativos mensais.

Quando um único DLL falha nas checagens de assinatura (Authenticode), o serviço ainda inicia, mas as chamadas ao módulo quebrado lançam o erro Bad Image. Como o WSC se conecta ao UWP front‑end via COM, qualquer exceção nessa ponte bloqueia a interface gráfica.

Roteiro avançado de solução de problemas

  1. Auditar eventos: abra Visor de Eventos → Aplicativo e Serviços Logs → Microsoft → Windows → SecurityHealthService. Procure IDs 1005, 1008 ou 1011 para rastrear DLLs que falharam no carregamento.
  2. Checar assinaturas: execute Get-AuthenticodeSignature "C:\Temp\SecurityHealthSSO.dll" no PowerShell; o status deve retornar Valid.
  3. Hash de referência: para builds de Insider, consulte %windir%\WinSxS\ManifestCache e compare SHA‑256 do arquivo com o informado em .cat associado.
  4. Modo Seguro com Rede: se a cópia falhar no ambiente normal, reinicie pressionando F8 ou via msconfigBootSafe boot.
  5. Reparo in‑place: quando múltiplos DLLs acusarem erro, considere Upgrade Repair (Media Creation Tool no mesmo build).

Boas práticas para evitar o problema no futuro

  • Não desligar forçadamente durante updates.
  • Desinstalar antivírus redundantes que interfiram na pasta SecurityHealth.
  • Monitorar o Reliability Monitor; queda recorrente de SecurityHealthHost.exe sinaliza corrupção iminente.
  • Agendar chkdsk regularmente em SSDs com SMART indicando C5 Current Pending Sector > 0.
  • Configurar backup de imagem no Histórico de Arquivos ou em software de terceiros; restauração full System32 leva segundos e evita reinstalação.

Conclusão

O erro “SecurityHealthSSO.dll — Bad Image 0xc000012f” parece assustador, mas na prática costuma ser resolvido apenas substituindo o DLL corrompido ou rodando o instalador de reparo da plataforma. Seguindo as instruções acima, você restaura o Windows Security, garante que o Defender continue protegido por reputação de assinatura e evita pop‑ups em cada inicialização. Mantenha o sistema atualizado, valide os downloads e crie pontos de restauração — assim você estará preparado para qualquer eventualidade.

Índice