[File] [PATCH] Magdir/archive for MonoGame/XNA processed content files
Alexandre IOOSS
erdnaxe at crans.org
Sun Dec 18 10:20:55 UTC 2022
Hello,
I would like to propose a new signature for MonoGame/XNA processed
content files. These files are usually used to store MonoGame/XNA game
engine compiled assets.
I used MonoGame to understand these files header structure:
https://github.com/MonoGame/MonoGame/blob/v3.8.1/MonoGame.Framework/Content/ContentManager.cs
```
$ file testa.xnb testb.xnb --magic-file archive.magic
testa.xnb: MonoGame/XNA processed assets, for Windows, version 5
testb.xnb: MonoGame/XNA processed assets, for Windows, version 5, LZX
compressed, decompressed size: 388289 bytes
```
Attached, you will find the signature.
Best regards,
--
Alexandre
-------------- next part --------------
diff --git a/magic/Magdir/archive b/magic/Magdir/archive
index f8a83b20..de992eff 100644
--- a/magic/Magdir/archive
+++ b/magic/Magdir/archive
@@ -2223,3 +2223,40 @@
>>>&0 string x %s
>>43 search/0x10000 create_time=
>>>&0 string x \b, created on %s
+
+# MonoGame/XNA processed assets archive
+# From: Alexandre Iooss <erdnaxe at crans.org>
+# URL: https://github.com/MonoGame/MonoGame/blob/v3.8.1/MonoGame.Framework/Content/ContentManager.cs
+0 string XNB
+# XNB must be version 4 or 5
+>4 byte <6
+>>4 byte >3
+# Size must be positive
+>>>6 long >0 MonoGame/XNA processed assets
+!:ext xnb
+>>>>3 string =w \b, for Windows
+>>>>3 string =x \b, for Xbox360
+>>>>3 string =i \b, for iOS
+>>>>3 string =a \b, for Android
+>>>>3 string =d \b, for DesktopGL
+>>>>3 string =X \b, for MacOSX
+>>>>3 string =W \b, for WindowsStoreApp
+>>>>3 string =n \b, for NativeClient
+>>>>3 string =M \b, for WindowsPhone8
+>>>>3 string =r \b, for RaspberryPi
+>>>>3 string =P \b, for PlayStation4
+>>>>3 string =5 \b, for PlayStation5
+>>>>3 string =O \b, for XboxOne
+>>>>3 string =S \b, for Nintendo Switch
+>>>>3 string =G \b, for Google Stadia
+>>>>3 string =b \b, for WebAssembly and Bridge.NET
+>>>>3 string =m \b, for WindowsPhone7.0 (XNA)
+>>>>3 string =p \b, for PlayStationMobile
+>>>>3 string =v \b, for PSVita
+>>>>3 string =g \b, for Windows (OpenGL)
+>>>>3 string =l \b, for Linux
+>>>>4 byte x \b, version %d
+>>>>5 byte &0x80 \b, LZX compressed
+>>>>>10 long x \b, decompressed size: %d bytes
+>>>>5 byte &0x40 \b, LZ4 compressed
+>>>>>10 long x \b, decompressed size: %d bytes
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <https://mailman.astron.com/pipermail/file/attachments/20221218/0d5f464d/attachment.asc>
More information about the File
mailing list