[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