O que é o formato de ficheiro XNB?
.xnb é um arquivo binário compilado que armazena um único recurso de jogo produzido pelo XNA Game Studio Content Pipeline. .xnb é um formato binário e pode conter imagens, dados de áudio, modelos 3D, fontes e muitos outros recursos. Ativos de origem, como texturas .png ou clipes de áudio .wav, são compilados no momento da compilação em arquivos .xnb otimizados para a plataforma que o jogo carrega em tempo de execução via Content.Load<T>().
Cada arquivo .xnb abre com a tag ASCII XNB, seguida por um byte de plataforma de destino (w para Windows, x para Xbox 360, m para Windows Phone) e um byte de versão de formato. Uma flag opcional de compressão LZX ou LZ4 é codificada no mesmo cabeçalho.
XNA é um conjunto de ferramentas de desenvolvimento para criar jogos para sistemas Microsoft Windows, Windows Phone e Xbox. O ambiente de desenvolvimento XNA era baseado no Visual Studio Express e estava disponível gratuitamente, oferecendo um rico conjunto de ferramentas e recursos para desenvolvedores de jogos. A Microsoft descontinuou o XNA com a versão 4.0 em 2010, encerrando o suporte por volta de 2014. Os frameworks de código aberto MonoGame e FNA continuam a ler e gravar o mesmo formato .xnb, mantendo-o relevante para títulos como *Terraria*, *Stardew Valley* e *Celeste*, que distribuem sua arte e áudio como arquivos .xnb.
Ferramentas de terceiros, incluindo xnbcli e XnbExtract, podem descompactar o conteúdo .xnb de volta em ativos de origem editáveis. Arquivos de banco de áudio XNA relacionados usam as extensões .xsb e .xwb.
Segurança e proteção
RISCO: LOWUm XNB é um dado de jogo compilado inerte - uma textura, som ou tabela de dados - sem scripts ou conteúdo executável, portanto, abrir ou extrair um não é perigoso em si. Duas precauções práticas: a extração ou redistribuição de ativos de um jogo é regida pelos direitos autorais/EULA desse jogo (aceitável para mods pessoais, não para redistribuição), e você deve baixar ferramentas XNB de seus repositórios oficiais (GitHub) em vez de sites aleatórios de «abridor de xnb», que geralmente são armadilhas de anúncios/PUPs, já que não existe um visualizador autônomo legítimo de clique duplo.
Detalhes do formato
em resumoProgramas que abrem arquivos XNB
Detalhes técnicos
especificação profunda| Codificação de arquivo | Binário, ordem de bytes little-endian |
| Magic bytes | 0x58 0x4E 0x42 (ASCII «XNB») no deslocamento 0 |
| Layout do cabeçalho | Tag ASCII de 3 bytes «XNB» + código de plataforma de 1 byte + versão de formato de 1 byte + flags de 1 byte + tamanho total do arquivo de 4 bytes (uint32 little-endian) |
| Códigos de plataforma | «w» (0x77) = Windows, «x» (0x78) = Xbox 360, «m» (0x6D) = Windows Phone/Mobile - codificado no byte 3 de cada cabeçalho |
| Versão do formato | Versões 1-5; a versão 5 corresponde ao XNA Game Studio 4.0 e é a versão visada pelo MonoGame e FNA |
| Compressão | Opcional - LZX (XNA 4.0) ou LZ4 (algumas compilações do MonoGame); sinalizado por um bit de flag no byte de flags do cabeçalho; a carga útil é frequentemente armazenada sem compressão |
| Tipos de conteúdo suportados | Texturas (DXT1/DXT3/DXT5/Color RGBA), áudio (PCM/ADPCM), modelos 3D, fontes bitmap, shaders de efeito compilados, folhas de sprites |
| Manifesto de leitor de tipo | O cabeçalho incorpora uma lista serializada de nomes de classes ContentTypeReader que o tempo de execução usa para desserializar o gráfico de objetos do recurso |
| Ativos por arquivo | Um recurso primário por arquivo .xnb; sub-recursos compartilhados são aninhados dentro do mesmo gráfico de objetos serializados do arquivo |
| Formatos de superfície de textura | Color (RGBA de 32 bits), DXT1 (opaco comprimido em bloco 4:1), DXT3, DXT5 - formatos nativos de GPU que reduzem a pegada de VRAM no momento do carregamento |
| Tamanho de arquivo típico | Alguns KB para fontes pequenas ou sprites; até dezenas de MB para texturas de alta resolução ou faixas de áudio não compactadas |
| Verificação de integridade | Tamanho total do arquivo armazenado como um campo little-endian de 4 bytes no cabeçalho para validação básica; nenhum checksum criptográfico ou hash está incluído |
| Criptografia | Não criptografado - os ativos compilados são armazenados como dados binários simples legíveis por qualquer implementação que forneça o ContentTypeReader correto |
| Tipo MIME | application/octet-stream (nenhum tipo MIME dedicado registrado para .xnb) |
| Papel do Content Pipeline | Saída de tempo de execução do XNA/MonoGame Content Pipeline - arquivos de origem (.png, .wav, .fbx, .spritefont) são compilados no momento da compilação em .xnb e carregados em tempo de execução via Content.Load<T>() |
| Adotantes notáveis | MonoGame e FNA (sucessores de código aberto do XNA); usado para distribuir ativos em Terraria, Stardew Valley, Bastion, Fez e Celeste |
| Lançado | 2006 (XNA Game Studio Express / XNA Framework 1.0) |
| Versão mais recente | XNB format 5 (XNA Game Studio 4.0, 2010); same format reused by MonoGame/FNA |
| Especificação | en.wikipedia.org |
Conversões de XNB
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos XNB.