O que é o formato de ficheiro AR?
O formato de arquivo .ar remonta ao Unix Versão 1 (1971), criado no Bell Labs como o arquivador original do Unix. Um arquivo .ar concatena múltiplos arquivos membros, cada um precedido por um cabeçalho ASCII fixo de 60 bytes que registra o nome do membro, hora de modificação, permissões e tamanho em bytes. Todo arquivo começa com a string mágica de 8 bytes !<arch> seguida por uma quebra de linha (0x0A).
O formato armazena os membros sem compressão por padrão. Existem duas variantes principais:
- A variante BSD (usada no macOS) estende nomes de arquivos longos em linha após cada cabeçalho de membro.
- A variante System V/GNU (usada no Linux) armazena nomes longos em um membro especial
//e precede uma entrada de índice de símbolo/para busca eficiente em tempo de linkagem.
Hoje, o .ar é mais comumente encontrado como bibliotecas estáticas .a no Linux e macOS, onde a ferramenta ar do GNU binutils é a implementação padrão. Pacotes Debian .deb também são arquivos ar - renomear um .deb e extraí-lo revela os membros internos control.tar e data.tar. Comandos ar comuns: ar rcs libfoo.a *.o cria um arquivo, ar t arquivo.ar lista os membros e ar x arquivo.ar os extrai.
Segurança e proteção
RISCO: LOWArquivos AR em si são contêineres sem semântica executável - eles não podem executar código automaticamente. No entanto, os membros internos podem ser arquivos de objeto compilados ou executáveis que podem ser maliciosos. Ao extrair um arquivo ar de uma fonte não confiável, inspecione os arquivos extraídos antes de executá-los. Bibliotecas estáticas vinculadas aos seus binários tornam-se parte desses binários; uma biblioteca estática adulterada é um vetor de ataque à cadeia de suprimentos (ex: arquivos de toolchain comprometidos). Sempre verifique as somas de verificação ao baixar tarballs de toolchain que contenham bibliotecas .a/.ar.
Detalhes do formato
em resumo- Pacote Debian (.deb) - Um arquivo .deb é um arquivo ar contendo membros control.tar.* e data.tar.*; o contêiner ar é transparente para os usuários finais (o dpkg lida com ele).
- Biblioteca estática .a (mesmo formato, extensão diferente) - No Linux/macOS, .a é a extensão convencional para bibliotecas estáticas no formato ar; .ar é menos comum, mas idêntico.
Programas que abrem arquivos AR
Detalhes técnicos
especificação profunda| Bytes mágicos | 21 3C 61 72 63 68 3E 0A - string ASCII !<arch> mais quebra de linha (0x0A) no deslocamento 0 |
| Tipo MIME | application/x-archive |
| Tamanho do cabeçalho por membro | 60 bytes (campos de largura fixa, codificados em ASCII) |
| Layout do campo de cabeçalho | Nome do arquivo 16 B, hora de modificação 12 B, UID 6 B, GID 6 B, modo 8 B, tamanho 10 B, magic 2 B |
| Alinhamento de membros | Limite de 2 bytes; membros de comprimento ímpar preenchidos com um único caractere de quebra de linha (0x0A) |
| Compressão | Nenhuma por padrão - arquivos membros armazenados literalmente e sem compressão |
| Verificação de integridade | Sem somas de verificação (checksums) por membro ou nível de arquivo no formato ar |
| Limite de nome de arquivo | 16 caracteres no cabeçalho fixo; ilimitado via extensão BSD inline ou tabela de membros System V // |
| Variantes do formato | BSD (macOS): nomes estendidos inline; System V/GNU (Linux): tabela de membros // para nomes longos |
| Índice de símbolos GNU | O GNU ar precede um membro de tabela de símbolos / em arquivos .a para busca eficiente de símbolos em tempo de linkagem |
| Suporte a arquivo fino (thin archive) | Arquivos finos GNU usam o magic 21 3C 74 68 69 6E 3E 0A (!<thin>) e armazenam caminhos de arquivo, não dados |
| Usos primários | Bibliotecas estáticas .a (Linux, macOS), pacotes Debian .deb, pacotes OpenWrt .ipk |
| Plataformas | Linux, macOS, FreeBSD, Solaris, AIX, Windows (MinGW/Cygwin/WSL) |
| Lançado | 1971 (Unix v1, as the original Unix archiver) |
| Versão mais recente | POSIX.1-2017 specifies the format; GNU ar (binutils) is current implementation |
| Padrão aberto | Sim · livre de royalties |
| Especificação | pubs.opengroup.org |
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos AR.