Pular para o conteúdo principal

Questão de Sistemas Operacionais — Outros Assuntos de Sistemas Operacionais — INSTITUTO AOCP 2023

Sistemas OperacionaisOutros Assuntos de Sistemas Operacionais
Código
qa543617
Banca
INSTITUTO AOCP
Órgão
MPE MS
Ano
2023
Cargo
Ana ( )
Ao conduzir uma análise de malware, você descobriu que o código malicioso está alterando o comportamento de uma biblioteca do sistema operacional Windows. A biblioteca afetada está provocando alterações no comportamento de controles da interface com o usuário, como botões e barras de rolagem. Assinale a alternativa que apresenta o arquivo .dll diretamente relacionado às funções que foram adulteradas.
  1. Akernel32.dll
  2. Bwininet.dll
  3. Cuser32.dll
  4. Dntdll.dll
  5. Ews2_32.dll
Revelar gabarito e comentário

GabaritoC — user32.dll

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

DLLs do Windows e a interface gráfica

Gabarito: letra C. A biblioteca diretamente responsável pelos controles da interface com o usuário — botões, barras de rolagem, janelas, menus — é a user32.dll, que concentra as funções de criação e manipulação dos elementos visuais do Windows. As demais DLLs listadas cuidam de outras camadas: kernel32.dll (núcleo), ntdll.dll (interface com o kernel), wininet.dll e ws2_32.dll (rede).

Para entender por que a resposta é a user32.dll, é preciso lembrar como o Windows organiza suas bibliotecas de sistema. O Windows é construído sobre uma arquitetura em camadas: no nível mais baixo está o kernel (ntoskrnl.exe), que gerencia hardware, memória e processos. Acima dele, a ntdll.dll faz a ponte entre os programas em modo usuário e o kernel, exportando as chamadas de sistema (syscalls). A kernel32.dll é a biblioteca clássica da API Win32, que expõe funções de gerenciamento de processos, memória, arquivos e outros recursos fundamentais — mas não é ela que desenha botões na tela.

A interface gráfica do Windows é tratada por uma família específica de DLLs. A user32.dll é a principal delas: é ela que implementa as funções de criação e manipulação de janelas, menus, botões, barras de rolagem, caixas de diálogo e todos os demais controles visuais. Quando um programa precisa exibir um botão ou responder a um clique, ele chama funções da user32.dll. Por isso, se um malware altera o comportamento desses controles, o alvo é essa biblioteca.

As outras DLLs das alternativas têm funções bem distintas. A wininet.dll e a ws2_32.dll são bibliotecas de rede: a primeira fornece funções de alto nível para protocolos como HTTP e FTP (usada pelo Internet Explorer e por aplicações que acessam a internet), e a segunda implementa a API Winsock, que dá suporte a sockets TCP/IP. A ntdll.dll, como dito, é a porta de entrada para o kernel. Nenhuma delas tem relação com a interface gráfica.

A pegadinha da banca está em oferecer a kernel32.dll como primeira alternativa — é a DLL mais conhecida e o candidato pode marcá-la por associação automática com "sistema operacional". Mas a kernel32.dll não desenha interface; ela cuida de processos, memória e arquivos. A distinção decisiva é: interface gráfica → user32.dll; núcleo e recursos básicos → kernel32.dll; rede → wininet.dll / ws2_32.dll; chamadas de sistema → ntdll.dll. É exatamente essa fronteira que separa as alternativas.

Critério

user32.dll

kernel32.dll

ntdll.dll

wininet.dll

ws2_32.dll

Função principal

Interface gráfica (janelas, botões, barras de rolagem)

Recursos básicos (processos, memória, arquivos)

Ponte com o kernel (syscalls)

Rede de alto nível (HTTP/FTP)

Rede via sockets (TCP/IP)

Relação com controles visuais

Direta — cria e manipula todos os controles

Nenhuma

Nenhuma

Nenhuma

Nenhuma

Camada no Windows

Modo usuário (API Win32)

Modo usuário (API Win32)

Modo usuário (mais baixo nível)

Modo usuário (API Win32)

Modo usuário (API Winsock)

Exemplo de função

CreateWindow, DrawButton

CreateProcess, VirtualAlloc

NtCreateFile, NtWriteFile

InternetOpen, HttpSendRequest

socket, connect, send

Alternativa A — ❌ Incorreta

A kernel32.dll é a biblioteca central da API Win32, responsável por funções de gerenciamento de processos, memória, arquivos e outros recursos do sistema. Ela não implementa os controles da interface gráfica — botões e barras de rolagem são criados por funções da user32.dll. A banca oferece essa alternativa porque é a DLL mais famosa do Windows, mas sua função é outra.

Alternativa B — ❌ Incorreta

A wininet.dll é uma biblioteca de rede, especializada em protocolos de internet como HTTP e FTP. Ela fornece funções para que aplicações acessem recursos da web, mas não tem nenhuma relação com a interface gráfica ou com controles visuais.

Alternativa C — ✅ Correta ⟵ GABARITO

A user32.dll é a biblioteca que concentra as funções da interface gráfica do Windows: criação e manipulação de janelas, botões, barras de rolagem, menus, caixas de diálogo e todos os demais controles visuais. Se o malware altera o comportamento desses elementos, é essa DLL que foi adulterada.

Alternativa D — ❌ Incorreta

A ntdll.dll é a biblioteca de mais baixo nível do modo usuário, responsável por fazer a ponte entre os programas e o kernel do Windows, exportando as chamadas de sistema (syscalls). Ela não lida com a interface gráfica.

Alternativa E — ❌ Incorreta

A ws2_32.dll implementa a API Winsock, que fornece suporte a sockets e comunicação em rede (TCP/IP). É uma biblioteca de rede, sem qualquer relação com controles de interface do usuário.

NÃO CAIA NESSA!

A banca aposta na associação automática com a kernel32.dll, a DLL mais conhecida do Windows. Mas a kernel32.dll cuida de processos, memória e arquivos — a interface gráfica é território da user32.dll. Guarde o par: interface → user32; núcleo → kernel32; rede → wininet/ws2_32; syscalls → ntdll.

PEGA ESSA DICA!

Para fixar, monte mentalmente a "família" das DLLs do Windows: user32 (interface), kernel32 (recursos básicos), ntdll (chamadas de sistema), wininet (HTTP/FTP), ws2_32 (sockets). Quando a questão falar de janelas, botões ou barras de rolagem, a resposta é sempre user32.dll.

Gabarito: letra C

Link permanente: /questoes/qa543617