[File] [PATCH] Magdir/ole2compounddocs for "newer" Autodesk 3ds MAX

Christos Zoulas christos at zoulas.com
Sat Feb 26 17:44:40 UTC 2022


Committed, thanks!

christos

> On Feb 23, 2022, at 10:20 AM, Jörg Jenderek <joerg.jen.der.ek at gmx.net> wrote:
> 
> Hello,
> 
> some days ago i handles some 3D objects with file name extension MAX.
> 
> When running file command version 5.41 with -e cdf option on such
> examples i get an output like:
> 
> A380.max:                OLE 2 Compound Document, v3.62, SecID 0x1,
>                         39 FAT sectors,
>                         Mini FAT start sector 0x12b4,
>                         2 Mini FAT sectors
> 			 : UNKNOWN,
> 			 clsid 0x7b8cdd1cc081a0459fed04143144cc1e
> Lowpoly_tree_sample.max: OLE 2 Compound Document, v4.62, SecID 0x1,
>                         Mini FAT start sector 0x2,
>                         blocksize 4096
> 			 : UNKNOWN,
> 			 clsid 0x7b8cdd1cc081a0459fed04143144cc1e
> Moon 2K.max:             OLE 2 Compound Document, v4.62, SecID 0x1,
>                         Mini FAT start sector 0x2,
> 			 blocksize 4096
> 			 : UNKNOWN,
> 			 clsid 0x7b8cdd1cc081a0459fed04143144cc1e
> Porsche_911_GT2.max:     OLE 2 Compound Document, v3.62, SecID 0x1,
>                         18 FAT sectors,
>                         Mini FAT start sector 0x889,
> 			 2 Mini FAT sectors
> 			 : UNKNOWN,
> 			 clsid 0x7b8cdd1cc081a0459fed04143144cc1e
> T&C.max:                 OLE 2 Compound Document, v4.62, SecID 0x1,
>                         15 FAT sectors,
>                         Mini FAT start sector 0x2,
> 			 blocksize 4096
> 			 : UNKNOWN,
> 			 clsid 0x7b8cdd1cc081a0459fed04143144cc1e
> interior max.max:        OLE 2 Compound Document, v4.62, SecID 0x1,
>         		 6 FAT sectors,
> 			 Mini FAT start sector 0x2,
> 			 blocksize 4096
> 			 : UNKNOWN,
> 			 clsid 0x7b8cdd1cc081a0459fed04143144cc1e
> scania.max:              OLE 2 Compound Document, v3.62, SecID 0x1,
>                         284 FAT sectors,
>                         Mini FAT start sector 0x8d59,
> 			 2 Mini FAT sectors,
> 			 DIFAT start sector 0x3681, 2 DIFAT sectors
> 			 : UNKNOWN,
> 			 clsid 0x7b8cdd1cc081a0459fed04143144cc1e
> scania_2009.max:         OLE 2 Compound Document, v4.62, SecID 0x1,
>                         5 FAT sectors,
>                         Mini FAT start sector 0x11dc,
> 			 blocksize 4096
> 			 : UNKNOWN,
> 			 clsid 0x7b8cdd1cc081a0459fed04143144cc1e
> 
> Furthermore only generic mime type application/x-ole-storage is
> shown with -i and -e cdf option. With option --extension only 3 byte
> sequence ??? is shown.
> 
> When running file command with -e soft or no extra option for all
> examples i get a output like:
> 
> A380.max:                Composite Document File V2 Document,
> 			 Little Endian, Os: Windows, Version 5.1,
> 			 Code page: 1200, Locale ID: 1033
> Lowpoly_tree_sample.max: Composite Document File V2 Document,
> 			 Little Endian, Os: Windows, Version 10.0,
> 			 Code page: -535, Locale ID: 1033
> Moon 2K.max:             Composite Document File V2 Document,
>     			 Little Endian, Os: Windows, Version 6.1,
> 			 Code page: -535, Locale ID: 1049
> Porsche_911_GT2.max:     Composite Document File V2 Document,
> 			 Little Endian, Os: Windows, Version 5.1,
> 			 Code page: 1200, Locale ID: 1033
> T&C.max:                 Composite Document File V2 Document,
> 			 Little Endian, Os: Windows, Version 10.0,
> 			 Code page: -535, Locale ID: 1055
> interior max.max:        Composite Document File V2 Document,
> 	 		 Little Endian, Os: Windows, Version 6.1,
> 			 Code page: -535, Locale ID: 1033
> scania.max:              Composite Document File V2 Document,
> 			 Little Endian, Os: Windows, Version 5.1,
> 			 Code page: 1200, Locale ID: 1033
> scania_2009.max:         Composite Document File V2 Document,
> 			 Little Endian, Os: Windows, Version 5.1,
> 			 Code page: 1200, Locale ID: 1033
> 
> For comparison reason i run the file format identification utility
> TrID ( See https://mark0.net/soft-trid-e.html). This identifies also
> all examples with low priority as "Generic OLE2 / Multistream
> Compound" by docfile.trid.xml. All examples are described as "3D
> Studio Max Scene" with MAX file name extension by max.trid.xml
> (See appended trid-v-max.txt.gz).
> 
> For comparison reason i also run the file format identification
> utility DROID ( See https://sourceforge.net/projects/droid/). This
> identifies many "3DS Max" with MAX file name extension by PUID
> fmt/978. Some examples are only described generic as "OLE2 Compound
> Document Format" by fmt/111 Signature (See appended
> droid-max.csv.gz).
> 
> Luckily with information given by the other tools i also found a
> page about MAX (3ds Max) on file formats archive team web site.
> There it is written that is is based on Microsoft Compound File
> format. Following that internal link jumps to that page. There are
> also displayed CLSID is mentioned. That informations are expressed by
> comment lines inside Magdir/ole2compounddocs like:
> # URL: http://fileformats.archiveteam.org/wiki/MAX_(3ds_Max)
> # Reference:
> #  http://fileformats.archiveteam.org/wiki/Microsoft_Compound_File
> 
> The MAX examples are recognized as "OLE 2 Compound Document"
> by starting bytes (\320\317\021\340\241\261\032\341) at the beginning
> inside Magdir/ole2compounddocs. Obviously there exist no code
> fragment to do sub class identification. So the examples are
> described as "UNKNOWN". Furthermore the examples have a registered
> Root storage object CLSID. That value is shown as
> 0x7b8cdd1cc081a0459fed04143144cc1e or expressed in standard curly
> braces expression by {1CDD8C7B-81C0-45A0-9FED-04143144CC1E}.
> That means that in branch handling non null CLSID GUID lines ,ust be
> added. The last entry was PlanMaker document or template (*pmd,*.pmv)
> 
> So i add afterwards lines for my inspected examples. That looks like:
> 
>>> 88 	ubequad		0x9fed04143144cc1e	: Autodesk
>>>> 80 	ubequad		0x7b8cdd1cc081a045	3ds Max
> !:mime	model/x-autodesk-max
> !:ext	max
> 
> I found no official or often used mime type. So i display an user
> defined one. According to DROID by fmt/978 also 3 byte chr file name
> extension is probably used for character file, but i found no such
> examples. So i show only extension MAX.
> 
> After applying the above mentioned modifications by patch
> file-5.41-ole2compounddocs-max.diff then all my "newer" inspected MAX
> examples are now described with more details. This now looks with -e
> cdf option like:
> 
> A380.max:                OLE 2 Compound Document, v3.62, SecID 0x1,
>                         39 FAT sectors,
>                         Mini FAT start sector 0x12b4,
>                         2 Mini FAT sectors
>                         : Autodesk 3ds Max
> Lowpoly_tree_sample.max: OLE 2 Compound Document, v4.62, SecID 0x1,
>                         Mini FAT start sector 0x2,
>                         blocksize 4096
>                         : Autodesk 3ds Max
> Moon 2K.max:             OLE 2 Compound Document, v4.62, SecID 0x1,
>                         Mini FAT start sector 0x2,
>                         blocksize 4096
>                         : Autodesk 3ds Max
> Porsche_911_GT2.max:     OLE 2 Compound Document, v3.62, SecID 0x1,
>                         18 FAT sectors,
>                         Mini FAT start sector 0x889,
>                         2 Mini FAT sectors
>                         : Autodesk 3ds Max
> T&C.max:                 OLE 2 Compound Document, v4.62, SecID 0x1,
>                         15 FAT sectors,
>                         Mini FAT start sector 0x2,
>                         blocksize 4096
>                         : Autodesk 3ds Max
> interior max.max:        OLE 2 Compound Document, v4.62, SecID 0x1,
>                         6 FAT sectors,
>                         Mini FAT start sector 0x2,
>                         blocksize 4096
>                         : Autodesk 3ds Max
> scania.max:              OLE 2 Compound Document, v3.62, SecID 0x1,
>                         284 FAT sectors,
>                         Mini FAT start sector 0x8d59,
>                         2 Mini FAT sectors,
>                         DIFAT start sector 0x3681, 2 DIFAT sectors
>                         : Autodesk 3ds Max
> scania_2009.max:         OLE 2 Compound Document, v4.62, SecID 0x1,
>                         5 FAT sectors,
>                         Mini FAT start sector 0x11dc,
>                         blocksize 4096
>                         : Autodesk 3ds Max
> 
> I hope my diff file can be applied in future version of file
> utility.
> 
> There seem to exist some older MAX examples where a little other
> format is used. I will try to handle this in a future session.
> 
> With best wishes,
> Jörg Jenderek
> --
> Jörg Jenderek
> 
> <Nachrichtenteil als Anhang.DEFANGED-560><trid-v-max.txt.gz><droid-max.csv.gz><file-5_41-ole2compounddocs-max_diff_sig.DEFANGED-561><file-5_41-ole2compounddocs-max_diff.DEFANGED-562>--
> File mailing list
> File at astron.com
> https://mailman.astron.com/mailman/listinfo/file
> <sanitizer.log>

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 235 bytes
Desc: Message signed with OpenPGP
URL: <https://mailman.astron.com/pipermail/file/attachments/20220226/4640cdc0/attachment.asc>


More information about the File mailing list