Windows
Conceitos Importantes
As
DLL
são carregadas em tempo de execução, diferentemente dasLib
, que são compiladas juntos com o programaPara ver o que está inicializando junto com o Windows pelo prompt de comando, digite:
E para examinar a chave de serviços, caminhos de DLL e serviços anormais/suspeitos, digite:
Programas compactados (packed) geralmente precisam chamar as funções
Load Library
eGetProcAddress
, dakernel.dll
.Todas as Sessões ocupam sempre
8 bits
mesmo que não use todas. As principais sessões do PE File são:
SESSÃO PE
DESCRIÇÃO
.text
É a única sessão que contém instruções (códigos) que serão executados
.rdata
Contém informações de "import" e "export". Essa sessão também pode armazenar dados somente-leitura que são utilizadas pelo programa
.data
Contém os dados globais do programa, para conseguir acessar de qualquer lugar do programa. Dados locais não são armazenados aqui
.rsrc
Inclui recursos utilizados pelo executável que não são considerados parte do executável, como ícones, imagens, menus e strings. Strings podem ser armazedas em .rsrc
ou no programa principal, mas geralmente são armazenadas nessa sessão, para suporte multilingue
.idata
As vezes presente e guarda informações de importações
de funções. Caso essa sessão não exista, as importações
estarão em .rdata
.edata
As vezes presente e guarda informações de exportação
de funções. Caso essa sessão não exista, as exportação
estarão em .rdata
.pdata
Presente apenas em executáveis x64 e armazena informações de manipulação de execução
.reloc
Contém informações de realocação dos arquivos de biblioteca
DDL's
DLL
DESCRIÇÃO
Kernel32.dll
É uma DLL muito comum de ser ver utilizando, pois contém funcionalidades do core, tais como acesso e manipulação de memória, arquivos e hardware
Advapi32.dll
Prover acesso para aos componentes avançados do Core do Windows, como o Gerenciamento de Serviços e o Registro
Gdi32.dll
Funções para mostrar e manipular gráficos (interface para o Kernel do Windows). Executáveis geralmente não o importam diretamente, apesar de sempre ser importada indiretamente através da Kernel32.dll. Se um executável importar esse arquivo, isso significa que o autor pretendia usar a funcionalidade normalmente não disponível para programas do Windows. Algumas tarefas, como ocultar funcionalidade ou manipular processos, usarão essa interface
WSock32.dll a Ws2_32.dll
Estes são DLL's de rede. Um programa que acessa qualquer um desses provavelmente se conecta a uma rede ou realiza tarefas relacionadas à rede
Wininet.dll
Funções de rede de auto nível que implementam protocolos como FTP, HTTP e NTP
Comdlg32
Responsável por criar caixas de diálogo
User32.dll
Contém todos os componentes para interface de usuário, como botões, scroll bars, ações do usuário, etc
OBS.: Quando SetWindowsHookEx
é chamada da DLL user32.dll
, há uma grande probabilidade de ser um spyware / keylogger.
DICA:
A pasta System32
é o “diretório do sistema” padrão do Windows a muito tempo. Independentemente se o Windows é 32 ou 64 bit, quando algum programa pergunta pra ele qual é o “diretório do sistema”, a resposta é C:\Windows\System32
. Nos Windows 64 bits há uma pasta chamada SysWOW64
, que é utilizada para programas de 32 bits rodarem normalmente no Windows 64.
Em Windows 64 bit, as DLL’s 32 vão na pasta SysWOW64
e as DLL’s 64 vão na pasta System32
. Parece um pouco confuso, mas é isso mesmo!
Last updated