CPL (formato)

Da Wikipédia, a enciclopédia livre

No sistema operacional Windows, a extensão CPL é atribuída aos Control Panel Applets, que são miniaplicativos utilizados pelo Painel de Controle, introduzidos no Windows 3.x, mas ainda utilizados em versões atuais como o Windows 7. O Painel de Controle carrega estes miniaplicativos e exibe ícones para que estes sejam acessados facilmente.

Factos rápidos Control Panel Applet ...
Control Panel Applet
Extensão do arquivo .cpl
MIME application/x-dosexec
Número mágico MZ
Desenvolvido por Microsoft
Variante de DLL
Fechar

Estrutura

Um arquivo CPL é uma DLL (biblioteca de vínculo dinâmico) ou um EXE[1] e por isso herda toda a estrutura já definida para o formato PE. A diferença mais notável é que os CPL normalmente possuem somente uma função exportada chamada CPlApplet()[2], enquanto as DLL em geral possuem várias funções exportadas (disponíveis para serem chamadas a partir de outro programa).

Execução

Resumir
Perspectiva

Quando a janela do Painel de Controle é aberta, todos os arquivos CPL na pasta de sistema do Windows são lidos e seus applets são carregados e exibidos na janela do Painel de Controle. Cada arquivo CPL pode conter um ou mais applets. É possível verificar isso com os métodos de execução abaixo:

Usando o control.exe

O programa control.exe (que carrega o Painel de Controle) utiliza a seguinte sintaxe para carregar applets CPL:


control.exe arquivo.cpl,@n,t


Onde n é o índice do applet dentro do arquivo, começando em 0 (zero) e t é o índice da aba deste applet, para applets com mais de uma aba, também começando em 0 (zero). Por exemplo, para carregar o primeiro applet do arquivo main.cpl posicionado na primeira aba, pode-se comandar:

C:\> control main.cpl,@0,0


Para ver a segunda aba deste mesmo applet, basta:


C:\> control desk.cpl,@0,1


Já para ver o segundo applet:


C:\> control main.cpl,@1,0


Caso o índice de applet ou aba seja inválido ou omitido, o Windows busca o applet padrão do arquivo e o exibe sem emitir erros.

Utilizando a função Control_RunDLL

Há ainda a possibilidade de se executar um arquivo CPL utilizando diretamente uma função da shell32.dll chamada Control_RunDLL. Este é o método que o Windows utiliza internamente e também é o que ocorre quando é dado um duplo-clique num arquivo CPL. Exemplo:


C:\> rundll32 shell32.dll,Control_RunDLL timedate.cpl,@0,0


O comando acima abre as propriedades de data e hora do Windows diretamente. Por ter essa característica, arquivos CPL podem ser executados diretamente no sistema operacional, bastando para isso um duplo-clique neles. Sendo assim, o efeito é similar aos arquivos EXE e à essa característica se deve a fama de que arquivos CPL são "DLLs que executam com dois cliques".

Utilizando o objeto Shell.Application

Um script em VBScript ou JScript pode carregar um CPL através do método ControlPanelItem() de um objeto Shell.Application. O código abaixo carrega o applet de configuração de joysticks:


VBScript
Dim obj
Set obj = CreateObject("Shell.Application")
obj.ControlPanelItem("joy.cpl")


Segurança


Por ser um formato flexível e que pode ser executado com um duplo-clique, criadores de ameaças também criam malware utilizando o formato CPL[3]. É comum no Brasil usuários receberem e-mails falsos com links para downloads de arquivos comprimidos com um mais arquivos CPL dentro. Em geral, este tipo de arquivo não é transferido via rede com frequência pois seu maior uso está no Windows em si, portanto muito cuidado é necessário antes de dar um duplo clique em arquivos CPL recebidos por e-mail ou que tenham sido baixados na internet.

Por ser um tipo de arquivo pouco conhecido, mesmo por analistas de segurança experientes, vários programas como proxy firewalls e outras soluções de segurança não tratam o download de um arquivo CPL com a devida atenção.

O bloqueio de download de arquivos deste tipo deve ser tratado com cuidado, no entanto, visto que alguns fabricantes de hardware distribuem arquivos CPL juntamente com programas e drivers de dispositivo.

Applets nativos

Windows 3.x[4]

Mais informação Nome do arquivo, Nome do ícone no Painel de Controle ...
Nome do arquivoNome do ícone no Painel de Controle
CPWIN386.CPLAvançado
DRIVERS.CPLControladores
MAIN.CPLCores, Fontes, Portas, Mouse, Área de Trabalho, Teclado, Impressoras, Internacional, Data e Hora e Rede (se instalada)
SND.CPLSom
Fechar

Windows NT/95/98/Me[5]

Windows XP[6]

Mais informação Nome do arquivo, Nome do ícone no Painel de Controle ...
Nome do arquivoNome do ícone no Painel de Controle
Access.cplAções de acessibilidade
Appwiz.cplAdicionar ou remover programas
Desk.cplVídeo
Hdwwiz.cplAdicionar hardware
Inetcpl.cplOpções da Internet
Intl.cplOpções regionais e de idiomas
Irprops.cplDispositivos Infra-vermelho
Joy.cplControladores de jogo
Main.cplMouse
Mmsys.cplSons e dispositivos de áudio
Ncpa.cplConexões de rede
Nusrmgr.cplContas de usuário
Nwc.cplServiços de Gateway para NetWare
Odbccp32.cplFontes de dados (ODBC), dentro de "Ferramentas administrativas"
Powercfg.cplOpções de energia
Sapi.cplFala
Sysdm.cplSistema
Telephon.cplOpções de telefone e modem
Timedate.cplData e hora
Fechar

Referências

  1. «Implementing Control Panel Items». Microsoft. Consultado em 12 de Dezembro de 2017
  2. «Using CPLApplet». Microsoft. Consultado em 12 de Dezembro de 2017
  3. Mercês, Fernando (27 de Janeiro de 2014). «A Look Into CPL Malware» (PDF). Trend Micro. Consultado em 12 de Dezembro de 2017. Arquivado do original em 7 de março de 2014
  4. «Control Panel .CPL Files and Icon Installation». Microsoft. Consultado em 12 de Dezembro de 2017
  5. «How to run Control Panel tools by typing a command». Microsoft. Consultado em 12 de Dezembro de 2017
  6. Datta, Chandan. «Description of Control Panel Files in Windows XP». Consultado em 12 de Dezembro de 2017
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.