Um arquivo é uma unidade de armazenamento de informações que podem ser, entre outras coisas, código binário, o que significa apenas que não são textos e que, em geral, possuem uma estrutura interna conhecida pelo programa que os usa. Os arquivos executáveis possuem um formato apropriado, de acordo com o sistema operacional, de modo que este ultimo o executará. O sistema operacional Windows utiliza o formato de arquivo PE (Portable Executable) para arquivos executáveis. No cabeçalho de um arquivo executável, no Windows, encontramos a sequência “4D 5A” , já no sistema Linux encontramos “7f 45 4c 46 02 01 01”, que corresponde ao formato ELF (Executable and Linking Format). Esses números hexadecimais responsáveis por identificar o arquivo são conhecidos como:
- A)Atributo de tipo.
Errada, porque atributo de tipo não é o nome técnico da assinatura hexadecimal usada no cabeçalho do arquivo.
- B)Extensão do arquivo.
Errada, porque a extensão é a parte do nome do arquivo e pode até ser alterada, sem representar a assinatura interna do executável.
- C)Números mágicos.
Certa, pois esses bytes iniciais que identificam o formato do arquivo são os chamados números mágicos.
- D)Números sinalizadores.
Errada, porque números sinalizadores não são a denominação padrão para essa identificação binária do arquivo.
Gabarito: C
Quando você olha para um arquivo executável, nem sempre o sistema depende da extensão para saber o que ele é. Em muitos formatos, existe uma assinatura no começo do arquivo, um conjunto de bytes que funciona como uma espécie de identidade do arquivo. É como se o arquivo dissesse: “ei, eu sou desse tipo aqui”. No Windows, os executáveis no formato PE costumam começar com os bytes 4D 5A, que remetem à assinatura histórica "MZ". No Linux, arquivos ELF trazem no início a sequência 7F 45 4C 46, seguida de outros bytes que ajudam a identificar versão e arquitetura. Essas marcas iniciais servem para o sistema e para programas analisadores reconhecerem rapidamente o formato do arquivo. Esses valores hexadecimais são chamados de números mágicos. O nome parece de filme de fantasia, mas é bem prático: trata-se de uma assinatura usada para identificar tipo de arquivo ou formato interno. Em concursos, isso aparece muito em questões sobre sistemas operacionais e formatos de executáveis. Por isso, o gabarito é a letra C. A ideia central é que a identificação ocorre pela assinatura binária do arquivo, não pela extensão visível ao usuário.