Artigos

O mundo secreto dos arquivos .DLL

Publicado por Redação em 01/02/11 às 10h29

Componentes fundamentais para o funcionamento de todo o sistema, esses arquivos só chamam a atenção quando se tornam fonte de problemas. Mas, afi nal, para que servem? Por Aylons Hazzud

Por Aylons Hazzud,
Publicado originalmente na Revista Oficial do Windows #35.

Uma recente onda de ataques originados na internet direcionou os holofotes aos arquivos com extensão .DLL do Windows. Enigmáticos para muita gente, esses operários discretos – mas onipresentes – não estão necessariamente associados a um programa em especial (ao contrário dos .DOC ou .JPG, por exemplo) e não podem ser vistos e editados. Apesar disso, quem usa o Windows já deve ter se deparado mais de uma vez com mensagens como “kernel32.dll não está respondendo” ou “um arquivo .dll necessário não foi encontrado”.

E onipresença não é exagero: o Windows simplesmente não funcionaria sem a presença deles. São vitais para praticamente tudo: são responsáveis por exibir as janelas dos programas, conectar o computador à internet, salvar e carregar arquivos... de uma maneira ou de outra, todos os aplicativos que rodam no Windows dependem deles para realizar suas tarefas.

E a origem do nome DLL? É abreviatura de “Dynamic-link library”, ou “biblioteca de ligação dinâmica”, uma expressão que remete à maneira como esses arquivos são vinculados aos aplicativos que lhes darão ordens. Coisa de gerente, ou melhor, programador.

Vendo e aprendendo

E para entender como fazem todo esse trabalho, podemos traçar um paralelo com uma fábrica chamada Windows onde trabalham os DLLs – tal qual os oompa-loompas da Fantástica Fábrica de Chocolate (lembra-se dos assistentes do Willy Wonka?).

Digamos que você abra um aplicativo – um documento do Word, por exemplo. Este software seria como uma seção da fábrica, nesse caso, a responsável por gerar documentos. Os funcionários do “setor de Word” são altamente especializados: geram as páginas, formatam as fontes, corrigem o texto e tudo mais.

O problema é que o Word não sabe fazer tarefas simples: por exemplo, buscar um arquivo no disco rígido do computador. Ele precisa pedir (como uma criança mimada, em alguns momentos) para um empregado fazer isso. É aí que entra o arquivo DLL, que faz todo o trabalho sujo: a mando do aplicativo, abre a janela na qual você selecionou o arquivo (já reparou como elas são quase sempre iguais? Pois é, isso ocorre porque se trata do mesmo oompa-loompa!), pega o documento que você indicou e entrega, de mão beijada, para quem pediu, o Word.

Essa e muitas outras janelas familiares no Windows estão dentro do arquivo Comdlg32. dll. Mas não há só janelas nos DLLs: os programas também usam esses serviços para criar sons, conectar-se à internet, salvar arquivos... praticamente tudo que o computador pode fazer é realizado por um DLL para os aplicativos.

E um olhar minucioso mostra que a presença desses arquivos vai além. Ao despir um programa como o Word, descobrimos que ele também tem uma coleção de suas próprias DLLs. Muitas vezes, o arquivo executável (.EXE) faz pouco além de convocar as DLLs para que efetivamente façam a magia acontecer – quem não conhece um chefe assim?

O próprio Windows é, em grande parte, uma coleção desses arquivos, até porque a principal função de um sistema operacional é servir de base para que aplicações possam funcionar sem se preocupar com detalhes. Tal qual Willy Wonka, que prefere deixar a inspeção do chocolate para seus funcionários em vez de ir ele mesmo remando para lá, os programadores querem que o trabalho pesado seja feito sem terem de lidar com as pequenas e numerosas exigências do sistema.

Assim, esses arquivos ajudam a formar a base do sistema, permitindo que os aplicativos façam seu serviço especializado sem se preocupar com os inúmeros detalhes das tarefas rotineiras.

O temido ataque da injeção de DLL

Em agosto, a Microsoft divulgou um alerta sobre uma nova forma de infecção cibernética que se esconde sob a forma de DLLs. Esse ataque é curioso, pois o usuário não precisa abrir o arquivo propriamente infectado – basta abrir outro arquivo, na mesma pasta, para que o estrago seja feito.

E antes de apontar o dedo na cara do Windows, é bom saber que não se trata de uma falha de segurança do sistema, e sim na de alguns programas que empregam DLLs em suas tarefas. Ao tentar abrir o arquivo, o programa pode procurar DLLs para ajudar na tarefa. Mas se o programa não verificar se está chamando no lugar certo, um DLL “pirata” pode se passar pelo original e, com isso, conseguir acesso ao PC. Para piorar, normalmente esse DLL do mal fica na mesma pasta do arquivo inocente, pois muitos programas procuram ali primeiro.

