]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/file/magic/Magdir/ole2compounddocs
MFV r357712: file 5.38.
[FreeBSD/FreeBSD.git] / contrib / file / magic / Magdir / ole2compounddocs
1
2 #------------------------------------------------------------------------------
3 # $File: ole2compounddocs,v 1.7 2019/08/02 18:08:18 christos Exp $
4 # Microsoft OLE 2 Compound Documents : file(1) magic for Microsoft Structured
5 # storage (https://en.wikipedia.org/wiki/Compound_File_Binary_Format)
6 # Additional tests for OLE 2 Compound Documents should be under this recipe.
7 # reference:    https://www.openoffice.org/sc/compdocfileformat.pdf
8
9 0   string  \320\317\021\340\241\261\032\341
10 # https://digital-preservation.github.io/droid/
11 # skip droid skeleton like fmt-39-signature-id-128.doc by valid version
12 >0x1A   ushort          !0xABAB         OLE 2 Compound Document
13 #>0x1C  uleshort                x                       \b, endnian 0x%4.4x
14 # big endian not tested
15 >>0x1C  ubeshort                =0xfffe                 \b, big-endian
16 >>>546  string  jbjb                    : Microsoft Word Document
17 !:mime  application/msword
18 !:apple MSWDWDBN
19 !:ext   doc
20 # Byte Order 0xFFFE means little-endian found in real world applications
21 #>>0x1C uleshort                =0xfffe                 \b, little-endian
22 >>0x1C  uleshort                =0xfffe
23 # From:         Joerg Jenderek
24 # Major Version 3 or 4
25 >>>0x1A uleshort                x                       \b, v%u
26 # Minor Version 32h=50 3Bh=59 3Eh=62
27 >>>0x18 uleshort                x                       \b.%u
28 # SecID of first sector of the directory stream is often 1 but high like 3144h
29 >>>48   ulelong                 x                       \b, SecID 0x%x
30 # pointer to root entry only works with standard configuration for SecID ~< 800h
31 # Red-Carpet-presentation-1.0-1.sdd sg10.sdv 2000_GA_Annual_Review_Data.xls
32 # "ORLEN Factbook 2017.xls" XnView_metadata.doc
33 # "Barham, Lisa - Die Shopping-Prinzessinnen.doc" then not recognized
34 >>>48   ulelong                 >0x800                  too big for FILE_BYTES_MAX = 1 MiB
35 # Sector Shift Exponent 9~512 for major version 3 or C~4096 for major version 4
36 >>>0x1E uleshort                0xc                     \b, blocksize 4096
37 # jump to one block (4096 bytes per block) before root storage block
38 >>>>(48.l*4096) ubyte   x
39 >>>>>&4095      use             ole2-directory
40 #>>>0x1E        uleshort                9                       \b, blocksize 512
41 >>>0x1E uleshort                9
42 # jump to one block (512 bytes per block) before root storage block
43 # in 5.37 only true for offset ~< FILE_BYTES_MAX=7 MiB defined in ../../src/file.h 
44 >>>>(48.l*512)  ubyte           x
45 >>>>>&511       use             ole2-directory
46 # check directory entry structure and display types by GUID
47 0       name                    ole2-directory
48 # directory entry name like "Root Entry"
49 #>0     lestring16      x                       \b, 1st %.10s
50 # type of the entry; 5~Root storage
51 #>66    ubyte           x                       \b, type %x
52 # node colour of the entry: 00H ~ Red 01H ~ Black
53 #>67    ubyte           x                       \b, color %x
54 # the DirIDs of the child nodes. Should both be –1 in the root storage entry
55 #>68    bequad          !0xffffffffffffffff     \b, DirIDs %llx
56 # second directory entry name like VisioDocument Control000 
57 #>128   lestring16      x \b, 2nd %.20s
58 # third directory entry like WordDocument
59 #>256   lestring16      x \b, 3rd %.20s
60 # forth
61 #>384   lestring16      x \b, 4th %.10s
62 # 5th
63 #>512   lestring16      x \b, 5th %.10s
64 # 6th
65 #>640   lestring16      x \b, 6th %.10s
66 # 7th
67 #>768   lestring16      x \b, 7th %.10s
68 #       https://wikileaks.org/ciav7p1/cms/page_13762814.html
69 #       https://m.blog.naver.com/superman4u/40047693679
70 #       https://misc.daniel-marschall.de/projects/guid_analysis/guid.txt
71 #       http://www.windowstricks.in/online-windows-guid-converter
72 #>80    ubequad         !0                      \b, clsid 0x%16.16llx
73 #>>88   ubequad         x                       \b%16.16llx
74 # test for "Root Entry" inside directory by type 5 value
75 >66     ubyte           5
76 # look for CLSID GUID 0
77 >>88    ubequad         0x0
78 >>>80   ubequad         0x0
79 # - Microstation V8 DGN files (www.bentley.com)
80 # URL:  https://en.wikipedia.org/wiki/MicroStation
81 #   Last update on 10/23/2006 by Lester Hightower
82 #   07/24/2019 by Joerg Jenderek
83 # Second directory entry name like Dgn~H Dgn~S 
84 >>>>128         lestring16      Dgn~                    : Microstation V8 CAD
85 #!:mime application/x-ole-storage
86 !:mime  application/x-bentley-dgn
87 # http://www.q-cad.com/files/samples_cad_files/1344468165.dgn
88 !:ext   dgn
89 #
90 # URL:  http://fileformats.archiveteam.org/wiki/WordPerfect
91 # Second directory entry name PerfectOffice_
92 >>>>128         lestring16      PerfectOffice_          : WordPerfect 7-X3 presentations Master, Document or Graphic
93 !:mime  application/vnd.wordperfect
94 # https://www.macdisk.com/macsigen.php "WPC2" for Wordperfect 2 *.wpd
95 !:apple ????WPC7
96 !:ext   mst/wpd/wpg
97 #
98 # URL:  http://fileformats.archiveteam.org/wiki/Microsoft_Works_Word_Processor
99 # Second directory entry name MatOST_
100 >>>>128         lestring16      MatOST                  : Microsoft Works 3.0 document
101 !:mime  application/vnd.ms-works
102 !:apple ????AWWP
103 !:ext   wps
104 #
105 # URL:  http://fileformats.archiveteam.org/wiki/Microsoft_Works_Spreadsheet
106 # 3rd directory entry name WksSSWorkBook
107 >>>>256         lestring16      WksSSWorkBook           : Microsoft Works 6-9 spreadsheet
108 !:mime  application/vnd.ms-works
109 !:apple ????AWSS
110 !:ext   xlr
111 #
112 # URL:  http://fileformats.archiveteam.org/wiki/XLS
113 # what is the difference to {00020820-0000-0000-c000-000000000046} ?
114 # Second directory entry name Workbook
115 >>>>128         lestring16      Workbook
116 >>>>>256        lestring16      !WksSSWorkBook          : Microsoft Excel 97-2003 worksheet 0 clsid
117 !:mime  application/vnd.ms-excel
118 # https://www.macdisk.com/macsigen.php  XLS5 for Excel 5
119 !:apple ????XLS9
120 !:ext   xls
121 #
122 # URL:  http://fileformats.archiveteam.org/wiki/PPT
123 # Second directory entry name Object1 Object12 Object35
124 >>>>128         lestring16      Object                  : Microsoft PowerPoint 4 presentation
125 !:mime  application/vnd.ms-powerpoint
126 # https://www.macdisk.com/macsigen.php
127 !:apple ????PPT3
128 !:ext   ppt
129 #
130 # URL:  https://www.msoutlook.info/question/164
131 # Second directory entry name __CollDataStm
132 >>>>128         lestring16      __CollDataStm           : Microsoft Outlook Send Receive Settings
133 #!:mime application/vnd.ms-outlook
134 !:mime  application/x-ms-srs
135 # %APPDATA%\Microsoft\Outlook\Outlook.srs
136 !:ext   srs
137 #
138 # URL:  https://www.file-extensions.org/cag-file-extension
139 # Second directory entry name Category
140 >>>>128         lestring16      Category                : Microsoft Clip Art Gallery
141 #!:mime application/x-ole-storage
142 !:mime  application/x-ms-cag
143 !:apple MScgCGdb
144 !:ext   cag/
145 #
146 # URL:  https://www.filesuffix.com/de/extension/rra
147 # 3rd directory entry name StrIndex_StringTable
148 >>>>256         lestring16      StrIndex_StringTable    : Windows temporarily installer
149 #!:mime application/x-ole-storage
150 !:mime  application/x-ms-rra
151 !:ext   rra
152 #
153 # URL:  https://www.forensicswiki.org/wiki/Jump_Lists
154 # 3rd directory entry name DestList     
155 >>>>256         lestring16      DestList                : Windows jump list
156 #!:mime application/x-ole-storage
157 !:mime  application/x-ms-jumplist
158 # %APPDATA%\Microsoft\Windows\Recent\AutomaticDestinations\*.automaticDestinations-ms
159 !:ext   automaticDestinations-ms
160 #
161 # URL:  https://en.wikipedia.org/wiki/Windows_thumbnail_cache
162 # Second directory entry name 256_
163 >>>>128         lestring16      256_                    : Windows thumbnail database 256
164 #!:mime application/x-ole-storage
165 !:mime  application/x-ms-thumbnail
166 # Thumbs.db
167 !:ext   db
168 >>>>128         lestring16      96_                     : Windows thumbnail database 96
169 !:mime  application/x-ms-thumbnail
170 !:ext   db
171 # 3rd directory entry name Catalog_
172 >>>>256         lestring16      Catalog                 : Windows thumbnail database
173 !:mime  application/x-ms-thumbnail
174 !:ext   db
175 #
176 # URL:  https://support.microsoft.com/en-us/help/300887/how-to-use-system-information-msinfo32-command-line-tool-switches
177 # Note: older Microsoft Systeminfo (MSInfo Configuration File of msinfo32); newer use xml based
178 # Second directory entry name Control000
179 >>>>128         lestring16      Control000              : Microsoft old Systeminfo
180 #!:mime application/x-ole-storage
181 !:mime  application/x-ms-info
182 !:ext   nfo
183 #
184 # URL:  http://fileformats.archiveteam.org/wiki/Corel_Print_House
185 # Second directory entry name Thumbnail
186 >>>>128         lestring16      Thumbnail               : Corel PrintHouse image
187 #!:mime application/x-ole-storage
188 !:mime  application/x-corel-cph
189 !:ext   cph
190 # 3rd directory entry name Thumbnail
191 >>>>256         lestring16      Thumbnail               : Corel PrintHouse image
192 !:mime  application/x-corel-cph
193 !:ext   cph
194 #
195 # URL:  https://en.wikipedia.org/wiki/Hangul_(word_processor)
196 # Note: "HWP Document File" signature found in FileHeader
197 # Second directory entry name FileHeader hint for Thinkfree Office document
198 >>>>128         lestring16      FileHeader              : Hangul (Korean) 5.0 Word Processor File
199 #!:mime application/haansofthwp
200 !:mime  application/x-hwp
201 # https://example-files.online-convert.com/document/hwp/example.hwp
202 !:ext   hwp
203 #
204 # URL:  https://ask.libreoffice.org/en/question/26303/creating-new-themes-for-the-gallery-not-functioning/
205 # Second directory entry name like dd2000 dd2001 dd2036 dd2060 dd2083
206 >>>>128         lestring16      dd2                     : StarOffice Gallery view
207 #!:mime application/x-ole-storage
208 !:mime  application/x-star-sdv
209 !:ext   sdv
210 #       remaining null clsid
211 >>>>128         default         x                       : UNKNOWN
212 !:mime  application/x-ole-storage
213 #       look for known clsid GUID
214 # - Visio documents
215 # URL:  http://fileformats.archiveteam.org/wiki/Visio
216 #   Last update on 10/23/2006 by Lester Hightower, 07/20/2019 by Joerg Jenderek
217 >>88    ubequad         0xc000000000000046      : Microsoft
218 >>>80   ubequad         0x131a020000000000      Visio 2000-2002 Document, stencil or template
219 !:mime  application/vnd.visio
220 # VSD~Drawing VSS~Stencil VST~Template 
221 !:ext   vsd/vss/vst
222 >>>80   ubequad         0x141a020000000000      Visio 2003-2010 Document, stencil or template
223 !:mime  application/vnd.visio
224 !:ext   vsd/vss/vst
225 #
226 # URL:  http://fileformats.archiveteam.org/wiki/Windows_Installer
227 >>>80   ubequad         0x84100c0000000000      Windows Installer Package
228 !:mime  application/x-msi
229 #!:mime application/x-ms-win-installer
230 !:ext   msi
231 >>>80   ubequad         0x86100c0000000000      Windows Installer Patch
232 # ??
233 !:mime  application/x-wine-extension-msp
234 #!:mime application/x-ms-msp
235 !:ext   msp
236 #
237 # URL:  http://fileformats.archiveteam.org/wiki/DOC
238 >>>80   ubequad         0x0009020000000000      Word 6-95 document or template
239 !:mime  application/msword
240 # for template MSWDW8TN
241 !:apple MSWDWDBN
242 !:ext   doc/dot
243 >>>80   ubequad         0x0609020000000000      Word 97-2003 document or template
244 !:mime  application/msword
245 !:apple MSWDWDBN
246 # dot for template; no extension on Macintosh
247 !:ext   doc/dot/
248 #
249 # URL:  http://fileformats.archiveteam.org/wiki/Microsoft_Works_Word_Processor
250 >>>80   ubequad         0x0213020000000000      Works 3-4 document or template
251 !:mime  application/vnd.ms-works
252 !:apple ????AWWP
253 # ps for template       https://filext.com/file-extension/PS    bps for backup
254 !:ext   wps/ps/bps
255 #
256 # URL:  http://fileformats.archiveteam.org/wiki/Microsoft_Works_Database
257 >>>80   ubequad         0x0313020000000000      Works 3-4 database or template
258 !:mime  application/vnd.ms-works-db
259 # https://www.macdisk.com/macsigen.php
260 !:apple ????AWDB
261 # db for template www.file-extensions.org/db-file-extension-microsoft-works-data bdb for backup
262 !:ext   wdb/db/bdb
263 #
264 # URL:  https://en.wikipedia.org/wiki/Microsoft_Excel
265 >>>80   ubequad         0x1008020000000000      Excel 5-95 worksheet, addin or template
266 !:mime  application/vnd.ms-excel
267 # https://www.macdisk.com/macsigen.php
268 !:apple ????XLS5
269 # worksheet/addin/template/no extension on Macintosh
270 !:ext   xls/xla/xlt/
271 #
272 >>>80   ubequad         0x2008020000000000      Excel 97-2003
273 !:mime  application/vnd.ms-excel
274 # https://www.macdisk.com/macsigen.php  XLS5 for Excel 5
275 !:apple ????XLS9
276 # 3nd directory entry name
277 >>>>256         lestring16      _VBA_PROJECT_CUR        addin
278 !:ext   xla/
279 # 4th directory entry name
280 >>>>384         lestring16      _VBA_PROJECT_CUR        addin
281 !:ext   xla
282 #!:ext  xla/
283 >>>>256         default         x                       worksheet or template
284 !:ext   xls/xlt
285 #!:ext  xls/xlt/
286 #
287 # URL:  http://fileformats.archiveteam.org/wiki/OLE2
288 >>>80   ubequad         0x0b0d020000000000      Outlook 97-2003 item
289 #>>>80  ubequad         0x0b0d020000000000      Outlook 97-2003 Message
290 #!:mime application/vnd.ms-outlook
291 !:mime  application/x-ms-msg
292 !:ext   msg
293 # URL:  https://wiki.fileformat.com/email/oft/
294 >>>80   ubequad         0x46f0060000000000      Outlook 97-2003 item template
295 #!:mime application/vnd.ms-outlook
296 !:mime  application/x-ms-oft
297 !:ext   oft
298 #
299 # URL:  http://fileformats.archiveteam.org/wiki/PPT
300 >>>80   ubequad         0x5148040000000000      PowerPoint 4.0 presentation
301 !:mime  application/vnd.ms-powerpoint
302 # https://www.macdisk.com/macsigen.php
303 !:apple ????PPT3
304 !:ext   ppt
305 #??
306 # URL:  http://www.checkfilename.com/view-details/Microsoft-Works/RespageIndex/0/sTab/2/
307 >>88    ubequad         0xa29a00aa004a1a72      : Microsoft
308 # URL:  http://fileformats.archiveteam.org/wiki/Microsoft_Works_Word_Processor
309 >>>80   ubequad         0xc2dbcd28e20ace11      Works 4 document
310 !:mime  application/vnd.ms-works
311 !:apple ????AWWP
312 !:ext   wps
313 #
314 # URL:  http://fileformats.archiveteam.org/wiki/Microsoft_Works_Database
315 >>>80   ubequad         0xc3dbcd28e20ace11      Works 4 database
316 !:mime  application/vnd.ms-works-db
317 !:apple ????AWDB
318 !:ext   wdb/bdb
319 #??
320 >>88    ubequad         0xa40700c04fb932ba      : Microsoft
321 # URL:  http://fileformats.archiveteam.org/wiki/Microsoft_Works_Word_Processor
322 >>>80   ubequad         0xb25aa40e0a9ed111      Works 5-6 document
323 !:mime  application/vnd.ms-works
324 !:apple ????AWWP
325 !:ext   wps
326 #??
327 # URL:  http://fileformats.archiveteam.org/wiki/Microsoft_Publisher
328 >>88    ubequad         0x00c0000000000046      : Microsoft
329 >>>80   ubequad         0x0112020000000000      Publisher
330 !:mime  application/vnd.ms-publisher
331 !:ext   pub
332 #
333 # URL:  http://fileformats.archiveteam.org/wiki/PPT
334 #??
335 >>88    ubequad         0xa90300aa00510ea3      : Microsoft
336 >>>80   ubequad         0x70ae7bea3bfbcd11      PowerPoint 95 presentation
337 !:mime  application/vnd.ms-powerpoint
338 # https://www.macdisk.com/macsigen.php
339 !:apple ????PPT3
340 !:ext   ppt/pot
341 #??
342 >>88    ubequad         0x86ea00aa00b929e8      : Microsoft
343 >>>80   ubequad         0x108d81649b4fcf11      PowerPoint 97-2003 presentation or template
344 !:mime  application/vnd.ms-powerpoint
345 !:apple ????PPT3
346 # /autostart/template
347 !:ext   ppt/pps/pot
348 #
349 # URL:  https://en.wikipedia.org/wiki/Microsoft_Project
350 #??
351 >>88    ubequad         0xbe1100c04fb6faf1      : Microsoft
352 >>>80   ubequad         0x3a8fb774c8c8d111      Project
353 !:mime  application/vnd.ms-project
354 !:ext   mpp
355 #
356 # URL:  http://fileformats.archiveteam.org/wiki/SHW_(Corel)
357 #???
358 >>88    ubequad         0x99ae04021c007002      : WordPerfect
359 >>>80   ubequad         0x62fe2e4099191b10      7-X3 presentation
360 !:mime  application/x-corelpresentations
361 #!:mime application/x-shw-viewer
362 #!:mime image/x-presentations
363 !:ext   shw
364 #
365 # URL:  http://www.checkfilename.com/view-details/WordPerfect-Office-X3/RespageIndex/0/sTab/2/
366 >>>80   ubequad         0x60fe2e4099191b10      9 Graphic
367 #!:mime application/x-wpg
368 #!:mime image/x-wordperfect-graphics
369 !:mime  image/x-wpg
370 # https://www.macdisk.com/macsigen.php "WPC2" for Wordperfect 2 *.wpd
371 !:apple ????WPC9
372 !:ext   wpg
373 #
374 # URL:  http://fileformats.archiveteam.org/wiki/StarOffice_binary_formats
375 >>88    ubequad         0x996104021c007002      : StarOffice
376 >>>80   ubequad         0x407e5cdc5cb31b10      StarWriter 3.0 document or template
377 # https://www.openoffice.org/framework/documentation/mimetypes/mimetypes.html
378 !:mime  application/x-starwriter
379 !:ext   sdw/vor
380 #
381 >>>80   ubequad         0xa03f543fa6b61b10      StarCalc 3.0 spreadsheet or template
382 !:mime  application/x-starcalc
383 !:ext   sdc/vor
384 #
385 >>>80   ubequad         0xe0aa10af6db31b10      StarDraw 3.0 drawing or template
386 !:mime  application/x-starimpress
387 #!:mime application/x-stardraw
388 # sda ??
389 !:ext   sdd/sda/vor
390 #??
391 >>88    ubequad         0x89cb008029e4b0b1      : StarOffice
392 >>>80   ubequad         0x41d461633542d011      StarCalc 4.0 spreadsheet or template
393 !:mime  application/x-starcalc
394 !:ext   sdc/vor
395 #
396 >>>80   ubequad         0x61b8a5c6d685d111      StarCalc 5.0 spreadsheet or template
397 !:mime  application/vnd.stardivision.cal
398 !:ext   sdc/vor
399 #
400 >>>80   ubequad         0xc03c2d011642d011      StarImpress 4.0 presentation or template
401 !:mime  application/x-starimpress
402 !:ext   sdd/vor
403 #??
404 >>88    ubequad         0xb12a04021c007002      : StarOffice
405 >>>80   ubequad         0x600459d4fd351c10      StarMath 3.0
406 !:mime  application/x-starmath
407 !:ext   smf
408 #??
409 >>88    ubequad         0x8e2c00001b4cc711      : StarOffice
410 >>>80   ubequad         0xe0999cfb6d2c1c10      StarChart 3.0
411 !:mime  application/x-starchart
412 !:ext   sds
413 #??
414 >>88    ubequad         0xa45e00a0249d57b1      : StarOffice
415 >>>80   ubequad         0xb0e9048b0e42d011      StarWriter 4.0 document or template
416 !:mime  application/x-starwriter
417 !:ext   sdw/vor
418 #??
419 >>88    ubequad         0x89ca008029e4b0b1      : StarOffice
420 >>>80   ubequad         0xe1b7b3022542d011      StarMath 4.0
421 !:mime  application/x-starmath
422 !:ext   smf
423 #
424 >>>80   ubequad         0xe0b7b3022542d011      StarChart 4.0
425 !:mime  application/x-starchart
426 !:ext   sds
427 #??
428 >>88    ubequad         0xa53f00a0249d57b1      : StarOffice
429 >>>80   ubequad         0x70c90a340de3d011      Master 4.0 document
430 !:mime  application/x-starwriter-global
431 !:ext   sgl
432 #??
433 >>88    ubequad         0x89d0008029e4b0b1      : StarOffice
434 >>>80   ubequad         0x40e6b5ffde85d111      StarMath 5.0
435 !:mime  application/vnd.stardivision.math
436 !:ext   smf
437 #
438 >>>80   ubequad         0xa005892ebd85d111      StarDraw 5.0 drawing or template
439 !:mime  application/vnd.stardivision.draw
440 !:ext   sda/vor
441 #
442 >>>80   ubequad         0x21725c56bc85d111      StarImpress 5.0 presentation or template
443 !:mime  application/vnd.stardivision.impress
444 # sda is used for what?
445 !:ext   sdd/vor/sda
446 #
447 >>>80   ubequad         0x214388bfdd85d111      StarChart 5.0
448 !:mime  application/vnd.stardivision.chart
449 !:ext   sds
450 # ??
451 >>88    ubequad         0xaab4006097da561a      : StarOffice
452 >>>80   ubequad         0xd1f90cc2ae85d111      StarWriter 5.0 document or template
453 !:mime  application/vnd.stardivision.writer
454 !:ext   sdw/vor
455 #
456 >>>80   ubequad         0xd3f90cc2ae85d111      Master 5.0 document
457 !:mime  application/vnd.stardivision.writer-global
458 !:ext   sgl
459 #??
460 # URL:  http://fileformats.archiveteam.org/wiki/FlashPix
461 >>88    ubequad         0x855300aa00a1f95b      : Kodak
462 >>>80   ubequad         0x0067615654c1ce11      FlashPIX Image
463 !:mime  image/vnd.fpx
464 !:apple ????FPix
465 !:ext   fpx
466 # remaining non null clsid
467 >>88    default         x                       : UNKNOWN
468 !:mime  application/x-ole-storage
469 >>>80   ubequad         !0                      \b, clsid 0x%16.16llx
470 >>>88   ubequad         x                       \b%16.16llx
471