Sobre o Registry do Windows (e como é alterado pelos vírus)

1. Sobre o comportamento dos vírus

Alguns vírus alteram o register para evitar que seus arquivos sejam descobertos. Isso é feito alterando o REGISTRY para ocultar alguns tipos de arquivos. A forma mais simples é alterar as configurações do usuário (chave HKCU).

Entretanto, eles podem ser mais sofisticados e usar a configuração da forma como as opções de pasta são feitos. Nesse caso, os vírus alteram, também, a chave (HKLM). Nessas chaves estão configurados os valores numéricos a serem usados nas chaves de configuração propriamente ditas. O que os vírus fazem é escrever o valor desejado nas várias possibilidades (em geral são duas: ligada ou desligada) de seleção. Esse valor desejado pelo vírus é aquele que corresponde a manter os recursos ocultos.

2. Chaves de Configuração do Windows

No Windows, existem três chaves que escondem algumas informações dos arquivos (quando não escondem todo o arquivo).
As chaves são as seguintes:
As chaves que controlam a opção do usuário são as seguintes:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]

HideFileExt: Controla a apresentação do tipo do arquivo. Controlado nas "Opções de pasta", no checkbox "Ocultar as extensões dos tipos de arquivos conhecidos"
1: o tipo do arquivo NÃO será apresentado;
0: o tipo do arquivo será apresentado.

ShowSuperHidden:  Controla a apresentação dos arquivos protegidos do sistema. Controlado nas "Opções de pasta", no checkbox "Ocultar arquivos protegidos do sistema operacional (recomendado)"
1: os arquivo são apresentados;
0: os arquivos NÃO são apresentados.
Hidden: Controla a apresentação dos arquivos ocultos. Controlado nas "Opções de pasta", no grupo de botões "Pastas e arquivos ocultos".
O que será que acontece se for colocado "0"?
1: os arquivos e pastas ocultas serão APRESENTADOS;
2: os arquivos e pastas ocultas NÃO serão apresentados.

"SuperHidden"=dword:00000000


3. Chaves de Configuração da Ferramenta de Configuração do Windows

No registry do Windows, existem chaves que controlam como a janela "Opções de pasta" interpretam as marcas selecionadas nos checkbox. Assim, se o usuário marcar um checkbox, isso poderá significar colocar "1" ou "0" nas chaves apropriadas (listadas acima), dependendo dessas outras chaves. Essas chaves são as seguintes:

3.1. Controle da chave HideFileExt

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\HideFileExt]
ValueName: Define o nome da chave a ser alterado na configuração do Windows (normalmente, "HideFileExt")
CheckedValue: valor a ser usado, quando o usuário SELECIONAR o checkbox (normalmente, "1")
UncheckedValue: valor a ser usado, quando o usuário DESELECIONAR o checkbox (normalmente, "0")
DefaultValue: valor a ser usado, quando o usuário clicar o botão "Restaurar padrões" (normalmente,  "1")

3.2 Controle da chave ShowSuperHidden

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\SuperHidden]
ValueName: define o nome da chave a ser alterado na configuração do Windows (normalmente, "ShowSuperHidden")
CheckedValue: valor a ser usado, quando o usuário SELECIONAR o checkbox (normalmente, "0")
UncheckedValue: valor a ser usado, quando o usuário DESELECIONAR o checkbox (normalmente, "1")
DefaultValue: valor a ser usado, quando o usuário clicar o botão "Restaurar padrões" (normalmente,  "0")

3.3 Controle da chave Hidden

Essa chave é um grupo de botões (ainda não entendi o porquê é um grupo e não um checkbox).

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\NOHIDDEN]
Corresponde a configuração, quando selecionado "Não mostrar pastas e arquivos ocultos"
CheckedValue: valor a ser usado quando o usuário selecionar essa opção (normalmente, "2")
ValueName: define o nome da chave a ser alterado na configuração do Windows (normalmente, "Hidden")
DefaultValue: valor a ser usado, quando o usuário clicar o botão "Restaurar padrões" (normalmente,  "2")

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL]
Corresponde a configuração, quando selecionado "Mostrar pastas e arquivos ocultos"
CheckedValue: valor a ser usado quando o usuário selecionar essa opção (normalmente, "1")
ValueName: define o nome da chave a ser alterado na configuração do Windows (normalmente, "Hidden")
DefaultValue: valor a ser usado, quando o usuário clicar o botão "Restaurar padrões" (normalmente,  "2")