Na internet, uma maneira comum de ser atacado é com serviços de WebDAV e SMB, os quais permitem o acesso de pastas na internet como se elas estivessem no disco rígido do computador. Pen drives também podem provocar a infecção, mesmo que os arquivos dentro dele estejam abrindo normalmente e o vírus nunca tenha sido clicado pelo usuário. De novo, basta abrir um arquivo nessa mesma pasta.

A correção do bug depende de cada programador, que deve alterar seu aplicativo para evitar a confusão. Para amenizar a situação, a Microsoft liberou alguns programas que evitam o comportamento inadequado do software. O problema é que essas soluções podem interferir no funcionamento de outros aplicativos. E como são complexas, devem ser empregadas somente por profissionais ou administradores de rede experientes.

DLLs de renome

kernel32.dll
pelo nome se vê sua importância. “Kernel” é uma expressão que pode ser traduzida como “núcleo”. Isso indica a posição central no sistema deste DLL por realizar tarefas mais nobres, como salvar arquivos e gerenciar o uso da memória RAM pelo computador.

comdlg32.dll:
"dlg" vem de diálogo. E quem usa o Windows, de fato, já "conversou" muito com este arquivo, pois ele guarda as janelas padronizadas para salvar e abrir arquivos. E nem sempre a conversa é amigável: aquelas mensagens de erro também costumam ser entregues por ele.

user32.dll:
sempre a seu serviço, é ele quem cuida dos menus que aparecem na tela, do papel de parede e do ponteiro do mouse. E é ele quem segura a tesoura e a cola na hora do Ctrl + C / Ctrl + V, pois é o responsável pela área de transferência do Windows.

Mesma janela, visuais diferentes.

Comentários
mike comentou em 29/11/11 às 19h48: Responder perfeito sergio cardoso isso mesmo system 32 se o windows for 32 ou se não aparecerá 64 pode se dizer tbm pra diferenciar pastas simples assim porque temmos duas pastas systems pode olhar em todos os C:\windows da vida abraços
Bernardo comentou em 23/08/11 às 21h21: Responder Fernando, isso significa que esta DLL possui 32 maneiras diferentes de travar seu computador. E para seu desespero um amigo meu que comprou um PC com Win7 me disse que os DLLs no computador dele tem o número 64, vixxxx...
Jhony comentou em 20/05/11 às 14h23: Responder Fernando, um sistema operacional conversa diretamente com o processador da maquina, este processador tem uma arquitetura definida. Atualmente as mais conhecidas são a 32(ou 86) bits e a 64 bits. O 32 nas DLL informa que essa DLL faz o trabalho para o processador 32 bits.
cheap nike shox comentou em 04/05/11 às 00h49: Responder Cleary finished his career season by cheap nike shox scoring his 26th of the year that ended up being the discount nike shox game winner en route to a 4-3 victory over the Chicago Blackhawks. Air jordan He also set up Pavel Datsyuk′s 23rd of the cheap LV shoes sale season in the first period MBT shoes. Detroit had already locked up the cheap Nike Dunk SB No.3 seed entering the game and will once again face the Nike Air Shoes Phoenix Coyotes in the first round. cheap nike shoes Cheap LV Shoes Cheap MBT Shoes Cheap Air Jordans Cheap Vibram Five Fingers Cheap Nike Running Shoes Nike Air Presto Running Shoes Nike Free 2010 Running Shoes Nike Free 3.0 Running Shoes Nike Free 7.0 Running Shoes Nike Air Jordan Fusions Nike Air Max Nike Air TN shoes Nike Basketball Shoes Nike Dunk SB High Nike Dunk SB Low Nike Dunk SB Mid Nike Shox Kids Nike Shox NZ Nike Shox TL3 Shoes Nike Shox TL1 Shoes Nike Shox Deliver Shoes Nike Shox Classic Nike Shox Experience+ Nike Shox Monster Nike Shox Navina Nike Shox Qualify Nike Shox R series Shoes Nike Shox Turbo Nike Shox Turmoil
afdasdf comentou em 02/05/11 às 00h40: Responder sadfasdfasdf/344-internet-benchmarks-coloque-um-atalho-para-varrer-pen-drives.html Fireplace
ver mais









Mais comentados
Enquete

O que você achou do novo visual do WinAjuda?

Excelente, o melhor de todos!
Muito bom, melhor que o antigo
Bom, mas o antigo era melhor
Muito ruim...

» Resultado da enquete
Visite os sites das outras revistas: