Annotation of embedaddon/php/ext/fileinfo/tests/magic, revision 1.1.1.1
1.1 misho 1: # Magic data for file(1) command.
2: # Format is described in magic(5).
3: # Don't edit this file, edit /etc/magic or send your suggested inclusions to
4: # this file as a wishlist bug against file (using the reportbug utility).
5:
6:
7: #------------------------------------------------------------------------------
8: # Localstuff: file(1) magic for locally observed files
9: #
10: # $File: Localstuff,v 1.4 2003/03/23 04:17:27 christos Exp $
11: # Add any locally observed files here. Remember:
12: # text if readable, executable if runnable binary, data if unreadable.
13: #------------------------------------------------------------------------------
14: # acorn: file(1) magic for files found on Acorn systems
15: #
16:
17: # RISC OS Chunk File Format
18: # From RISC OS Programmer's Reference Manual, Appendix D
19: # We guess the file type from the type of the first chunk.
20: 0 lelong 0xc3cbc6c5 RISC OS Chunk data
21: >12 string OBJ_ \b, AOF object
22: >12 string LIB_ \b, ALF library
23:
24: # RISC OS AIF, contains "SWI OS_Exit" at offset 16.
25: 16 lelong 0xef000011 RISC OS AIF executable
26:
27: # RISC OS Draw files
28: # From RISC OS Programmer's Reference Manual, Appendix E
29: 0 string Draw RISC OS Draw file data
30:
31: # RISC OS new format font files
32: # From RISC OS Programmer's Reference Manual, Appendix E
33: 0 string FONT\0 RISC OS outline font data,
34: >5 byte x version %d
35: 0 string FONT\1 RISC OS 1bpp font data,
36: >5 byte x version %d
37: 0 string FONT\4 RISC OS 4bpp font data
38: >5 byte x version %d
39:
40: # RISC OS Music files
41: # From RISC OS Programmer's Reference Manual, Appendix E
42: 0 string Maestro\r RISC OS music file
43: >8 byte x version %d
44:
45: >8 byte x type %d
46:
47: # Digital Symphony data files
48: # From: Bernard Jungen (bern8817@euphonynet.be)
49: 0 string \x02\x01\x13\x13\x13\x01\x0d\x10 Digital Symphony sound sample (RISC OS),
50: >8 byte x version %d,
51: >9 pstring x named "%s",
52: >(9.b+19) byte =0 8-bit logarithmic
53: >(9.b+19) byte =1 LZW-compressed linear
54: >(9.b+19) byte =2 8-bit linear signed
55: >(9.b+19) byte =3 16-bit linear signed
56: >(9.b+19) byte =4 SigmaDelta-compressed linear
57: >(9.b+19) byte =5 SigmaDelta-compressed logarithmic
58: >(9.b+19) byte >5 unknown format
59:
60: 0 string \x02\x01\x13\x13\x14\x12\x01\x0b Digital Symphony song (RISC OS),
61: >8 byte x version %d,
62: >9 byte =1 1 voice,
63: >9 byte !1 %d voices,
64: >10 leshort =1 1 track,
65: >10 leshort !1 %d tracks,
66: >12 leshort =1 1 pattern
67: >12 leshort !1 %d patterns
68:
69: 0 string \x02\x01\x13\x13\x10\x14\x12\x0e
70: >9 byte =0 Digital Symphony sequence (RISC OS),
71: >>8 byte x version %d,
72: >>10 byte =1 1 line,
73: >>10 byte !1 %d lines,
74: >>11 leshort =1 1 position
75: >>11 leshort !1 %d positions
76: >9 byte =1 Digital Symphony pattern data (RISC OS),
77: >>8 byte x version %d,
78: >>10 leshort =1 1 pattern
79: >>10 leshort !1 %d patterns
80:
81: #------------------------------------------------------------------------------
82: # adi: file(1) magic for ADi's objects
83: # From Gregory McGarry <g.mcgarry@ieee.org>
84: #
85: 0 leshort 0x521c COFF DSP21k
86: >18 lelong &02 executable,
87: >18 lelong ^02
88: >>18 lelong &01 static object,
89: >>18 lelong ^01 relocatable object,
90: >18 lelong &010 stripped
91: >18 lelong ^010 not stripped
92:
93: #------------------------------------------------------------------------------
94: # adventure: file(1) magic for Adventure game files
95: #
96: # from Allen Garvin <earendil@faeryland.tamu-commerce.edu>
97: # Edited by Dave Chapeskie <dchapes@ddm.on.ca> Jun 28, 1998
98: # Edited by Chris Chittleborough <cchittleborough@yahoo.com.au>, March 2002
99: #
100: # ALAN
101: # I assume there are other, lower versions, but these are the only ones I
102: # saw in the archive.
103: 0 beshort 0x0206 ALAN game data
104: >2 byte <10 version 2.6%d
105:
106:
107: # Infocom (see z-machine)
108: #------------------------------------------------------------------------------
109: # Z-machine: file(1) magic for Z-machine binaries.
110: #
111: # This will match ${TEX_BASE}/texmf/omega/ocp/char2uni/inbig5.ocp which
112: # appears to be a version-0 Z-machine binary.
113: #
114: # The (false match) message is to correct that behavior. Perhaps it is
115: # not needed.
116: #
117: 16 belong&0xfe00f0f0 0x3030 Infocom game data
118: >0 ubyte 0 (false match)
119: >0 ubyte >0 (Z-machine %d,
120: >>2 ubeshort x Release %d /
121: >>18 string >\0 Serial %.6s)
122:
123: #------------------------------------------------------------------------------
124: # Glulx: file(1) magic for Glulx binaries.
125: #
126: # I haven't checked for false matches yet.
127: #
128: 0 string Glul Glulx game data
129: >4 beshort x (Version %d
130: >>6 byte x \b.%d
131: >>8 byte x \b.%d)
132: >36 string Info Compiled by Inform
133:
134:
135:
136: # For Quetzal and blorb magic see iff
137:
138:
139: # TADS (Text Adventure Development System)
140: # All files are machine-independent (games compile to byte-code) and are tagged
141: # with a version string of the form "V2.<digit>.<digit>\0" (but TADS 3 is
142: # on the way).
143: # Game files start with "TADS2 bin\n\r\032\0" then the compiler version.
144: 0 string TADS2\ bin TADS
145: >9 belong !0x0A0D1A00 game data, CORRUPTED
146: >9 belong 0x0A0D1A00
147: >>13 string >\0 %s game data
148: # Resource files start with "TADS2 rsc\n\r\032\0" then the compiler version.
149: 0 string TADS2\ rsc TADS
150: >9 belong !0x0A0D1A00 resource data, CORRUPTED
151: >9 belong 0x0A0D1A00
152: >>13 string >\0 %s resource data
153: # Some saved game files start with "TADS2 save/g\n\r\032\0", a little-endian
154: # 2-byte length N, the N-char name of the game file *without* a NUL (darn!),
155: # "TADS2 save\n\r\032\0" and the interpreter version.
156: 0 string TADS2\ save/g TADS
157: >12 belong !0x0A0D1A00 saved game data, CORRUPTED
158: >12 belong 0x0A0D1A00
159: >>(16.s+32) string >\0 %s saved game data
160: # Other saved game files start with "TADS2 save\n\r\032\0" and the interpreter
161: # version.
162: 0 string TADS2\ save TADS
163: >10 belong !0x0A0D1A00 saved game data, CORRUPTED
164: >10 belong 0x0A0D1A00
165: >>14 string >\0 %s saved game data
166:
167: # Danny Milosavljevic <danny.milo@gmx.net>
168: # this are adrift (adventure game standard) game files, extension .taf
169: # depending on version magic continues with 0x93453E6139FA (V 4.0)
170: # 0x9445376139FA (V 3.90)
171: # 0x9445366139FA (V 3.80)
172: # this is from source (http://www.adrift.org.uk/) and I have some taf
173: # files, and checked them.
174: #0 belong 0x3C423FC9
175: #>4 belong 0x6A87C2CF Adrift game file
176: #!:mime application/x-adrift
177: #------------------------------------------------------------------------------
178: # allegro: file(1) magic for Allegro datafiles
179: # Toby Deshane <hac@shoelace.digivill.net>
180: #
181: 0 belong 0x736C6821 Allegro datafile (packed)
182: 0 belong 0x736C682E Allegro datafile (not packed/autodetect)
183: 0 belong 0x736C682B Allegro datafile (appended exe data)
184:
185: #------------------------------------------------------------------------------
186: # alliant: file(1) magic for Alliant FX series a.out files
187: #
188: # If the FX series is the one that had a processor with a 68K-derived
189: # instruction set, the "short" should probably become "beshort" and the
190: # "long" should probably become "belong".
191: # If it's the i860-based one, they should probably become either the
192: # big-endian or little-endian versions, depending on the mode they ran
193: # the 860 in....
194: #
195: 0 short 0420 0420 Alliant virtual executable
196: >2 short &0x0020 common library
197: >16 long >0 not stripped
198: 0 short 0421 0421 Alliant compact executable
199: >2 short &0x0020 common library
200: >16 long >0 not stripped
201: #------------------------------------------------------------------------------
202: # alpha architecture description
203: #
204:
205: 0 leshort 0603 COFF format alpha
206: >22 leshort&030000 !020000 executable
207: >24 leshort 0410 pure
208: >24 leshort 0413 paged
209: >22 leshort&020000 !0 dynamically linked
210: >16 lelong !0 not stripped
211: >16 lelong 0 stripped
212: >22 leshort&030000 020000 shared library
213: >24 leshort 0407 object
214: >27 byte x - version %d
215: >26 byte x .%d
216: >28 byte x -%d
217:
218: # Basic recognition of Digital UNIX core dumps - Mike Bremford <mike@opac.bl.uk>
219: #
220: # The actual magic number is just "Core", followed by a 2-byte version
221: # number; however, treating any file that begins with "Core" as a Digital
222: # UNIX core dump file may produce too many false hits, so we include one
223: # byte of the version number as well; DU 5.0 appears only to be up to
224: # version 2.
225: #
226: 0 string Core\001 Alpha COFF format core dump (Digital UNIX)
227: >24 string >\0 \b, from '%s'
228: 0 string Core\002 Alpha COFF format core dump (Digital UNIX)
229: >24 string >\0 \b, from '%s'
230:
231: #------------------------------------------------------------------------------
232: # amanda: file(1) magic for amanda file format
233: #
234: 0 string AMANDA:\ AMANDA
235: >8 string TAPESTART\ DATE tape header file,
236: >>23 string X
237: >>>25 string >\ Unused %s
238: >>23 string >\ DATE %s
239: >8 string FILE\ dump file,
240: >>13 string >\ DATE %s
241: #------------------------------------------------------------------------------
242: # amigaos: file(1) magic for AmigaOS binary formats:
243:
244: #
245: # From ignatios@cs.uni-bonn.de (Ignatios Souvatzis)
246: #
247: 0 belong 0x000003fa AmigaOS shared library
248: 0 belong 0x000003f3 AmigaOS loadseg()ble executable/binary
249: 0 belong 0x000003e7 AmigaOS object/library data
250: #
251: 0 beshort 0xe310 Amiga Workbench
252: >2 beshort 1
253: >>48 byte 1 disk icon
254: >>48 byte 2 drawer icon
255: >>48 byte 3 tool icon
256: >>48 byte 4 project icon
257: >>48 byte 5 garbage icon
258: >>48 byte 6 device icon
259: >>48 byte 7 kickstart icon
260: >>48 byte 8 workbench application icon
261: >2 beshort >1 icon, vers. %d
262: #
263: # various sound formats from the Amiga
264: # G=F6tz Waschk <waschk@informatik.uni-rostock.de>
265: #
266: 0 string FC14 Future Composer 1.4 Module sound file
267: 0 string SMOD Future Composer 1.3 Module sound file
268: 0 string AON4artofnoise Art Of Noise Module sound file
269: 1 string MUGICIAN/SOFTEYES Mugician Module sound file
270: 58 string SIDMON\ II\ -\ THE Sidmon 2.0 Module sound file
271: 0 string Synth4.0 Synthesis Module sound file
272: 0 string ARP. The Holy Noise Module sound file
273: 0 string BeEp\0 JamCracker Module sound file
274: 0 string COSO\0 Hippel-COSO Module sound file
275: # Too simple (short, pure ASCII, deep), MPi
276: #26 string V.3 Brian Postma's Soundmon Module sound file v3
277: #26 string BPSM Brian Postma's Soundmon Module sound file v3
278: #26 string V.2 Brian Postma's Soundmon Module sound file v2
279:
280: # The following are from: "Stefan A. Haubenthal" <polluks@web.de>
281: 0 beshort 0x0f00 AmigaOS bitmap font
282: 0 beshort 0x0f03 AmigaOS outline font
283: 0 belong 0x80001001 AmigaOS outline tag
284: 0 string ##\ version catalog translation
285: 0 string EMOD\0 Amiga E module
286: 8 string ECXM\0 ECX module
287: 0 string/c @database AmigaGuide file
288:
289: # Amiga disk types
290: #
291: 0 string RDSK Rigid Disk Block
292: >160 string x on %.24s
293: 0 string DOS\0 Amiga DOS disk
294: 0 string DOS\1 Amiga FFS disk
295: 0 string DOS\2 Amiga Inter DOS disk
296: 0 string DOS\3 Amiga Inter FFS disk
297: 0 string DOS\4 Amiga Fastdir DOS disk
298: 0 string DOS\5 Amiga Fastdir FFS disk
299: 0 string KICK Kickstart disk
300:
301: # From: Alex Beregszaszi <alex@fsn.hu>
302: 0 string LZX LZX compressed archive (Amiga)
303:
304:
305: #------------------------------------------------------------------------------
306: # animation: file(1) magic for animation/movie formats
307: #
308: # animation formats
309: # MPEG, FLI, DL originally from vax@ccwf.cc.utexas.edu (VaX#n8)
310: # FLC, SGI, Apple originally from Daniel Quinlan (quinlan@yggdrasil.com)
311:
312: # SGI and Apple formats
313: 0 string MOVI Silicon Graphics movie file
314: !:mime video/x-sgi-movie
315: 4 string moov Apple QuickTime
316: !:mime video/quicktime
317: >12 string mvhd \b movie (fast start)
318: >12 string mdra \b URL
319: >12 string cmov \b movie (fast start, compressed header)
320: >12 string rmra \b multiple URLs
321: 4 string mdat Apple QuickTime movie (unoptimized)
322: !:mime video/quicktime
323: #4 string wide Apple QuickTime movie (unoptimized)
324: #!:mime video/quicktime
325: #4 string skip Apple QuickTime movie (modified)
326: #!:mime video/quicktime
327: #4 string free Apple QuickTime movie (modified)
328: #!:mime video/quicktime
329: 4 string idsc Apple QuickTime image (fast start)
330: !:mime image/x-quicktime
331: #4 string idat Apple QuickTime image (unoptimized)
332: #!:mime image/x-quicktime
333: 4 string pckg Apple QuickTime compressed archive
334: !:mime application/x-quicktime-player
335: 4 string/B jP JPEG 2000 image
336: !:mime image/jp2
337: 4 string ftyp ISO Media
338: >8 string isom \b, MPEG v4 system, version 1
339: !:mime video/mp4
340: >8 string iso2 \b, MPEG v4 system, part 12 revision
341: >8 string mp41 \b, MPEG v4 system, version 1
342: !:mime video/mp4
343: >8 string mp42 \b, MPEG v4 system, version 2
344: !:mime video/mp4
345: >8 string mp7t \b, MPEG v4 system, MPEG v7 XML
346: >8 string mp7b \b, MPEG v4 system, MPEG v7 binary XML
347: >8 string/B jp2 \b, JPEG 2000
348: !:mime image/jp2
349: >8 string 3gp \b, MPEG v4 system, 3GPP
350: !:mime video/3gpp
351: >>11 byte 4 \b v4 (H.263/AMR GSM 6.10)
352: >>11 byte 5 \b v5 (H.263/AMR GSM 6.10)
353: >>11 byte 6 \b v6 (ITU H.264/AMR GSM 6.10)
354: >8 string mmp4 \b, MPEG v4 system, 3GPP Mobile
355: !:mime video/mp4
356: >8 string avc1 \b, MPEG v4 system, 3GPP JVT AVC
357: !:mime video/3gpp
358: >8 string/B M4A \b, MPEG v4 system, iTunes AAC-LC
359: !:mime audio/mp4
360: >8 string/B M4V \b, MPEG v4 system, iTunes AVC-LC
361: !:mime video/mp4
362: >8 string/B M4P \b, MPEG v4 system, iTunes AES encrypted
363: >8 string/B M4B \b, MPEG v4 system, iTunes bookmarked
364: >8 string/B qt \b, Apple QuickTime movie
365: !:mime video/quicktime
366:
367: # MPEG sequences
368: # Scans for all common MPEG header start codes
369: 0 belong 0x00000001
370: >4 byte&0x1F 0x07 JVT NAL sequence, H.264 video
371: >>5 byte 66 \b, baseline
372: >>5 byte 77 \b, main
373: >>5 byte 88 \b, extended
374: >>7 byte x \b @ L %u
375: 0 belong&0xFFFFFF00 0x00000100
376: >3 byte 0xBA MPEG sequence
377: >>4 byte &0x40 \b, v2, program multiplex
378: >>4 byte ^0x40 \b, v1, system multiplex
379: >3 byte 0xBB MPEG sequence, v1/2, multiplex (missing pack header)
380: >3 byte&0x1F 0x07 MPEG sequence, H.264 video
381: >>4 byte 66 \b, baseline
382: >>4 byte 77 \b, main
383: >>4 byte 88 \b, extended
384: >>6 byte x \b @ L %u
385: >3 byte 0xB0 MPEG sequence, v4
386: >>5 belong 0x000001B5
387: >>>9 byte &0x80
388: >>>>10 byte&0xF0 16 \b, video
389: >>>>10 byte&0xF0 32 \b, still texture
390: >>>>10 byte&0xF0 48 \b, mesh
391: >>>>10 byte&0xF0 64 \b, face
392: >>>9 byte&0xF8 8 \b, video
393: >>>9 byte&0xF8 16 \b, still texture
394: >>>9 byte&0xF8 24 \b, mesh
395: >>>9 byte&0xF8 32 \b, face
396: >>4 byte 1 \b, simple @ L1
397: >>4 byte 2 \b, simple @ L2
398: >>4 byte 3 \b, simple @ L3
399: >>4 byte 4 \b, simple @ L0
400: >>4 byte 17 \b, simple scalable @ L1
401: >>4 byte 18 \b, simple scalable @ L2
402: >>4 byte 33 \b, core @ L1
403: >>4 byte 34 \b, core @ L2
404: >>4 byte 50 \b, main @ L2
405: >>4 byte 51 \b, main @ L3
406: >>4 byte 53 \b, main @ L4
407: >>4 byte 66 \b, n-bit @ L2
408: >>4 byte 81 \b, scalable texture @ L1
409: >>4 byte 97 \b, simple face animation @ L1
410: >>4 byte 98 \b, simple face animation @ L2
411: >>4 byte 99 \b, simple face basic animation @ L1
412: >>4 byte 100 \b, simple face basic animation @ L2
413: >>4 byte 113 \b, basic animation text @ L1
414: >>4 byte 114 \b, basic animation text @ L2
415: >>4 byte 129 \b, hybrid @ L1
416: >>4 byte 130 \b, hybrid @ L2
417: >>4 byte 145 \b, advanced RT simple @ L!
418: >>4 byte 146 \b, advanced RT simple @ L2
419: >>4 byte 147 \b, advanced RT simple @ L3
420: >>4 byte 148 \b, advanced RT simple @ L4
421: >>4 byte 161 \b, core scalable @ L1
422: >>4 byte 162 \b, core scalable @ L2
423: >>4 byte 163 \b, core scalable @ L3
424: >>4 byte 177 \b, advanced coding efficiency @ L1
425: >>4 byte 178 \b, advanced coding efficiency @ L2
426: >>4 byte 179 \b, advanced coding efficiency @ L3
427: >>4 byte 180 \b, advanced coding efficiency @ L4
428: >>4 byte 193 \b, advanced core @ L1
429: >>4 byte 194 \b, advanced core @ L2
430: >>4 byte 209 \b, advanced scalable texture @ L1
431: >>4 byte 210 \b, advanced scalable texture @ L2
432: >>4 byte 211 \b, advanced scalable texture @ L3
433: >>4 byte 225 \b, simple studio @ L1
434: >>4 byte 226 \b, simple studio @ L2
435: >>4 byte 227 \b, simple studio @ L3
436: >>4 byte 228 \b, simple studio @ L4
437: >>4 byte 229 \b, core studio @ L1
438: >>4 byte 230 \b, core studio @ L2
439: >>4 byte 231 \b, core studio @ L3
440: >>4 byte 232 \b, core studio @ L4
441: >>4 byte 240 \b, advanced simple @ L0
442: >>4 byte 241 \b, advanced simple @ L1
443: >>4 byte 242 \b, advanced simple @ L2
444: >>4 byte 243 \b, advanced simple @ L3
445: >>4 byte 244 \b, advanced simple @ L4
446: >>4 byte 245 \b, advanced simple @ L5
447: >>4 byte 247 \b, advanced simple @ L3b
448: >>4 byte 248 \b, FGS @ L0
449: >>4 byte 249 \b, FGS @ L1
450: >>4 byte 250 \b, FGS @ L2
451: >>4 byte 251 \b, FGS @ L3
452: >>4 byte 252 \b, FGS @ L4
453: >>4 byte 253 \b, FGS @ L5
454: >3 byte 0xB5 MPEG sequence, v4
455: >>4 byte &0x80
456: >>>5 byte&0xF0 16 \b, video (missing profile header)
457: >>>5 byte&0xF0 32 \b, still texture (missing profile header)
458: >>>5 byte&0xF0 48 \b, mesh (missing profile header)
459: >>>5 byte&0xF0 64 \b, face (missing profile header)
460: >>4 byte&0xF8 8 \b, video (missing profile header)
461: >>4 byte&0xF8 16 \b, still texture (missing profile header)
462: >>4 byte&0xF8 24 \b, mesh (missing profile header)
463: >>4 byte&0xF8 32 \b, face (missing profile header)
464: >3 byte 0xB3 MPEG sequence
465: >>12 belong 0x000001B8 \b, v1, progressive Y'CbCr 4:2:0 video
466: >>12 belong 0x000001B2 \b, v1, progressive Y'CbCr 4:2:0 video
467: >>12 belong 0x000001B5 \b, v2,
468: >>>16 byte&0x0F 1 \b HP
469: >>>16 byte&0x0F 2 \b Spt
470: >>>16 byte&0x0F 3 \b SNR
471: >>>16 byte&0x0F 4 \b MP
472: >>>16 byte&0x0F 5 \b SP
473: >>>17 byte&0xF0 64 \b@HL
474: >>>17 byte&0xF0 96 \b@H-14
475: >>>17 byte&0xF0 128 \b@ML
476: >>>17 byte&0xF0 160 \b@LL
477: >>>17 byte &0x08 \b progressive
478: >>>17 byte ^0x08 \b interlaced
479: >>>17 byte&0x06 2 \b Y'CbCr 4:2:0 video
480: >>>17 byte&0x06 4 \b Y'CbCr 4:2:2 video
481: >>>17 byte&0x06 6 \b Y'CbCr 4:4:4 video
482: >>11 byte &0x02
483: >>>75 byte &0x01
484: >>>>140 belong 0x000001B8 \b, v1, progressive Y'CbCr 4:2:0 video
485: >>>>140 belong 0x000001B2 \b, v1, progressive Y'CbCr 4:2:0 video
486: >>>>140 belong 0x000001B5 \b, v2,
487: >>>>>144 byte&0x0F 1 \b HP
488: >>>>>144 byte&0x0F 2 \b Spt
489: >>>>>144 byte&0x0F 3 \b SNR
490: >>>>>144 byte&0x0F 4 \b MP
491: >>>>>144 byte&0x0F 5 \b SP
492: >>>>>145 byte&0xF0 64 \b@HL
493: >>>>>145 byte&0xF0 96 \b@H-14
494: >>>>>145 byte&0xF0 128 \b@ML
495: >>>>>145 byte&0xF0 160 \b@LL
496: >>>>>145 byte &0x08 \b progressive
497: >>>>>145 byte ^0x08 \b interlaced
498: >>>>>145 byte&0x06 2 \b Y'CbCr 4:2:0 video
499: >>>>>145 byte&0x06 4 \b Y'CbCr 4:2:2 video
500: >>>>>145 byte&0x06 6 \b Y'CbCr 4:4:4 video
501: >>76 belong 0x000001B8 \b, v1, progressive Y'CbCr 4:2:0 video
502: >>76 belong 0x000001B2 \b, v1, progressive Y'CbCr 4:2:0 video
503: >>76 belong 0x000001B5 \b, v2,
504: >>>80 byte&0x0F 1 \b HP
505: >>>80 byte&0x0F 2 \b Spt
506: >>>80 byte&0x0F 3 \b SNR
507: >>>80 byte&0x0F 4 \b MP
508: >>>80 byte&0x0F 5 \b SP
509: >>>81 byte&0xF0 64 \b@HL
510: >>>81 byte&0xF0 96 \b@H-14
511: >>>81 byte&0xF0 128 \b@ML
512: >>>81 byte&0xF0 160 \b@LL
513: >>>81 byte &0x08 \b progressive
514: >>>81 byte ^0x08 \b interlaced
515: >>>81 byte&0x06 2 \b Y'CbCr 4:2:0 video
516: >>>81 byte&0x06 4 \b Y'CbCr 4:2:2 video
517: >>>81 byte&0x06 6 \b Y'CbCr 4:4:4 video
518: >>4 belong&0xFFFFFF00 0x78043800 \b, HD-TV 1920P
519: >>>7 byte&0xF0 0x10 \b, 16:9
520: >>4 belong&0xFFFFFF00 0x50002D00 \b, SD-TV 1280I
521: >>>7 byte&0xF0 0x10 \b, 16:9
522: >>4 belong&0xFFFFFF00 0x30024000 \b, PAL Capture
523: >>>7 byte&0xF0 0x10 \b, 4:3
524: >>4 beshort&0xFFF0 0x2C00 \b, 4CIF
525: >>>5 beshort&0x0FFF 0x01E0 \b NTSC
526: >>>5 beshort&0x0FFF 0x0240 \b PAL
527: >>>7 byte&0xF0 0x20 \b, 4:3
528: >>>7 byte&0xF0 0x30 \b, 16:9
529: >>>7 byte&0xF0 0x40 \b, 11:5
530: >>>7 byte&0xF0 0x80 \b, PAL 4:3
531: >>>7 byte&0xF0 0xC0 \b, NTSC 4:3
532: >>4 belong&0xFFFFFF00 0x2801E000 \b, LD-TV 640P
533: >>>7 byte&0xF0 0x10 \b, 4:3
534: >>4 belong&0xFFFFFF00 0x1400F000 \b, 320x240
535: >>>7 byte&0xF0 0x10 \b, 4:3
536: >>4 belong&0xFFFFFF00 0x0F00A000 \b, 240x160
537: >>>7 byte&0xF0 0x10 \b, 4:3
538: >>4 belong&0xFFFFFF00 0x0A007800 \b, 160x120
539: >>>7 byte&0xF0 0x10 \b, 4:3
540: >>4 beshort&0xFFF0 0x1600 \b, CIF
541: >>>5 beshort&0x0FFF 0x00F0 \b NTSC
542: >>>5 beshort&0x0FFF 0x0120 \b PAL
543: >>>7 byte&0xF0 0x20 \b, 4:3
544: >>>7 byte&0xF0 0x30 \b, 16:9
545: >>>7 byte&0xF0 0x40 \b, 11:5
546: >>>7 byte&0xF0 0x80 \b, PAL 4:3
547: >>>7 byte&0xF0 0xC0 \b, NTSC 4:3
548: >>>5 beshort&0x0FFF 0x0240 \b PAL 625
549: >>>>7 byte&0xF0 0x20 \b, 4:3
550: >>>>7 byte&0xF0 0x30 \b, 16:9
551: >>>>7 byte&0xF0 0x40 \b, 11:5
552: >>4 beshort&0xFFF0 0x2D00 \b, CCIR/ITU
553: >>>5 beshort&0x0FFF 0x01E0 \b NTSC 525
554: >>>5 beshort&0x0FFF 0x0240 \b PAL 625
555: >>>7 byte&0xF0 0x20 \b, 4:3
556: >>>7 byte&0xF0 0x30 \b, 16:9
557: >>>7 byte&0xF0 0x40 \b, 11:5
558: >>4 beshort&0xFFF0 0x1E00 \b, SVCD
559: >>>5 beshort&0x0FFF 0x01E0 \b NTSC 525
560: >>>5 beshort&0x0FFF 0x0240 \b PAL 625
561: >>>7 byte&0xF0 0x20 \b, 4:3
562: >>>7 byte&0xF0 0x30 \b, 16:9
563: >>>7 byte&0xF0 0x40 \b, 11:5
564: >>7 byte&0x0F 1 \b, 23.976 fps
565: >>7 byte&0x0F 2 \b, 24 fps
566: >>7 byte&0x0F 3 \b, 25 fps
567: >>7 byte&0x0F 4 \b, 29.97 fps
568: >>7 byte&0x0F 5 \b, 30 fps
569: >>7 byte&0x0F 6 \b, 50 fps
570: >>7 byte&0x0F 7 \b, 59.94 fps
571: >>7 byte&0x0F 8 \b, 60 fps
572: >>11 byte &0x04 \b, Constrained
573:
574: # MPEG ADTS Audio (*.mpx/mxa/aac)
575: # from dreesen@math.fu-berlin.de
576: # modified to fully support MPEG ADTS
577:
578: # MP3, M1A
579: # modified by Joerg Jenderek
580: # GRR the original test are too common for many DOS files
581: # so don't accept as MP3 until we've tested the rate
582: 0 beshort&0xFFFE 0xFFFA
583: # rates
584: >2 byte&0xF0 0x10 MPEG ADTS, layer III, v1, 32 kbps
585: !:mime audio/mpeg
586: >2 byte&0xF0 0x20 MPEG ADTS, layer III, v1, 40 kbps
587: !:mime audio/mpeg
588: >2 byte&0xF0 0x30 MPEG ADTS, layer III, v1, 48 kbps
589: !:mime audio/mpeg
590: >2 byte&0xF0 0x40 MPEG ADTS, layer III, v1, 56 kbps
591: !:mime audio/mpeg
592: >2 byte&0xF0 0x50 MPEG ADTS, layer III, v1, 64 kbps
593: !:mime audio/mpeg
594: >2 byte&0xF0 0x60 MPEG ADTS, layer III, v1, 80 kbps
595: !:mime audio/mpeg
596: >2 byte&0xF0 0x70 MPEG ADTS, layer III, v1, 96 kbps
597: !:mime audio/mpeg
598: >2 byte&0xF0 0x80 MPEG ADTS, layer III, v1, 112 kbps
599: !:mime audio/mpeg
600: >2 byte&0xF0 0x90 MPEG ADTS, layer III, v1, 128 kbps
601: !:mime audio/mpeg
602: >2 byte&0xF0 0xA0 MPEG ADTS, layer III, v1, 160 kbps
603: !:mime audio/mpeg
604: >2 byte&0xF0 0xB0 MPEG ADTS, layer III, v1, 192 kbps
605: !:mime audio/mpeg
606: >2 byte&0xF0 0xC0 MPEG ADTS, layer III, v1, 224 kbps
607: !:mime audio/mpeg
608: >2 byte&0xF0 0xD0 MPEG ADTS, layer III, v1, 256 kbps
609: !:mime audio/mpeg
610: >2 byte&0xF0 0xE0 MPEG ADTS, layer III, v1, 320 kbps
611: !:mime audio/mpeg
612: # timing
613: >2 byte&0x0C 0x00 \b, 44.1 kHz
614: >2 byte&0x0C 0x04 \b, 48 kHz
615: >2 byte&0x0C 0x08 \b, 32 kHz
616: # channels/options
617: >3 byte&0xC0 0x00 \b, Stereo
618: >3 byte&0xC0 0x40 \b, JntStereo
619: >3 byte&0xC0 0x80 \b, 2x Monaural
620: >3 byte&0xC0 0xC0 \b, Monaural
621: #>1 byte ^0x01 \b, Data Verify
622: #>2 byte &0x02 \b, Packet Pad
623: #>2 byte &0x01 \b, Custom Flag
624: #>3 byte &0x08 \b, Copyrighted
625: #>3 byte &0x04 \b, Original Source
626: #>3 byte&0x03 1 \b, NR: 50/15 ms
627: #>3 byte&0x03 3 \b, NR: CCIT J.17
628:
629: # MP2, M1A
630: 0 beshort&0xFFFE 0xFFFC MPEG ADTS, layer II, v1
631: # rates
632: >2 byte&0xF0 0x10 \b, 32 kbps
633: >2 byte&0xF0 0x20 \b, 48 kbps
634: >2 byte&0xF0 0x30 \b, 56 kbps
635: >2 byte&0xF0 0x40 \b, 64 kbps
636: >2 byte&0xF0 0x50 \b, 80 kbps
637: >2 byte&0xF0 0x60 \b, 96 kbps
638: >2 byte&0xF0 0x70 \b, 112 kbps
639: >2 byte&0xF0 0x80 \b, 128 kbps
640: >2 byte&0xF0 0x90 \b, 160 kbps
641: >2 byte&0xF0 0xA0 \b, 192 kbps
642: >2 byte&0xF0 0xB0 \b, 224 kbps
643: >2 byte&0xF0 0xC0 \b, 256 kbps
644: >2 byte&0xF0 0xD0 \b, 320 kbps
645: >2 byte&0xF0 0xE0 \b, 384 kbps
646: # timing
647: >2 byte&0x0C 0x00 \b, 44.1 kHz
648: >2 byte&0x0C 0x04 \b, 48 kHz
649: >2 byte&0x0C 0x08 \b, 32 kHz
650: # channels/options
651: >3 byte&0xC0 0x00 \b, Stereo
652: >3 byte&0xC0 0x40 \b, JntStereo
653: >3 byte&0xC0 0x80 \b, 2x Monaural
654: >3 byte&0xC0 0xC0 \b, Monaural
655: #>1 byte ^0x01 \b, Data Verify
656: #>2 byte &0x02 \b, Packet Pad
657: #>2 byte &0x01 \b, Custom Flag
658: #>3 byte &0x08 \b, Copyrighted
659: #>3 byte &0x04 \b, Original Source
660: #>3 byte&0x03 1 \b, NR: 50/15 ms
661: #>3 byte&0x03 3 \b, NR: CCIT J.17
662:
663: # MPA, M1A
664: # updated by Joerg Jenderek
665: # GRR the original test are too common for many DOS files, so test 32 <= kbits <= 448
666: # GRR this test is still too general as it catches a BOM of UTF-16 files (0xFFFE)
667: # FIXME: Almost all little endian UTF-16 text with BOM are clobbered by these entries
668: #0 beshort&0xFFFE 0xFFFE
669: #>2 ubyte&0xF0 >0x0F
670: #>>2 ubyte&0xF0 <0xE1 MPEG ADTS, layer I, v1
671: ## rate
672: #>>>2 byte&0xF0 0x10 \b, 32 kbps
673: #>>>2 byte&0xF0 0x20 \b, 64 kbps
674: #>>>2 byte&0xF0 0x30 \b, 96 kbps
675: #>>>2 byte&0xF0 0x40 \b, 128 kbps
676: #>>>2 byte&0xF0 0x50 \b, 160 kbps
677: #>>>2 byte&0xF0 0x60 \b, 192 kbps
678: #>>>2 byte&0xF0 0x70 \b, 224 kbps
679: #>>>2 byte&0xF0 0x80 \b, 256 kbps
680: #>>>2 byte&0xF0 0x90 \b, 288 kbps
681: #>>>2 byte&0xF0 0xA0 \b, 320 kbps
682: #>>>2 byte&0xF0 0xB0 \b, 352 kbps
683: #>>>2 byte&0xF0 0xC0 \b, 384 kbps
684: #>>>2 byte&0xF0 0xD0 \b, 416 kbps
685: #>>>2 byte&0xF0 0xE0 \b, 448 kbps
686: ## timing
687: #>>>2 byte&0x0C 0x00 \b, 44.1 kHz
688: #>>>2 byte&0x0C 0x04 \b, 48 kHz
689: #>>>2 byte&0x0C 0x08 \b, 32 kHz
690: ## channels/options
691: #>>>3 byte&0xC0 0x00 \b, Stereo
692: #>>>3 byte&0xC0 0x40 \b, JntStereo
693: #>>>3 byte&0xC0 0x80 \b, 2x Monaural
694: #>>>3 byte&0xC0 0xC0 \b, Monaural
695: ##>1 byte ^0x01 \b, Data Verify
696: ##>2 byte &0x02 \b, Packet Pad
697: ##>2 byte &0x01 \b, Custom Flag
698: ##>3 byte &0x08 \b, Copyrighted
699: ##>3 byte &0x04 \b, Original Source
700: ##>3 byte&0x03 1 \b, NR: 50/15 ms
701: ##>3 byte&0x03 3 \b, NR: CCIT J.17
702:
703: # MP3, M2A
704: 0 beshort&0xFFFE 0xFFF2 MPEG ADTS, layer III, v2
705: # rate
706: >2 byte&0xF0 0x10 \b, 8 kbps
707: >2 byte&0xF0 0x20 \b, 16 kbps
708: >2 byte&0xF0 0x30 \b, 24 kbps
709: >2 byte&0xF0 0x40 \b, 32 kbps
710: >2 byte&0xF0 0x50 \b, 40 kbps
711: >2 byte&0xF0 0x60 \b, 48 kbps
712: >2 byte&0xF0 0x70 \b, 56 kbps
713: >2 byte&0xF0 0x80 \b, 64 kbps
714: >2 byte&0xF0 0x90 \b, 80 kbps
715: >2 byte&0xF0 0xA0 \b, 96 kbps
716: >2 byte&0xF0 0xB0 \b, 112 kbps
717: >2 byte&0xF0 0xC0 \b, 128 kbps
718: >2 byte&0xF0 0xD0 \b, 144 kbps
719: >2 byte&0xF0 0xE0 \b, 160 kbps
720: # timing
721: >2 byte&0x0C 0x00 \b, 22.05 kHz
722: >2 byte&0x0C 0x04 \b, 24 kHz
723: >2 byte&0x0C 0x08 \b, 16 kHz
724: # channels/options
725: >3 byte&0xC0 0x00 \b, Stereo
726: >3 byte&0xC0 0x40 \b, JntStereo
727: >3 byte&0xC0 0x80 \b, 2x Monaural
728: >3 byte&0xC0 0xC0 \b, Monaural
729: #>1 byte ^0x01 \b, Data Verify
730: #>2 byte &0x02 \b, Packet Pad
731: #>2 byte &0x01 \b, Custom Flag
732: #>3 byte &0x08 \b, Copyrighted
733: #>3 byte &0x04 \b, Original Source
734: #>3 byte&0x03 1 \b, NR: 50/15 ms
735: #>3 byte&0x03 3 \b, NR: CCIT J.17
736:
737: # MP2, M2A
738: 0 beshort&0xFFFE 0xFFF4 MPEG ADTS, layer II, v2
739: # rate
740: >2 byte&0xF0 0x10 \b, 8 kbps
741: >2 byte&0xF0 0x20 \b, 16 kbps
742: >2 byte&0xF0 0x30 \b, 24 kbps
743: >2 byte&0xF0 0x40 \b, 32 kbps
744: >2 byte&0xF0 0x50 \b, 40 kbps
745: >2 byte&0xF0 0x60 \b, 48 kbps
746: >2 byte&0xF0 0x70 \b, 56 kbps
747: >2 byte&0xF0 0x80 \b, 64 kbps
748: >2 byte&0xF0 0x90 \b, 80 kbps
749: >2 byte&0xF0 0xA0 \b, 96 kbps
750: >2 byte&0xF0 0xB0 \b, 112 kbps
751: >2 byte&0xF0 0xC0 \b, 128 kbps
752: >2 byte&0xF0 0xD0 \b, 144 kbps
753: >2 byte&0xF0 0xE0 \b, 160 kbps
754: # timing
755: >2 byte&0x0C 0x00 \b, 22.05 kHz
756: >2 byte&0x0C 0x04 \b, 24 kHz
757: >2 byte&0x0C 0x08 \b, 16 kHz
758: # channels/options
759: >3 byte&0xC0 0x00 \b, Stereo
760: >3 byte&0xC0 0x40 \b, JntStereo
761: >3 byte&0xC0 0x80 \b, 2x Monaural
762: >3 byte&0xC0 0xC0 \b, Monaural
763: #>1 byte ^0x01 \b, Data Verify
764: #>2 byte &0x02 \b, Packet Pad
765: #>2 byte &0x01 \b, Custom Flag
766: #>3 byte &0x08 \b, Copyrighted
767: #>3 byte &0x04 \b, Original Source
768: #>3 byte&0x03 1 \b, NR: 50/15 ms
769: #>3 byte&0x03 3 \b, NR: CCIT J.17
770:
771: # MPA, M2A
772: 0 beshort&0xFFFE 0xFFF6 MPEG ADTS, layer I, v2
773: # rate
774: >2 byte&0xF0 0x10 \b, 32 kbps
775: >2 byte&0xF0 0x20 \b, 48 kbps
776: >2 byte&0xF0 0x30 \b, 56 kbps
777: >2 byte&0xF0 0x40 \b, 64 kbps
778: >2 byte&0xF0 0x50 \b, 80 kbps
779: >2 byte&0xF0 0x60 \b, 96 kbps
780: >2 byte&0xF0 0x70 \b, 112 kbps
781: >2 byte&0xF0 0x80 \b, 128 kbps
782: >2 byte&0xF0 0x90 \b, 144 kbps
783: >2 byte&0xF0 0xA0 \b, 160 kbps
784: >2 byte&0xF0 0xB0 \b, 176 kbps
785: >2 byte&0xF0 0xC0 \b, 192 kbps
786: >2 byte&0xF0 0xD0 \b, 224 kbps
787: >2 byte&0xF0 0xE0 \b, 256 kbps
788: # timing
789: >2 byte&0x0C 0x00 \b, 22.05 kHz
790: >2 byte&0x0C 0x04 \b, 24 kHz
791: >2 byte&0x0C 0x08 \b, 16 kHz
792: # channels/options
793: >3 byte&0xC0 0x00 \b, Stereo
794: >3 byte&0xC0 0x40 \b, JntStereo
795: >3 byte&0xC0 0x80 \b, 2x Monaural
796: >3 byte&0xC0 0xC0 \b, Monaural
797: #>1 byte ^0x01 \b, Data Verify
798: #>2 byte &0x02 \b, Packet Pad
799: #>2 byte &0x01 \b, Custom Flag
800: #>3 byte &0x08 \b, Copyrighted
801: #>3 byte &0x04 \b, Original Source
802: #>3 byte&0x03 1 \b, NR: 50/15 ms
803: #>3 byte&0x03 3 \b, NR: CCIT J.17
804:
805: # MP3, M25A
806: 0 beshort&0xFFFE 0xFFE2 MPEG ADTS, layer III, v2.5
807: # rate
808: >2 byte&0xF0 0x10 \b, 8 kbps
809: >2 byte&0xF0 0x20 \b, 16 kbps
810: >2 byte&0xF0 0x30 \b, 24 kbps
811: >2 byte&0xF0 0x40 \b, 32 kbps
812: >2 byte&0xF0 0x50 \b, 40 kbps
813: >2 byte&0xF0 0x60 \b, 48 kbps
814: >2 byte&0xF0 0x70 \b, 56 kbps
815: >2 byte&0xF0 0x80 \b, 64 kbps
816: >2 byte&0xF0 0x90 \b, 80 kbps
817: >2 byte&0xF0 0xA0 \b, 96 kbps
818: >2 byte&0xF0 0xB0 \b, 112 kbps
819: >2 byte&0xF0 0xC0 \b, 128 kbps
820: >2 byte&0xF0 0xD0 \b, 144 kbps
821: >2 byte&0xF0 0xE0 \b, 160 kbps
822: # timing
823: >2 byte&0x0C 0x00 \b, 11.025 kHz
824: >2 byte&0x0C 0x04 \b, 12 kHz
825: >2 byte&0x0C 0x08 \b, 8 kHz
826: # channels/options
827: >3 byte&0xC0 0x00 \b, Stereo
828: >3 byte&0xC0 0x40 \b, JntStereo
829: >3 byte&0xC0 0x80 \b, 2x Monaural
830: >3 byte&0xC0 0xC0 \b, Monaural
831: #>1 byte ^0x01 \b, Data Verify
832: #>2 byte &0x02 \b, Packet Pad
833: #>2 byte &0x01 \b, Custom Flag
834: #>3 byte &0x08 \b, Copyrighted
835: #>3 byte &0x04 \b, Original Source
836: #>3 byte&0x03 1 \b, NR: 50/15 ms
837: #>3 byte&0x03 3 \b, NR: CCIT J.17
838:
839: # AAC (aka MPEG-2 NBC audio) and MPEG-4 audio
840:
841: # Stored AAC streams (instead of the MP4 format)
842: 0 string ADIF MPEG ADIF, AAC
843: !:mime audio/x-hx-aac-adif
844: >4 byte &0x80
845: >>13 byte &0x10 \b, VBR
846: >>13 byte ^0x10 \b, CBR
847: >>16 byte&0x1E 0x02 \b, single stream
848: >>16 byte&0x1E 0x04 \b, 2 streams
849: >>16 byte&0x1E 0x06 \b, 3 streams
850: >>16 byte &0x08 \b, 4 or more streams
851: >>16 byte &0x10 \b, 8 or more streams
852: >>4 byte &0x80 \b, Copyrighted
853: >>13 byte &0x40 \b, Original Source
854: >>13 byte &0x20 \b, Home Flag
855: >4 byte ^0x80
856: >>4 byte &0x10 \b, VBR
857: >>4 byte ^0x10 \b, CBR
858: >>7 byte&0x1E 0x02 \b, single stream
859: >>7 byte&0x1E 0x04 \b, 2 streams
860: >>7 byte&0x1E 0x06 \b, 3 streams
861: >>7 byte &0x08 \b, 4 or more streams
862: >>7 byte &0x10 \b, 8 or more streams
863: >>4 byte &0x40 \b, Original Stream(s)
864: >>4 byte &0x20 \b, Home Source
865:
866: # Live or stored single AAC stream (used with MPEG-2 systems)
867: 0 beshort&0xFFF6 0xFFF0 MPEG ADTS, AAC
868: !:mime audio/x-hx-aac-adts
869: >1 byte &0x08 \b, v2
870: >1 byte ^0x08 \b, v4
871: # profile
872: >>2 byte &0xC0 \b LTP
873: >2 byte&0xc0 0x00 \b Main
874: >2 byte&0xc0 0x40 \b LC
875: >2 byte&0xc0 0x80 \b SSR
876: # timing
877: >2 byte&0x3c 0x00 \b, 96 kHz
878: >2 byte&0x3c 0x04 \b, 88.2 kHz
879: >2 byte&0x3c 0x08 \b, 64 kHz
880: >2 byte&0x3c 0x0c \b, 48 kHz
881: >2 byte&0x3c 0x10 \b, 44.1 kHz
882: >2 byte&0x3c 0x14 \b, 32 kHz
883: >2 byte&0x3c 0x18 \b, 24 kHz
884: >2 byte&0x3c 0x1c \b, 22.05 kHz
885: >2 byte&0x3c 0x20 \b, 16 kHz
886: >2 byte&0x3c 0x24 \b, 12 kHz
887: >2 byte&0x3c 0x28 \b, 11.025 kHz
888: >2 byte&0x3c 0x2c \b, 8 kHz
889: # channels
890: >2 beshort&0x01c0 0x0040 \b, monaural
891: >2 beshort&0x01c0 0x0080 \b, stereo
892: >2 beshort&0x01c0 0x00c0 \b, stereo + center
893: >2 beshort&0x01c0 0x0100 \b, stereo+center+LFE
894: >2 beshort&0x01c0 0x0140 \b, surround
895: >2 beshort&0x01c0 0x0180 \b, surround + LFE
896: >2 beshort &0x01C0 \b, surround + side
897: #>1 byte ^0x01 \b, Data Verify
898: #>2 byte &0x02 \b, Custom Flag
899: #>3 byte &0x20 \b, Original Stream
900: #>3 byte &0x10 \b, Home Source
901: #>3 byte &0x08 \b, Copyrighted
902:
903: # Live MPEG-4 audio streams (instead of RTP FlexMux)
904: 0 beshort&0xFFE0 0x56E0 MPEG-4 LOAS
905: !:mime audio/x-mp4a-latm
906: #>1 beshort&0x1FFF x \b, %u byte packet
907: >3 byte&0xE0 0x40
908: >>4 byte&0x3C 0x04 \b, single stream
909: >>4 byte&0x3C 0x08 \b, 2 streams
910: >>4 byte&0x3C 0x0C \b, 3 streams
911: >>4 byte &0x08 \b, 4 or more streams
912: >>4 byte &0x20 \b, 8 or more streams
913: >3 byte&0xC0 0
914: >>4 byte&0x78 0x08 \b, single stream
915: >>4 byte&0x78 0x10 \b, 2 streams
916: >>4 byte&0x78 0x18 \b, 3 streams
917: >>4 byte &0x20 \b, 4 or more streams
918: >>4 byte &0x40 \b, 8 or more streams
919: # This magic isn't strong enough (matches plausible ISO-8859-1 text)
920: #0 beshort 0x4DE1 MPEG-4 LO-EP audio stream
921: #!:mime audio/x-mp4a-latm
922:
923: # Summary: FLI animation format
924: # Created by: Daniel Quinlan <quinlan@yggdrasil.com>
925: # Modified by (1): Abel Cheung <abelcheung@gmail.com> (avoid over-generic detection)
926: 4 leshort 0xAF11
927: # standard FLI always has 320x200 resolution and 8 bit color
928: >8 leshort 320
929: >>10 leshort 200
930: >>>12 leshort 8 FLI animation, 320x200x8
931: !:mime video/x-fli
932: >>>>6 leshort x \b, %d frames
933: # frame speed is multiple of 1/70s
934: >>>>16 leshort x \b, %d/70s per frame
935:
936: # Summary: FLC animation format
937: # Created by: Daniel Quinlan <quinlan@yggdrasil.com>
938: # Modified by (1): Abel Cheung <abelcheung@gmail.com> (avoid over-generic detection)
939: 4 leshort 0xAF12
940: # standard FLC always use 8 bit color
941: >12 leshort 8 FLC animation
942: !:mime video/x-flc
943: >>8 leshort x \b, %d
944: >>10 leshort x \bx%dx8
945: >>6 uleshort x \b, %d frames
946: >>16 uleshort x \b, %dms per frame
947:
948: # DL animation format
949: # XXX - collision with most `mips' magic
950: #
951: # I couldn't find a real magic number for these, however, this
952: # -appears- to work. Note that it might catch other files, too, so be
953: # careful!
954: #
955: # Note that title and author appear in the two 20-byte chunks
956: # at decimal offsets 2 and 22, respectively, but they are XOR'ed with
957: # 255 (hex FF)! The DL format is really bad.
958: #
959: #0 byte 1 DL version 1, medium format (160x100, 4 images/screen)
960: #!:mime video/x-unknown
961: #>42 byte x - %d screens,
962: #>43 byte x %d commands
963: #0 byte 2 DL version 2
964: #!:mime video/x-unknown
965: #>1 byte 1 - large format (320x200,1 image/screen),
966: #>1 byte 2 - medium format (160x100,4 images/screen),
967: #>1 byte >2 - unknown format,
968: #>42 byte x %d screens,
969: #>43 byte x %d commands
970: # Based on empirical evidence, DL version 3 have several nulls following the
971: # \003. Most of them start with non-null values at hex offset 0x34 or so.
972: #0 string \3\0\0\0\0\0\0\0\0\0\0\0 DL version 3
973:
974: # iso 13818 transport stream
975: #
976: # from Oskar Schirmer <schirmer@scara.com> Feb 3, 2001 (ISO 13818.1)
977: # (the following is a little bit restrictive and works fine for a stream
978: # that starts with PAT properly. it won't work for stream data, that is
979: # cut from an input device data right in the middle, but this shouldn't
980: # disturb)
981: # syncbyte 8 bit 0x47
982: # error_ind 1 bit -
983: # payload_start 1 bit 1
984: # priority 1 bit -
985: # PID 13 bit 0x0000
986: # scrambling 2 bit -
987: # adaptfld_ctrl 2 bit 1 or 3
988: # conti_count 4 bit 0
989: 0 belong&0xFF5FFF1F 0x47400010 MPEG transport stream data
990: >188 byte !0x47 CORRUPTED
991:
992: # DIF digital video file format <mpruett@sgi.com>
993: 0 belong&0xffffff00 0x1f070000 DIF
994: >4 byte &0x01 (DVCPRO) movie file
995: >4 byte ^0x01 (DV) movie file
996: >3 byte &0x80 (PAL)
997: >3 byte ^0x80 (NTSC)
998:
999: # Microsoft Advanced Streaming Format (ASF) <mpruett@sgi.com>
1000: 0 belong 0x3026b275 Microsoft ASF
1001: !:mime video/x-ms-asf
1002:
1003: # MNG Video Format, <URL:http://www.libpng.org/pub/mng/spec/>
1004: 0 string \x8aMNG MNG video data,
1005: !:mime video/x-mng
1006: >4 belong !0x0d0a1a0a CORRUPTED,
1007: >4 belong 0x0d0a1a0a
1008: >>16 belong x %ld x
1009: >>20 belong x %ld
1010:
1011: # JNG Video Format, <URL:http://www.libpng.org/pub/mng/spec/>
1012: 0 string \x8bJNG JNG video data,
1013: !:mime video/x-jng
1014: >4 belong !0x0d0a1a0a CORRUPTED,
1015: >4 belong 0x0d0a1a0a
1016: >>16 belong x %ld x
1017: >>20 belong x %ld
1018:
1019: # Vivo video (Wolfram Kleff)
1020: 3 string \x0D\x0AVersion:Vivo Vivo video data
1021:
1022: # VRML (Virtual Reality Modelling Language)
1023: 0 string/b #VRML\ V1.0\ ascii VRML 1 file
1024: !:mime model/vrml
1025: 0 string/b #VRML\ V2.0\ utf8 ISO/IEC 14772 VRML 97 file
1026: !:mime model/vrml
1027:
1028: # X3D (Extensible 3D) [http://www.web3d.org/specifications/x3d-3.0.dtd]
1029: # From Michel Briand <michelbriand@free.fr>
1030: 0 string \<?xml\ version="
1031: !:strength +1
1032: >20 search/1000/cb \<!DOCTYPE\ X3D X3D (Extensible 3D) model xml text
1033: !:mime model/x3d
1034:
1035: #---------------------------------------------------------------------------
1036: # HVQM4: compressed movie format designed by Hudson for Nintendo GameCube
1037: # From Mark Sheppard <msheppard@climax.co.uk>, 2002-10-03
1038: #
1039: 0 string HVQM4 %s
1040: >6 string >\0 v%s
1041: >0 byte x GameCube movie,
1042: >0x34 ubeshort x %d x
1043: >0x36 ubeshort x %d,
1044: >0x26 ubeshort x %dµs,
1045: >0x42 ubeshort 0 no audio
1046: >0x42 ubeshort >0 %dHz audio
1047:
1048: # From: "Stefan A. Haubenthal" <polluks@web.de>
1049: 0 string DVDVIDEO-VTS Video title set,
1050: >0x21 byte x v%x
1051: 0 string DVDVIDEO-VMG Video manager,
1052: >0x21 byte x v%x
1053:
1054: # From: Behan Webster <behanw@websterwood.com>
1055: # NuppelVideo used by Mythtv (*.nuv)
1056: # Note: there are two identical stanzas here differing only in the
1057: # initial string matched. It used to be done with a regex, but we're
1058: # trying to get rid of those.
1059: 0 string NuppelVideo MythTV NuppelVideo
1060: >12 string x v%s
1061: >20 lelong x (%d
1062: >24 lelong x \bx%d),
1063: >36 string P \bprogressive,
1064: >36 string I \binterlaced,
1065: >40 ledouble x \baspect:%.2f,
1066: >48 ledouble x \bfps:%.2f
1067: 0 string MythTV MythTV NuppelVideo
1068: >12 string x v%s
1069: >20 lelong x (%d
1070: >24 lelong x \bx%d),
1071: >36 string P \bprogressive,
1072: >36 string I \binterlaced,
1073: >40 ledouble x \baspect:%.2f,
1074: >48 ledouble x \bfps:%.2f
1075:
1076: # MPEG file
1077: # MPEG sequences
1078: # FIXME: This section is from the old magic.mime file and needs integrating with the rest
1079: 0 belong 0x000001BA
1080: >4 byte &0x40
1081: !:mime video/mp2p
1082: >4 byte ^0x40
1083: !:mime video/mpeg
1084: 0 belong 0x000001BB
1085: !:mime video/mpeg
1086: 0 belong 0x000001B0
1087: !:mime video/mp4v-es
1088: 0 belong 0x000001B5
1089: !:mime video/mp4v-es
1090: 0 belong 0x000001B3
1091: !:mime video/mpv
1092: 0 belong&0xFF5FFF1F 0x47400010
1093: !:mime video/mp2t
1094: 0 belong 0x00000001
1095: >4 byte&0x1F 0x07
1096: !:mime video/h264
1097:
1098: #------------------------------------------------------------------------------
1099: # apl: file(1) magic for APL (see also "pdp" and "vax" for other APL
1100: # workspaces)
1101: #
1102: 0 long 0100554 APL workspace (Ken's original?)
1103: #------------------------------------------------------------------------------
1104: # apple: file(1) magic for Apple file formats
1105: #
1106: 0 search/1 FiLeStArTfIlEsTaRt binscii (apple ][) text
1107: 0 string \x0aGL Binary II (apple ][) data
1108: 0 string \x76\xff Squeezed (apple ][) data
1109: 0 string NuFile NuFile archive (apple ][) data
1110: 0 string N\xf5F\xe9l\xe5 NuFile archive (apple ][) data
1111: 0 belong 0x00051600 AppleSingle encoded Macintosh file
1112: 0 belong 0x00051607 AppleDouble encoded Macintosh file
1113:
1114: # Type: Apple Emulator 2IMG format
1115: # From: Radek Vokal <rvokal@redhat.com>
1116: 0 string 2IMG Apple ][ 2IMG Disk Image
1117: >4 string XGS! \b, XGS
1118: >4 string CTKG \b, Catakig
1119: >4 string ShIm \b, Sheppy's ImageMaker
1120: >4 string WOOF \b, Sweet 16
1121: >4 string B2TR \b, Bernie ][ the Rescue
1122: >4 string !nfc \b, ASIMOV2
1123: >4 string x \b, Unknown Format
1124: >0xc byte 00 \b, DOS 3.3 sector order
1125: >>0x10 byte 00 \b, Volume 254
1126: >>0x10 byte&0x7f x \b, Volume %u
1127: >0xc byte 01 \b, ProDOS sector order
1128: >>0x14 short x \b, %u Blocks
1129: >0xc byte 02 \b, NIB data
1130:
1131: # magic for Newton PDA package formats
1132: # from Ruda Moura <ruda@helllabs.org>
1133: 0 string package0 Newton package, NOS 1.x,
1134: >12 belong &0x80000000 AutoRemove,
1135: >12 belong &0x40000000 CopyProtect,
1136: >12 belong &0x10000000 NoCompression,
1137: >12 belong &0x04000000 Relocation,
1138: >12 belong &0x02000000 UseFasterCompression,
1139: >16 belong x version %d
1140:
1141: 0 string package1 Newton package, NOS 2.x,
1142: >12 belong &0x80000000 AutoRemove,
1143: >12 belong &0x40000000 CopyProtect,
1144: >12 belong &0x10000000 NoCompression,
1145: >12 belong &0x04000000 Relocation,
1146: >12 belong &0x02000000 UseFasterCompression,
1147: >16 belong x version %d
1148:
1149: 0 string package4 Newton package,
1150: >8 byte 8 NOS 1.x,
1151: >8 byte 9 NOS 2.x,
1152: >12 belong &0x80000000 AutoRemove,
1153: >12 belong &0x40000000 CopyProtect,
1154: >12 belong &0x10000000 NoCompression,
1155:
1156: # The following entries for the Apple II are for files that have
1157: # been transferred as raw binary data from an Apple, without having
1158: # been encapsulated by any of the above archivers.
1159: #
1160: # In general, Apple II formats are hard to identify because Apple DOS
1161: # and especially Apple ProDOS have strong typing in the file system and
1162: # therefore programmers never felt much need to include type information
1163: # in the files themselves.
1164: #
1165: # Eric Fischer <enf@pobox.com>
1166:
1167: # AppleWorks word processor:
1168: #
1169: # This matches the standard tab stops for an AppleWorks file, but if
1170: # a file has a tab stop set in the first four columns this will fail.
1171: #
1172: # The "O" is really the magic number, but that's so common that it's
1173: # necessary to check the tab stops that follow it to avoid false positives.
1174:
1175: 4 string O==== AppleWorks word processor data
1176: >85 byte&0x01 >0 \b, zoomed
1177: >90 byte&0x01 >0 \b, paginated
1178: >92 byte&0x01 >0 \b, with mail merge
1179: #>91 byte x \b, left margin %d
1180:
1181: # AppleWorks database:
1182: #
1183: # This isn't really a magic number, but it's the closest thing to one
1184: # that I could find. The 1 and 2 really mean "order in which you defined
1185: # categories" and "left to right, top to bottom," respectively; the D and R
1186: # mean that the cursor should move either down or right when you press Return.
1187:
1188: #30 string \x01D AppleWorks database data
1189: #30 string \x02D AppleWorks database data
1190: #30 string \x01R AppleWorks database data
1191: #30 string \x02R AppleWorks database data
1192:
1193: # AppleWorks spreadsheet:
1194: #
1195: # Likewise, this isn't really meant as a magic number. The R or C means
1196: # row- or column-order recalculation; the A or M means automatic or manual
1197: # recalculation.
1198:
1199: #131 string RA AppleWorks spreadsheet data
1200: #131 string RM AppleWorks spreadsheet data
1201: #131 string CA AppleWorks spreadsheet data
1202: #131 string CM AppleWorks spreadsheet data
1203:
1204: # Applesoft BASIC:
1205: #
1206: # This is incredibly sloppy, but will be true if the program was
1207: # written at its usual memory location of 2048 and its first line
1208: # number is less than 256. Yuck.
1209:
1210: 0 belong&0xff00ff 0x80000 Applesoft BASIC program data
1211: #>2 leshort x \b, first line number %d
1212:
1213: # ORCA/EZ assembler:
1214: #
1215: # This will not identify ORCA/M source files, since those have
1216: # some sort of date code instead of the two zero bytes at 6 and 7
1217: # XXX Conflicts with ELF
1218: #4 belong&0xff00ffff 0x01000000 ORCA/EZ assembler source data
1219: #>5 byte x \b, build number %d
1220:
1221: # Broderbund Fantavision
1222: #
1223: # I don't know what these values really mean, but they seem to recur.
1224: # Will they cause too many conflicts?
1225:
1226: # Probably :-)
1227: #2 belong&0xFF00FF 0x040008 Fantavision movie data
1228:
1229: # Some attempts at images.
1230: #
1231: # These are actually just bit-for-bit dumps of the frame buffer, so
1232: # there's really no reasonably way to distinguish them except for their
1233: # address (if preserved) -- 8192 or 16384 -- and their length -- 8192
1234: # or, occasionally, 8184.
1235: #
1236: # Nevertheless this will manage to catch a lot of images that happen
1237: # to have a solid-colored line at the bottom of the screen.
1238:
1239: # GRR: Magic too weak
1240: #8144 string \x7F\x7F\x7F\x7F\x7F\x7F\x7F\x7F Apple II image with white background
1241: #8144 string \x55\x2A\x55\x2A\x55\x2A\x55\x2A Apple II image with purple background
1242: #8144 string \x2A\x55\x2A\x55\x2A\x55\x2A\x55 Apple II image with green background
1243: #8144 string \xD5\xAA\xD5\xAA\xD5\xAA\xD5\xAA Apple II image with blue background
1244: #8144 string \xAA\xD5\xAA\xD5\xAA\xD5\xAA\xD5 Apple II image with orange background
1245:
1246: # Beagle Bros. Apple Mechanic fonts
1247:
1248: 0 belong&0xFF00FFFF 0x6400D000 Apple Mechanic font
1249:
1250: # Apple Universal Disk Image Format (UDIF) - dmg files.
1251: # From Johan Gade.
1252: # These entries are disabled for now until we fix the following issues.
1253: #
1254: # Note there might be some problems with the "VAX COFF executable"
1255: # entry. Note this entry should be placed before the mac filesystem section,
1256: # particularly the "Apple Partition data" entry.
1257: #
1258: # The intended meaning of these tests is, that the file is only of the
1259: # specified type if both of the lines are correct - i.e. if the first
1260: # line matches and the second doesn't then it is not of that type.
1261: #
1262: #0 long 0x7801730d
1263: #>4 long 0x62626060 UDIF read-only zlib-compressed image (UDZO)
1264: #
1265: # Note that this entry is recognized correctly by the "Apple Partition
1266: # data" entry - however since this entry is more specific - this
1267: # information seems to be more useful.
1268: #0 long 0x45520200
1269: #>0x410 string disk\ image UDIF read/write image (UDRW)
1270:
1271: # From: Toby Peterson <toby@apple.com>
1272: 0 string bplist00 Apple binary property list
1273:
1274: # Apple binary property list (bplist)
1275: # Assumes version bytes are hex.
1276: # Provides content hints for version 0 files. Assumes that the root
1277: # object is the first object (true for CoreFoundation implementation).
1278: # From: David Remahl <dremahl@apple.com>
1279: 0 string bplist
1280: >6 byte x \bCoreFoundation binary property list data, version 0x%c
1281: >>7 byte x \b%c
1282: >6 string 00 \b
1283: >>8 byte&0xF0 0x00 \b
1284: >>>8 byte&0x0F 0x00 \b, root type: null
1285: >>>8 byte&0x0F 0x08 \b, root type: false boolean
1286: >>>8 byte&0x0F 0x09 \b, root type: true boolean
1287: >>8 byte&0xF0 0x10 \b, root type: integer
1288: >>8 byte&0xF0 0x20 \b, root type: real
1289: >>8 byte&0xF0 0x30 \b, root type: date
1290: >>8 byte&0xF0 0x40 \b, root type: data
1291: >>8 byte&0xF0 0x50 \b, root type: ascii string
1292: >>8 byte&0xF0 0x60 \b, root type: unicode string
1293: >>8 byte&0xF0 0x80 \b, root type: uid (CORRUPT)
1294: >>8 byte&0xF0 0xa0 \b, root type: array
1295: >>8 byte&0xF0 0xd0 \b, root type: dictionary
1296:
1297: # Apple/NeXT typedstream data
1298: # Serialization format used by NeXT and Apple for various
1299: # purposes in YellowStep/Cocoa, including some nib files.
1300: # From: David Remahl <dremahl@apple.com>
1301: 2 string typedstream NeXT/Apple typedstream data, big endian
1302: >0 byte x \b, version %hhd
1303: >0 byte <5 \b
1304: >>13 byte 0x81 \b
1305: >>>14 ubeshort x \b, system %hd
1306: 2 string streamtyped NeXT/Apple typedstream data, little endian
1307: >0 byte x \b, version %hhd
1308: >0 byte <5 \b
1309: >>13 byte 0x81 \b
1310: >>>14 uleshort x \b, system %hd
1311:
1312: #------------------------------------------------------------------------------
1313: # CAF: Apple CoreAudio File Format
1314: #
1315: # Container format for high-end audio purposes.
1316: # From: David Remahl <dremahl@apple.com>
1317: #
1318: 0 string caff CoreAudio Format audio file
1319: >4 beshort <10 version %d
1320: >6 beshort x
1321:
1322:
1323: #------------------------------------------------------------------------------
1324: # Keychain database files
1325: 0 string kych Mac OS X Keychain File
1326:
1327: #------------------------------------------------------------------------------
1328: # Code Signing related file types
1329: 0 belong 0xfade0c00 Mac OS X Code Requirement
1330: >8 belong 1 (opExpr)
1331: >4 belong x - %d bytes
1332:
1333: 0 belong 0xfade0c01 Mac OS X Code Requirement Set
1334: >8 belong >1 containing %d items
1335: >4 belong x - %d bytes
1336:
1337: 0 belong 0xfade0c02 Mac OS X Code Directory
1338: >8 belong x version %x
1339: >12 belong >0 flags 0x%x
1340: >4 belong x - %d bytes
1341:
1342: 0 belong 0xfade0cc0 Mac OS X Detached Code Signature (non-executable)
1343: >4 belong x - %d bytes
1344:
1345: 0 belong 0xfade0cc1 Mac OS X Detached Code Signature
1346: >8 belong >1 (%d elements)
1347: >4 belong x - %d bytes
1348:
1349: # From: "Nelson A. de Oliveira" <naoliv@gmail.com>
1350: # .vdi
1351: 4 string innotek\ VirtualBox\ Disk\ Image %s
1352:
1353: #------------------------------------------------------------------------------
1354: # applix: file(1) magic for Applixware
1355: # From: Peter Soos <sp@osb.hu>
1356: #
1357: 0 string *BEGIN Applixware
1358: >7 string WORDS Words Document
1359: >7 string GRAPHICS Graphic
1360: >7 string RASTER Bitmap
1361: >7 string SPREADSHEETS Spreadsheet
1362: >7 string MACRO Macro
1363: >7 string BUILDER Builder Object
1364: #------------------------------------------------------------------------------
1365: # archive: file(1) magic for archive formats (see also "msdos" for self-
1366: # extracting compressed archives)
1367: #
1368: # cpio, ar, arc, arj, hpack, lha/lharc, rar, squish, uc2, zip, zoo, etc.
1369: # pre-POSIX "tar" archives are handled in the C code.
1370:
1371: # POSIX tar archives
1372: 257 string ustar\0 POSIX tar archive
1373: !:mime application/x-tar # encoding: posix
1374: 257 string ustar\040\040\0 GNU tar archive
1375: !:mime application/x-tar # encoding: gnu
1376:
1377: # cpio archives
1378: #
1379: # Yes, the top two "cpio archive" formats *are* supposed to just be "short".
1380: # The idea is to indicate archives produced on machines with the same
1381: # byte order as the machine running "file" with "cpio archive", and
1382: # to indicate archives produced on machines with the opposite byte order
1383: # from the machine running "file" with "byte-swapped cpio archive".
1384: #
1385: # The SVR4 "cpio(4)" hints that there are additional formats, but they
1386: # are defined as "short"s; I think all the new formats are
1387: # character-header formats and thus are strings, not numbers.
1388: 0 short 070707 cpio archive
1389: !:mime application/x-cpio
1390: 0 short 0143561 byte-swapped cpio archive
1391: !:mime application/x-cpio # encoding: swapped
1392: 0 string 070707 ASCII cpio archive (pre-SVR4 or odc)
1393: 0 string 070701 ASCII cpio archive (SVR4 with no CRC)
1394: 0 string 070702 ASCII cpio archive (SVR4 with CRC)
1395:
1396: # Debian package (needs to go before regular portable archives)
1397: #
1398: 0 string =!<arch>\ndebian
1399: !:mime application/x-debian-package
1400: >8 string debian-split part of multipart Debian package
1401: >8 string debian-binary Debian binary package
1402: >8 string !debian
1403: >68 string >\0 (format %s)
1404: # These next two lines do not work, because a bzip2 Debian archive
1405: # still uses gzip for the control.tar (first in the archive). Only
1406: # data.tar varies, and the location of its filename varies too.
1407: # file/libmagic does not current have support for ascii-string based
1408: # (offsets) as of 2005-09-15.
1409: #>81 string bz2 \b, uses bzip2 compression
1410: #>84 string gz \b, uses gzip compression
1411: #>136 ledate x created: %s
1412:
1413: # other archives
1414: 0 long 0177555 very old archive
1415: 0 short 0177555 very old PDP-11 archive
1416: 0 long 0177545 old archive
1417: 0 short 0177545 old PDP-11 archive
1418: 0 long 0100554 apl workspace
1419: 0 string =<ar> archive
1420: !:mime application/x-archive
1421:
1422: # MIPS archive (needs to go before regular portable archives)
1423: #
1424: 0 string =!<arch>\n__________E MIPS archive
1425: >20 string U with MIPS Ucode members
1426: >21 string L with MIPSEL members
1427: >21 string B with MIPSEB members
1428: >19 string L and an EL hash table
1429: >19 string B and an EB hash table
1430: >22 string X -- out of date
1431:
1432: 0 search/1 -h- Software Tools format archive text
1433:
1434: #
1435: # XXX - why are there multiple <ar> thingies? Note that 0x213c6172 is
1436: # "!<ar", so, for new-style (4.xBSD/SVR2andup) archives, we have:
1437: #
1438: # 0 string =!<arch> current ar archive
1439: # 0 long 0x213c6172 archive file
1440: #
1441: # and for SVR1 archives, we have:
1442: #
1443: # 0 string \<ar> System V Release 1 ar archive
1444: # 0 string =<ar> archive
1445: #
1446: # XXX - did Aegis really store shared libraries, breakpointed modules,
1447: # and absolute code program modules in the same format as new-style
1448: # "ar" archives?
1449: #
1450: 0 string =!<arch> current ar archive
1451: !:mime application/x-archive
1452: >8 string __.SYMDEF random library
1453: >0 belong =65538 - pre SR9.5
1454: >0 belong =65539 - post SR9.5
1455: >0 beshort 2 - object archive
1456: >0 beshort 3 - shared library module
1457: >0 beshort 4 - debug break-pointed module
1458: >0 beshort 5 - absolute code program module
1459: 0 string \<ar> System V Release 1 ar archive
1460: 0 string =<ar> archive
1461: #
1462: # XXX - from "vax", which appears to collect a bunch of byte-swapped
1463: # thingies, to help you recognize VAX files on big-endian machines;
1464: # with "leshort", "lelong", and "string", that's no longer necessary....
1465: #
1466: 0 belong 0x65ff0000 VAX 3.0 archive
1467: 0 belong 0x3c61723e VAX 5.0 archive
1468: #
1469: 0 long 0x213c6172 archive file
1470: 0 lelong 0177555 very old VAX archive
1471: 0 leshort 0177555 very old PDP-11 archive
1472: #
1473: # XXX - "pdp" claims that 0177545 can have an __.SYMDEF member and thus
1474: # be a random library (it said 0xff65 rather than 0177545).
1475: #
1476: 0 lelong 0177545 old VAX archive
1477: >8 string __.SYMDEF random library
1478: 0 leshort 0177545 old PDP-11 archive
1479: >8 string __.SYMDEF random library
1480: #
1481: # From "pdp" (but why a 4-byte quantity?)
1482: #
1483: 0 lelong 0x39bed PDP-11 old archive
1484: 0 lelong 0x39bee PDP-11 4.0 archive
1485:
1486: # ARC archiver, from Daniel Quinlan (quinlan@yggdrasil.com)
1487: #
1488: # The first byte is the magic (0x1a), byte 2 is the compression type for
1489: # the first file (0x01 through 0x09), and bytes 3 to 15 are the MS-DOS
1490: # filename of the first file (null terminated). Since some types collide
1491: # we only test some types on basis of frequency: 0x08 (83%), 0x09 (5%),
1492: # 0x02 (5%), 0x03 (3%), 0x04 (2%), 0x06 (2%). 0x01 collides with terminfo.
1493: 0 lelong&0x8080ffff 0x0000081a ARC archive data, dynamic LZW
1494: !:mime application/x-arc
1495: 0 lelong&0x8080ffff 0x0000091a ARC archive data, squashed
1496: !:mime application/x-arc
1497: 0 lelong&0x8080ffff 0x0000021a ARC archive data, uncompressed
1498: !:mime application/x-arc
1499: 0 lelong&0x8080ffff 0x0000031a ARC archive data, packed
1500: !:mime application/x-arc
1501: 0 lelong&0x8080ffff 0x0000041a ARC archive data, squeezed
1502: !:mime application/x-arc
1503: 0 lelong&0x8080ffff 0x0000061a ARC archive data, crunched
1504: !:mime application/x-arc
1505: # [JW] stuff taken from idarc, obviously ARC successors:
1506: 0 lelong&0x8080ffff 0x00000a1a PAK archive data
1507: !:mime application/x-arc
1508: 0 lelong&0x8080ffff 0x0000141a ARC+ archive data
1509: !:mime application/x-arc
1510: 0 lelong&0x8080ffff 0x0000481a HYP archive data
1511: !:mime application/x-arc
1512:
1513: # Acorn archive formats (Disaster prone simpleton, m91dps@ecs.ox.ac.uk)
1514: # I can't create either SPARK or ArcFS archives so I have not tested this stuff
1515: # [GRR: the original entries collide with ARC, above; replaced with combined
1516: # version (not tested)]
1517: #0 byte 0x1a RISC OS archive (spark format)
1518: 0 string \032archive RISC OS archive (ArcFS format)
1519: 0 string Archive\000 RISC OS archive (ArcFS format)
1520:
1521: # All these were taken from idarc, many could not be verified. Unfortunately,
1522: # there were many low-quality sigs, i.e. easy to trigger false positives.
1523: # Please notify me of any real-world fishy/ambiguous signatures and I'll try
1524: # to get my hands on the actual archiver and see if I find something better. [JW]
1525: # probably many can be enhanced by finding some 0-byte or control char near the start
1526:
1527: # idarc calls this Crush/Uncompressed... *shrug*
1528: 0 string CRUSH Crush archive data
1529: # Squeeze It (.sqz)
1530: 0 string HLSQZ Squeeze It archive data
1531: # SQWEZ
1532: 0 string SQWEZ SQWEZ archive data
1533: # HPack (.hpk)
1534: 0 string HPAK HPack archive data
1535: # HAP
1536: 0 string \x91\x33HF HAP archive data
1537: # MD/MDCD
1538: 0 string MDmd MDCD archive data
1539: # LIM
1540: 0 string LIM\x1a LIM archive data
1541: # SAR
1542: 3 string LH5 SAR archive data
1543: # BSArc/BS2
1544: 0 string \212\3SB \0 BSArc/BS2 archive data
1545: # MAR
1546: 2 string =-ah MAR archive data
1547: # ACB
1548: 0 belong&0x00f800ff 0x00800000 ACB archive data
1549: # CPZ
1550: # TODO, this is what idarc says: 0 string \0\0\0 CPZ archive data
1551: # JRC
1552: 0 string JRchive JRC archive data
1553: # Quantum
1554: 0 string DS\0 Quantum archive data
1555: # ReSOF
1556: 0 string PK\3\6 ReSOF archive data
1557: # QuArk
1558: 0 string 7\4 QuArk archive data
1559: # YAC
1560: 14 string YC YAC archive data
1561: # X1
1562: 0 string X1 X1 archive data
1563: 0 string XhDr X1 archive data
1564: # CDC Codec (.dqt)
1565: 0 belong&0xffffe000 0x76ff2000 CDC Codec archive data
1566: # AMGC
1567: 0 string \xad6" AMGC archive data
1568: # NuLIB
1569: 0 string NõFélå NuLIB archive data
1570: # PakLeo
1571: 0 string LEOLZW PAKLeo archive data
1572: # ChArc
1573: 0 string SChF ChArc archive data
1574: # PSA
1575: 0 string PSA PSA archive data
1576: # CrossePAC
1577: 0 string DSIGDCC CrossePAC archive data
1578: # Freeze
1579: 0 string \x1f\x9f\x4a\x10\x0a Freeze archive data
1580: # KBoom
1581: 0 string ¨MP¨ KBoom archive data
1582: # NSQ, must go after CDC Codec
1583: 0 string \x76\xff NSQ archive data
1584: # DPA
1585: 0 string Dirk\ Paehl DPA archive data
1586: # BA
1587: # TODO: idarc says "bytes 0-2 == bytes 3-5"
1588: # TTComp
1589: 0 string \0\6 TTComp archive data
1590: # ESP, could this conflict with Easy Software Products' (e.g.ESP ghostscript) documentation?
1591: 0 string ESP ESP archive data
1592: # ZPack
1593: 0 string \1ZPK\1 ZPack archive data
1594: # Sky
1595: 0 string \xbc\x40 Sky archive data
1596: # UFA
1597: 0 string UFA UFA archive data
1598: # Dry
1599: 0 string =-H2O DRY archive data
1600: # FoxSQZ
1601: 0 string FOXSQZ FoxSQZ archive data
1602: # AR7
1603: 0 string ,AR7 AR7 archive data
1604: # PPMZ
1605: 0 string PPMZ PPMZ archive data
1606: # MS Compress
1607: 4 string \x88\xf0\x27 MS Compress archive data
1608: # updated by Joerg Jenderek
1609: >9 string \0
1610: >>0 string KWAJ
1611: >>>7 string \321\003 MS Compress archive data
1612: >>>>14 ulong >0 \b, original size: %ld bytes
1613: >>>>18 ubyte >0x65
1614: >>>>>18 string x \b, was %.8s
1615: >>>>>(10.b-4) string x \b.%.3s
1616: # MP3 (archiver, not lossy audio compression)
1617: 0 string MP3\x1a MP3-Archiver archive data
1618: # ZET
1619: 0 string OZÃ ZET archive data
1620: # TSComp
1621: 0 string \x65\x5d\x13\x8c\x08\x01\x03\x00 TSComp archive data
1622: # ARQ
1623: 0 string gW\4\1 ARQ archive data
1624: # Squash
1625: 3 string OctSqu Squash archive data
1626: # Terse
1627: 0 string \5\1\1\0 Terse archive data
1628: # PUCrunch
1629: 0 string \x01\x08\x0b\x08\xef\x00\x9e\x32\x30\x36\x31 PUCrunch archive data
1630: # UHarc
1631: 0 string UHA UHarc archive data
1632: # ABComp
1633: 0 string \2AB ABComp archive data
1634: 0 string \3AB2 ABComp archive data
1635: # CMP
1636: 0 string CO\0 CMP archive data
1637: # Splint
1638: 0 string \x93\xb9\x06 Splint archive data
1639: # InstallShield
1640: 0 string \x13\x5d\x65\x8c InstallShield Z archive Data
1641: # Gather
1642: 1 string GTH Gather archive data
1643: # BOA
1644: 0 string BOA BOA archive data
1645: # RAX
1646: 0 string ULEB\xa RAX archive data
1647: # Xtreme
1648: 0 string ULEB\0 Xtreme archive data
1649: # Pack Magic
1650: 0 string @â\1\0 Pack Magic archive data
1651: # BTS
1652: 0 belong&0xfeffffff 0x1a034465 BTS archive data
1653: # ELI 5750
1654: 0 string Ora\ ELI 5750 archive data
1655: # QFC
1656: 0 string \x1aFC\x1a QFC archive data
1657: 0 string \x1aQF\x1a QFC archive data
1658: # PRO-PACK
1659: 0 string RNC PRO-PACK archive data
1660: # 777
1661: 0 string 777 777 archive data
1662: # LZS221
1663: 0 string sTaC LZS221 archive data
1664: # HPA
1665: 0 string HPA HPA archive data
1666: # Arhangel
1667: 0 string LG Arhangel archive data
1668: # EXP1, uses bzip2
1669: 0 string 0123456789012345BZh EXP1 archive data
1670: # IMP
1671: 0 string IMP\xa IMP archive data
1672: # NRV
1673: 0 string \x00\x9E\x6E\x72\x76\xFF NRV archive data
1674: # Squish
1675: 0 string \x73\xb2\x90\xf4 Squish archive data
1676: # Par
1677: 0 string PHILIPP Par archive data
1678: 0 string PAR Par archive data
1679: # HIT
1680: 0 string UB HIT archive data
1681: # SBX
1682: 0 belong&0xfffff000 0x53423000 SBX archive data
1683: # NaShrink
1684: 0 string NSK NaShrink archive data
1685: # SAPCAR
1686: 0 string #\ CAR\ archive\ header SAPCAR archive data
1687: 0 string CAR\ 2.00RG SAPCAR archive data
1688: # Disintegrator
1689: 0 string DST Disintegrator archive data
1690: # ASD
1691: 0 string ASD ASD archive data
1692: # InstallShield CAB
1693: 0 string ISc( InstallShield CAB
1694: # TOP4
1695: 0 string T4\x1a TOP4 archive data
1696: # BatComp left out: sig looks like COM executable
1697: # so TODO: get real 4dos batcomp file and find sig
1698: # BlakHole
1699: 0 string BH\5\7 BlakHole archive data
1700: # BIX
1701: 0 string BIX0 BIX archive data
1702: # ChiefLZA
1703: 0 string ChfLZ ChiefLZA archive data
1704: # Blink
1705: 0 string Blink Blink archive data
1706: # Logitech Compress
1707: 0 string \xda\xfa Logitech Compress archive data
1708: # ARS-Sfx (FIXME: really a SFX? then goto COM/EXE)
1709: 1 string (C)\ STEPANYUK ARS-Sfx archive data
1710: # AKT/AKT32
1711: 0 string AKT32 AKT32 archive data
1712: 0 string AKT AKT archive data
1713: # NPack
1714: 0 string MSTSM NPack archive data
1715: # PFT
1716: 0 string \0\x50\0\x14 PFT archive data
1717: # SemOne
1718: 0 string SEM SemOne archive data
1719: # PPMD
1720: 0 string \x8f\xaf\xac\x84 PPMD archive data
1721: # FIZ
1722: 0 string FIZ FIZ archive data
1723: # MSXiE
1724: 0 belong&0xfffff0f0 0x4d530000 MSXiE archive data
1725: # DeepFreezer
1726: 0 belong&0xfffffff0 0x797a3030 DeepFreezer archive data
1727: # DC
1728: 0 string =<DC- DC archive data
1729: # TPac
1730: 0 string \4TPAC\3 TPac archive data
1731: # Ai
1732: 0 string Ai\1\1\0 Ai archive data
1733: 0 string Ai\1\0\0 Ai archive data
1734: # Ai32
1735: 0 string Ai\2\0 Ai32 archive data
1736: 0 string Ai\2\1 Ai32 archive data
1737: # SBC
1738: 0 string SBC SBC archive data
1739: # Ybs
1740: 0 string YBS Ybs archive data
1741: # DitPack
1742: 0 string \x9e\0\0 DitPack archive data
1743: # DMS
1744: 0 string DMS! DMS archive data
1745: # EPC
1746: 0 string \x8f\xaf\xac\x8c EPC archive data
1747: # VSARC
1748: 0 string VS\x1a VSARC archive data
1749: # PDZ
1750: 0 string PDZ PDZ archive data
1751: # ReDuq
1752: 0 string rdqx ReDuq archive data
1753: # GCA
1754: 0 string GCAX GCA archive data
1755: # PPMN
1756: 0 string pN PPMN archive data
1757: # WinImage
1758: 3 string WINIMAGE WinImage archive data
1759: # Compressia
1760: 0 string CMP0CMP Compressia archive data
1761: # UHBC
1762: 0 string UHB UHBC archive data
1763: # WinHKI
1764: 0 string \x61\x5C\x04\x05 WinHKI archive data
1765: # WWPack data file
1766: 0 string WWP WWPack archive data
1767: # BSN (BSA, PTS-DOS)
1768: 0 string \xffBSG BSN archive data
1769: 1 string \xffBSG BSN archive data
1770: 3 string \xffBSG BSN archive data
1771: 1 string \0\xae\2 BSN archive data
1772: 1 string \0\xae\3 BSN archive data
1773: 1 string \0\xae\7 BSN archive data
1774: # AIN
1775: 0 string \x33\x18 AIN archive data
1776: 0 string \x33\x17 AIN archive data
1777: # XPA32
1778: 0 string xpa\0\1 XPA32 archive data
1779: # SZip (TODO: doesn't catch all versions)
1780: 0 string SZ\x0a\4 SZip archive data
1781: # XPack DiskImage
1782: 0 string jm XPack DiskImage archive data
1783: # XPack Data
1784: 0 string xpa XPack archive data
1785: # XPack Single Data
1786: 0 string Ã\ jm XPack single archive data
1787:
1788: # TODO: missing due to unknown magic/magic at end of file:
1789: #DWC
1790: #ARG
1791: #ZAR
1792: #PC/3270
1793: #InstallIt
1794: #RKive
1795: #RK
1796: #XPack Diskimage
1797:
1798: # These were inspired by idarc, but actually verified
1799: # Dzip archiver (.dz)
1800: 0 string DZ Dzip archive data
1801: >2 byte x \b, version %i
1802: >3 byte x \b.%i
1803: # ZZip archiver (.zz)
1804: 0 string ZZ\ \0\0 ZZip archive data
1805: 0 string ZZ0 ZZip archive data
1806: # PAQ archiver (.paq)
1807: 0 string \xaa\x40\x5f\x77\x1f\xe5\x82\x0d PAQ archive data
1808: 0 string PAQ PAQ archive data
1809: >3 byte&0xf0 0x30
1810: >>3 byte x (v%c)
1811: # JAR archiver (.j), this is the successor to ARJ, not Java's JAR (which is essentially ZIP)
1812: 0xe string \x1aJar\x1b JAR (ARJ Software, Inc.) archive data
1813: 0 string JARCS JAR (ARJ Software, Inc.) archive data
1814:
1815: # ARJ archiver (jason@jarthur.Claremont.EDU)
1816: 0 leshort 0xea60 ARJ archive data
1817: !:mime application/x-arj
1818: >5 byte x \b, v%d,
1819: >8 byte &0x04 multi-volume,
1820: >8 byte &0x10 slash-switched,
1821: >8 byte &0x20 backup,
1822: >34 string x original name: %s,
1823: >7 byte 0 os: MS-DOS
1824: >7 byte 1 os: PRIMOS
1825: >7 byte 2 os: Unix
1826: >7 byte 3 os: Amiga
1827: >7 byte 4 os: Macintosh
1828: >7 byte 5 os: OS/2
1829: >7 byte 6 os: Apple ][ GS
1830: >7 byte 7 os: Atari ST
1831: >7 byte 8 os: NeXT
1832: >7 byte 9 os: VAX/VMS
1833: >3 byte >0 %d]
1834: # [JW] idarc says this is also possible
1835: 2 leshort 0xea60 ARJ archive data
1836:
1837: # HA archiver (Greg Roelofs, newt@uchicago.edu)
1838: # This is a really bad format. A file containing HAWAII will match this...
1839: #0 string HA HA archive data,
1840: #>2 leshort =1 1 file,
1841: #>2 leshort >1 %u files,
1842: #>4 byte&0x0f =0 first is type CPY
1843: #>4 byte&0x0f =1 first is type ASC
1844: #>4 byte&0x0f =2 first is type HSC
1845: #>4 byte&0x0f =0x0e first is type DIR
1846: #>4 byte&0x0f =0x0f first is type SPECIAL
1847: # suggestion: at least identify small archives (<1024 files)
1848: 0 belong&0xffff00fc 0x48410000 HA archive data
1849: >2 leshort =1 1 file,
1850: >2 leshort >1 %u files,
1851: >4 byte&0x0f =0 first is type CPY
1852: >4 byte&0x0f =1 first is type ASC
1853: >4 byte&0x0f =2 first is type HSC
1854: >4 byte&0x0f =0x0e first is type DIR
1855: >4 byte&0x0f =0x0f first is type SPECIAL
1856:
1857: # HPACK archiver (Peter Gutmann, pgut1@cs.aukuni.ac.nz)
1858: 0 string HPAK HPACK archive data
1859:
1860: # JAM Archive volume format, by Dmitry.Kohmanyuk@UA.net
1861: 0 string \351,\001JAM\ JAM archive,
1862: >7 string >\0 version %.4s
1863: >0x26 byte =0x27 -
1864: >>0x2b string >\0 label %.11s,
1865: >>0x27 lelong x serial %08x,
1866: >>0x36 string >\0 fstype %.8s
1867:
1868: # LHARC/LHA archiver (Greg Roelofs, newt@uchicago.edu)
1869: 2 string -lh0- LHarc 1.x/ARX archive data [lh0]
1870: !:mime application/x-lharc
1871: 2 string -lh1- LHarc 1.x/ARX archive data [lh1]
1872: !:mime application/x-lharc
1873: 2 string -lz4- LHarc 1.x archive data [lz4]
1874: !:mime application/x-lharc
1875: 2 string -lz5- LHarc 1.x archive data [lz5]
1876: !:mime application/x-lharc
1877: # [never seen any but the last; -lh4- reported in comp.compression:]
1878: 2 string -lzs- LHa/LZS archive data [lzs]
1879: !:mime application/x-lha
1880: 2 string -lh\40- LHa 2.x? archive data [lh ]
1881: !:mime application/x-lha
1882: 2 string -lhd- LHa 2.x? archive data [lhd]
1883: !:mime application/x-lha
1884: 2 string -lh2- LHa 2.x? archive data [lh2]
1885: !:mime application/x-lha
1886: 2 string -lh3- LHa 2.x? archive data [lh3]
1887: !:mime application/x-lha
1888: 2 string -lh4- LHa (2.x) archive data [lh4]
1889: !:mime application/x-lha
1890: 2 string -lh5- LHa (2.x) archive data [lh5]
1891: !:mime application/x-lha
1892: 2 string -lh6- LHa (2.x) archive data [lh6]
1893: !:mime application/x-lha
1894: 2 string -lh7- LHa (2.x)/LHark archive data [lh7]
1895: !:mime application/x-lha
1896: >20 byte x - header level %d
1897: # taken from idarc [JW]
1898: 2 string -lZ PUT archive data
1899: 2 string -lz LZS archive data
1900: 2 string -sw1- Swag archive data
1901:
1902: # RAR archiver (Greg Roelofs, newt@uchicago.edu)
1903: 0 string Rar! RAR archive data,
1904: !:mime application/x-rar
1905: >44 byte x v%0x,
1906: >10 byte >0 flags:
1907: >>10 byte &0x01 Archive volume,
1908: >>10 byte &0x02 Commented,
1909: >>10 byte &0x04 Locked,
1910: >>10 byte &0x08 Solid,
1911: >>10 byte &0x20 Authenticated,
1912: >35 byte 0 os: MS-DOS
1913: >35 byte 1 os: OS/2
1914: >35 byte 2 os: Win32
1915: >35 byte 3 os: Unix
1916: # some old version? idarc says:
1917: 0 string RE\x7e\x5e RAR archive data
1918:
1919: # SQUISH archiver (Greg Roelofs, newt@uchicago.edu)
1920: 0 string SQSH squished archive data (Acorn RISCOS)
1921:
1922: # UC2 archiver (Greg Roelofs, newt@uchicago.edu)
1923: # [JW] see exe section for self-extracting version
1924: 0 string UC2\x1a UC2 archive data
1925:
1926: # ZIP archives (Greg Roelofs, c/o zip-bugs@wkuvx1.wku.edu)
1927: 0 string PK\003\004
1928: >4 byte 0x00 Zip archive data
1929: !:mime application/zip
1930: >4 byte 0x09 Zip archive data, at least v0.9 to extract
1931: !:mime application/zip
1932: >4 byte 0x0a Zip archive data, at least v1.0 to extract
1933: !:mime application/zip
1934: >4 byte 0x0b Zip archive data, at least v1.1 to extract
1935: !:mime application/zip
1936: >0x161 string WINZIP Zip archive data, WinZIP self-extracting
1937: !:mime application/zip
1938: >4 byte 0x14
1939: >>30 ubelong !0x6d696d65 Zip archive data, at least v2.0 to extract
1940: !:mime application/zip
1941:
1942: # OpenOffice.org / KOffice / StarOffice documents
1943: # Listed here because they ARE zip files
1944: #
1945: # From: Abel Cheung <abel@oaka.org>
1946: >4 byte 0x14
1947: >>30 string mimetype
1948:
1949: # KOffice (1.2 or above) formats
1950: >>>50 string vnd.kde. KOffice (>=1.2)
1951: >>>>58 string karbon Karbon document
1952: >>>>58 string kchart KChart document
1953: >>>>58 string kformula KFormula document
1954: >>>>58 string kivio Kivio document
1955: >>>>58 string kontour Kontour document
1956: >>>>58 string kpresenter KPresenter document
1957: >>>>58 string kspread KSpread document
1958: >>>>58 string kword KWord document
1959:
1960: # OpenOffice formats (for OpenOffice 1.x / StarOffice 6/7)
1961: >>>50 string vnd.sun.xml. OpenOffice.org 1.x
1962: >>>>62 string writer Writer
1963: >>>>>68 byte !0x2e document
1964: >>>>>68 string .template template
1965: >>>>>68 string .global global document
1966: >>>>62 string calc Calc
1967: >>>>>66 byte !0x2e spreadsheet
1968: >>>>>66 string .template template
1969: >>>>62 string draw Draw
1970: >>>>>66 byte !0x2e document
1971: >>>>>66 string .template template
1972: >>>>62 string impress Impress
1973: >>>>>69 byte !0x2e presentation
1974: >>>>>69 string .template template
1975: >>>>62 string math Math document
1976: >>>>62 string base Database file
1977:
1978: # OpenDocument formats (for OpenOffice 2.x / StarOffice >= 8)
1979: # http://lists.oasis-open.org/archives/office/200505/msg00006.html
1980: >>>50 string vnd.oasis.opendocument. OpenDocument
1981: >>>>73 string text
1982: >>>>>77 byte !0x2d Text
1983: !:mime application/vnd.oasis.opendocument.text
1984: >>>>>77 string -template Text Template
1985: >>>>>77 string -web HTML Document Template
1986: >>>>>77 string -master Master Document
1987: >>>>73 string graphics Drawing
1988: >>>>>81 string -template Template
1989: >>>>73 string presentation Presentation
1990: >>>>>85 string -template Template
1991: >>>>73 string spreadsheet Spreadsheet
1992: >>>>>84 string -template Template
1993: >>>>73 string chart Chart
1994: >>>>>78 string -template Template
1995: >>>>73 string formula Formula
1996: >>>>>80 string -template Template
1997: >>>>73 string database Database
1998: >>>>73 string image Image
1999:
2000: # Zoo archiver
2001: 20 lelong 0xfdc4a7dc Zoo archive data
2002: !:mime application/x-zoo
2003: >4 byte >48 \b, v%c.
2004: >>6 byte >47 \b%c
2005: >>>7 byte >47 \b%c
2006: >32 byte >0 \b, modify: v%d
2007: >>33 byte x \b.%d+
2008: >42 lelong 0xfdc4a7dc \b,
2009: >>70 byte >0 extract: v%d
2010: >>>71 byte x \b.%d+
2011:
2012: # Shell archives
2013: 10 string #\ This\ is\ a\ shell\ archive shell archive text
2014: !:mime application/octet-stream
2015:
2016: #
2017: # LBR. NB: May conflict with the questionable
2018: # "binary Computer Graphics Metafile" format.
2019: #
2020: 0 string \0\ \ \ \ \ \ \ \ \ \ \ \0\0 LBR archive data
2021: #
2022: # PMA (CP/M derivative of LHA)
2023: #
2024: 2 string -pm0- PMarc archive data [pm0]
2025: 2 string -pm1- PMarc archive data [pm1]
2026: 2 string -pm2- PMarc archive data [pm2]
2027: 2 string -pms- PMarc SFX archive (CP/M, DOS)
2028: 5 string -pc1- PopCom compressed executable (CP/M)
2029:
2030: # From Rafael Laboissiere <rafael@laboissiere.net>
2031: # The Project Revision Control System (see
2032: # http://prcs.sourceforge.net) generates a packaged project
2033: # file which is recognized by the following entry:
2034: 0 leshort 0xeb81 PRCS packaged project
2035:
2036: # Microsoft cabinets
2037: # by David Necas (Yeti) <yeti@physics.muni.cz>
2038: #0 string MSCF\0\0\0\0 Microsoft cabinet file data,
2039: #>25 byte x v%d
2040: #>24 byte x \b.%d
2041: # MPi: All CABs have version 1.3, so this is pointless.
2042: # Better magic in debian-additions.
2043:
2044: # GTKtalog catalogs
2045: # by David Necas (Yeti) <yeti@physics.muni.cz>
2046: 4 string gtktalog\ GTKtalog catalog data,
2047: >13 string 3 version 3
2048: >>14 beshort 0x677a (gzipped)
2049: >>14 beshort !0x677a (not gzipped)
2050: >13 string >3 version %s
2051:
2052: ############################################################################
2053: # Parity archive reconstruction file, the 'par' file format now used on Usenet.
2054: 0 string PAR\0 PARity archive data
2055: >48 leshort =0 - Index file
2056: >48 leshort >0 - file number %d
2057:
2058: # Felix von Leitner <felix-file@fefe.de>
2059: 0 string d8:announce BitTorrent file
2060: !:mime application/x-bittorrent
2061:
2062: # Atari MSA archive - Teemu Hukkanen <tjhukkan@iki.fi>
2063: 0 beshort 0x0e0f Atari MSA archive data
2064: >2 beshort x \b, %d sectors per track
2065: >4 beshort 0 \b, 1 sided
2066: >4 beshort 1 \b, 2 sided
2067: >6 beshort x \b, starting track: %d
2068: >8 beshort x \b, ending track: %d
2069:
2070: # Alternate ZIP string (amc@arwen.cs.berkeley.edu)
2071: 0 string PK00PK\003\004 Zip archive data
2072:
2073: # ACE archive (from http://www.wotsit.org/download.asp?f=ace)
2074: # by Stefan `Sec` Zehl <sec@42.org>
2075: 7 string **ACE** ACE archive data
2076: >15 byte >0 version %d
2077: >16 byte =0x00 \b, from MS-DOS
2078: >16 byte =0x01 \b, from OS/2
2079: >16 byte =0x02 \b, from Win/32
2080: >16 byte =0x03 \b, from Unix
2081: >16 byte =0x04 \b, from MacOS
2082: >16 byte =0x05 \b, from WinNT
2083: >16 byte =0x06 \b, from Primos
2084: >16 byte =0x07 \b, from AppleGS
2085: >16 byte =0x08 \b, from Atari
2086: >16 byte =0x09 \b, from Vax/VMS
2087: >16 byte =0x0A \b, from Amiga
2088: >16 byte =0x0B \b, from Next
2089: >14 byte x \b, version %d to extract
2090: >5 leshort &0x0080 \b, multiple volumes,
2091: >>17 byte x \b (part %d),
2092: >5 leshort &0x0002 \b, contains comment
2093: >5 leshort &0x0200 \b, sfx
2094: >5 leshort &0x0400 \b, small dictionary
2095: >5 leshort &0x0800 \b, multi-volume
2096: >5 leshort &0x1000 \b, contains AV-String
2097: >>30 string \x16*UNREGISTERED\x20VERSION* (unregistered)
2098: >5 leshort &0x2000 \b, with recovery record
2099: >5 leshort &0x4000 \b, locked
2100: >5 leshort &0x8000 \b, solid
2101: # Date in MS-DOS format (whatever that is)
2102: #>18 lelong x Created on
2103:
2104: # sfArk : compression program for Soundfonts (sf2) by Dirk Jagdmann
2105: # <doj@cubic.org>
2106: 0x1A string sfArk sfArk compressed Soundfont
2107: >0x15 string 2
2108: >>0x1 string >\0 Version %s
2109: >>0x2A string >\0 : %s
2110:
2111: # DR-DOS 7.03 Packed File *.??_
2112: 0 string Packed\ File\ Personal NetWare Packed File
2113: >12 string x \b, was "%.12s"
2114:
2115: # EET archive
2116: # From: Tilman Sauerbeck <tilman@code-monkey.de>
2117: 0 belong 0x1ee7ff00 EET archive
2118: !:mime application/x-eet
2119:
2120: # rzip archives
2121: 0 string RZIP rzip compressed data
2122: >4 byte x - version %d
2123: >5 byte x \b.%d
2124: >6 belong x (%d bytes)
2125:
2126: # From: "Robert Dale" <robdale@gmail.com>
2127: 0 belong 123 dar archive,
2128: >4 belong x label "%.8x
2129: >>8 belong x %.8x
2130: >>>12 beshort x %.4x"
2131: >14 byte 0x54 end slice
2132: >14 beshort 0x4e4e multi-part
2133: >14 beshort 0x4e53 multi-part, with -S
2134:
2135: # Symbian installation files
2136: # http://www.thouky.co.uk/software/psifs/sis.html
2137: # http://developer.symbian.com/main/downloads/papers/SymbianOSv91/softwareinstallsis.pdf
2138: 8 lelong 0x10000419 Symbian installation file
2139: !:mime application/vnd.symbian.install
2140: >4 lelong 0x1000006D (EPOC release 3/4/5)
2141: >4 lelong 0x10003A12 (EPOC release 6)
2142: 0 lelong 0x10201A7A Symbian installation file (Symbian OS 9.x)
2143: !:mime x-epoc/x-sisx-app
2144:
2145: # From "Nelson A. de Oliveira" <naoliv@gmail.com>
2146: 0 string MPQ\032 MoPaQ (MPQ) archive
2147:
2148: # From: Dirk Jagdmann <doj@cubic.org>
2149: # xar archive format: http://code.google.com/p/xar/
2150: 0 string xar! xar archive
2151: >6 beshort x - version %ld
2152:
2153: # From: "Nelson A. de Oliveira" <naoliv@gmail.com>
2154: # .kgb
2155: 0 string KGB_arch KGB Archiver file
2156: >10 string x with compression level %.1s
2157:
2158: # xar (eXtensible ARchiver) archive
2159: # From: "David Remahl" <dremahl@apple.com>
2160: 0 string xar! xar archive
2161: #>4 beshort x header size %d
2162: >6 beshort x version %d,
2163: #>8 quad x compressed TOC: %d,
2164: #>16 quad x uncompressed TOC: %d,
2165: >24 belong 0 no checksum
2166: >24 belong 1 SHA-1 checksum
2167: >24 belong 2 MD5 checksum
2168:
2169: # Type: Parity Archive
2170: # From: Daniel van Eeden <daniel_e@dds.nl>
2171: 0 string PAR2 Parity Archive Volume Set
2172:
2173: #------------------------------------------------------------------------------
2174: # asterix: file(1) magic for Aster*x; SunOS 5.5.1 gave the 4-character
2175: # strings as "long" - we assume they're just strings:
2176: # From: guy@netapp.com (Guy Harris)
2177: #
2178: 0 string *STA Aster*x
2179: >7 string WORD Words Document
2180: >7 string GRAP Graphic
2181: >7 string SPRE Spreadsheet
2182: >7 string MACR Macro
2183: 0 string 2278 Aster*x Version 2
2184: >29 byte 0x36 Words Document
2185: >29 byte 0x35 Graphic
2186: >29 byte 0x32 Spreadsheet
2187: >29 byte 0x38 Macro
2188:
2189:
2190: #------------------------------------------------------------------------------
2191: # att3b: file(1) magic for AT&T 3B machines
2192: #
2193: # The `versions' should be un-commented if they work for you.
2194: # (Was the problem just one of endianness?)
2195: #
2196: # 3B20
2197: #
2198: # The 3B20 conflicts with SCCS.
2199: #0 beshort 0550 3b20 COFF executable
2200: #>12 belong >0 not stripped
2201: #>22 beshort >0 - version %ld
2202: #0 beshort 0551 3b20 COFF executable (TV)
2203: #>12 belong >0 not stripped
2204: #>22 beshort >0 - version %ld
2205: #
2206: # WE32K
2207: #
2208: 0 beshort 0560 WE32000 COFF
2209: >18 beshort ^00000020 object
2210: >18 beshort &00000020 executable
2211: >12 belong >0 not stripped
2212: >18 beshort ^00010000 N/A on 3b2/300 w/paging
2213: >18 beshort &00020000 32100 required
2214: >18 beshort &00040000 and MAU hardware required
2215: >20 beshort 0407 (impure)
2216: >20 beshort 0410 (pure)
2217: >20 beshort 0413 (demand paged)
2218: >20 beshort 0443 (target shared library)
2219: >22 beshort >0 - version %ld
2220: 0 beshort 0561 WE32000 COFF executable (TV)
2221: >12 belong >0 not stripped
2222: #>18 beshort &00020000 - 32100 required
2223: #>18 beshort &00040000 and MAU hardware required
2224: #>22 beshort >0 - version %ld
2225: #
2226: # core file for 3b2
2227: 0 string \000\004\036\212\200 3b2 core file
2228: >364 string >\0 of '%s'
2229: #------------------------------------------------------------------------------
2230: # audio: file(1) magic for sound formats (see also "iff")
2231: #
2232: # Jan Nicolai Langfeldt (janl@ifi.uio.no), Dan Quinlan (quinlan@yggdrasil.com),
2233: # and others
2234: #
2235:
2236: # Sun/NeXT audio data
2237: 0 string .snd Sun/NeXT audio data:
2238: >12 belong 1 8-bit ISDN mu-law,
2239: !:mime audio/basic
2240: >12 belong 2 8-bit linear PCM [REF-PCM],
2241: !:mime audio/basic
2242: >12 belong 3 16-bit linear PCM,
2243: !:mime audio/basic
2244: >12 belong 4 24-bit linear PCM,
2245: !:mime audio/basic
2246: >12 belong 5 32-bit linear PCM,
2247: !:mime audio/basic
2248: >12 belong 6 32-bit IEEE floating point,
2249: !:mime audio/basic
2250: >12 belong 7 64-bit IEEE floating point,
2251: !:mime audio/basic
2252: >12 belong 8 Fragmented sample data,
2253: >12 belong 10 DSP program,
2254: >12 belong 11 8-bit fixed point,
2255: >12 belong 12 16-bit fixed point,
2256: >12 belong 13 24-bit fixed point,
2257: >12 belong 14 32-bit fixed point,
2258: >12 belong 18 16-bit linear with emphasis,
2259: >12 belong 19 16-bit linear compressed,
2260: >12 belong 20 16-bit linear with emphasis and compression,
2261: >12 belong 21 Music kit DSP commands,
2262: >12 belong 23 8-bit ISDN mu-law compressed (CCITT G.721 ADPCM voice enc.),
2263: !:mime audio/x-adpcm
2264: >12 belong 24 compressed (8-bit CCITT G.722 ADPCM)
2265: >12 belong 25 compressed (3-bit CCITT G.723.3 ADPCM),
2266: >12 belong 26 compressed (5-bit CCITT G.723.5 ADPCM),
2267: >12 belong 27 8-bit A-law (CCITT G.711),
2268: >20 belong 1 mono,
2269: >20 belong 2 stereo,
2270: >20 belong 4 quad,
2271: >16 belong >0 %d Hz
2272:
2273: # DEC systems (e.g. DECstation 5000) use a variant of the Sun/NeXT format
2274: # that uses little-endian encoding and has a different magic number
2275: 0 lelong 0x0064732E DEC audio data:
2276: >12 lelong 1 8-bit ISDN mu-law,
2277: !:mime audio/x-dec-basic
2278: >12 lelong 2 8-bit linear PCM [REF-PCM],
2279: !:mime audio/x-dec-basic
2280: >12 lelong 3 16-bit linear PCM,
2281: !:mime audio/x-dec-basic
2282: >12 lelong 4 24-bit linear PCM,
2283: !:mime audio/x-dec-basic
2284: >12 lelong 5 32-bit linear PCM,
2285: !:mime audio/x-dec-basic
2286: >12 lelong 6 32-bit IEEE floating point,
2287: !:mime audio/x-dec-basic
2288: >12 lelong 7 64-bit IEEE floating point,
2289: !:mime audio/x-dec-basic
2290: >12 belong 8 Fragmented sample data,
2291: >12 belong 10 DSP program,
2292: >12 belong 11 8-bit fixed point,
2293: >12 belong 12 16-bit fixed point,
2294: >12 belong 13 24-bit fixed point,
2295: >12 belong 14 32-bit fixed point,
2296: >12 belong 18 16-bit linear with emphasis,
2297: >12 belong 19 16-bit linear compressed,
2298: >12 belong 20 16-bit linear with emphasis and compression,
2299: >12 belong 21 Music kit DSP commands,
2300: >12 lelong 23 8-bit ISDN mu-law compressed (CCITT G.721 ADPCM voice enc.),
2301: !:mime audio/x-dec-basic
2302: >12 belong 24 compressed (8-bit CCITT G.722 ADPCM)
2303: >12 belong 25 compressed (3-bit CCITT G.723.3 ADPCM),
2304: >12 belong 26 compressed (5-bit CCITT G.723.5 ADPCM),
2305: >12 belong 27 8-bit A-law (CCITT G.711),
2306: >20 lelong 1 mono,
2307: >20 lelong 2 stereo,
2308: >20 lelong 4 quad,
2309: >16 lelong >0 %d Hz
2310:
2311: # Creative Labs AUDIO stuff
2312: 0 string MThd Standard MIDI data
2313: !:mime audio/midi
2314: >8 beshort x (format %d)
2315: >10 beshort x using %d track
2316: >10 beshort >1 \bs
2317: >12 beshort&0x7fff x at 1/%d
2318: >12 beshort&0x8000 >0 SMPTE
2319:
2320: 0 string CTMF Creative Music (CMF) data
2321: !:mime audio/x-unknown
2322: 0 string SBI SoundBlaster instrument data
2323: !:mime audio/x-unknown
2324: 0 string Creative\ Voice\ File Creative Labs voice data
2325: !:mime audio/x-unknown
2326: # is this next line right? it came this way...
2327: >19 byte 0x1A
2328: >23 byte >0 - version %d
2329: >22 byte >0 \b.%d
2330:
2331: # first entry is also the string "NTRK"
2332: 0 belong 0x4e54524b MultiTrack sound data
2333: >4 belong x - version %ld
2334:
2335: # Extended MOD format (*.emd) (Greg Roelofs, newt@uchicago.edu); NOT TESTED
2336: # [based on posting 940824 by "Dirk/Elastik", husberg@lehtori.cc.tut.fi]
2337: 0 string EMOD Extended MOD sound data,
2338: >4 byte&0xf0 x version %d
2339: >4 byte&0x0f x \b.%d,
2340: >45 byte x %d instruments
2341: >83 byte 0 (module)
2342: >83 byte 1 (song)
2343:
2344: # Real Audio (Magic .ra\0375)
2345: 0 belong 0x2e7261fd RealAudio sound file
2346: !:mime audio/x-pn-realaudio
2347: 0 string .RMF\0\0\0 RealMedia file
2348: !:mime application/vnd.rn-realmedia
2349: #video/x-pn-realvideo
2350: #video/vnd.rn-realvideo
2351: #application/vnd.rn-realmedia
2352: # sigh, there are many mimes for that but the above are the most common.
2353:
2354: # MTM/669/FAR/S3M/ULT/XM format checking [Aaron Eppert, aeppert@dialin.ind.net]
2355: # Oct 31, 1995
2356: # fixed by <doj@cubic.org> 2003-06-24
2357: # Too short...
2358: #0 string MTM MultiTracker Module sound file
2359: #0 string if Composer 669 Module sound data
2360: #0 string JN Composer 669 Module sound data (extended format)
2361: 0 string MAS_U ULT(imate) Module sound data
2362:
2363: #0 string FAR Module sound data
2364: #>4 string >\15 Title: "%s"
2365:
2366: 0x2c string SCRM ScreamTracker III Module sound data
2367: >0 string >\0 Title: "%s"
2368:
2369: # Gravis UltraSound patches
2370: # From <ache@nagual.ru>
2371:
2372: 0 string GF1PATCH110\0ID#000002\0 GUS patch
2373: 0 string GF1PATCH100\0ID#000002\0 Old GUS patch
2374:
2375: # mime types according to http://www.geocities.com/nevilo/mod.htm:
2376: # audio/it .it
2377: # audio/x-zipped-it .itz
2378: # audio/xm fasttracker modules
2379: # audio/x-s3m screamtracker modules
2380: # audio/s3m screamtracker modules
2381: # audio/x-zipped-mod mdz
2382: # audio/mod mod
2383: # audio/x-mod All modules (mod, s3m, 669, mtm, med, xm, it, mdz, stm, itz, xmz, s3z)
2384:
2385: #
2386: # Taken from loader code from mikmod version 2.14
2387: # by Steve McIntyre (stevem@chiark.greenend.org.uk)
2388: # <doj@cubic.org> added title printing on 2003-06-24
2389: 0 string MAS_UTrack_V00
2390: >14 string >/0 ultratracker V1.%.1s module sound data
2391: !:mime audio/x-mod
2392: #audio/x-tracker-module
2393:
2394: 0 string UN05 MikMod UNI format module sound data
2395:
2396: 0 string Extended\ Module: Fasttracker II module sound data
2397: !:mime audio/x-mod
2398: #audio/x-tracker-module
2399: >17 string >\0 Title: "%s"
2400:
2401: 21 string/c =!SCREAM! Screamtracker 2 module sound data
2402: !:mime audio/x-mod
2403: #audio/x-screamtracker-module
2404: 21 string BMOD2STM Screamtracker 2 module sound data
2405: !:mime audio/x-mod
2406: #audio/x-screamtracker-module
2407: 1080 string M.K. 4-channel Protracker module sound data
2408: !:mime audio/x-mod
2409: #audio/x-protracker-module
2410: >0 string >\0 Title: "%s"
2411: 1080 string M!K! 4-channel Protracker module sound data
2412: !:mime audio/x-mod
2413: #audio/x-protracker-module
2414: >0 string >\0 Title: "%s"
2415: 1080 string FLT4 4-channel Startracker module sound data
2416: !:mime audio/x-mod
2417: #audio/x-startracker-module
2418: >0 string >\0 Title: "%s"
2419: 1080 string FLT8 8-channel Startracker module sound data
2420: !:mime audio/x-mod
2421: #audio/x-startracker-module
2422: >0 string >\0 Title: "%s"
2423: 1080 string 4CHN 4-channel Fasttracker module sound data
2424: !:mime audio/x-mod
2425: #audio/x-fasttracker-module
2426: >0 string >\0 Title: "%s"
2427: 1080 string 6CHN 6-channel Fasttracker module sound data
2428: !:mime audio/x-mod
2429: #audio/x-fasttracker-module
2430: >0 string >\0 Title: "%s"
2431: 1080 string 8CHN 8-channel Fasttracker module sound data
2432: !:mime audio/x-mod
2433: #audio/x-fasttracker-module
2434: >0 string >\0 Title: "%s"
2435: 1080 string CD81 8-channel Octalyser module sound data
2436: !:mime audio/x-mod
2437: #audio/x-octalysertracker-module
2438: >0 string >\0 Title: "%s"
2439: 1080 string OKTA 8-channel Octalyzer module sound data
2440: !:mime audio/x-mod
2441: #audio/x-octalysertracker-module
2442: >0 string >\0 Title: "%s"
2443: # Not good enough.
2444: #1082 string CH
2445: #>1080 string >/0 %.2s-channel Fasttracker "oktalyzer" module sound data
2446: 1080 string 16CN 16-channel Taketracker module sound data
2447: !:mime audio/x-mod
2448: #audio/x-taketracker-module
2449: >0 string >\0 Title: "%s"
2450: 1080 string 32CN 32-channel Taketracker module sound data
2451: !:mime audio/x-mod
2452: #audio/x-taketracker-module
2453: >0 string >\0 Title: "%s"
2454:
2455: # TOC sound files -Trevor Johnson <trevor@jpj.net>
2456: #
2457: 0 string TOC TOC sound file
2458:
2459: # sidfiles <pooka@iki.fi>
2460: # added name,author,(c) and new RSID type by <doj@cubic.org> 2003-06-24
2461: 0 string SIDPLAY\ INFOFILE Sidplay info file
2462:
2463: 0 string PSID PlaySID v2.2+ (AMIGA) sidtune
2464: >4 beshort >0 w/ header v%d,
2465: >14 beshort =1 single song,
2466: >14 beshort >1 %d songs,
2467: >16 beshort >0 default song: %d
2468: >0x16 string >\0 name: "%s"
2469: >0x36 string >\0 author: "%s"
2470: >0x56 string >\0 copyright: "%s"
2471:
2472: 0 string RSID RSID sidtune PlaySID compatible
2473: >4 beshort >0 w/ header v%d,
2474: >14 beshort =1 single song,
2475: >14 beshort >1 %d songs,
2476: >16 beshort >0 default song: %d
2477: >0x16 string >\0 name: "%s"
2478: >0x36 string >\0 author: "%s"
2479: >0x56 string >\0 copyright: "%s"
2480:
2481: # IRCAM <mpruett@sgi.com>
2482: # VAX and MIPS files are little-endian; Sun and NeXT are big-endian
2483: 0 belong 0x64a30100 IRCAM file (VAX)
2484: 0 belong 0x64a30200 IRCAM file (Sun)
2485: 0 belong 0x64a30300 IRCAM file (MIPS little-endian)
2486: 0 belong 0x64a30400 IRCAM file (NeXT)
2487:
2488: # NIST SPHERE <mpruett@sgi.com>
2489: 0 string NIST_1A\n\ \ \ 1024\n NIST SPHERE file
2490:
2491: # Sample Vision <mpruett@sgi.com>
2492: 0 string SOUND\ SAMPLE\ DATA\ Sample Vision file
2493:
2494: # Audio Visual Research <tonigonenstein@users.sourceforge.net>
2495: 0 string 2BIT Audio Visual Research file,
2496: >12 beshort =0 mono,
2497: >12 beshort =-1 stereo,
2498: >14 beshort x %d bits
2499: >16 beshort =0 unsigned,
2500: >16 beshort =-1 signed,
2501: >22 belong&0x00ffffff x %d Hz,
2502: >18 beshort =0 no loop,
2503: >18 beshort =-1 loop,
2504: >21 ubyte <128 note %d,
2505: >22 byte =0 replay 5.485 KHz
2506: >22 byte =1 replay 8.084 KHz
2507: >22 byte =2 replay 10.971 Khz
2508: >22 byte =3 replay 16.168 Khz
2509: >22 byte =4 replay 21.942 KHz
2510: >22 byte =5 replay 32.336 KHz
2511: >22 byte =6 replay 43.885 KHz
2512: >22 byte =7 replay 47.261 KHz
2513:
2514: # SGI SoundTrack <mpruett@sgi.com>
2515: 0 string _SGI_SoundTrack SGI SoundTrack project file
2516: # ID3 version 2 tags <waschk@informatik.uni-rostock.de>
2517: 0 string ID3 Audio file with ID3 version 2.
2518: # ??? Normally such a file is an MP3 file, but this will give false positives
2519: !:mime audio/mpeg
2520: >3 ubyte <0xff \b%d
2521: #>4 ubyte <0xff \b%d tag
2522: >2584 string fLaC \b, FLAC encoding
2523: >>2588 byte&0x7f >0 \b, unknown version
2524: >>2588 byte&0x7f 0 \b
2525: # some common bits/sample values
2526: >>>2600 beshort&0x1f0 0x030 \b, 4 bit
2527: >>>2600 beshort&0x1f0 0x050 \b, 6 bit
2528: >>>2600 beshort&0x1f0 0x070 \b, 8 bit
2529: >>>2600 beshort&0x1f0 0x0b0 \b, 12 bit
2530: >>>2600 beshort&0x1f0 0x0f0 \b, 16 bit
2531: >>>2600 beshort&0x1f0 0x170 \b, 24 bit
2532: >>>2600 byte&0xe 0x0 \b, mono
2533: >>>2600 byte&0xe 0x2 \b, stereo
2534: >>>2600 byte&0xe 0x4 \b, 3 channels
2535: >>>2600 byte&0xe 0x6 \b, 4 channels
2536: >>>2600 byte&0xe 0x8 \b, 5 channels
2537: >>>2600 byte&0xe 0xa \b, 6 channels
2538: >>>2600 byte&0xe 0xc \b, 7 channels
2539: >>>2600 byte&0xe 0xe \b, 8 channels
2540: # some common sample rates
2541: >>>2597 belong&0xfffff0 0x0ac440 \b, 44.1 kHz
2542: >>>2597 belong&0xfffff0 0x0bb800 \b, 48 kHz
2543: >>>2597 belong&0xfffff0 0x07d000 \b, 32 kHz
2544: >>>2597 belong&0xfffff0 0x056220 \b, 22.05 kHz
2545: >>>2597 belong&0xfffff0 0x05dc00 \b, 24 kHz
2546: >>>2597 belong&0xfffff0 0x03e800 \b, 16 kHz
2547: >>>2597 belong&0xfffff0 0x02b110 \b, 11.025 kHz
2548: >>>2597 belong&0xfffff0 0x02ee00 \b, 12 kHz
2549: >>>2597 belong&0xfffff0 0x01f400 \b, 8 kHz
2550: >>>2597 belong&0xfffff0 0x177000 \b, 96 kHz
2551: >>>2597 belong&0xfffff0 0x0fa000 \b, 64 kHz
2552: >>>2601 byte&0xf >0 \b, >4G samples
2553: >2584 string !fLaC \b, MP3 encoding
2554:
2555: # NSF (NES sound file) magic
2556: 0 string NESM\x1a NES Sound File
2557: >14 string >\0 ("%s" by
2558: >46 string >\0 %s, copyright
2559: >78 string >\0 %s),
2560: >5 byte x version %d,
2561: >6 byte x %d tracks,
2562: >122 byte&0x2 =1 dual PAL/NTSC
2563: >122 byte&0x1 =1 PAL
2564: >122 byte&0x1 =0 NTSC
2565:
2566: # Type: SNES SPC700 sound files
2567: # From: Josh Triplett <josh@freedesktop.org>
2568: 0 string SNES-SPC700\ Sound\ File\ Data\ v SNES SPC700 sound file
2569: >&0 string 0.30 \b, version %s
2570: >>0x23 byte 0x1B \b, without ID666 tag
2571: >>0x23 byte 0x1A \b, with ID666 tag
2572: >>>0x2E string >\0 \b, song "%.32s"
2573: >>>0x4E string >\0 \b, game "%.32s"
2574:
2575: # Impulse tracker module (audio/x-it)
2576: 0 string IMPM Impulse Tracker module sound data -
2577: !:mime audio/x-mod
2578: >4 string >\0 "%s"
2579: >40 leshort !0 compatible w/ITv%x
2580: >42 leshort !0 created w/ITv%x
2581:
2582: # Imago Orpheus module (audio/x-imf)
2583: 60 string IM10 Imago Orpheus module sound data -
2584: >0 string >\0 "%s"
2585:
2586: # From <collver1@attbi.com>
2587: # These are the /etc/magic entries to decode modules, instruments, and
2588: # samples in Impulse Tracker's native format.
2589:
2590: 0 string IMPS Impulse Tracker Sample
2591: >18 byte &2 16 bit
2592: >18 byte ^2 8 bit
2593: >18 byte &4 stereo
2594: >18 byte ^4 mono
2595: 0 string IMPI Impulse Tracker Instrument
2596: >28 leshort !0 ITv%x
2597: >30 byte !0 %d samples
2598:
2599: # Yamaha TX Wave: file(1) magic for Yamaha TX Wave audio files
2600: # From <collver1@attbi.com>
2601: 0 string LM8953 Yamaha TX Wave
2602: >22 byte 0x49 looped
2603: >22 byte 0xC9 non-looped
2604: >23 byte 1 33kHz
2605: >23 byte 2 50kHz
2606: >23 byte 3 16kHz
2607:
2608: # scream tracker: file(1) magic for Scream Tracker sample files
2609: #
2610: # From <collver1@attbi.com>
2611: 76 string SCRS Scream Tracker Sample
2612: >0 byte 1 sample
2613: >0 byte 2 adlib melody
2614: >0 byte >2 adlib drum
2615: >31 byte &2 stereo
2616: >31 byte ^2 mono
2617: >31 byte &4 16bit little endian
2618: >31 byte ^4 8bit
2619: >30 byte 0 unpacked
2620: >30 byte 1 packed
2621:
2622: # audio
2623: # From: Cory Dikkers <cdikkers@swbell.net>
2624: 0 string MMD0 MED music file, version 0
2625: 0 string MMD1 OctaMED Pro music file, version 1
2626: 0 string MMD3 OctaMED Soundstudio music file, version 3
2627: 0 string OctaMEDCmpr OctaMED Soundstudio compressed file
2628: 0 string MED MED_Song
2629: 0 string SymM Symphonie SymMOD music file
2630: #
2631: 0 string THX AHX version
2632: >3 byte =0 1 module data
2633: >3 byte =1 2 module data
2634: #
2635: 0 string OKTASONG Oktalyzer module data
2636: #
2637: 0 string DIGI\ Booster\ module\0 %s
2638: >20 byte >0 %c
2639: >>21 byte >0 \b%c
2640: >>>22 byte >0 \b%c
2641: >>>>23 byte >0 \b%c
2642: >610 string >\0 \b, "%s"
2643: #
2644: 0 string DBM0 DIGI Booster Pro Module
2645: >4 byte >0 V%X.
2646: >>5 byte x \b%02X
2647: >16 string >\0 \b, "%s"
2648: #
2649: 0 string FTMN FaceTheMusic module
2650: >16 string >\0d \b, "%s"
2651:
2652: # From: <doj@cubic.org> 2003-06-24
2653: 0 string AMShdr\32 Velvet Studio AMS Module v2.2
2654: 0 string Extreme Extreme Tracker AMS Module v1.3
2655: 0 string DDMF Xtracker DMF Module
2656: >4 byte x v%i
2657: >0xD string >\0 Title: "%s"
2658: >0x2B string >\0 Composer: "%s"
2659: 0 string DSM\32 Dynamic Studio Module DSM
2660: 0 string SONG DigiTrekker DTM Module
2661: 0 string DMDL DigiTrakker MDL Module
2662: 0 string PSM\32 Protracker Studio PSM Module
2663: 44 string PTMF Poly Tracker PTM Module
2664: >0 string >\32 Title: "%s"
2665: 0 string MT20 MadTracker 2.0 Module MT2
2666: 0 string RAD\40by\40REALiTY!! RAD Adlib Tracker Module RAD
2667: 0 string RTMM RTM Module
2668: 0x426 string MaDoKaN96 XMS Adlib Module
2669: >0 string >\0 Composer: "%s"
2670: 0 string AMF AMF Module
2671: >4 string >\0 Title: "%s"
2672: 0 string MODINFO1 Open Cubic Player Module Inforation MDZ
2673: 0 string Extended\40Instrument: Fast Tracker II Instrument
2674:
2675: # From: Takeshi Hamasaki <hma@syd.odn.ne.jp>
2676: # NOA Nancy Codec file
2677: 0 string \210NOA\015\012\032 NOA Nancy Codec Movie file
2678: # Yamaha SMAF format
2679: 0 string MMMD Yamaha SMAF file
2680: # Sharp Jisaku Melody format for PDC
2681: 0 string \001Sharp\040JisakuMelody SHARP Cell-Phone ringing Melody
2682: >20 string Ver01.00 Ver. 1.00
2683: >>32 byte x , %d tracks
2684:
2685: # Free lossless audio codec <http://flac.sourceforge.net>
2686: # From: Przemyslaw Augustyniak <silvathraec@rpg.pl>
2687: 0 string fLaC FLAC audio bitstream data
2688: !:mime audio/x-flac
2689: >4 byte&0x7f >0 \b, unknown version
2690: >4 byte&0x7f 0 \b
2691: # some common bits/sample values
2692: >>20 beshort&0x1f0 0x030 \b, 4 bit
2693: >>20 beshort&0x1f0 0x050 \b, 6 bit
2694: >>20 beshort&0x1f0 0x070 \b, 8 bit
2695: >>20 beshort&0x1f0 0x0b0 \b, 12 bit
2696: >>20 beshort&0x1f0 0x0f0 \b, 16 bit
2697: >>20 beshort&0x1f0 0x170 \b, 24 bit
2698: >>20 byte&0xe 0x0 \b, mono
2699: >>20 byte&0xe 0x2 \b, stereo
2700: >>20 byte&0xe 0x4 \b, 3 channels
2701: >>20 byte&0xe 0x6 \b, 4 channels
2702: >>20 byte&0xe 0x8 \b, 5 channels
2703: >>20 byte&0xe 0xa \b, 6 channels
2704: >>20 byte&0xe 0xc \b, 7 channels
2705: >>20 byte&0xe 0xe \b, 8 channels
2706: # some common sample rates
2707: >>17 belong&0xfffff0 0x0ac440 \b, 44.1 kHz
2708: >>17 belong&0xfffff0 0x0bb800 \b, 48 kHz
2709: >>17 belong&0xfffff0 0x07d000 \b, 32 kHz
2710: >>17 belong&0xfffff0 0x056220 \b, 22.05 kHz
2711: >>17 belong&0xfffff0 0x05dc00 \b, 24 kHz
2712: >>17 belong&0xfffff0 0x03e800 \b, 16 kHz
2713: >>17 belong&0xfffff0 0x02b110 \b, 11.025 kHz
2714: >>17 belong&0xfffff0 0x02ee00 \b, 12 kHz
2715: >>17 belong&0xfffff0 0x01f400 \b, 8 kHz
2716: >>17 belong&0xfffff0 0x177000 \b, 96 kHz
2717: >>17 belong&0xfffff0 0x0fa000 \b, 64 kHz
2718: >>21 byte&0xf >0 \b, >4G samples
2719: >>21 byte&0xf 0 \b
2720: >>>22 belong >0 \b, %u samples
2721: >>>22 belong 0 \b, length unknown
2722:
2723: # (ISDN) VBOX voice message file (Wolfram Kleff)
2724: 0 string VBOX VBOX voice message data
2725:
2726: # ReBorn Song Files (.rbs)
2727: # David J. Singer <doc@deadvirgins.org.uk>
2728: 8 string RB40 RBS Song file
2729: >29 string ReBorn created by ReBorn
2730: >37 string Propellerhead created by ReBirth
2731:
2732: # Synthesizer Generator and Kimwitu share their file format
2733: 0 string A#S#C#S#S#L#V#3 Synthesizer Generator or Kimwitu data
2734: # Kimwitu++ uses a slightly different magic
2735: 0 string A#S#C#S#S#L#HUB Kimwitu++ data
2736:
2737: # From "Simon Hosie
2738: 0 string TFMX-SONG TFMX module sound data
2739:
2740: # Monkey's Audio compressed audio format (.ape)
2741: # From danny.milo@gmx.net (Danny Milosavljevic)
2742: # New version from Abel Cheung <abel (@) oaka.org>
2743: 0 string MAC\040 Monkey's Audio compressed format
2744: >4 uleshort >0x0F8B version %d
2745: >>(0x08.l) uleshort =1000 with fast compression
2746: >>(0x08.l) uleshort =2000 with normal compression
2747: >>(0x08.l) uleshort =3000 with high compression
2748: >>(0x08.l) uleshort =4000 with extra high compression
2749: >>(0x08.l) uleshort =5000 with insane compression
2750: >>(0x08.l+18) uleshort =1 \b, mono
2751: >>(0x08.l+18) uleshort =2 \b, stereo
2752: >>(0x08.l+20) ulelong x \b, sample rate %d
2753: >4 uleshort <0x0F8C version %d
2754: >>6 uleshort =1000 with fast compression
2755: >>6 uleshort =2000 with normal compression
2756: >>6 uleshort =3000 with high compression
2757: >>6 uleshort =4000 with extra high compression
2758: >>6 uleshort =5000 with insane compression
2759: >>10 uleshort =1 \b, mono
2760: >>10 uleshort =2 \b, stereo
2761: >>12 ulelong x \b, sample rate %d
2762:
2763: # adlib sound files
2764: # From Gürkan Sengün <gurkan@linuks.mine.nu>, http://www.linuks.mine.nu
2765: 0 string RAWADATA RdosPlay RAW
2766:
2767: 1068 string RoR AMUSIC Adlib Tracker
2768:
2769: 0 string JCH EdLib
2770:
2771: 0 string mpu401tr MPU-401 Trakker
2772:
2773: 0 string SAdT Surprise! Adlib Tracker
2774: >4 byte x Version %d
2775:
2776: 0 string XAD! eXotic ADlib
2777:
2778: 0 string ofTAZ! eXtra Simple Music
2779:
2780: # Spectrum 128 tunes (.ay files).
2781: # From: Emanuel Haupt <ehaupt@critical.ch>
2782: 0 string ZXAYEMUL Spectrum 128 tune
2783:
2784: 0 string \0BONK BONK,
2785: #>5 byte x version %d
2786: >14 byte x %d channel(s),
2787: >15 byte =1 lossless,
2788: >15 byte =0 lossy,
2789: >16 byte x mid-side
2790:
2791: 384 string LockStream LockStream Embedded file (mostly MP3 on old Nokia phones)
2792:
2793: # format VQF (proprietary codec for sound)
2794: # some infos on the header file available at :
2795: # http://www.twinvq.org/english/technology_format.html
2796: 0 string TWIN97012000 VQF data
2797: >27 short 0 \b, Mono
2798: >27 short 1 \b, Stereo
2799: >31 short >0 \b, %d kbit/s
2800: >35 short >0 \b, %d kHz
2801:
2802: # Nelson A. de Oliveira (naoliv@gmail.com)
2803: # .eqf
2804: 0 string Winamp\ EQ\ library\ file %s
2805: # it will match only versions like v<digit>.<digit>
2806: # Since I saw only eqf files with version v1.1 I think that it's OK
2807: >23 string x \b%.4s
2808: # .preset
2809: 0 string [Equalizer\ preset] XMMS equalizer preset
2810: # .m3u
2811: 0 search/1 #EXTM3U M3U playlist text
2812: # .pls
2813: 0 search/1 [playlist] PLS playlist text
2814: # licq.conf
2815: 1 string [licq] LICQ configuration file
2816:
2817: # Atari ST audio files by Dirk Jagdmann <doj@cubic.org>
2818: 0 string ICE! SNDH Atari ST music
2819: 0 string SC68\ Music-file\ /\ (c)\ (BeN)jami sc68 Atari ST music
2820:
2821: # musepak support From: "Jiri Pejchal" <jiri.pejchal@gmail.com>
2822: 0 string MP+ Musepack audio
2823: >3 byte 255 \b, SV pre8
2824: >3 byte&0xF 0x6 \b, SV 6
2825: >3 byte&0xF 0x8 \b, SV 8
2826: >3 byte&0xF 0x7 \b, SV 7
2827: >>3 byte&0xF0 0x0 \b.0
2828: >>3 byte&0xF0 0x10 \b.1
2829: >>3 byte&0xF0 240 \b.15
2830: >>10 byte&0xF0 0x0 \b, no profile
2831: >>10 byte&0xF0 0x10 \b, profile 'Unstable/Experimental'
2832: >>10 byte&0xF0 0x50 \b, quality 0
2833: >>10 byte&0xF0 0x60 \b, quality 1
2834: >>10 byte&0xF0 0x70 \b, quality 2 (Telephone)
2835: >>10 byte&0xF0 0x80 \b, quality 3 (Thumb)
2836: >>10 byte&0xF0 0x90 \b, quality 4 (Radio)
2837: >>10 byte&0xF0 0xA0 \b, quality 5 (Standard)
2838: >>10 byte&0xF0 0xB0 \b, quality 6 (Xtreme)
2839: >>10 byte&0xF0 0xC0 \b, quality 7 (Insane)
2840: >>10 byte&0xF0 0xD0 \b, quality 8 (BrainDead)
2841: >>10 byte&0xF0 0xE0 \b, quality 9
2842: >>10 byte&0xF0 0xF0 \b, quality 10
2843: >>27 byte 0x0 \b, Buschmann 1.7.0-9, Klemm 0.90-1.05
2844: >>27 byte 102 \b, Beta 1.02
2845: >>27 byte 104 \b, Beta 1.04
2846: >>27 byte 105 \b, Alpha 1.05
2847: >>27 byte 106 \b, Beta 1.06
2848: >>27 byte 110 \b, Release 1.1
2849: >>27 byte 111 \b, Alpha 1.11
2850: >>27 byte 112 \b, Beta 1.12
2851: >>27 byte 113 \b, Alpha 1.13
2852: >>27 byte 114 \b, Beta 1.14
2853: >>27 byte 115 \b, Alpha 1.15
2854:
2855: # IMY
2856: # from http://filext.com/detaillist.php?extdetail=IMY
2857: # http://cellphones.about.com/od/cellularfaqs/f/rf_imelody.htm
2858: # http://download.ncl.ie/doc/api/ie/ncl/media/music/IMelody.html
2859: # http://www.wx800.com/msg/download/irda/iMelody.pdf
2860: 0 string BEGIN:IMELODY iMelody Ringtone Format
2861:
2862: # From: "Mateus Caruccio" <mateus@caruccio.com>
2863: # guitar pro v3,4,5 from http://filext.com/file-extension/gp3
2864: 0 string \030FICHIER\ GUITAR\ PRO\ v3. Guitar Pro Ver. 3 Tablature
2865:
2866: # From: "Leslie P. Polzer" <leslie.polzer@gmx.net>
2867: 60 string SONG SoundFX Module sound file
2868:
2869: # Type: Adaptive Multi-Rate Codec
2870: # URL: http://filext.com/detaillist.php?extdetail=AMR
2871: # From: Russell Coker <russell@coker.com.au>
2872: 0 string #!AMR Adaptive Multi-Rate Codec (GSM telephony)
2873:
2874: # Type: SuperCollider 3 Synth Definition File Format
2875: # From: Mario Lang <mlang@debian.org>
2876: 0 string SCgf SuperCollider3 Synth Definition file,
2877: >4 belong x version %d
2878: #----------------------------------------------------------------
2879: # basis: file(1) magic for BBx/Pro5-files
2880: # Oliver Dammer <dammer@olida.de> 2005/11/07
2881: # http://www.basis.com business-basic-files.
2882: #
2883: 0 string \074\074bbx\076\076 BBx
2884: >7 string \000 indexed file
2885: >7 string \001 serial file
2886: >7 string \002 keyed file
2887: >>13 short 0 (sort)
2888: >7 string \004 program
2889: >>18 byte x (LEVEL %d)
2890: >>>23 string >\000 psaved
2891: >7 string \006 mkeyed file
2892: >>13 short 0 (sort)
2893: >>8 string \000 (mkey)
2894: #------------------------------------------------------------------------------
2895: # bFLT: file(1) magic for BFLT uclinux binary files
2896: #
2897: # From Philippe De Muyter <phdm@macqel.be>
2898: #
2899: 0 string bFLT BFLT executable
2900: >4 belong x - version %ld
2901: >4 belong 4
2902: >>36 belong&0x1 0x1 ram
2903: >>36 belong&0x2 0x2 gotpic
2904: >>36 belong&0x4 0x4 gzip
2905: >>36 belong&0x8 0x8 gzdata
2906: #------------------------------------------------------------------------------
2907: # blender: file(1) magic for Blender 3D related files
2908: #
2909: # Native format rule v1.2. For questions use the developers list
2910: # http://lists.blender.org/mailman/listinfo/bf-committers
2911: # GLOB chunk was moved near start and provides subversion info since 2.42
2912:
2913: 0 string =BLENDER Blender3D,
2914: >7 string =_ saved as 32-bits
2915: >>8 string =v little endian
2916: >>>9 byte x with version %c.
2917: >>>10 byte x \b%c
2918: >>>11 byte x \b%c
2919: >>>0x40 string =GLOB \b.
2920: >>>>0x58 leshort x \b%.4d
2921: >>8 string =V big endian
2922: >>>9 byte x with version %c.
2923: >>>10 byte x \b%c
2924: >>>11 byte x \b%c
2925: >>>0x40 string =GLOB \b.
2926: >>>>0x58 beshort x \b%.4d
2927: >7 string =- saved as 64-bits
2928: >>8 string =v little endian
2929: >>9 byte x with version %c.
2930: >>10 byte x \b%c
2931: >>11 byte x \b%c
2932: >>0x44 string =GLOB \b.
2933: >>>0x60 leshort x \b%.4d
2934: >>8 string =V big endian
2935: >>>9 byte x with version %c.
2936: >>>10 byte x \b%c
2937: >>>11 byte x \b%c
2938: >>>0x44 string =GLOB \b.
2939: >>>>0x60 beshort x \b%.4d
2940:
2941: # Scripts that run in the embeded Python interpreter
2942: 0 string #!BPY Blender3D BPython script
2943:
2944: #------------------------------------------------------------------------------
2945: # blit: file(1) magic for 68K Blit stuff as seen from 680x0 machine
2946: #
2947: # Note that this 0407 conflicts with several other a.out formats...
2948: #
2949: # XXX - should this be redone with "be" and "le", so that it works on
2950: # little-endian machines as well? If so, what's the deal with
2951: # "VAX-order" and "VAX-order2"?
2952: #
2953: #0 long 0407 68K Blit (standalone) executable
2954: #0 short 0407 VAX-order2 68K Blit (standalone) executable
2955: 0 short 03401 VAX-order 68K Blit (standalone) executable
2956: 0 long 0406 68k Blit mpx/mux executable
2957: 0 short 0406 VAX-order2 68k Blit mpx/mux executable
2958: 0 short 03001 VAX-order 68k Blit mpx/mux executable
2959: # Need more values for WE32 DMD executables.
2960: # Note that 0520 is the same as COFF
2961: #0 short 0520 tty630 layers executable
2962: #
2963: # i80960 b.out objects and archives
2964: #
2965: 0 long 0x10d i960 b.out relocatable object
2966: >16 long >0 not stripped
2967: #
2968: # b.out archive (hp-rt on i960)
2969: 0 string =!<bout> b.out archive
2970: >8 string __.SYMDEF random library
2971: #------------------------------------------------------------------------------
2972: # bsdi: file(1) magic for BSD/OS (from BSDI) objects
2973: #
2974:
2975: 0 lelong 0314 386 compact demand paged pure executable
2976: >16 lelong >0 not stripped
2977: >32 byte 0x6a (uses shared libs)
2978:
2979: 0 lelong 0407 386 executable
2980: >16 lelong >0 not stripped
2981: >32 byte 0x6a (uses shared libs)
2982:
2983: 0 lelong 0410 386 pure executable
2984: >16 lelong >0 not stripped
2985: >32 byte 0x6a (uses shared libs)
2986:
2987: 0 lelong 0413 386 demand paged pure executable
2988: >16 lelong >0 not stripped
2989: >32 byte 0x6a (uses shared libs)
2990:
2991: # same as in SunOS 4.x, except for static shared libraries
2992: 0 belong&077777777 0600413 sparc demand paged
2993: >0 byte &0x80
2994: >>20 belong <4096 shared library
2995: >>20 belong =4096 dynamically linked executable
2996: >>20 belong >4096 dynamically linked executable
2997: >0 byte ^0x80 executable
2998: >16 belong >0 not stripped
2999: >36 belong 0xb4100001 (uses shared libs)
3000:
3001: 0 belong&077777777 0600410 sparc pure
3002: >0 byte &0x80 dynamically linked executable
3003: >0 byte ^0x80 executable
3004: >16 belong >0 not stripped
3005: >36 belong 0xb4100001 (uses shared libs)
3006:
3007: 0 belong&077777777 0600407 sparc
3008: >0 byte &0x80 dynamically linked executable
3009: >0 byte ^0x80 executable
3010: >16 belong >0 not stripped
3011: >36 belong 0xb4100001 (uses shared libs)
3012: #------------------------------------------------------------------------------
3013: # BTSnoop: file(1) magic for BTSnoop files
3014: #
3015: # From <marcel@holtmann.org>
3016: 0 string btsnoop\0 BTSnoop
3017: >8 belong x version %d,
3018: >12 belong 1001 Unencapsulated HCI
3019: >12 belong 1002 HCI UART (H4)
3020: >12 belong 1003 HCI BCSP
3021: >12 belong 1004 HCI Serial (H5)
3022: >>12 belong x type %d
3023: #------------------------------------------------------------------------------
3024: # c-lang: file(1) magic for C programs (or REXX)
3025: #
3026:
3027: # XPM icons (Greg Roelofs, newt@uchicago.edu)
3028: # if you uncomment "/*" for C/REXX below, also uncomment this entry
3029: #0 string /*\ XPM\ */ X pixmap image data
3030: #!:mime image/x-xpmi
3031:
3032: # 3DS (3d Studio files) Conflicts with diff output 0x3d '='
3033: #16 beshort 0x3d3d image/x-3ds
3034:
3035: # this first will upset you if you're a PL/1 shop...
3036: # in which case rm it; ascmagic will catch real C programs
3037: #0 search/1 /* C or REXX program text
3038: #0 search/1 // C++ program text
3039:
3040: # From: Mikhail Teterin <mi@aldan.algebra.com>
3041: 0 string cscope cscope reference data
3042: >7 string x version %.2s
3043: # We skip the path here, because it is often long (so file will
3044: # truncate it) and mostly redundant.
3045: # The inverted index functionality was added some time betwen
3046: # versions 11 and 15, so look for -q if version is above 14:
3047: >7 string >14
3048: >>10 search/100 \ -q\ with inverted index
3049: >10 search/100 \ -c\ text (non-compressed)
3050: #------------------------------------------------------------------------------
3051: # c64: file(1) magic for various commodore 64 related files
3052: #
3053: # From: Dirk Jagdmann <doj@cubic.org>
3054:
3055: 0x16500 belong 0x12014100 D64 Image
3056: 0x16500 belong 0x12014180 D71 Image
3057: 0x61800 belong 0x28034400 D81 Image
3058: 0 string C64\40CARTRIDGE CCS C64 Emultar Cartridge Image
3059: 0 belong 0x43154164 X64 Image
3060:
3061: 0 string GCR-1541 GCR Image
3062: >8 byte x version: %i
3063: >9 byte x tracks: %i
3064:
3065: 9 string PSUR ARC archive (c64)
3066: 2 string -LH1- LHA archive (c64)
3067:
3068: 0 string C64File PC64 Emulator file
3069: >8 string >\0 "%s"
3070: 0 string C64Image PC64 Freezer Image
3071:
3072: 0 beshort 0x38CD C64 PCLink Image
3073: 0 string CBM\144\0\0 Power 64 C64 Emulator Snapshot
3074:
3075: 0 belong 0xFF424CFF WRAptor packer (c64)
3076:
3077: 0 string C64S\x20tape\x20file T64 tape Image
3078: >32 leshort x Version:0x%x
3079: >36 leshort !0 Entries:%i
3080: >40 string x Name:%.24s
3081:
3082: 0 string C64\x20tape\x20image\x20file\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0 T64 tape Image
3083: >32 leshort x Version:0x%x
3084: >36 leshort !0 Entries:%i
3085: >40 string x Name:%.24s
3086:
3087: 0 string C64S\x20tape\x20image\x20file\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0 T64 tape Image
3088: >32 leshort x Version:0x%x
3089: >36 leshort !0 Entries:%i
3090: >40 string x Name:%.24s
3091:
3092: #------------------------------------------------------------------------------
3093: # autocad: file(1) magic for cad files
3094: #
3095:
3096: # AutoCAD DWG versions R13/R14 (www.autodesk.com)
3097: # Written December 01, 2003 by Lester Hightower
3098: # Based on the DWG File Format Specifications at http://www.opendwg.org/
3099: 0 string \101\103\061\060\061 AutoCAD
3100: >5 string \062\000\000\000\000 DWG ver. R13
3101: >5 string \064\000\000\000\000 DWG ver. R14
3102:
3103: # Microstation DGN/CIT Files (www.bentley.com)
3104: # Last updated July 29, 2005 by Lester Hightower
3105: # DGN is the default file extension of Microstation/Intergraph CAD files.
3106: # CIT is the proprietary raster format (similar to TIFF) used to attach
3107: # raster underlays to Microstation DGN (vector) drawings.
3108: #
3109: # http://www.wotsit.org/search.asp
3110: # http://filext.com/detaillist.php?extdetail=DGN
3111: # http://filext.com/detaillist.php?extdetail=CIT
3112: #
3113: # http://www.bentley.com/products/default.cfm?objectid=97F351F5-9C35-4E5E-89C2
3114: # 3F86C928&method=display&p_objectid=97F351F5-9C35-4E5E-89C280A93F86C928
3115: # http://www.bentley.com/products/default.cfm?objectid=A5C2FD43-3AC9-4C71-B682
3116: # 721C479F&method=display&p_objectid=A5C2FD43-3AC9-4C71-B682C7BE721C479F
3117: 0 string \010\011\376 Microstation
3118: >3 string \002
3119: >>30 string \026\105 DGNFile
3120: >>30 string \034\105 DGNFile
3121: >>30 string \073\107 DGNFile
3122: >>30 string \073\110 DGNFile
3123: >>30 string \106\107 DGNFile
3124: >>30 string \110\103 DGNFile
3125: >>30 string \120\104 DGNFile
3126: >>30 string \172\104 DGNFile
3127: >>30 string \172\105 DGNFile
3128: >>30 string \172\106 DGNFile
3129: >>30 string \234\106 DGNFile
3130: >>30 string \273\105 DGNFile
3131: >>30 string \306\106 DGNFile
3132: >>30 string \310\104 DGNFile
3133: >>30 string \341\104 DGNFile
3134: >>30 string \372\103 DGNFile
3135: >>30 string \372\104 DGNFile
3136: >>30 string \372\106 DGNFile
3137: >>30 string \376\103 DGNFile
3138: >4 string \030\000\000 CITFile
3139: >4 string \030\000\003 CITFile
3140:
3141: # AutoCad, from Nahuel Greco
3142: # AutoCAD DWG versions R12/R13/R14 (www.autodesk.com)
3143: 0 string AC1012 AutoCad (release 12)
3144: 0 string AC1013 AutoCad (release 13)
3145: 0 string AC1014 AutoCad (release 14)
3146:
3147: # CAD: file(1) magic for computer aided design files
3148: # Phillip Griffith <phillip dot griffith at gmail dot com>
3149: # AutoCAD magic taken from the Open Design Alliance's OpenDWG specifications.
3150: #
3151: 0 belong 0x08051700 Bentley/Intergraph MicroStation DGN cell library
3152: 0 belong 0x0809fe02 Bentley/Intergraph MicroStation DGN vector CAD
3153: 0 belong 0xc809fe02 Bentley/Intergraph MicroStation DGN vector CAD
3154: 0 beshort 0x0809 Bentley/Intergraph MicroStation
3155: >0x02 byte 0xfe
3156: >>0x04 beshort 0x1800 CIT raster CAD
3157: 0 string AC1012 AutoDesk AutoCAD R13
3158: 0 string AC1014 AutoDesk AutoCAD R14
3159: 0 string AC1015 AutoDesk AutoCAD R2000
3160: #------------------------------------------------------------------------------
3161: # Cafe Babes unite!
3162: #
3163: # Since Java bytecode and Mach-O fat-files have the same magic number, the test
3164: # must be performed in the same "magic" sequence to get both right. The long
3165: # at offset 4 in a mach-O fat file tells the number of architectures; the short at
3166: # offset 4 in a Java bytecode file is the JVM minor version and the
3167: # short at offset 6 is the JVM major version. Since there are only
3168: # only 18 labeled Mach-O architectures at current, and the first released
3169: # Java class format was version 43.0, we can safely choose any number
3170: # between 18 and 39 to test the number of architectures against
3171: # (and use as a hack). Let's not use 18, because the Mach-O people
3172: # might add another one or two as time goes by...
3173: #
3174: 0 beshort 0xcafe
3175: >2 beshort 0xbabe
3176: !:mime application/x-java-applet
3177: >>2 belong >30 compiled Java class data,
3178: >>>6 beshort x version %d.
3179: >>>4 beshort x \b%d
3180: >>4 belong 1 Mach-O fat file with 1 architecture
3181: >>4 belong >1
3182: >>>4 belong <20 Mach-O fat file with %ld architectures
3183: >2 beshort 0xd00d JAR compressed with pack200,
3184: >>5 byte x version %d.
3185: >>4 byte x \b%d
3186: !:mime application/x-java-pack200
3187: #------------------------------------------------------------------------------
3188: # CDDB: file(1) magic for CDDB(tm) format CD text data files
3189: #
3190: # From <steve@gracenote.com>
3191: #
3192: # This is the /etc/magic entry to decode datafiles as used by
3193: # CDDB-enabled CD player applications.
3194: #
3195:
3196: 0 search/1/b #\040xmcd CDDB(tm) format CD text data
3197:
3198: #------------------------------------------------------------------------------
3199: # chord: file(1) magic for Chord music sheet typesetting utility input files
3200: #
3201: # From Philippe De Muyter <phdm@macqel.be>
3202: # File format is actually free, but many distributed files begin with `{title'
3203: #
3204: 0 string {title Chord text file
3205:
3206: # Type: PowerTab file format
3207: # URL: http://www.power-tab.net/
3208: # From: Jelmer Vernooij <jelmer@samba.org>
3209: 0 string ptab\003\000 Power-Tab v3 Tablature File
3210: 0 string ptab\004\000 Power-Tab v4 Tablature File
3211: #------------------------------------------------------------------------------
3212: # cisco: file(1) magic for cisco Systems routers
3213: #
3214: # Most cisco file-formats are covered by the generic elf code
3215: #
3216: # Microcode files are non-ELF, 0x8501 conflicts with NetBSD/alpha.
3217: 0 belong&0xffffff00 0x85011400 cisco IOS microcode
3218: >7 string >\0 for '%s'
3219: 0 belong&0xffffff00 0x8501cb00 cisco IOS experimental microcode
3220: >7 string >\0 for '%s'
3221: #------------------------------------------------------------------------------
3222: # citrus locale declaration
3223: #
3224:
3225: 0 string RuneCT Citrus locale declaration for LC_CTYPE
3226:
3227:
3228: #------------------------------------------------------------------------------
3229: # clarion: file(1) magic for # Clarion Personal/Professional Developer
3230: # (v2 and above)
3231: # From: Julien Blache <jb@jblache.org>
3232:
3233: # Database files
3234: # signature
3235: 0 leshort 0x3343 Clarion Developer (v2 and above) data file
3236: # attributes
3237: >2 leshort &0x0001 \b, locked
3238: >2 leshort &0x0004 \b, encrypted
3239: >2 leshort &0x0008 \b, memo file exists
3240: >2 leshort &0x0010 \b, compressed
3241: >2 leshort &0x0040 \b, read only
3242: # number of records
3243: >5 lelong x \b, %ld records
3244:
3245: # Memo files
3246: 0 leshort 0x334d Clarion Developer (v2 and above) memo data
3247:
3248: # Key/Index files
3249: # No magic? :(
3250:
3251: # Help files
3252: 0 leshort 0x49e0 Clarion Developer (v2 and above) help data
3253:
3254: #------------------------------------------------------------------------------
3255: # claris: file(1) magic for claris
3256: # "H. Nanosecond" <aldomel@ix.netcom.com>
3257: # Claris Works a word processor, etc.
3258: # Version 3.0
3259:
3260: # .pct claris works clip art files
3261: #0000000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000
3262: #*
3263: #0001000 #010 250 377 377 377 377 000 213 000 230 000 021 002 377 014 000
3264: #null to byte 1000 octal
3265: 514 string \377\377\377\377\000 Claris clip art?
3266: >0 string \0\0\0\0\0\0\0\0\0\0\0\0\0 yes.
3267: 514 string \377\377\377\377\001 Claris clip art?
3268: >0 string \0\0\0\0\0\0\0\0\0\0\0\0\0 yes.
3269:
3270: # Claris works files
3271: # .cwk
3272: 0 string \002\000\210\003\102\117\102\117\000\001\206 Claris works document
3273: # .plt
3274: 0 string \020\341\000\000\010\010 Claris Works pallete files .plt
3275:
3276: # .msp a dictionary file I am not sure about this I have only one .msp file
3277: 0 string \002\271\262\000\040\002\000\164 Claris works dictionary
3278:
3279: # .usp are user dictionary bits
3280: # I am not sure about a magic header:
3281: #0000000 001 123 160 146 070 125 104 040 136 123 015 012 160 157 144 151
3282: # soh S p f 8 U D sp ^ S cr nl p o d i
3283: #0000020 141 164 162 151 163 164 040 136 123 015 012 144 151 166 040 043
3284: # a t r i s t sp ^ S cr nl d i v sp #
3285:
3286: # .mth Thesaurus
3287: # starts with \0 but no magic header
3288:
3289: # .chy Hyphenation file
3290: # I am not sure: 000 210 034 000 000
3291:
3292: # other claris files
3293: #./windows/claris/useng.ndx: data
3294: #./windows/claris/xtndtran.l32: data
3295: #./windows/claris/xtndtran.lst: data
3296: #./windows/claris/clworks.lbl: data
3297: #./windows/claris/clworks.prf: data
3298: #./windows/claris/userd.spl: data
3299:
3300: #------------------------------------------------------------------------------
3301: # clipper: file(1) magic for Intergraph (formerly Fairchild) Clipper.
3302: #
3303: # XXX - what byte order does the Clipper use?
3304: #
3305: # XXX - what's the "!" stuff:
3306: #
3307: # >18 short !074000,000000 C1 R1
3308: # >18 short !074000,004000 C2 R1
3309: # >18 short !074000,010000 C3 R1
3310: # >18 short !074000,074000 TEST
3311: #
3312: # I shall assume it's ANDing the field with the first value and
3313: # comparing it with the second, and rewrite it as:
3314: #
3315: # >18 short&074000 000000 C1 R1
3316: # >18 short&074000 004000 C2 R1
3317: # >18 short&074000 010000 C3 R1
3318: # >18 short&074000 074000 TEST
3319: #
3320: # as SVR3.1's "file" doesn't support anything of the "!074000,000000"
3321: # sort, nor does SunOS 4.x, so either it's something Intergraph added
3322: # in CLIX, or something AT&T added in SVR3.2 or later, or something
3323: # somebody else thought was a good idea; it's not documented in the
3324: # man page for this version of "magic", nor does it appear to be
3325: # implemented (at least not after I blew off the bogus code to turn
3326: # old-style "&"s into new-style "&"s, which just didn't work at all).
3327: #
3328: 0 short 0575 CLIPPER COFF executable (VAX #)
3329: >20 short 0407 (impure)
3330: >20 short 0410 (5.2 compatible)
3331: >20 short 0411 (pure)
3332: >20 short 0413 (demand paged)
3333: >20 short 0443 (target shared library)
3334: >12 long >0 not stripped
3335: >22 short >0 - version %ld
3336: 0 short 0577 CLIPPER COFF executable
3337: >18 short&074000 000000 C1 R1
3338: >18 short&074000 004000 C2 R1
3339: >18 short&074000 010000 C3 R1
3340: >18 short&074000 074000 TEST
3341: >20 short 0407 (impure)
3342: >20 short 0410 (pure)
3343: >20 short 0411 (separate I&D)
3344: >20 short 0413 (paged)
3345: >20 short 0443 (target shared library)
3346: >12 long >0 not stripped
3347: >22 short >0 - version %ld
3348: >48 long&01 01 alignment trap enabled
3349: >52 byte 1 -Ctnc
3350: >52 byte 2 -Ctsw
3351: >52 byte 3 -Ctpw
3352: >52 byte 4 -Ctcb
3353: >53 byte 1 -Cdnc
3354: >53 byte 2 -Cdsw
3355: >53 byte 3 -Cdpw
3356: >53 byte 4 -Cdcb
3357: >54 byte 1 -Csnc
3358: >54 byte 2 -Cssw
3359: >54 byte 3 -Cspw
3360: >54 byte 4 -Cscb
3361: 4 string pipe CLIPPER instruction trace
3362: 4 string prof CLIPPER instruction profile
3363:
3364: #------------------------------------------------------------------------------
3365: # commands: file(1) magic for various shells and interpreters
3366: #
3367: #0 string : shell archive or script for antique kernel text
3368: 0 string/b #!\ /bin/sh POSIX shell script text executable
3369: !:mime text/x-shellscript
3370: 0 string/b #!\ /bin/csh C shell script text executable
3371: !:mime text/x-shellscript
3372: # korn shell magic, sent by George Wu, gwu@clyde.att.com
3373: 0 string/b #!\ /bin/ksh Korn shell script text executable
3374: !:mime text/x-shellscript
3375: 0 string/b #!\ /bin/tcsh Tenex C shell script text executable
3376: !:mime text/x-shellscript
3377: 0 string/b #!\ /usr/bin/tcsh Tenex C shell script text executable
3378: !:mime text/x-shellscript
3379: 0 string/b #!\ /usr/local/tcsh Tenex C shell script text executable
3380: !:mime text/x-shellscript
3381: 0 string/b #!\ /usr/local/bin/tcsh Tenex C shell script text executable
3382: !:mime text/x-shellscript
3383:
3384: #
3385: # zsh/ash/ae/nawk/gawk magic from cameron@cs.unsw.oz.au (Cameron Simpson)
3386: 0 string/b #!\ /bin/zsh Paul Falstad's zsh script text executable
3387: !:mime text/x-shellscript
3388: 0 string/b #!\ /usr/bin/zsh Paul Falstad's zsh script text executable
3389: !:mime text/x-shellscript
3390: 0 string/b #!\ /usr/local/bin/zsh Paul Falstad's zsh script text executable
3391: !:mime text/x-shellscript
3392: 0 string/b #!\ /usr/local/bin/ash Neil Brown's ash script text executable
3393: !:mime text/x-shellscript
3394: 0 string/b #!\ /usr/local/bin/ae Neil Brown's ae script text executable
3395: !:mime text/x-shellscript
3396: 0 string/b #!\ /bin/nawk new awk script text executable
3397: !:mime text/x-nawk
3398: 0 string/b #!\ /usr/bin/nawk new awk script text executable
3399: !:mime text/x-nawk
3400: 0 string/b #!\ /usr/local/bin/nawk new awk script text executable
3401: !:mime text/x-nawk
3402: 0 string/b #!\ /bin/gawk GNU awk script text executable
3403: !:mime text/x-gawk
3404: 0 string/b #!\ /usr/bin/gawk GNU awk script text executable
3405: !:mime text/x-gawk
3406: 0 string/b #!\ /usr/local/bin/gawk GNU awk script text executable
3407: !:mime text/x-gawk
3408: #
3409: 0 string/b #!\ /bin/awk awk script text executable
3410: !:mime text/x-awk
3411: 0 string/b #!\ /usr/bin/awk awk script text executable
3412: !:mime text/x-awk
3413: # update to distinguish from *.vcf files
3414: # this is broken because postscript has /EBEGIN{ for example.
3415: #0 search/Bb BEGIN { awk script text
3416: 0 regex =^\\s*BEGIN\\s*[{] awk script text
3417:
3418: # AT&T Bell Labs' Plan 9 shell
3419: 0 string/b #!\ /bin/rc Plan 9 rc shell script text executable
3420:
3421: # bash shell magic, from Peter Tobias (tobias@server.et-inf.fho-emden.de)
3422: 0 string/b #!\ /bin/bash Bourne-Again shell script text executable
3423: !:mime text/x-shellscript
3424: 0 string/b #!\ /usr/bin/bash Bourne-Again shell script text executable
3425: !:mime text/x-shellscript
3426: 0 string/b #!\ /usr/local/bash Bourne-Again shell script text executable
3427: !:mime text/x-shellscript
3428: 0 string/b #!\ /usr/local/bin/bash Bourne-Again shell script text executable
3429: !:mime text/x-shellscript
3430:
3431: # using env
3432: 0 string #!/usr/bin/env a
3433: >15 string >\0 %s script text executable
3434: 0 string #!\ /usr/bin/env a
3435: >16 string >\0 %s script text executable
3436:
3437: # PHP scripts
3438: # Ulf Harnhammar <ulfh@update.uu.se>
3439: 0 search/1/c =<?php PHP script text
3440: !:mime text/x-php
3441: 0 search/1 =<?\n PHP script text
3442: !:mime text/x-php
3443: 0 search/1 =<?\r PHP script text
3444: !:mime text/x-php
3445: 0 search/1/b #!\ /usr/local/bin/php PHP script text executable
3446: !:mime text/x-php
3447: 0 search/1/b #!\ /usr/bin/php PHP script text executable
3448: !:mime text/x-php
3449:
3450: 0 string Zend\x00 PHP script Zend Optimizer data
3451:
3452: 0 string $! DCL command file
3453:
3454: # Type: Pdmenu
3455: # URL: http://packages.debian.org/pdmenu
3456: # From: Edward Betts <edward@debian.org>
3457: 0 string #!/usr/bin/pdmenu Pdmenu configuration file text
3458:
3459: #----------------------------------------------------------------------------
3460: # communication
3461:
3462: # TTCN is the Tree and Tabular Combined Notation described in ISO 9646-3.
3463: # It is used for conformance testing of communication protocols.
3464: # Added by W. Borgert <debacle@debian.org>.
3465: 0 string $Suite TTCN Abstract Test Suite
3466: >&1 string $SuiteId
3467: >>&1 string >\n %s
3468: >&2 string $SuiteId
3469: >>&1 string >\n %s
3470: >&3 string $SuiteId
3471: >>&1 string >\n %s
3472:
3473: # MSC (message sequence charts) are a formal description technique,
3474: # described in ITU-T Z.120, mainly used for communication protocols.
3475: # Added by W. Borgert <debacle@debian.org>.
3476: 0 string mscdocument Message Sequence Chart (document)
3477: 0 string msc Message Sequence Chart (chart)
3478: 0 string submsc Message Sequence Chart (subchart)
3479:
3480: #------------------------------------------------------------------------------
3481: # compress: file(1) magic for pure-compression formats (no archives)
3482: #
3483: # compress, gzip, pack, compact, huf, squeeze, crunch, freeze, yabba, etc.
3484: #
3485: # Formats for various forms of compressed data
3486: # Formats for "compress" proper have been moved into "compress.c",
3487: # because it tries to uncompress it to figure out what's inside.
3488:
3489: # standard unix compress
3490: 0 string \037\235 compress'd data
3491: !:mime application/x-compress
3492: >2 byte&0x80 >0 block compressed
3493: >2 byte&0x1f x %d bits
3494:
3495: # gzip (GNU zip, not to be confused with Info-ZIP or PKWARE zip archiver)
3496: # Edited by Chris Chittleborough <cchittleborough@yahoo.com.au>, March 2002
3497: # * Original filename is only at offset 10 if "extra field" absent
3498: # * Produce shorter output - notably, only report compression methods
3499: # other than 8 ("deflate", the only method defined in RFC 1952).
3500: 0 string \037\213 gzip compressed data
3501: !:mime application/x-gzip
3502: >2 byte <8 \b, reserved method
3503: >2 byte >8 \b, unknown method
3504: >3 byte &0x01 \b, ASCII
3505: >3 byte &0x02 \b, has CRC
3506: >3 byte &0x04 \b, extra field
3507: >3 byte&0xC =0x08
3508: >>10 string x \b, was "%s"
3509: >3 byte &0x10 \b, has comment
3510: >9 byte =0x00 \b, from FAT filesystem (MS-DOS, OS/2, NT)
3511: >9 byte =0x01 \b, from Amiga
3512: >9 byte =0x02 \b, from VMS
3513: >9 byte =0x03 \b, from Unix
3514: >9 byte =0x04 \b, from VM/CMS
3515: >9 byte =0x05 \b, from Atari
3516: >9 byte =0x06 \b, from HPFS filesystem (OS/2, NT)
3517: >9 byte =0x07 \b, from MacOS
3518: >9 byte =0x08 \b, from Z-System
3519: >9 byte =0x09 \b, from CP/M
3520: >9 byte =0x0A \b, from TOPS/20
3521: >9 byte =0x0B \b, from NTFS filesystem (NT)
3522: >9 byte =0x0C \b, from QDOS
3523: >9 byte =0x0D \b, from Acorn RISCOS
3524: >3 byte &0x10 \b, comment
3525: >3 byte &0x20 \b, encrypted
3526: >4 ledate >0 \b, last modified: %s
3527: >8 byte 2 \b, max compression
3528: >8 byte 4 \b, max speed
3529:
3530: # packed data, Huffman (minimum redundancy) codes on a byte-by-byte basis
3531: 0 string \037\036 packed data
3532: !:mime application/octet-stream
3533: >2 belong >1 \b, %d characters originally
3534: >2 belong =1 \b, %d character originally
3535: #
3536: # This magic number is byte-order-independent.
3537: 0 short 0x1f1f old packed data
3538: !:mime application/octet-stream
3539:
3540: # XXX - why *two* entries for "compacted data", one of which is
3541: # byte-order independent, and one of which is byte-order dependent?
3542: #
3543: 0 short 0x1fff compacted data
3544: !:mime application/octet-stream
3545: # This string is valid for SunOS (BE) and a matching "short" is listed
3546: # in the Ultrix (LE) magic file.
3547: 0 string \377\037 compacted data
3548: !:mime application/octet-stream
3549: 0 short 0145405 huf output
3550: !:mime application/octet-stream
3551:
3552: # bzip2
3553: 0 string BZh bzip2 compressed data
3554: !:mime application/x-bzip2
3555: >3 byte >47 \b, block size = %c00k
3556:
3557: # squeeze and crunch
3558: # Michael Haardt <michael@cantor.informatik.rwth-aachen.de>
3559: 0 beshort 0x76FF squeezed data,
3560: >4 string x original name %s
3561: 0 beshort 0x76FE crunched data,
3562: >2 string x original name %s
3563: 0 beshort 0x76FD LZH compressed data,
3564: >2 string x original name %s
3565:
3566: # Freeze
3567: 0 string \037\237 frozen file 2.1
3568: 0 string \037\236 frozen file 1.0 (or gzip 0.5)
3569:
3570: # SCO compress -H (LZH)
3571: 0 string \037\240 SCO compress -H (LZH) data
3572:
3573: # European GSM 06.10 is a provisional standard for full-rate speech
3574: # transcoding, prI-ETS 300 036, which uses RPE/LTP (residual pulse
3575: # excitation/long term prediction) coding at 13 kbit/s.
3576: #
3577: # There's only a magic nibble (4 bits); that nibble repeats every 33
3578: # bytes. This isn't suited for use, but maybe we can use it someday.
3579: #
3580: # This will cause very short GSM files to be declared as data and
3581: # mismatches to be declared as data too!
3582: #0 byte&0xF0 0xd0 data
3583: #>33 byte&0xF0 0xd0
3584: #>66 byte&0xF0 0xd0
3585: #>99 byte&0xF0 0xd0
3586: #>132 byte&0xF0 0xd0 GSM 06.10 compressed audio
3587:
3588: # bzip a block-sorting file compressor
3589: # by Julian Seward <sewardj@cs.man.ac.uk> and others
3590: #
3591: #0 string BZ bzip compressed data
3592: #>2 byte x \b, version: %c
3593: #>3 string =1 \b, compression block size 100k
3594: #>3 string =2 \b, compression block size 200k
3595: #>3 string =3 \b, compression block size 300k
3596: #>3 string =4 \b, compression block size 400k
3597: #>3 string =5 \b, compression block size 500k
3598: #>3 string =6 \b, compression block size 600k
3599: #>3 string =7 \b, compression block size 700k
3600: #>3 string =8 \b, compression block size 800k
3601: #>3 string =9 \b, compression block size 900k
3602:
3603: # lzop from <markus.oberhumer@jk.uni-linz.ac.at>
3604: 0 string \x89\x4c\x5a\x4f\x00\x0d\x0a\x1a\x0a lzop compressed data
3605: >9 beshort <0x0940
3606: >>9 byte&0xf0 =0x00 - version 0.
3607: >>9 beshort&0x0fff x \b%03x,
3608: >>13 byte 1 LZO1X-1,
3609: >>13 byte 2 LZO1X-1(15),
3610: >>13 byte 3 LZO1X-999,
3611: ## >>22 bedate >0 last modified: %s,
3612: >>14 byte =0x00 os: MS-DOS
3613: >>14 byte =0x01 os: Amiga
3614: >>14 byte =0x02 os: VMS
3615: >>14 byte =0x03 os: Unix
3616: >>14 byte =0x05 os: Atari
3617: >>14 byte =0x06 os: OS/2
3618: >>14 byte =0x07 os: MacOS
3619: >>14 byte =0x0A os: Tops/20
3620: >>14 byte =0x0B os: WinNT
3621: >>14 byte =0x0E os: Win32
3622: >9 beshort >0x0939
3623: >>9 byte&0xf0 =0x00 - version 0.
3624: >>9 byte&0xf0 =0x10 - version 1.
3625: >>9 byte&0xf0 =0x20 - version 2.
3626: >>9 beshort&0x0fff x \b%03x,
3627: >>15 byte 1 LZO1X-1,
3628: >>15 byte 2 LZO1X-1(15),
3629: >>15 byte 3 LZO1X-999,
3630: ## >>25 bedate >0 last modified: %s,
3631: >>17 byte =0x00 os: MS-DOS
3632: >>17 byte =0x01 os: Amiga
3633: >>17 byte =0x02 os: VMS
3634: >>17 byte =0x03 os: Unix
3635: >>17 byte =0x05 os: Atari
3636: >>17 byte =0x06 os: OS/2
3637: >>17 byte =0x07 os: MacOS
3638: >>17 byte =0x0A os: Tops/20
3639: >>17 byte =0x0B os: WinNT
3640: >>17 byte =0x0E os: Win32
3641:
3642: # 4.3BSD-Quasijarus Strong Compression
3643: # http://minnie.tuhs.org/Quasijarus/compress.html
3644: 0 string \037\241 Quasijarus strong compressed data
3645:
3646: # From: Cory Dikkers <cdikkers@swbell.net>
3647: 0 string XPKF Amiga xpkf.library compressed data
3648: 0 string PP11 Power Packer 1.1 compressed data
3649: 0 string PP20 Power Packer 2.0 compressed data,
3650: >4 belong 0x09090909 fast compression
3651: >4 belong 0x090A0A0A mediocre compression
3652: >4 belong 0x090A0B0B good compression
3653: >4 belong 0x090A0C0C very good compression
3654: >4 belong 0x090A0C0D best compression
3655:
3656: # 7-zip archiver, from Thomas Klausner (wiz@danbala.tuwien.ac.at)
3657: # http://www.7-zip.org or DOC/7zFormat.txt
3658: #
3659: 0 string 7z\274\257\047\034 7-zip archive data,
3660: >6 byte x version %d
3661: >7 byte x \b.%d
3662:
3663: # Type: LZMA
3664: # URL: http://www.7-zip.org/sdk.html
3665: # From: Robert Millan <rmh@aybabtu.com> and Reuben Thomas <rrt@sc3d.org>
3666: # Commented out because apparently not reliable (according to Debian
3667: # bug #364260)
3668: #0 string ]\000\000\200\000 LZMA compressed data
3669:
3670: # AFX compressed files (Wolfram Kleff)
3671: 2 string -afx- AFX compressed file data
3672:
3673: # Supplementary magic data for the file(1) command to support
3674: # rzip(1). The format is described in magic(5).
3675: #
3676: # Copyright (C) 2003 by Andrew Tridgell. You may do whatever you want with
3677: # this file.
3678: #
3679: 0 string RZIP rzip compressed data
3680: >4 byte x - version %d
3681: >5 byte x \b.%d
3682: >6 belong x (%d bytes)
3683: #------------------------------------------------------------------------------
3684: # Console game magic
3685: # Toby Deshane <hac@shoelace.digivill.net>
3686: # ines: file(1) magic for Marat's iNES Nintendo Entertainment System
3687: # ROM dump format
3688:
3689: 0 string NES\032 iNES ROM dump,
3690: >4 byte x %dx16k PRG
3691: >5 byte x \b, %dx8k CHR
3692: >6 byte&0x01 =0x1 \b, [Vert.]
3693: >6 byte&0x01 =0x0 \b, [Horiz.]
3694: >6 byte&0x02 =0x2 \b, [SRAM]
3695: >6 byte&0x04 =0x4 \b, [Trainer]
3696: >6 byte&0x04 =0x8 \b, [4-Scr]
3697:
3698: #------------------------------------------------------------------------------
3699: # gameboy: file(1) magic for the Nintendo (Color) Gameboy raw ROM format
3700: #
3701: 0x104 belong 0xCEED6666 Gameboy ROM:
3702: >0x134 string >\0 "%.16s"
3703: >0x146 byte 0x03 \b,[SGB]
3704: >0x147 byte 0x00 \b, [ROM ONLY]
3705: >0x147 byte 0x01 \b, [ROM+MBC1]
3706: >0x147 byte 0x02 \b, [ROM+MBC1+RAM]
3707: >0x147 byte 0x03 \b, [ROM+MBC1+RAM+BATT]
3708: >0x147 byte 0x05 \b, [ROM+MBC2]
3709: >0x147 byte 0x06 \b, [ROM+MBC2+BATTERY]
3710: >0x147 byte 0x08 \b, [ROM+RAM]
3711: >0x147 byte 0x09 \b, [ROM+RAM+BATTERY]
3712: >0x147 byte 0x0B \b, [ROM+MMM01]
3713: >0x147 byte 0x0C \b, [ROM+MMM01+SRAM]
3714: >0x147 byte 0x0D \b, [ROM+MMM01+SRAM+BATT]
3715: >0x147 byte 0x0F \b, [ROM+MBC3+TIMER+BATT]
3716: >0x147 byte 0x10 \b, [ROM+MBC3+TIMER+RAM+BATT]
3717: >0x147 byte 0x11 \b, [ROM+MBC3]
3718: >0x147 byte 0x12 \b, [ROM+MBC3+RAM]
3719: >0x147 byte 0x13 \b, [ROM+MBC3+RAM+BATT]
3720: >0x147 byte 0x19 \b, [ROM+MBC5]
3721: >0x147 byte 0x1A \b, [ROM+MBC5+RAM]
3722: >0x147 byte 0x1B \b, [ROM+MBC5+RAM+BATT]
3723: >0x147 byte 0x1C \b, [ROM+MBC5+RUMBLE]
3724: >0x147 byte 0x1D \b, [ROM+MBC5+RUMBLE+SRAM]
3725: >0x147 byte 0x1E \b, [ROM+MBC5+RUMBLE+SRAM+BATT]
3726: >0x147 byte 0x1F \b, [Pocket Camera]
3727: >0x147 byte 0xFD \b, [Bandai TAMA5]
3728: >0x147 byte 0xFE \b, [Hudson HuC-3]
3729: >0x147 byte 0xFF \b, [Hudson HuC-1]
3730:
3731: >0x148 byte 0 \b, ROM: 256Kbit
3732: >0x148 byte 1 \b, ROM: 512Kbit
3733: >0x148 byte 2 \b, ROM: 1Mbit
3734: >0x148 byte 3 \b, ROM: 2Mbit
3735: >0x148 byte 4 \b, ROM: 4Mbit
3736: >0x148 byte 5 \b, ROM: 8Mbit
3737: >0x148 byte 6 \b, ROM: 16Mbit
3738: >0x148 byte 0x52 \b, ROM: 9Mbit
3739: >0x148 byte 0x53 \b, ROM: 10Mbit
3740: >0x148 byte 0x54 \b, ROM: 12Mbit
3741:
3742: >0x149 byte 1 \b, RAM: 16Kbit
3743: >0x149 byte 2 \b, RAM: 64Kbit
3744: >0x149 byte 3 \b, RAM: 128Kbit
3745: >0x149 byte 4 \b, RAM: 1Mbit
3746:
3747: #>0x14e long x \b, CRC: %x
3748:
3749: #------------------------------------------------------------------------------
3750: # genesis: file(1) magic for the Sega MegaDrive/Genesis raw ROM format
3751: #
3752: 0x100 string SEGA Sega MegaDrive/Genesis raw ROM dump
3753: >0x120 string >\0 Name: "%.16s"
3754: >0x110 string >\0 %.16s
3755: >0x1B0 string RA with SRAM
3756:
3757: #------------------------------------------------------------------------------
3758: # genesis: file(1) magic for the Super MegaDrive ROM dump format
3759: #
3760: 0x280 string EAGN Super MagicDrive ROM dump
3761: >0 byte x %dx16k blocks
3762: >2 byte 0 \b, last in series or standalone
3763: >2 byte >0 \b, split ROM
3764: >8 byte 0xAA
3765: >9 byte 0xBB
3766:
3767: #------------------------------------------------------------------------------
3768: # genesis: file(1) alternate magic for the Super MegaDrive ROM dump format
3769: #
3770: 0x280 string EAMG Super MagicDrive ROM dump
3771: >0 byte x %dx16k blocks
3772: >2 byte x \b, last in series or standalone
3773: >8 byte 0xAA
3774: >9 byte 0xBB
3775:
3776: #------------------------------------------------------------------------------
3777: # smsgg: file(1) magic for Sega Master System and Game Gear ROM dumps
3778: #
3779: # Does not detect all images. Very preliminary guesswork. Need more data
3780: # on format.
3781: #
3782: # FIXME: need a little more info...;P
3783: #
3784: #0 byte 0xF3
3785: #>1 byte 0xED Sega Master System/Game Gear ROM dump
3786: #>1 byte 0x31 Sega Master System/Game Gear ROM dump
3787: #>1 byte 0xDB Sega Master System/Game Gear ROM dump
3788: #>1 byte 0xAF Sega Master System/Game Gear ROM dump
3789: #>1 byte 0xC3 Sega Master System/Game Gear ROM dump
3790:
3791: #------------------------------------------------------------------------------
3792: # dreamcast: file(1) uncertain magic for the Sega Dreamcast VMU image format
3793: #
3794: 0 belong 0x21068028 Sega Dreamcast VMU game image
3795: 0 string LCDi Dream Animator file
3796:
3797: #------------------------------------------------------------------------------
3798: # v64: file(1) uncertain magic for the V64 format N64 ROM dumps
3799: #
3800: 0 belong 0x37804012 V64 Nintendo 64 ROM dump
3801:
3802: # From: "Nelson A. de Oliveira" <naoliv@gmail.com>
3803: # Nintendo .nds
3804: 192 string \044\377\256Qi\232 Nintendo DS Game ROM Image
3805: # Nintendo .gba
3806: 0 string \056\000\000\352$\377\256Qi Nintendo Game Boy Advance ROM Image
3807:
3808: #------------------------------------------------------------------------------
3809: # msx: file(1) magic for MSX game cartridge dumps
3810: # Too simple - MPi
3811: #0 beshort 0x4142 MSX game cartridge dump
3812:
3813: #------------------------------------------------------------------------------
3814: # Sony Playstation executables (Adam Sjoegren <asjo@diku.dk>) :
3815: 0 string PS-X\ EXE Sony Playstation executable
3816: # Area:
3817: >113 string x (%s)
3818:
3819: #------------------------------------------------------------------------------
3820: # Microsoft Xbox executables .xbe (Esa Hyytiä <ehyytia@cc.hut.fi>)
3821: 0 string XBEH XBE, Microsoft Xbox executable
3822: # probabilistic checks whether signed or not
3823: >0x0004 ulelong =0x0
3824: >>&2 ulelong =0x0
3825: >>>&2 ulelong =0x0 \b, not signed
3826: >0x0004 ulelong >0
3827: >>&2 ulelong >0
3828: >>>&2 ulelong >0 \b, signed
3829: # expect base address of 0x10000
3830: >0x0104 ulelong =0x10000
3831: >>(0x0118-0x0FF60) ulelong&0x80000007 0x80000007 \b, all regions
3832: >>(0x0118-0x0FF60) ulelong&0x80000007 !0x80000007
3833: >>>(0x0118-0x0FF60) ulelong >0 (regions:
3834: >>>>(0x0118-0x0FF60) ulelong &0x00000001 NA
3835: >>>>(0x0118-0x0FF60) ulelong &0x00000002 Japan
3836: >>>>(0x0118-0x0FF60) ulelong &0x00000004 Rest_of_World
3837: >>>>(0x0118-0x0FF60) ulelong &0x80000000 Manufacturer
3838: >>>(0x0118-0x0FF60) ulelong >0 \b)
3839:
3840: # --------------------------------
3841: # Microsoft Xbox data file formats
3842: 0 string XIP0 XIP, Microsoft Xbox data
3843: 0 string XTF0 XTF, Microsoft Xbox data
3844:
3845: # Atari Lynx cartridge dump (EXE/BLL header)
3846: # From: "Stefan A. Haubenthal" <polluks@web.de>
3847:
3848: 0 beshort 0x8008 Lynx cartridge,
3849: >2 beshort x RAM start $%04x
3850: >6 string BS93
3851:
3852: # Opera file system that is used on the 3DO console
3853: # From: Serge van den Boom <svdb@stack.nl>
3854: 0 string \x01ZZZZZ\x01 3DO "Opera" file system
3855:
3856: # From Gürkan Sengün <gurkan@linuks.mine.nu>, www.linuks.mine.nu
3857: 0 string GBS Nintendo Gameboy Music/Audio Data
3858: 12 string GameBoy\ Music\ Module Nintendo Gameboy Music Module
3859:
3860: # Playstations Patch Files from: From: Thomas Klausner <tk@giga.or.at>
3861: 0 string PPF30 Playstation Patch File version 3.0
3862: >5 byte 0 \b, PPF 1.0 patch
3863: >5 byte 1 \b, PPF 2.0 patch
3864: >5 byte 2 \b, PPF 3.0 patch
3865: >>56 byte 0 \b, Imagetype BIN (any)
3866: >>56 byte 1 \b, Imagetype GI (PrimoDVD)
3867: >>57 byte 0 \b, Blockcheck disabled
3868: >>57 byte 1 \b, Blockcheck enabled
3869: >>58 byte 0 \b, Undo data not available
3870: >>58 byte 1 \b, Undo data available
3871: >6 string x \b, description: %s
3872:
3873: 0 string PPF20 Playstation Patch File version 2.0
3874: >5 byte 0 \b, PPF 1.0 patch
3875: >5 byte 1 \b, PPF 2.0 patch
3876: >>56 lelong >0 \b, size of file to patch %d
3877: >6 string x \b, description: %s
3878:
3879: 0 string PPF10 Playstation Patch File version 1.0
3880: >5 byte 0 \b, Simple Encoding
3881: >6 string x \b, description: %s
3882:
3883: # From: Daniel Dawson <ddawson@icehouse.net>
3884: # SNES9x .smv "movie" file format.
3885: 0 string SMV\x1A SNES9x input recording
3886: >0x4 lelong x \b, version %d
3887: # version 4 is latest so far
3888: >0x4 lelong <5
3889: >>0x8 ledate x \b, recorded at %s
3890: >>0xc lelong >0 \b, rerecorded %d times
3891: >>0x10 lelong x \b, %d frames long
3892: >>0x14 byte >0 \b, data for controller(s):
3893: >>>0x14 byte &0x1 #1
3894: >>>0x14 byte &0x2 #2
3895: >>>0x14 byte &0x4 #3
3896: >>>0x14 byte &0x8 #4
3897: >>>0x14 byte &0x10 #5
3898: >>0x15 byte ^0x1 \b, begins from snapshot
3899: >>0x15 byte &0x1 \b, begins from reset
3900: >>0x15 byte ^0x2 \b, NTSC standard
3901: >>0x15 byte &0x2 \b, PAL standard
3902: >>0x17 byte &0x1 \b, settings:
3903: # WIP1Timing not used as of version 4
3904: >>>0x4 lelong <4
3905: >>>>0x17 byte &0x2 WIP1Timing
3906: >>>0x17 byte &0x4 Left+Right
3907: >>>0x17 byte &0x8 VolumeEnvX
3908: >>>0x17 byte &0x10 FakeMute
3909: >>>0x17 byte &0x20 SyncSound
3910: # New flag as of version 4
3911: >>>0x4 lelong >3
3912: >>>>0x17 byte &0x80 NoCPUShutdown
3913: >>0x4 lelong <4
3914: >>>0x18 lelong >0x23
3915: >>>>0x20 leshort !0
3916: >>>>>0x20 lestring16 x \b, metadata: "%s"
3917: >>0x4 lelong >3
3918: >>>0x24 byte >0 \b, port 1:
3919: >>>>0x24 byte 1 joypad
3920: >>>>0x24 byte 2 mouse
3921: >>>>0x24 byte 3 SuperScope
3922: >>>>0x24 byte 4 Justifier
3923: >>>>0x24 byte 5 multitap
3924: >>>0x24 byte >0 \b, port 2:
3925: >>>>0x25 byte 1 joypad
3926: >>>>0x25 byte 2 mouse
3927: >>>>0x25 byte 3 SuperScope
3928: >>>>0x25 byte 4 Justifier
3929: >>>>0x25 byte 5 multitap
3930: >>>0x18 lelong >0x43
3931: >>>>0x40 leshort !0
3932: >>>>>0x40 lestring16 x \b, metadata: "%s"
3933: >>0x17 byte &0x40 \b, ROM:
3934: >>>(0x18.l-26) lelong x CRC32 0x%08x
3935: >>>(0x18.l-23) string x "%s"
3936:
3937: # Type: scummVM savegame files
3938: # From: Sven Hartge <debian@ds9.argh.org>
3939: 0 string SCVM scummVM savegame
3940: >12 string >\0 "%s"
3941: #------------------------------------------------------------------------------
3942: # convex: file(1) magic for Convex boxes
3943: #
3944: # Convexes are big-endian.
3945: #
3946: # /*\
3947: # * Below are the magic numbers and tests added for Convex.
3948: # * Added at beginning, because they are expected to be used most.
3949: # \*/
3950: 0 belong 0507 Convex old-style object
3951: >16 belong >0 not stripped
3952: 0 belong 0513 Convex old-style demand paged executable
3953: >16 belong >0 not stripped
3954: 0 belong 0515 Convex old-style pre-paged executable
3955: >16 belong >0 not stripped
3956: 0 belong 0517 Convex old-style pre-paged, non-swapped executable
3957: >16 belong >0 not stripped
3958: 0 belong 0x011257 Core file
3959: #
3960: # The following are a series of dump format magic numbers. Each one
3961: # corresponds to a drastically different dump format. The first on is
3962: # the original dump format on a 4.1 BSD or earlier file system. The
3963: # second marks the change between the 4.1 file system and the 4.2 file
3964: # system. The Third marks the changing of the block size from 1K
3965: # to 2K to be compatible with an IDC file system. The fourth indicates
3966: # a dump that is dependent on Convex Storage Manager, because data in
3967: # secondary storage is not physically contained within the dump.
3968: # The restore program uses these number to determine how the data is
3969: # to be extracted.
3970: #
3971: 24 belong =60011 dump format, 4.1 BSD or earlier
3972: 24 belong =60012 dump format, 4.2 or 4.3 BSD without IDC
3973: 24 belong =60013 dump format, 4.2 or 4.3 BSD (IDC compatible)
3974: 24 belong =60014 dump format, Convex Storage Manager by-reference dump
3975: #
3976: # what follows is a bunch of bit-mask checks on the flags field of the opthdr.
3977: # If there is no `=' sign, assume just checking for whether the bit is set?
3978: #
3979: 0 belong 0601 Convex SOFF
3980: >88 belong&0x000f0000 =0x00000000 c1
3981: >88 belong &0x00010000 c2
3982: >88 belong &0x00020000 c2mp
3983: >88 belong &0x00040000 parallel
3984: >88 belong &0x00080000 intrinsic
3985: >88 belong &0x00000001 demand paged
3986: >88 belong &0x00000002 pre-paged
3987: >88 belong &0x00000004 non-swapped
3988: >88 belong &0x00000008 POSIX
3989: #
3990: >84 belong &0x80000000 executable
3991: >84 belong &0x40000000 object
3992: >84 belong&0x20000000 =0 not stripped
3993: >84 belong&0x18000000 =0x00000000 native fpmode
3994: >84 belong&0x18000000 =0x10000000 ieee fpmode
3995: >84 belong&0x18000000 =0x18000000 undefined fpmode
3996: #
3997: 0 belong 0605 Convex SOFF core
3998: #
3999: 0 belong 0607 Convex SOFF checkpoint
4000: >88 belong&0x000f0000 =0x00000000 c1
4001: >88 belong &0x00010000 c2
4002: >88 belong &0x00020000 c2mp
4003: >88 belong &0x00040000 parallel
4004: >88 belong &0x00080000 intrinsic
4005: >88 belong &0x00000008 POSIX
4006: #
4007: >84 belong&0x18000000 =0x00000000 native fpmode
4008: >84 belong&0x18000000 =0x10000000 ieee fpmode
4009: >84 belong&0x18000000 =0x18000000 undefined fpmode
4010:
4011: #------------------------------------------------------------------------------
4012: # cracklib: file (1) magic for cracklib v2.7
4013:
4014: 0 lelong 0x70775631 Cracklib password index, little endian
4015: >4 long >0 (%i words)
4016: >4 long 0 ("64-bit")
4017: >>8 long >-1 (%i words)
4018: 0 belong 0x70775631 Cracklib password index, big endian
4019: >4 belong >-1 (%i words)
4020: # really bellong 0x0000000070775631
4021: 0 search/1 \0\0\0\0pwV1 Cracklib password index, big endian ("64-bit")
4022: >12 belong >0 (%i words)
4023: # ----------------------------------------------------------------------------
4024: # ctags: file (1) magic for Exuberant Ctags files
4025: # From: Alexander Mai <mai@migdal.ikp.physik.tu-darmstadt.de>
4026: 0 search/1 =!_TAG Exuberant Ctags tag file text
4027:
4028: #------------------------------------------------------------------------------
4029: # dact: file(1) magic for DACT compressed files
4030: #
4031: 0 long 0x444354C3 DACT compressed data
4032: >4 byte >-1 (version %i.
4033: >5 byte >-1 $BS%i.
4034: >6 byte >-1 $BS%i)
4035: >7 long >0 $BS, original size: %i bytes
4036: >15 long >30 $BS, block size: %i bytes
4037:
4038: #------------------------------------------------------------------------------
4039: # database: file(1) magic for various databases
4040: #
4041: # extracted from header/code files by Graeme Wilford (eep2gw@ee.surrey.ac.uk)
4042: #
4043: #
4044: # GDBM magic numbers
4045: # Will be maintained as part of the GDBM distribution in the future.
4046: # <downsj@teeny.org>
4047: 0 belong 0x13579ace GNU dbm 1.x or ndbm database, big endian
4048: !:mime application/x-gdbm
4049: 0 lelong 0x13579ace GNU dbm 1.x or ndbm database, little endian
4050: !:mime application/x-gdbm
4051: 0 string GDBM GNU dbm 2.x database
4052: !:mime application/x-gdbm
4053: #
4054: # Berkeley DB
4055: #
4056: # Ian Darwin's file /etc/magic files: big/little-endian version.
4057: #
4058: # Hash 1.85/1.86 databases store metadata in network byte order.
4059: # Btree 1.85/1.86 databases store the metadata in host byte order.
4060: # Hash and Btree 2.X and later databases store the metadata in host byte order.
4061:
4062: 0 long 0x00061561 Berkeley DB
4063: !:mime application/x-dbm
4064: >8 belong 4321
4065: >>4 belong >2 1.86
4066: >>4 belong <3 1.85
4067: >>4 belong >0 (Hash, version %d, native byte-order)
4068: >8 belong 1234
4069: >>4 belong >2 1.86
4070: >>4 belong <3 1.85
4071: >>4 belong >0 (Hash, version %d, little-endian)
4072:
4073: 0 belong 0x00061561 Berkeley DB
4074: >8 belong 4321
4075: >>4 belong >2 1.86
4076: >>4 belong <3 1.85
4077: >>4 belong >0 (Hash, version %d, big-endian)
4078: >8 belong 1234
4079: >>4 belong >2 1.86
4080: >>4 belong <3 1.85
4081: >>4 belong >0 (Hash, version %d, native byte-order)
4082:
4083: 0 long 0x00053162 Berkeley DB 1.85/1.86
4084: >4 long >0 (Btree, version %d, native byte-order)
4085: 0 belong 0x00053162 Berkeley DB 1.85/1.86
4086: >4 belong >0 (Btree, version %d, big-endian)
4087: 0 lelong 0x00053162 Berkeley DB 1.85/1.86
4088: >4 lelong >0 (Btree, version %d, little-endian)
4089:
4090: 12 long 0x00061561 Berkeley DB
4091: >16 long >0 (Hash, version %d, native byte-order)
4092: 12 belong 0x00061561 Berkeley DB
4093: >16 belong >0 (Hash, version %d, big-endian)
4094: 12 lelong 0x00061561 Berkeley DB
4095: >16 lelong >0 (Hash, version %d, little-endian)
4096:
4097: 12 long 0x00053162 Berkeley DB
4098: >16 long >0 (Btree, version %d, native byte-order)
4099: 12 belong 0x00053162 Berkeley DB
4100: >16 belong >0 (Btree, version %d, big-endian)
4101: 12 lelong 0x00053162 Berkeley DB
4102: >16 lelong >0 (Btree, version %d, little-endian)
4103:
4104: 12 long 0x00042253 Berkeley DB
4105: >16 long >0 (Queue, version %d, native byte-order)
4106: 12 belong 0x00042253 Berkeley DB
4107: >16 belong >0 (Queue, version %d, big-endian)
4108: 12 lelong 0x00042253 Berkeley DB
4109: >16 lelong >0 (Queue, version %d, little-endian)
4110:
4111: # From Max Bowsher.
4112: 12 long 0x00040988 Berkeley DB
4113: >16 long >0 (Log, version %d, native byte-order)
4114: 12 belong 0x00040988 Berkeley DB
4115: >16 belong >0 (Log, version %d, big-endian)
4116: 12 lelong 0x00040988 Berkeley DB
4117: >16 lelong >0 (Log, version %d, little-endian)
4118:
4119: #
4120: #
4121: # Round Robin Database Tool by Tobias Oetiker <oetiker@ee.ethz.ch>
4122: 0 string RRD RRDTool DB
4123: >4 string x version %s
4124: #----------------------------------------------------------------------
4125: # ROOT: file(1) magic for ROOT databases
4126: #
4127: 0 string root\0 ROOT file
4128: >4 belong x Version %d
4129: >33 belong x (Compression: %d)
4130:
4131: # XXX: Weak magic.
4132: # Alex Ott <ott@jet.msk.su>
4133: ## Paradox file formats
4134: #2 leshort 0x0800 Paradox
4135: #>0x39 byte 3 v. 3.0
4136: #>0x39 byte 4 v. 3.5
4137: #>0x39 byte 9 v. 4.x
4138: #>0x39 byte 10 v. 5.x
4139: #>0x39 byte 11 v. 5.x
4140: #>0x39 byte 12 v. 7.x
4141: #>>0x04 byte 0 indexed .DB data file
4142: #>>0x04 byte 1 primary index .PX file
4143: #>>0x04 byte 2 non-indexed .DB data file
4144: #>>0x04 byte 3 non-incrementing secondary index .Xnn file
4145: #>>0x04 byte 4 secondary index .Ynn file
4146: #>>0x04 byte 5 incrementing secondary index .Xnn file
4147: #>>0x04 byte 6 non-incrementing secondary index .XGn file
4148: #>>0x04 byte 7 secondary index .YGn file
4149: #>>>0x04 byte 8 incrementing secondary index .XGn file
4150:
4151: ## XBase database files
4152: #0 byte 0x02
4153: #>8 leshort >0
4154: #>>12 leshort 0 FoxBase
4155: #!:mime application/x-dbf
4156: #>>>0x04 lelong 0 (no records)
4157: #>>>0x04 lelong >0 (%ld records)
4158: #
4159: #0 byte 0x03
4160: #!:mime application/x-dbf
4161: #>8 leshort >0
4162: #>>12 leshort 0 FoxBase+, FoxPro, dBaseIII+, dBaseIV, no memo
4163: #>>>0x04 lelong 0 (no records)
4164: #>>>0x04 lelong >0 (%ld records)
4165: #
4166: #0 byte 0x04
4167: #!:mime application/x-dbf
4168: #>8 leshort >0
4169: #>>12 leshort 0 dBASE IV no memo file
4170: #>>>0x04 lelong 0 (no records)
4171: #>>>0x04 lelong >0 (%ld records)
4172: #
4173: #0 byte 0x05
4174: #!:mime application/x-dbf
4175: #>8 leshort >0
4176: #>>12 leshort 0 dBASE V no memo file
4177: #>>>0x04 lelong 0 (no records)
4178: #>>>0x04 lelong >0 (%ld records)
4179: #
4180: #0 byte 0x30
4181: #!:mime application/x-dbf
4182: #>8 leshort >0
4183: #>>12 leshort 0 Visual FoxPro
4184: #>>>0x04 lelong 0 (no records)
4185: #>>>0x04 lelong >0 (%ld records)
4186: #
4187: #0 byte 0x43
4188: #!:mime application/x-dbf
4189: #>8 leshort >0
4190: #>>12 leshort 0 FlagShip with memo var size
4191: #>>>0x04 lelong 0 (no records)
4192: #>>>0x04 lelong >0 (%ld records)
4193: #
4194: #0 byte 0x7b
4195: #!:mime application/x-dbf
4196: #>8 leshort >0
4197: #>>12 leshort 0 dBASEIV with memo
4198: #>>>0x04 lelong 0 (no records)
4199: #>>>0x04 lelong >0 (%ld records)
4200: #
4201: #0 byte 0x83
4202: #!:mime application/x-dbf
4203: #>8 leshort >0
4204: #>>12 leshort 0 FoxBase+, dBaseIII+ with memo
4205: #>>>0x04 lelong 0 (no records)
4206: #>>>0x04 lelong >0 (%ld records)
4207: #
4208: #0 byte 0x8b
4209: #!:mime application/x-dbf
4210: #>8 leshort >0
4211: #>>12 leshort 0 dBaseIV with memo
4212: #>>>0x04 lelong 0 (no records)
4213: #>>>0x04 lelong >0 (%ld records)
4214: #
4215: #0 byte 0x8e
4216: #!:mime application/x-dbf
4217: #>8 leshort >0
4218: #>>12 leshort 0 dBaseIV with SQL Table
4219: #>>>0x04 lelong 0 (no records)
4220: #>>>0x04 lelong >0 (%ld records)
4221: #
4222: #0 byte 0xb3
4223: #!:mime application/x-dbf
4224: #>8 leshort >0
4225: #>>12 leshort 0 FlagShip with .dbt memo
4226: #>>>0x04 lelong 0 (no records)
4227: #>>>0x04 lelong >0 (%ld records)
4228: #
4229: #0 byte 0xf5
4230: #!:mime application/x-dbf
4231: #>8 leshort >0
4232: #>>12 leshort 0 FoxPro with memo
4233: #>>>0x04 lelong 0 (no records)
4234: #>>>0x04 lelong >0 (%ld records)
4235: #
4236: #0 leshort 0x0006 DBase 3 index file
4237:
4238: # MS Access database
4239: 4 string Standard\ Jet\ DB Microsoft Access Database
4240: !:mime application/x-msaccess
4241:
4242: # TDB database from Samba et al - Martin Pool <mbp@samba.org>
4243: 0 string TDB\ file TDB database
4244: >32 lelong 0x2601196D version 6, little-endian
4245: >>36 lelong x hash size %d bytes
4246:
4247: # SE Linux policy database
4248: 0 lelong 0xf97cff8c SE Linux policy
4249: >16 lelong x v%d
4250: >20 lelong 1 MLS
4251: >24 lelong x %d symbols
4252: >28 lelong x %d ocons
4253:
4254: # ICE authority file data (Wolfram Kleff)
4255: 2 string ICE ICE authority data
4256:
4257: # X11 Xauthority file (Wolfram Kleff)
4258: 10 string MIT-MAGIC-COOKIE-1 X11 Xauthority data
4259: 11 string MIT-MAGIC-COOKIE-1 X11 Xauthority data
4260: 12 string MIT-MAGIC-COOKIE-1 X11 Xauthority data
4261: 13 string MIT-MAGIC-COOKIE-1 X11 Xauthority data
4262: 14 string MIT-MAGIC-COOKIE-1 X11 Xauthority data
4263: 15 string MIT-MAGIC-COOKIE-1 X11 Xauthority data
4264: 16 string MIT-MAGIC-COOKIE-1 X11 Xauthority data
4265: 17 string MIT-MAGIC-COOKIE-1 X11 Xauthority data
4266: 18 string MIT-MAGIC-COOKIE-1 X11 Xauthority data
4267:
4268: # From: Maxime Henrion <mux@FreeBSD.org>
4269: # PostgreSQL's custom dump format, Maxime Henrion <mux@FreeBSD.org>
4270: 0 string PGDMP PostgreSQL custom database dump
4271: >5 byte x - v%d
4272: >6 byte x \b.%d
4273: >5 beshort <0x101 \b-0
4274: >5 beshort >0x100
4275: >>7 byte x \b-%d
4276:
4277: # Type: Advanced Data Format (ADF) database
4278: # URL: http://www.grc.nasa.gov/WWW/cgns/adf/
4279: # From: Nicolas Chauvat <nicolas.chauvat@logilab.fr>
4280: 0 string @(#)ADF\ Database CGNS Advanced Data Format
4281:
4282: # Type: QDBM Quick Database Manager
4283: # From: Benoit Sibaud <bsibaud@april.org>
4284: 0 string \\[depot\\]\n\f Quick Database Manager, little endian
4285: 0 string \\[DEPOT\\]\n\f Quick Database Manager, big endian
4286:
4287: # Type: TokyoCabinet database
4288: # URL: http://tokyocabinet.sourceforge.net/
4289: # From: Benoit Sibaud <bsibaud@april.org>
4290: 0 string ToKyO\ CaBiNeT\n TokyoCabinet database
4291: >14 string x (version %s)
4292:
4293: #------------------------------------------------------------------------------
4294: # diamond: file(1) magic for Diamond system
4295: #
4296: # ... diamond is a multi-media mail and electronic conferencing system....
4297: #
4298: # XXX - I think it was either renamed Slate, or replaced by Slate....
4299: #
4300: # The full deal is too long...
4301: #0 string <list>\n<protocol\ bbn-multimedia-format> Diamond Multimedia Document
4302: 0 string =<list>\n<protocol\ bbn-m Diamond Multimedia Document
4303: #------------------------------------------------------------------------------
4304: # diff: file(1) magic for diff(1) output
4305: #
4306: 0 search/1 diff\ diff output text
4307: !:mime text/x-diff
4308: 0 search/1 ***\ diff output text
4309: !:mime text/x-diff
4310: 0 search/1 Only\ in\ diff output text
4311: !:mime text/x-diff
4312: 0 search/1 Common\ subdirectories:\ diff output text
4313: !:mime text/x-diff
4314:
4315: 0 search/1 Index: RCS/CVS diff output text
4316: !:mime text/x-diff
4317: # Digital UNIX - Info
4318: #
4319: 0 string =!<arch>\n________64E Alpha archive
4320: >22 string X -- out of date
4321: #
4322: # Alpha COFF Based Executables
4323: # The stripped stuff really needs to be an 8 byte (64 bit) compare,
4324: # but this works
4325: 0 leshort 0x183 COFF format alpha
4326: >22 leshort&020000 &010000 sharable library,
4327: >22 leshort&020000 ^010000 dynamically linked,
4328: >24 leshort 0410 pure
4329: >24 leshort 0413 demand paged
4330: >8 lelong >0 executable or object module, not stripped
4331: >8 lelong 0
4332: >>12 lelong 0 executable or object module, stripped
4333: >>12 lelong >0 executable or object module, not stripped
4334: >27 byte >0 - version %d.
4335: >26 byte >0 %d-
4336: >28 leshort >0 %d
4337: #
4338: # The next is incomplete, we could tell more about this format,
4339: # but its not worth it.
4340: 0 leshort 0x188 Alpha compressed COFF
4341: 0 leshort 0x18f Alpha u-code object
4342: #
4343: #
4344: # Some other interesting Digital formats,
4345: 0 string \377\377\177 ddis/ddif
4346: 0 string \377\377\174 ddis/dots archive
4347: 0 string \377\377\176 ddis/dtif table data
4348: 0 string \033c\033 LN03 output
4349: 0 long 04553207 X image
4350: #
4351: 0 string =!<PDF>!\n profiling data file
4352: #
4353: # Locale data tables (MIPS and Alpha).
4354: #
4355: 0 short 0x0501 locale data table
4356: >6 short 0x24 for MIPS
4357: >6 short 0x40 for Alpha
4358: # ATSC A/53 aka AC-3 aka Dolby Digital <ashitaka@gmx.at>
4359: # from http://www.atsc.org/standards/a_52a.pdf
4360: # corrections, additions, etc. are always welcome!
4361: #
4362: # syncword
4363: 0 beshort 0x0b77 ATSC A/52 aka AC-3 aka Dolby Digital stream,
4364: # fscod
4365: >4 byte&0xc0 0x00 48 kHz,
4366: >4 byte&0xc0 0x40 44.1 kHz,
4367: >4 byte&0xc0 0x80 32 kHz,
4368: # is this one used for 96 kHz?
4369: >4 byte&0xc0 0xc0 reserved frequency,
4370: #
4371: >5 byte&7 = 0 \b, complete main (CM)
4372: >5 byte&7 = 1 \b, music and effects (ME)
4373: >5 byte&7 = 2 \b, visually impaired (VI)
4374: >5 byte&7 = 3 \b, hearing impaired (HI)
4375: >5 byte&7 = 4 \b, dialogue (D)
4376: >5 byte&7 = 5 \b, commentary (C)
4377: >5 byte&7 = 6 \b, emergency (E)
4378: # acmod
4379: >6 byte&0xe0 0x00 1+1 front,
4380: >6 byte&0xe0 0x20 1 front/0 rear,
4381: >6 byte&0xe0 0x40 2 front/0 rear,
4382: >6 byte&0xe0 0x60 3 front/0 rear,
4383: >6 byte&0xe0 0x80 2 front/1 rear,
4384: >6 byte&0xe0 0xa0 3 front/1 rear,
4385: >6 byte&0xe0 0xc0 2 front/2 rear,
4386: >6 byte&0xe0 0xe0 3 front/2 rear,
4387: # lfeon (these may be incorrect)
4388: >7 byte&0x40 0x00 LFE off,
4389: >7 byte&0x40 0x40 LFE on,
4390: #
4391: >4 byte&0x3e = 0x00 \b, 32 kbit/s
4392: >4 byte&0x3e = 0x02 \b, 40 kbit/s
4393: >4 byte&0x3e = 0x04 \b, 48 kbit/s
4394: >4 byte&0x3e = 0x06 \b, 56 kbit/s
4395: >4 byte&0x3e = 0x08 \b, 64 kbit/s
4396: >4 byte&0x3e = 0x0a \b, 80 kbit/s
4397: >4 byte&0x3e = 0x0c \b, 96 kbit/s
4398: >4 byte&0x3e = 0x0e \b, 112 kbit/s
4399: >4 byte&0x3e = 0x10 \b, 128 kbit/s
4400: >4 byte&0x3e = 0x12 \b, 160 kbit/s
4401: >4 byte&0x3e = 0x14 \b, 192 kbit/s
4402: >4 byte&0x3e = 0x16 \b, 224 kbit/s
4403: >4 byte&0x3e = 0x18 \b, 256 kbit/s
4404: >4 byte&0x3e = 0x1a \b, 320 kbit/s
4405: >4 byte&0x3e = 0x1c \b, 384 kbit/s
4406: >4 byte&0x3e = 0x1e \b, 448 kbit/s
4407: >4 byte&0x3e = 0x20 \b, 512 kbit/s
4408: >4 byte&0x3e = 0x22 \b, 576 kbit/s
4409: >4 byte&0x3e = 0x24 \b, 640 kbit/s
4410: # dsurmod (these may be incorrect)
4411: >6 beshort&0x0180 0x0000 Dolby Surround not indicated
4412: >6 beshort&0x0180 0x0080 not Dolby Surround encoded
4413: >6 beshort&0x0180 0x0100 Dolby Surround encoded
4414: >6 beshort&0x0180 0x0180 reserved Dolby Surround mode
4415:
4416: #------------------------------------------------------------------------------
4417: # dump: file(1) magic for dump file format--for new and old dump filesystems
4418: #
4419: # We specify both byte orders in order to recognize byte-swapped dumps.
4420: #
4421: 24 belong 60012 new-fs dump file (big endian),
4422: >4 bedate x Previous dump %s,
4423: >8 bedate x This dump %s,
4424: >12 belong >0 Volume %ld,
4425: >692 belong 0 Level zero, type:
4426: >692 belong >0 Level %d, type:
4427: >0 belong 1 tape header,
4428: >0 belong 2 beginning of file record,
4429: >0 belong 3 map of inodes on tape,
4430: >0 belong 4 continuation of file record,
4431: >0 belong 5 end of volume,
4432: >0 belong 6 map of inodes deleted,
4433: >0 belong 7 end of medium (for floppy),
4434: >676 string >\0 Label %s,
4435: >696 string >\0 Filesystem %s,
4436: >760 string >\0 Device %s,
4437: >824 string >\0 Host %s,
4438: >888 belong >0 Flags %x
4439:
4440: 24 belong 60011 old-fs dump file (big endian),
4441: #>4 bedate x Previous dump %s,
4442: #>8 bedate x This dump %s,
4443: >12 belong >0 Volume %ld,
4444: >692 belong 0 Level zero, type:
4445: >692 belong >0 Level %d, type:
4446: >0 belong 1 tape header,
4447: >0 belong 2 beginning of file record,
4448: >0 belong 3 map of inodes on tape,
4449: >0 belong 4 continuation of file record,
4450: >0 belong 5 end of volume,
4451: >0 belong 6 map of inodes deleted,
4452: >0 belong 7 end of medium (for floppy),
4453: >676 string >\0 Label %s,
4454: >696 string >\0 Filesystem %s,
4455: >760 string >\0 Device %s,
4456: >824 string >\0 Host %s,
4457: >888 belong >0 Flags %x
4458:
4459: 24 lelong 60012 new-fs dump file (little endian),
4460: >4 ledate x This dump %s,
4461: >8 ledate x Previous dump %s,
4462: >12 lelong >0 Volume %ld,
4463: >692 lelong 0 Level zero, type:
4464: >692 lelong >0 Level %d, type:
4465: >0 lelong 1 tape header,
4466: >0 lelong 2 beginning of file record,
4467: >0 lelong 3 map of inodes on tape,
4468: >0 lelong 4 continuation of file record,
4469: >0 lelong 5 end of volume,
4470: >0 lelong 6 map of inodes deleted,
4471: >0 lelong 7 end of medium (for floppy),
4472: >676 string >\0 Label %s,
4473: >696 string >\0 Filesystem %s,
4474: >760 string >\0 Device %s,
4475: >824 string >\0 Host %s,
4476: >888 lelong >0 Flags %x
4477:
4478: 24 lelong 60011 old-fs dump file (little endian),
4479: #>4 ledate x Previous dump %s,
4480: #>8 ledate x This dump %s,
4481: >12 lelong >0 Volume %ld,
4482: >692 lelong 0 Level zero, type:
4483: >692 lelong >0 Level %d, type:
4484: >0 lelong 1 tape header,
4485: >0 lelong 2 beginning of file record,
4486: >0 lelong 3 map of inodes on tape,
4487: >0 lelong 4 continuation of file record,
4488: >0 lelong 5 end of volume,
4489: >0 lelong 6 map of inodes deleted,
4490: >0 lelong 7 end of medium (for floppy),
4491: >676 string >\0 Label %s,
4492: >696 string >\0 Filesystem %s,
4493: >760 string >\0 Device %s,
4494: >824 string >\0 Host %s,
4495: >888 lelong >0 Flags %x
4496:
4497: 18 leshort 60011 old-fs dump file (16-bit, assuming PDP-11 endianness),
4498: >2 medate x Previous dump %s,
4499: >6 medate x This dump %s,
4500: >10 leshort >0 Volume %ld,
4501: >0 leshort 1 tape header.
4502: >0 leshort 2 beginning of file record.
4503: >0 leshort 3 map of inodes on tape.
4504: >0 leshort 4 continuation of file record.
4505: >0 leshort 5 end of volume.
4506: >0 leshort 6 map of inodes deleted.
4507: >0 leshort 7 end of medium (for floppy).
4508:
4509: 24 belong 0x19540119 new-fs dump file (ufs2, big endian),
4510: >896 beqdate x Previous dump %s,
4511: >904 beqdate x This dump %s,
4512: >12 belong >0 Volume %ld,
4513: >692 belong 0 Level zero, type:
4514: >692 belong >0 Level %d, type:
4515: >0 belong 1 tape header,
4516: >0 belong 2 beginning of file record,
4517: >0 belong 3 map of inodes on tape,
4518: >0 belong 4 continuation of file record,
4519: >0 belong 5 end of volume,
4520: >0 belong 6 map of inodes deleted,
4521: >0 belong 7 end of medium (for floppy),
4522: >676 string >\0 Label %s,
4523: >696 string >\0 Filesystem %s,
4524: >760 string >\0 Device %s,
4525: >824 string >\0 Host %s,
4526: >888 belong >0 Flags %x
4527:
4528: 24 lelong 0x19540119 new-fs dump file (ufs2, little endian),
4529: >896 leqdate x This dump %s,
4530: >904 leqdate x Previous dump %s,
4531: >12 lelong >0 Volume %ld,
4532: >692 lelong 0 Level zero, type:
4533: >692 lelong >0 Level %d, type:
4534: >0 lelong 1 tape header,
4535: >0 lelong 2 beginning of file record,
4536: >0 lelong 3 map of inodes on tape,
4537: >0 lelong 4 continuation of file record,
4538: >0 lelong 5 end of volume,
4539: >0 lelong 6 map of inodes deleted,
4540: >0 lelong 7 end of medium (for floppy),
4541: >676 string >\0 Label %s,
4542: >696 string >\0 Filesystem %s,
4543: >760 string >\0 Device %s,
4544: >824 string >\0 Host %s,
4545: >888 lelong >0 Flags %x
4546:
4547: #------------------------------------------------------------------------------
4548: # Dyadic: file(1) magic for Dyalog APL.
4549: #
4550: 0 byte 0xaa
4551: >1 byte <4 Dyalog APL
4552: >>1 byte 0x00 incomplete workspace
4553: >>1 byte 0x01 component file
4554: >>1 byte 0x02 external variable
4555: >>1 byte 0x03 workspace
4556: >>2 byte x version %d
4557: >>3 byte x .%d
4558:
4559: #------------------------------------------------------------------------------
4560: # T602 editor documents
4561: # by David Necas <yeti@physics.muni.cz>
4562: 0 string @CT\ T602 document data,
4563: >4 string 0 Kamenicky
4564: >4 string 1 CP 852
4565: >4 string 2 KOI8-CS
4566: >4 string >2 unknown encoding
4567:
4568: # Vi IMproved Encrypted file
4569: # by David Necas <yeti@physics.muni.cz>
4570: 0 string VimCrypt~ Vim encrypted file data
4571: # Vi IMproved Swap file
4572: # by Sven Wegener <swegener@gentoo.org>
4573: 0 string b0VIM\ Vim swap file
4574: >&0 string >\0 \b, version %s
4575:
4576: #------------------------------------------------------------------------------
4577: # efi: file(1) magic for Universal EFI binaries
4578:
4579: 0 lelong 0x0ef1fab9
4580: >4 lelong 1 Universal EFI binary with 1 architecture
4581: >>&0 lelong 7 \b, i386
4582: >>&0 lelong 0x01000007 \b, x86_64
4583: >4 lelong 2 Universal EFI binary with 2 architectures
4584: >>&0 lelong 7 \b, i386
4585: >>&0 lelong 0x01000007 \b, x86_64
4586: >>&20 lelong 7 \b, i386
4587: >>&20 lelong 0x01000007 \b, x86_64
4588: >4 lelong >2 Universal EFI binary with %ld architectures
4589:
4590: #------------------------------------------------------------------------------
4591: # elf: file(1) magic for ELF executables
4592: #
4593: # We have to check the byte order flag to see what byte order all the
4594: # other stuff in the header is in.
4595: #
4596: # What're the correct byte orders for the nCUBE and the Fujitsu VPP500?
4597: #
4598: # Created by: unknown
4599: # Modified by (1): Daniel Quinlan <quinlan@yggdrasil.com>
4600: # Modified by (2): Peter Tobias <tobias@server.et-inf.fho-emden.de> (core support)
4601: # Modified by (3): Christian 'Dr. Disk' Hechelmann <drdisk@ds9.au.s.shuttle.de> (fix of core support)
4602: # Modified by (4): <gerardo.cacciari@gmail.com> (VMS Itanium)
4603: # Modified by (5): Matthias Urlichs <smurf@debian.org> (Listing of many architectures)
4604: 0 string \177ELF ELF
4605: >4 byte 0 invalid class
4606: >4 byte 1 32-bit
4607: >4 byte 2 64-bit
4608: >5 byte 0 invalid byte order
4609: >5 byte 1 LSB
4610: >>16 leshort 0 no file type,
4611: !:strength *2
4612: !:mime application/octet-stream
4613: >>16 leshort 1 relocatable,
4614: !:mime application/x-object
4615: >>16 leshort 2 executable,
4616: !:mime application/x-executable
4617: >>16 leshort 3 shared object,
4618: !:mime application/x-sharedlib
4619: >>16 leshort 4 core file
4620: !:mime application/x-coredump
4621: # Core file detection is not reliable.
4622: #>>>(0x38+0xcc) string >\0 of '%s'
4623: #>>>(0x38+0x10) lelong >0 (signal %d),
4624: >>16 leshort &0xff00 processor-specific,
4625: >>18 leshort 0 no machine,
4626: >>18 leshort 1 AT&T WE32100 - invalid byte order,
4627: >>18 leshort 2 SPARC - invalid byte order,
4628: >>18 leshort 3 Intel 80386,
4629: >>18 leshort 4 Motorola
4630: >>>36 lelong &0x01000000 68000 - invalid byte order,
4631: >>>36 lelong &0x00810000 CPU32 - invalid byte order,
4632: >>>36 lelong 0 68020 - invalid byte order,
4633: >>18 leshort 5 Motorola 88000 - invalid byte order,
4634: >>18 leshort 6 Intel 80486,
4635: >>18 leshort 7 Intel 80860,
4636: # The official e_machine number for MIPS is now #8, regardless of endianness.
4637: # The second number (#10) will be deprecated later. For now, we still
4638: # say something if #10 is encountered, but only gory details for #8.
4639: >>18 leshort 8 MIPS,
4640: >>>36 lelong &0x20 N32
4641: >>18 leshort 10 MIPS,
4642: >>>36 lelong &0x20 N32
4643: >>18 leshort 8
4644: # only for 32-bit
4645: >>>4 byte 1
4646: >>>>36 lelong&0xf0000000 0x00000000 MIPS-I
4647: >>>>36 lelong&0xf0000000 0x10000000 MIPS-II
4648: >>>>36 lelong&0xf0000000 0x20000000 MIPS-III
4649: >>>>36 lelong&0xf0000000 0x30000000 MIPS-IV
4650: >>>>36 lelong&0xf0000000 0x40000000 MIPS-V
4651: >>>>36 lelong&0xf0000000 0x50000000 MIPS32
4652: >>>>36 lelong&0xf0000000 0x60000000 MIPS64
4653: >>>>36 lelong&0xf0000000 0x70000000 MIPS32 rel2
4654: >>>>36 lelong&0xf0000000 0x80000000 MIPS64 rel2
4655: # only for 64-bit
4656: >>>4 byte 2
4657: >>>>48 lelong&0xf0000000 0x00000000 MIPS-I
4658: >>>>48 lelong&0xf0000000 0x10000000 MIPS-II
4659: >>>>48 lelong&0xf0000000 0x20000000 MIPS-III
4660: >>>>48 lelong&0xf0000000 0x30000000 MIPS-IV
4661: >>>>48 lelong&0xf0000000 0x40000000 MIPS-V
4662: >>>>48 lelong&0xf0000000 0x50000000 MIPS32
4663: >>>>48 lelong&0xf0000000 0x60000000 MIPS64
4664: >>>>48 lelong&0xf0000000 0x70000000 MIPS32 rel2
4665: >>>>48 lelong&0xf0000000 0x80000000 MIPS64 rel2
4666: >>18 leshort 9 Amdahl - invalid byte order,
4667: >>18 leshort 10 MIPS (deprecated),
4668: >>18 leshort 11 RS6000 - invalid byte order,
4669: >>18 leshort 15 PA-RISC - invalid byte order,
4670: >>>50 leshort 0x0214 2.0
4671: >>>48 leshort &0x0008 (LP64),
4672: >>18 leshort 16 nCUBE,
4673: >>18 leshort 17 Fujitsu VPP500,
4674: >>18 leshort 18 SPARC32PLUS - invalid byte order,
4675: >>18 leshort 20 PowerPC,
4676: >>18 leshort 22 IBM S/390,
4677: >>18 leshort 36 NEC V800,
4678: >>18 leshort 37 Fujitsu FR20,
4679: >>18 leshort 38 TRW RH-32,
4680: >>18 leshort 39 Motorola RCE,
4681: >>18 leshort 40 ARM,
4682: >>18 leshort 41 Alpha,
4683: >>18 leshort 0xa390 IBM S/390 (obsolete),
4684: >>18 leshort 42 Renesas SH,
4685: >>18 leshort 43 SPARC V9 - invalid byte order,
4686: >>18 leshort 44 Siemens Tricore Embedded Processor,
4687: >>18 leshort 45 Argonaut RISC Core, Argonaut Technologies Inc.,
4688: >>18 leshort 46 Renesas H8/300,
4689: >>18 leshort 47 Renesas H8/300H,
4690: >>18 leshort 48 Renesas H8S,
4691: >>18 leshort 49 Renesas H8/500,
4692: >>18 leshort 50 IA-64,
4693: >>18 leshort 51 Stanford MIPS-X,
4694: >>18 leshort 52 Motorola Coldfire,
4695: >>18 leshort 53 Motorola M68HC12,
4696: >>18 leshort 54 Fujitsu MMA,
4697: >>18 leshort 55 Siemens PCP,
4698: >>18 leshort 56 Sony nCPU,
4699: >>18 leshort 57 Denso NDR1,
4700: >>18 leshort 58 Start*Core,
4701: >>18 leshort 59 Toyota ME16,
4702: >>18 leshort 60 ST100,
4703: >>18 leshort 61 Tinyj emb.,
4704: >>18 leshort 62 x86-64,
4705: >>18 leshort 63 Sony DSP,
4706: >>18 leshort 66 FX66,
4707: >>18 leshort 67 ST9+ 8/16 bit,
4708: >>18 leshort 68 ST7 8 bit,
4709: >>18 leshort 69 MC68HC16,
4710: >>18 leshort 70 MC68HC11,
4711: >>18 leshort 71 MC68HC08,
4712: >>18 leshort 72 MC68HC05,
4713: >>18 leshort 73 SGI SVx,
4714: >>18 leshort 74 ST19 8 bit,
4715: >>18 leshort 75 Digital VAX,
4716: >>18 leshort 76 Axis cris,
4717: >>18 leshort 77 Infineon 32-bit embedded,
4718: >>18 leshort 78 Element 14 64-bit DSP,
4719: >>18 leshort 79 LSI Logic 16-bit DSP,
4720: >>18 leshort 80 MMIX,
4721: >>18 leshort 81 Harvard machine-independent,
4722: >>18 leshort 82 SiTera Prism,
4723: >>18 leshort 83 Atmel AVR 8-bit,
4724: >>18 leshort 84 Fujitsu FR30,
4725: >>18 leshort 85 Mitsubishi D10V,
4726: >>18 leshort 86 Mitsubishi D30V,
4727: >>18 leshort 87 NEC v850,
4728: >>18 leshort 88 Renesas M32R,
4729: >>18 leshort 89 Matsushita MN10300,
4730: >>18 leshort 90 Matsushita MN10200,
4731: >>18 leshort 91 picoJava,
4732: >>18 leshort 92 OpenRISC,
4733: >>18 leshort 93 ARC Cores Tangent-A5,
4734: >>18 leshort 0x3426 OpenRISC (obsolete),
4735: >>18 leshort 0x8472 OpenRISC (obsolete),
4736: >>18 leshort 94 Tensilica Xtensa,
4737: >>18 leshort 97 NatSemi 32k,
4738: >>18 leshort 106 Analog Devices Blackfin,
4739: >>18 leshort 0x9026 Alpha (unofficial),
4740: >>20 lelong 0 invalid version
4741: >>20 lelong 1 version 1
4742: >>36 lelong 1 MathCoPro/FPU/MAU Required
4743: >5 byte 2 MSB
4744: >>16 beshort 0 no file type,
4745: !:mime application/octet-stream
4746: >>16 beshort 1 relocatable,
4747: !:mime application/x-object
4748: >>16 beshort 2 executable,
4749: !:mime application/x-executable
4750: >>16 beshort 3 shared object,
4751: !:mime application/x-sharedlib
4752: >>16 beshort 4 core file,
4753: !:mime application/x-coredump
4754: #>>>(0x38+0xcc) string >\0 of '%s'
4755: #>>>(0x38+0x10) belong >0 (signal %d),
4756: >>16 beshort &0xff00 processor-specific,
4757: >>18 beshort 0 no machine,
4758: >>18 beshort 1 AT&T WE32100,
4759: >>18 beshort 2 SPARC,
4760: >>18 beshort 3 Intel 80386 - invalid byte order,
4761: >>18 beshort 4 Motorola
4762: >>>36 belong &0x01000000 68000,
4763: >>>36 belong &0x00810000 CPU32,
4764: >>>36 belong 0 68020,
4765: >>18 beshort 5 Motorola 88000,
4766: >>18 beshort 6 Intel 80486 - invalid byte order,
4767: >>18 beshort 7 Intel 80860,
4768: # only for MIPS - see comment in little-endian section above.
4769: >>18 beshort 8 MIPS,
4770: >>>36 belong &0x20 N32
4771: >>18 beshort 10 MIPS,
4772: >>>36 belong &0x20 N32
4773: >>18 beshort 8
4774: # only for 32-bit
4775: >>>4 byte 1
4776: >>>>36 belong&0xf0000000 0x00000000 MIPS-I
4777: >>>>36 belong&0xf0000000 0x10000000 MIPS-II
4778: >>>>36 belong&0xf0000000 0x20000000 MIPS-III
4779: >>>>36 belong&0xf0000000 0x30000000 MIPS-IV
4780: >>>>36 belong&0xf0000000 0x40000000 MIPS-V
4781: >>>>36 belong&0xf0000000 0x50000000 MIPS32
4782: >>>>36 belong&0xf0000000 0x60000000 MIPS64
4783: >>>>36 belong&0xf0000000 0x70000000 MIPS32 rel2
4784: >>>>36 belong&0xf0000000 0x80000000 MIPS64 rel2
4785: # only for 64-bit
4786: >>>4 byte 2
4787: >>>>48 belong&0xf0000000 0x00000000 MIPS-I
4788: >>>>48 belong&0xf0000000 0x10000000 MIPS-II
4789: >>>>48 belong&0xf0000000 0x20000000 MIPS-III
4790: >>>>48 belong&0xf0000000 0x30000000 MIPS-IV
4791: >>>>48 belong&0xf0000000 0x40000000 MIPS-V
4792: >>>>48 belong&0xf0000000 0x50000000 MIPS32
4793: >>>>48 belong&0xf0000000 0x60000000 MIPS64
4794: >>>>48 belong&0xf0000000 0x70000000 MIPS32 rel2
4795: >>>>48 belong&0xf0000000 0x80000000 MIPS64 rel2
4796: >>18 beshort 9 Amdahl,
4797: >>18 beshort 10 MIPS (deprecated),
4798: >>18 beshort 11 RS6000,
4799: >>18 beshort 15 PA-RISC
4800: >>>50 beshort 0x0214 2.0
4801: >>>48 beshort &0x0008 (LP64)
4802: >>18 beshort 16 nCUBE,
4803: >>18 beshort 17 Fujitsu VPP500,
4804: >>18 beshort 18 SPARC32PLUS,
4805: >>>36 belong&0xffff00 0x000100 V8+ Required,
4806: >>>36 belong&0xffff00 0x000200 Sun UltraSPARC1 Extensions Required,
4807: >>>36 belong&0xffff00 0x000400 HaL R1 Extensions Required,
4808: >>>36 belong&0xffff00 0x000800 Sun UltraSPARC3 Extensions Required,
4809: >>18 beshort 20 PowerPC or cisco 4500,
4810: >>18 beshort 21 64-bit PowerPC or cisco 7500,
4811: >>18 beshort 22 IBM S/390,
4812: >>18 beshort 23 Cell SPU,
4813: >>18 beshort 24 cisco SVIP,
4814: >>18 beshort 25 cisco 7200,
4815: >>18 beshort 36 NEC V800 or cisco 12000,
4816: >>18 beshort 37 Fujitsu FR20,
4817: >>18 beshort 38 TRW RH-32,
4818: >>18 beshort 39 Motorola RCE,
4819: >>18 beshort 40 ARM,
4820: >>18 beshort 41 Alpha,
4821: >>18 beshort 42 Renesas SH,
4822: >>18 beshort 43 SPARC V9,
4823: >>>48 belong&0xffff00 0x000200 Sun UltraSPARC1 Extensions Required,
4824: >>>48 belong&0xffff00 0x000400 HaL R1 Extensions Required,
4825: >>>48 belong&0xffff00 0x000800 Sun UltraSPARC3 Extensions Required,
4826: >>>48 belong&0x3 0 total store ordering,
4827: >>>48 belong&0x3 1 partial store ordering,
4828: >>>48 belong&0x3 2 relaxed memory ordering,
4829: >>18 beshort 44 Siemens Tricore Embedded Processor,
4830: >>18 beshort 45 Argonaut RISC Core, Argonaut Technologies Inc.,
4831: >>18 beshort 46 Renesas H8/300,
4832: >>18 beshort 47 Renesas H8/300H,
4833: >>18 beshort 48 Renesas H8S,
4834: >>18 beshort 49 Renesas H8/500,
4835: >>18 beshort 50 IA-64,
4836: >>18 beshort 51 Stanford MIPS-X,
4837: >>18 beshort 52 Motorola Coldfire,
4838: >>18 beshort 53 Motorola M68HC12,
4839: >>18 beshort 73 Cray NV1,
4840: >>18 beshort 75 Digital VAX,
4841: >>18 beshort 88 Renesas M32R,
4842: >>18 leshort 92 OpenRISC,
4843: >>18 leshort 0x3426 OpenRISC (obsolete),
4844: >>18 leshort 0x8472 OpenRISC (obsolete),
4845: >>18 beshort 94 Tensilica Xtensa,
4846: >>18 beshort 97 NatSemi 32k,
4847: >>18 beshort 0x18ad AVR32 (unofficial),
4848: >>18 beshort 0x9026 Alpha (unofficial),
4849: >>18 beshort 0xa390 IBM S/390 (obsolete),
4850: >>20 belong 0 invalid version
4851: >>20 belong 1 version 1
4852: >>36 belong 1 MathCoPro/FPU/MAU Required
4853: # Up to now only 0, 1 and 2 are defined; I've seen a file with 0x83, it seemed
4854: # like proper ELF, but extracting the string had bad results.
4855: >4 byte <0x80
4856: >>8 string >\0 (%s)
4857: >8 string \0
4858: >>7 byte 0 (SYSV)
4859: >>7 byte 1 (HP-UX)
4860: >>7 byte 2 (NetBSD)
4861: >>7 byte 3 (GNU/Linux)
4862: >>7 byte 4 (GNU/Hurd)
4863: >>7 byte 5 (86Open)
4864: >>7 byte 6 (Solaris)
4865: >>7 byte 7 (Monterey)
4866: >>7 byte 8 (IRIX)
4867: >>7 byte 9 (FreeBSD)
4868: >>7 byte 10 (Tru64)
4869: >>7 byte 11 (Novell Modesto)
4870: >>7 byte 12 (OpenBSD)
4871: >8 string \2
4872: >>7 byte 13 (OpenVMS)
4873: >>7 byte 97 (ARM)
4874: >>7 byte 255 (embedded)
4875:
4876: #------------------------------------------------------------------------------
4877: # encore: file(1) magic for Encore machines
4878: #
4879: # XXX - needs to have the byte order specified (NS32K was little-endian,
4880: # dunno whether they run the 88K in little-endian mode or not).
4881: #
4882: 0 short 0x154 Encore
4883: >20 short 0x107 executable
4884: >20 short 0x108 pure executable
4885: >20 short 0x10b demand-paged executable
4886: >20 short 0x10f unsupported executable
4887: >12 long >0 not stripped
4888: >22 short >0 - version %ld
4889: >22 short 0 -
4890: #>4 date x stamp %s
4891: 0 short 0x155 Encore unsupported executable
4892: >12 long >0 not stripped
4893: >22 short >0 - version %ld
4894: >22 short 0 -
4895: #>4 date x stamp %s
4896:
4897: #------------------------------------------------------------------------------
4898: # Epoc 32 : file(1) magic for Epoc Documents [psion/osaris
4899: # Stefan Praszalowicz (hpicollo@worldnet.fr)
4900: #0 lelong 0x10000037 Epoc32
4901: >4 lelong 0x1000006D
4902: >>8 lelong 0x1000007F Word
4903: >>8 lelong 0x10000088 Sheet
4904: >>8 lelong 0x1000007D Sketch
4905: >>8 lelong 0x10000085 TextEd
4906:
4907: #------------------------------------------------------------------------------
4908: # erlang: file(1) magic for Erlang JAM and BEAM files
4909: # URL: http://www.erlang.org/faq/x779.html#AEN812
4910:
4911: # OTP R3-R4
4912: 0 string \0177BEAM! Old Erlang BEAM file
4913: >6 short >0 - version %d
4914:
4915: # OTP R5 and onwards
4916: 0 string FOR1
4917: >8 string BEAM Erlang BEAM file
4918:
4919: # 4.2 version may have a copyright notice!
4920: 4 string Tue Jan 22 14:32:44 MET 1991 Erlang JAM file - version 4.2
4921: 79 string Tue Jan 22 14:32:44 MET 1991 Erlang JAM file - version 4.2
4922:
4923: 4 string 1.0 Fri Feb 3 09:55:56 MET 1995 Erlang JAM file - version 4.3
4924:
4925: #------------------------------------------------------------------------------
4926: # ESRI Shapefile format (.shp .shx .dbf=DBaseIII)
4927: # Based on info from
4928: # <URL:http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf>
4929: 0 belong 9994 ESRI Shapefile
4930: >4 belong =0
4931: >8 belong =0
4932: >12 belong =0
4933: >16 belong =0
4934: >20 belong =0
4935: >28 lelong x version %d
4936: >24 belong x length %d
4937: >32 lelong =0 type Null Shape
4938: >32 lelong =1 type Point
4939: >32 lelong =3 type PolyLine
4940: >32 lelong =5 type Polygon
4941: >32 lelong =8 type MultiPoint
4942: >32 lelong =11 type PointZ
4943: >32 lelong =13 type PolyLineZ
4944: >32 lelong =15 type PolygonZ
4945: >32 lelong =18 type MultiPointZ
4946: >32 lelong =21 type PointM
4947: >32 lelong =23 type PolyLineM
4948: >32 lelong =25 type PolygonM
4949: >32 lelong =28 type MultiPointM
4950: >32 lelong =31 type MultiPatch
4951:
4952: #------------------------------------------------------------------------------
4953: # fcs: file(1) magic for FCS (Flow Cytometry Standard) data files
4954: # From Roger Leigh <roger@whinlatter.uklinux.net>
4955: 0 string FCS1.0 Flow Cytometry Standard (FCS) data, version 1.0
4956: 0 string FCS2.0 Flow Cytometry Standard (FCS) data, version 2.0
4957: 0 string FCS3.0 Flow Cytometry Standard (FCS) data, version 3.0
4958:
4959:
4960: #------------------------------------------------------------------------------
4961: # filesystems: file(1) magic for different filesystems
4962: #
4963: 0 string \366\366\366\366 PC formatted floppy with no filesystem
4964: # Sun disk labels
4965: # From /usr/include/sun/dklabel.h:
4966: 0774 beshort 0xdabe
4967: # modified by Joerg Jenderek, because original test
4968: # succeeds for Cabinet archive dao360.dl_ with negative blocks
4969: >0770 long >0 Sun disk label
4970: >>0 string x '%s
4971: >>>31 string >\0 \b%s
4972: >>>>63 string >\0 \b%s
4973: >>>>>95 string >\0 \b%s
4974: >>0 string x \b'
4975: >>0734 short >0 %d rpm,
4976: >>0736 short >0 %d phys cys,
4977: >>0740 short >0 %d alts/cyl,
4978: >>0746 short >0 %d interleave,
4979: >>0750 short >0 %d data cyls,
4980: >>0752 short >0 %d alt cyls,
4981: >>0754 short >0 %d heads/partition,
4982: >>0756 short >0 %d sectors/track,
4983: >>0764 long >0 start cyl %ld,
4984: >>0770 long x %ld blocks
4985: # Is there a boot block written 1 sector in?
4986: >512 belong&077777777 0600407 \b, boot block present
4987: # Joerg Jenderek: Smart Boot Manager backup file is 41 byte header + first sectors of disc
4988: # (http://btmgr.sourceforge.net/docs/user-guide-3.html)
4989: 0 string SBMBAKUP_ Smart Boot Manager backup file
4990: >9 string x \b, version %-5.5s
4991: >>14 string =_
4992: >>>15 string x %-.1s
4993: >>>>16 string =_ \b.
4994: >>>>>17 string x \b%-.1s
4995: >>>>>>18 string =_ \b.
4996: >>>>>>>19 string x \b%-.1s
4997: >>>22 ubyte 0
4998: >>>>21 ubyte x \b, from drive 0x%x
4999: >>>22 ubyte >0
5000: >>>>21 string x \b, from drive %s
5001:
5002: # Joerg Jenderek
5003: # DOS Emulator image is 128 byte, null right padded header + harddisc image
5004: 0 string DOSEMU\0
5005: >0x27E leshort 0xAA55
5006: #offset is 128
5007: >>19 ubyte 128
5008: >>>(19.b-1) ubyte 0x0 DOS Emulator image
5009: >>>>7 ulelong >0 \b, %u heads
5010: >>>>11 ulelong >0 \b, %d sectors/track
5011: >>>>15 ulelong >0 \b, %d cylinders
5012:
5013: # updated by Joerg Jenderek at Sep 2007
5014: # only for sector sizes with 512 or more Bytes
5015: 0x1FE leshort 0xAA55 x86 boot sector
5016: # to do also for sectors < than 512 Bytes and some other files, GRR
5017: #30 search/481 \x55\xAA x86 boot sector
5018: # not for BeOS floppy 1440k, MBRs
5019: #(11.s-2) uleshort 0xAA55 x86 boot sector
5020: >2 string OSBS \b, OS/BS MBR
5021: # J\xf6rg Jenderek <joerg dot jenderek at web dot de>
5022: >0x8C string Invalid\ partition\ table \b, MS-DOS MBR
5023: # dr-dos with some upper-, lowercase variants
5024: >0x9D string Invalid\ partition\ table$
5025: >>181 string No\ Operating\ System$
5026: >>>201 string Operating\ System\ load\ error$ \b, DR-DOS MBR, Version 7.01 to 7.03
5027: >0x9D string Invalid\ partition\ table$
5028: >>181 string No\ operating\ system$
5029: >>>201 string Operating\ system\ load\ error$ \b, DR-DOS MBR, Version 7.01 to 7.03
5030: >342 string Invalid\ partition\ table$
5031: >>366 string No\ operating\ system$
5032: >>>386 string Operating\ system\ load\ error$ \b, DR-DOS MBR, version 7.01 to 7.03
5033: >295 string NEWLDR\0
5034: >>302 string Bad\ PT\ $
5035: >>>310 string No\ OS\ $
5036: >>>>317 string OS\ load\ err$
5037: >>>>>329 string Moved\ or\ missing\ IBMBIO.LDR\n\r
5038: >>>>>>358 string Press\ any\ key\ to\ continue.\n\r$
5039: >>>>>>>387 string Copyright\ (c)\ 1984,1998
5040: >>>>>>>>411 string Caldera\ Inc.\0 \b, DR-DOS MBR (IBMBIO.LDR)
5041: >0x10F string Ung\201ltige\ Partitionstabelle \b, MS-DOS MBR, german version 4.10.1998, 4.10.2222
5042: >>0x1B8 ubelong >0 \b, Serial 0x%-.4x
5043: >0x8B string Ung\201ltige\ Partitionstabelle \b, MS-DOS MBR, german version 5.00 to 4.00.950
5044: >271 string Invalid\ partition\ table\0
5045: >>295 string Error\ loading\ operating\ system\0
5046: >>>326 string Missing\ operating\ system\0 \b, mbr
5047: #
5048: >139 string Invalid\ partition\ table\0
5049: >>163 string Error\ loading\ operating\ system\0
5050: >>>194 string Missing\ operating\ system\0 \b, Microsoft Windows XP mbr
5051: # http://www.heise.de/ct/05/09/006/ page 184
5052: #HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices\DosDevices\?:=Serial4Bytes+8Bytes
5053: >>>>0x1B8 ulelong >0 \b,Serial 0x%-.4x
5054: >300 string Invalid\ partition\ table\0
5055: >>324 string Error\ loading\ operating\ system\0
5056: >>>355 string Missing\ operating\ system\0 \b, Microsoft Windows XP MBR
5057: #??>>>389 string Invalid\ system\ disk
5058: >>>>0x1B8 ulelong >0 \b, Serial 0x%-.4x
5059: >300 string Ung\201ltige\ Partitionstabelle
5060: #split string to avoid error: String too long
5061: >>328 string Fehler\ beim\ Laden\
5062: >>>346 string des\ Betriebssystems
5063: >>>>366 string Betriebssystem\ nicht\ vorhanden \b, Microsoft Windows XP MBR (german)
5064: >>>>>0x1B8 ulelong >0 \b, Serial 0x%-.4x
5065: >0x145 string Default:\ F \b, FREE-DOS MBR
5066: >64 string no\ active\ partition\ found
5067: >>96 string read\ error\ while\ reading\ drive \b, FREE-DOS Beta 0.9 MBR
5068: >271 string Operating\ system\ loading
5069: >>296 string error\r \b, SYSLINUX MBR (2.10)
5070: # http://www.acronis.de/
5071: >362 string MBR\ Error\ \0\r
5072: >>376 string ress\ any\ key\ to\
5073: >>>392 string boot\ from\ floppy...\0 \b, Acronis MBR
5074: # added by Joerg Jenderek
5075: # http://www.visopsys.org/
5076: # http://partitionlogic.org.uk/
5077: >309 string No\ bootable\ partition\ found\r
5078: >>339 string I/O\ Error\ reading\ boot\ sector\r \b, Visopsys MBR
5079: >349 string No\ bootable\ partition\ found\r
5080: >>379 string I/O\ Error\ reading\ boot\ sector\r \b, simple Visopsys MBR
5081: # bootloader, bootmanager
5082: >0x40 string SBML
5083: # label with 11 characters of FAT 12 bit filesystem
5084: >>43 string SMART\ BTMGR
5085: >>>430 string SBMK\ Bad!\r
5086: >>>>3 string SBM \b, Smart Boot Manager
5087: >>>>>6 string >\0 \b, version %s
5088: >382 string XOSLLOADXCF \b, eXtended Operating System Loader
5089: >6 string LILO \b, LInux i386 boot LOader
5090: >>120 string LILO \b, version 22.3.4 SuSe
5091: >>172 string LILO \b, version 22.5.8 Debian
5092: # updated by Joerg Jenderek
5093: # variables according to grub-0.97/stage1/stage1.S or
5094: # http://www.gnu.org/software/grub/manual/grub.html#Embedded-data
5095: # usual values are marked with comments to get only informations of strange GRUB loaders
5096: >0 ulelong 0x009048EB
5097: >>0x41 ubyte <2
5098: >>>0x3E ubyte >2 \b; GRand Unified Bootloader
5099: # 0x3 for 0.5.95,0.93,0.94,0.96 0x4 for 1.90
5100: >>>>0x3E ubyte x \b, stage1 version 0x%x
5101: #If it is 0xFF, use a drive passed by BIOS
5102: >>>>0x40 ubyte <0xFF \b, boot drive 0x%x
5103: # in most case 0,1,0x2e for GRUB 0.5.95
5104: >>>>0x41 ubyte >0 \b, LBA flag 0x%x
5105: >>>>0x42 uleshort <0x8000 \b, stage2 address 0x%x
5106: #>>>>0x42 uleshort =0x8000 \b, stage2 address 0x%x (usual)
5107: >>>>0x42 uleshort >0x8000 \b, stage2 address 0x%x
5108: #>>>>0x44 ulelong =1 \b, 1st sector stage2 0x%x (default)
5109: >>>>0x44 ulelong >1 \b, 1st sector stage2 0x%x
5110: >>>>0x48 uleshort <0x800 \b, stage2 segment 0x%x
5111: #>>>>0x48 uleshort =0x800 \b, stage2 segment 0x%x (usual)
5112: >>>>0x48 uleshort >0x800 \b, stage2 segment 0x%x
5113: >>>>402 string Geom\0Hard\ Disk\0Read\0\ Error\0
5114: >>>>>394 string stage1 \b, GRUB version 0.5.95
5115: >>>>382 string Geom\0Hard\ Disk\0Read\0\ Error\0
5116: >>>>>376 string GRUB\ \0 \b, GRUB version 0.93 or 1.94
5117: >>>>383 string Geom\0Hard\ Disk\0Read\0\ Error\0
5118: >>>>>377 string GRUB\ \0 \b, GRUB version 0.94
5119: >>>>385 string Geom\0Hard\ Disk\0Read\0\ Error\0
5120: >>>>>379 string GRUB\ \0 \b, GRUB version 0.95 or 0.96
5121: >>>>391 string Geom\0Hard\ Disk\0Read\0\ Error\0
5122: >>>>>385 string GRUB\ \0 \b, GRUB version 0.97
5123: #unkown version
5124: >>>343 string Geom\0Read\0\ Error\0
5125: >>>>321 string Loading\ stage1.5 \b, GRUB version x.y
5126: >>>380 string Geom\0Hard\ Disk\0Read\0\ Error\0
5127: >>>>374 string GRUB\ \0 \b, GRUB version n.m
5128: # http://syslinux.zytor.com/
5129: >478 string Boot\ failed\r
5130: >>495 string LDLINUX\ SYS \b, SYSLINUX bootloader (1.62)
5131: >480 string Boot\ failed\r
5132: >>495 string LDLINUX\ SYS \b, SYSLINUX bootloader (2.06 or 2.11)
5133: >484 string Boot\ error\r \b, SYSLINUX bootloader (3.11)
5134: >395 string chksum\0\ ERROR!\0 \b, Gujin bootloader
5135: # http://www.bcdwb.de/bcdw/index_e.htm
5136: >3 string BCDL
5137: >>498 string BCDL\ \ \ \ BIN \b, Bootable CD Loader (1.50Z)
5138: # mbr partion table entries
5139: # OEM-ID not Microsoft,SYSLINUX,or MTOOLs
5140: >3 string !MS
5141: >>3 string !SYSLINUX
5142: >>>3 string !MTOOL
5143: # not FAT (32 bit)
5144: >>>>82 string !FAT32
5145: #not IO.SYS
5146: >>>>>472 string !IO\ \ \ \ \ \ SYS
5147: >>>>>>480 string !IO\ \ \ \ \ \ SYS
5148: #not Linux kernel
5149: >>>>>>>514 string !HdrS
5150: #not BeOS
5151: >>>>>>>>422 string !Be\ Boot\ Loader
5152: # active flag 0 or 0x80 and type > 0
5153: >>>>>>>>>446 ubyte <0x81
5154: >>>>>>>>>>446 ubyte&0x7F 0
5155: >>>>>>>>>>>450 ubyte >0 \b; partition 1: ID=0x%x
5156: >>>>>>>>>>>>446 ubyte 0x80 \b, active
5157: >>>>>>>>>>>>447 ubyte x \b, starthead %u
5158: #>>>>>>>>>>>>448 ubyte x \b, start C_S: 0x%x
5159: #>>>>>>>>>>>>448 ubeshort&1023 x \b, startcylinder? %d
5160: >>>>>>>>>>>>454 ulelong x \b, startsector %u
5161: >>>>>>>>>>>>458 ulelong x \b, %u sectors
5162: #
5163: >>>>>>>>>462 ubyte <0x81
5164: >>>>>>>>>>462 ubyte&0x7F 0
5165: >>>>>>>>>>>466 ubyte >0 \b; partition 2: ID=0x%x
5166: >>>>>>>>>>>>462 ubyte 0x80 \b, active
5167: >>>>>>>>>>>>463 ubyte x \b, starthead %u
5168: #>>>>>>>>>>>>464 ubyte x \b, start C_S: 0x%x
5169: #>>>>>>>>>>>>464 ubeshort&1023 x \b, startcylinder? %d
5170: >>>>>>>>>>>>470 ulelong x \b, startsector %u
5171: >>>>>>>>>>>>474 ulelong x \b, %u sectors
5172: #
5173: >>>>>>>>>478 ubyte <0x81
5174: >>>>>>>>>>478 ubyte&0x7F 0
5175: >>>>>>>>>>>482 ubyte >0 \b; partition 3: ID=0x%x
5176: >>>>>>>>>>>>478 ubyte 0x80 \b, active
5177: >>>>>>>>>>>>479 ubyte x \b, starthead %u
5178: #>>>>>>>>>>>>480 ubyte x \b, start C_S: 0x%x
5179: #>>>>>>>>>>>>481 ubyte x \b, start C2S: 0x%x
5180: #>>>>>>>>>>>>480 ubeshort&1023 x \b, startcylinder? %d
5181: >>>>>>>>>>>>486 ulelong x \b, startsector %u
5182: >>>>>>>>>>>>490 ulelong x \b, %u sectors
5183: #
5184: >>>>>>>>>494 ubyte <0x81
5185: >>>>>>>>>>494 ubyte&0x7F 0
5186: >>>>>>>>>>>498 ubyte >0 \b; partition 4: ID=0x%x
5187: >>>>>>>>>>>>494 ubyte 0x80 \b, active
5188: >>>>>>>>>>>>495 ubyte x \b, starthead %u
5189: #>>>>>>>>>>>>496 ubyte x \b, start C_S: 0x%x
5190: #>>>>>>>>>>>>496 ubeshort&1023 x \b, startcylinder? %d
5191: >>>>>>>>>>>>502 ulelong x \b, startsector %u
5192: >>>>>>>>>>>>506 ulelong x \b, %u sectors
5193: # mbr partion table entries end
5194: # http://www.acronis.de/
5195: #FAT label=ACRONIS\ SZ
5196: #OEM-ID=BOOTWIZ0
5197: >442 string Non-system\ disk,\
5198: >>459 string press\ any\ key...\x7\0 \b, Acronis Startup Recovery Loader
5199: # DOS names like F11.SYS are 8 right space padded bytes+3 bytes
5200: >>>477 ubyte&0xDF >0
5201: >>>>477 string x \b %-.3s
5202: >>>>>480 ubyte&0xDF >0
5203: >>>>>>480 string x \b%-.5s
5204: >>>>485 ubyte&0xDF >0
5205: >>>>>485 string x \b.%-.3s
5206: #
5207: >185 string FDBOOT\ Version\
5208: >>204 string \rNo\ Systemdisk.\
5209: >>>220 string Booting\ from\ harddisk.\n\r
5210: >>>245 string Cannot\ load\ from\ harddisk.\n\r
5211: >>>>273 string Insert\ Systemdisk\
5212: >>>>>291 string and\ press\ any\ key.\n\r \b, FDBOOT harddisk Bootloader
5213: >>>>>>200 string >\0 \b, version %-3s
5214: >242 string Bootsector\ from\ C.H.\ Hochst\204
5215: >>278 string No\ Systemdisk.\
5216: >>>293 string Booting\ from\ harddisk.\n\r
5217: >>>441 string Cannot\ load\ from\ harddisk.\n\r
5218: >>>>469 string Insert\ Systemdisk\
5219: >>>>>487 string and\ press\ any\ key.\n\r \b, WinImage harddisk Bootloader
5220: >>>>>>209 string >\0 \b, version %-4.4s
5221: >(1.b+2) ubyte 0xe
5222: >>(1.b+3) ubyte 0x1f
5223: >>>(1.b+4) ubyte 0xbe
5224: >>>>(1.b+5) ubyte 0x77
5225: >>>>(1.b+6) ubyte 0x7c
5226: >>>>>(1.b+7) ubyte 0xac
5227: >>>>>>(1.b+8) ubyte 0x22
5228: >>>>>>>(1.b+9) ubyte 0xc0
5229: >>>>>>>>(1.b+10) ubyte 0x74
5230: >>>>>>>>>(1.b+11) ubyte 0xb
5231: >>>>>>>>>>(1.b+12) ubyte 0x56
5232: >>>>>>>>>>(1.b+13) ubyte 0xb4 \b, mkdosfs boot message display
5233: >103 string This\ is\ not\ a\ bootable\ disk.\
5234: >>132 string Please\ insert\ a\ bootable\
5235: >>>157 string floppy\ and\r\n
5236: >>>>169 string press\ any\ key\ to\ try\ again...\r \b, FREE-DOS message display
5237: #
5238: >66 string Solaris\ Boot\ Sector
5239: >>99 string Incomplete\ MDBoot\ load.
5240: >>>89 string Version \b, Sun Solaris Bootloader
5241: >>>>97 byte x version %c
5242: #
5243: >408 string OS/2\ !!\ SYS01475\r\0
5244: >>429 string OS/2\ !!\ SYS02025\r\0
5245: >>>450 string OS/2\ !!\ SYS02027\r\0
5246: >>>469 string OS2BOOT\ \ \ \ \b, IBM OS/2 Warp bootloader
5247: #
5248: >409 string OS/2\ !!\ SYS01475\r\0
5249: >>430 string OS/2\ !!\ SYS02025\r\0
5250: >>>451 string OS/2\ !!\ SYS02027\r\0
5251: >>>470 string OS2BOOT\ \ \ \ \b, IBM OS/2 Warp Bootloader
5252: >112 string This\ disk\ is\ not\ bootable\r
5253: >>142 string If\ you\ wish\ to\ make\ it\ bootable
5254: >>>176 string run\ the\ DOS\ program\ SYS\
5255: >>>200 string after\ the\r
5256: >>>>216 string system\ has\ been\ loaded\r\n
5257: >>>>>242 string Please\ insert\ a\ DOS\ diskette\
5258: >>>>>271 string into\r\n\ the\ drive\ and\
5259: >>>>>>292 string strike\ any\ key...\0 \b, IBM OS/2 Warp message display
5260: # XP
5261: >430 string NTLDR\ is\ missing\xFF\r\n
5262: >>449 string Disk\ error\xFF\r\n
5263: >>>462 string Press\ any\ key\ to\ restart\r \b, Microsoft Windows XP Bootloader
5264: # DOS names like NTLDR,CMLDR,$LDR$ are 8 right space padded bytes+3 bytes
5265: >>>>417 ubyte&0xDF >0
5266: >>>>>417 string x %-.5s
5267: >>>>>>422 ubyte&0xDF >0
5268: >>>>>>>422 string x \b%-.3s
5269: >>>>>425 ubyte&0xDF >0
5270: >>>>>>425 string >\ \b.%-.3s
5271: #
5272: >>>>371 ubyte >0x20
5273: >>>>>368 ubyte&0xDF >0
5274: >>>>>>368 string x %-.5s
5275: >>>>>>>373 ubyte&0xDF >0
5276: >>>>>>>>373 string x \b%-.3s
5277: >>>>>>376 ubyte&0xDF >0
5278: >>>>>>>376 string x \b.%-.3s
5279: #
5280: >430 string NTLDR\ nicht\ gefunden\xFF\r\n
5281: >>453 string Datentr\204gerfehler\xFF\r\n
5282: >>>473 string Neustart\ mit\ beliebiger\ Taste\r \b, Microsoft Windows XP Bootloader (german)
5283: >>>>417 ubyte&0xDF >0
5284: >>>>>417 string x %-.5s
5285: >>>>>>422 ubyte&0xDF >0
5286: >>>>>>>422 string x \b%-.3s
5287: >>>>>425 ubyte&0xDF >0
5288: >>>>>>425 string >\ \b.%-.3s
5289: # offset variant
5290: >>>>379 string \0
5291: >>>>>368 ubyte&0xDF >0
5292: >>>>>>368 string x %-.5s
5293: >>>>>>>373 ubyte&0xDF >0
5294: >>>>>>>>373 string x \b%-.3s
5295: #
5296: >430 string NTLDR\ fehlt\xFF\r\n
5297: >>444 string Datentr\204gerfehler\xFF\r\n
5298: >>>464 string Neustart\ mit\ beliebiger\ Taste\r \b, Microsoft Windows XP Bootloader (2.german)
5299: >>>>417 ubyte&0xDF >0
5300: >>>>>417 string x %-.5s
5301: >>>>>>422 ubyte&0xDF >0
5302: >>>>>>>422 string x \b%-.3s
5303: >>>>>425 ubyte&0xDF >0
5304: >>>>>>425 string >\ \b.%-.3s
5305: # variant
5306: >>>>371 ubyte >0x20
5307: >>>>>368 ubyte&0xDF >0
5308: >>>>>>368 string x %-.5s
5309: >>>>>>>373 ubyte&0xDF >0
5310: >>>>>>>>373 string x \b%-.3s
5311: >>>>>>376 ubyte&0xDF >0
5312: >>>>>>>376 string x \b.%-.3s
5313: #
5314: >430 string NTLDR\ fehlt\xFF\r\n
5315: >>444 string Medienfehler\xFF\r\n
5316: >>>459 string Neustart:\ Taste\ dr\201cken\r \b, Microsoft Windows XP Bootloader (3.german)
5317: >>>>371 ubyte >0x20
5318: >>>>>368 ubyte&0xDF >0
5319: >>>>>>368 string x %-.5s
5320: >>>>>>>373 ubyte&0xDF >0
5321: >>>>>>>>373 string x \b%-.3s
5322: >>>>>>376 ubyte&0xDF >0
5323: >>>>>>>376 string x \b.%-.3s
5324: # variant
5325: >>>>417 ubyte&0xDF >0
5326: >>>>>417 string x %-.5s
5327: >>>>>>422 ubyte&0xDF >0
5328: >>>>>>>422 string x \b%-.3s
5329: >>>>>425 ubyte&0xDF >0
5330: >>>>>>425 string >\ \b.%-.3s
5331: #
5332: >430 string Datentr\204ger\ entfernen\xFF\r\n
5333: >>454 string Medienfehler\xFF\r\n
5334: >>>469 string Neustart:\ Taste\ dr\201cken\r \b, Microsoft Windows XP Bootloader (4.german)
5335: >>>>368 ubyte&0xDF >0
5336: >>>>>368 string x %-.5s
5337: >>>>>>373 ubyte&0xDF >0
5338: >>>>>>>373 string x \b%-.3s
5339: >>>>>376 ubyte&0xDF >0
5340: >>>>>>376 string x \b.%-.3s
5341: #>3 string NTFS\ \ \ \
5342: >389 string Fehler\ beim\ Lesen\
5343: >>407 string des\ Datentr\204gers
5344: >>>426 string NTLDR\ fehlt
5345: >>>>440 string NTLDR\ ist\ komprimiert
5346: >>>>>464 string Neustart\ mit\ Strg+Alt+Entf\r \b, Microsoft Windows XP Bootloader NTFS (german)
5347: #>3 string NTFS\ \ \ \
5348: >313 string A\ disk\ read\ error\ occurred.\r
5349: >>345 string A\ kernel\ file\ is\ missing\
5350: >>>370 string from\ the\ disk.\r
5351: >>>>484 string NTLDR\ is\ compressed
5352: >>>>>429 string Insert\ a\ system\ diskette\
5353: >>>>>>454 string and\ restart\r\nthe\ system.\r \b, Microsoft Windows XP Bootloader NTFS
5354: # DOS loader variants different languages,offsets
5355: >472 ubyte&0xDF >0
5356: >>389 string Invalid\ system\ disk\xFF\r\n
5357: >>>411 string Disk\ I/O\ error
5358: >>>>428 string Replace\ the\ disk,\ and\
5359: >>>>>455 string press\ any\ key \b, Microsoft Windows 98 Bootloader
5360: #IO.SYS
5361: >>>>>>472 ubyte&0xDF >0
5362: >>>>>>>472 string x \b %-.2s
5363: >>>>>>>>474 ubyte&0xDF >0
5364: >>>>>>>>>474 string x \b%-.5s
5365: >>>>>>>>>>479 ubyte&0xDF >0
5366: >>>>>>>>>>>479 string x \b%-.1s
5367: >>>>>>>480 ubyte&0xDF >0
5368: >>>>>>>>480 string x \b.%-.3s
5369: #MSDOS.SYS
5370: >>>>>>>483 ubyte&0xDF >0 \b+
5371: >>>>>>>>483 string x \b%-.5s
5372: >>>>>>>>>488 ubyte&0xDF >0
5373: >>>>>>>>>>488 string x \b%-.3s
5374: >>>>>>>>491 ubyte&0xDF >0
5375: >>>>>>>>>491 string x \b.%-.3s
5376: #
5377: >>390 string Invalid\ system\ disk\xFF\r\n
5378: >>>412 string Disk\ I/O\ error\xFF\r\n
5379: >>>>429 string Replace\ the\ disk,\ and\
5380: >>>>>451 string then\ press\ any\ key\r \b, Microsoft Windows 98 Bootloader
5381: >>388 string Ungueltiges\ System\ \xFF\r\n
5382: >>>410 string E/A-Fehler\ \ \ \ \xFF\r\n
5383: >>>>427 string Datentraeger\ wechseln\ und\
5384: >>>>>453 string Taste\ druecken\r \b, Microsoft Windows 95/98/ME Bootloader (german)
5385: #WINBOOT.SYS only not spaces (0xDF)
5386: >>>>>>497 ubyte&0xDF >0
5387: >>>>>>>497 string x %-.5s
5388: >>>>>>>>502 ubyte&0xDF >0
5389: >>>>>>>>>502 string x \b%-.1s
5390: >>>>>>>>>>503 ubyte&0xDF >0
5391: >>>>>>>>>>>503 string x \b%-.1s
5392: >>>>>>>>>>>>504 ubyte&0xDF >0
5393: >>>>>>>>>>>>>504 string x \b%-.1s
5394: >>>>>>505 ubyte&0xDF >0
5395: >>>>>>>505 string x \b.%-.3s
5396: #IO.SYS
5397: >>>>>>472 ubyte&0xDF >0 or
5398: >>>>>>>472 string x \b %-.2s
5399: >>>>>>>>474 ubyte&0xDF >0
5400: >>>>>>>>>474 string x \b%-.5s
5401: >>>>>>>>>>479 ubyte&0xDF >0
5402: >>>>>>>>>>>479 string x \b%-.1s
5403: >>>>>>>480 ubyte&0xDF >0
5404: >>>>>>>>480 string x \b.%-.3s
5405: #MSDOS.SYS
5406: >>>>>>>483 ubyte&0xDF >0 \b+
5407: >>>>>>>>483 string x \b%-.5s
5408: >>>>>>>>>488 ubyte&0xDF >0
5409: >>>>>>>>>>488 string x \b%-.3s
5410: >>>>>>>>491 ubyte&0xDF >0
5411: >>>>>>>>>491 string x \b.%-.3s
5412: #
5413: >>390 string Ungueltiges\ System\ \xFF\r\n
5414: >>>412 string E/A-Fehler\ \ \ \ \xFF\r\n
5415: >>>>429 string Datentraeger\ wechseln\ und\
5416: >>>>>455 string Taste\ druecken\r \b, Microsoft Windows 95/98/ME Bootloader (German)
5417: #WINBOOT.SYS only not spaces (0xDF)
5418: >>>>>>497 ubyte&0xDF >0
5419: >>>>>>>497 string x %-.7s
5420: >>>>>>>>504 ubyte&0xDF >0
5421: >>>>>>>>>504 string x \b%-.1s
5422: >>>>>>505 ubyte&0xDF >0
5423: >>>>>>>505 string x \b.%-.3s
5424: #IO.SYS
5425: >>>>>>472 ubyte&0xDF >0 or
5426: >>>>>>>472 string x \b %-.2s
5427: >>>>>>>>474 ubyte&0xDF >0
5428: >>>>>>>>>474 string x \b%-.6s
5429: >>>>>>>480 ubyte&0xDF >0
5430: >>>>>>>>480 string x \b.%-.3s
5431: #MSDOS.SYS
5432: >>>>>>>483 ubyte&0xDF >0 \b+
5433: >>>>>>>>483 string x \b%-.5s
5434: >>>>>>>>>488 ubyte&0xDF >0
5435: >>>>>>>>>>488 string x \b%-.3s
5436: >>>>>>>>491 ubyte&0xDF >0
5437: >>>>>>>>>491 string x \b.%-.3s
5438: #
5439: >>389 string Ungueltiges\ System\ \xFF\r\n
5440: >>>411 string E/A-Fehler\ \ \ \ \xFF\r\n
5441: >>>>428 string Datentraeger\ wechseln\ und\
5442: >>>>>454 string Taste\ druecken\r \b, Microsoft Windows 95/98/ME Bootloader (GERMAN)
5443: # DOS names like IO.SYS,WINBOOT.SYS,MSDOS.SYS,WINBOOT.INI are 8 right space padded bytes+3 bytes
5444: >>>>>>472 string x %-.2s
5445: >>>>>>>474 ubyte&0xDF >0
5446: >>>>>>>>474 string x \b%-.5s
5447: >>>>>>>>479 ubyte&0xDF >0
5448: >>>>>>>>>479 string x \b%-.1s
5449: >>>>>>480 ubyte&0xDF >0
5450: >>>>>>>480 string x \b.%-.3s
5451: >>>>>>483 ubyte&0xDF >0 \b+
5452: >>>>>>>483 string x \b%-.5s
5453: >>>>>>>488 ubyte&0xDF >0
5454: >>>>>>>>488 string x \b%-.2s
5455: >>>>>>>>490 ubyte&0xDF >0
5456: >>>>>>>>>490 string x \b%-.1s
5457: >>>>>>>491 ubyte&0xDF >0
5458: >>>>>>>>491 string x \b.%-.3s
5459: >479 ubyte&0xDF >0
5460: >>416 string Kein\ System\ oder\
5461: >>>433 string Laufwerksfehler
5462: >>>>450 string Wechseln\ und\ Taste\ dr\201cken \b, Microsoft DOS Bootloader (german)
5463: #IO.SYS
5464: >>>>>479 string x \b %-.2s
5465: >>>>>>481 ubyte&0xDF >0
5466: >>>>>>>481 string x \b%-.6s
5467: >>>>>487 ubyte&0xDF >0
5468: >>>>>>487 string x \b.%-.3s
5469: #MSDOS.SYS
5470: >>>>>>490 ubyte&0xDF >0 \b+
5471: >>>>>>>490 string x \b%-.5s
5472: >>>>>>>>495 ubyte&0xDF >0
5473: >>>>>>>>>495 string x \b%-.3s
5474: >>>>>>>498 ubyte&0xDF >0
5475: >>>>>>>>498 string x \b.%-.3s
5476: #
5477: >376 search/41 Non-System\ disk\ or\
5478: >>395 search/41 disk\ error\r
5479: >>>407 search/41 Replace\ and\
5480: >>>>419 search/41 press\ \b,
5481: >>>>419 search/41 strike\ \b, old
5482: >>>>426 search/41 any\ key\ when\ ready\r MS or PC-DOS bootloader
5483: #449 Disk\ Boot\ failure\r MS 3.21
5484: #466 Boot\ Failure\r MS 3.30
5485: >>>>>468 search/18 \0
5486: #IO.SYS,IBMBIO.COM
5487: >>>>>>&0 string x \b %-.2s
5488: >>>>>>>&-20 ubyte&0xDF >0
5489: >>>>>>>>&-1 string x \b%-.4s
5490: >>>>>>>>>&-16 ubyte&0xDF >0
5491: >>>>>>>>>>&-1 string x \b%-.2s
5492: >>>>>>&8 ubyte&0xDF >0 \b.
5493: >>>>>>>&-1 string x \b%-.3s
5494: #MSDOS.SYS,IBMDOS.COM
5495: >>>>>>&11 ubyte&0xDF >0 \b+
5496: >>>>>>>&-1 string x \b%-.5s
5497: >>>>>>>>&-6 ubyte&0xDF >0
5498: >>>>>>>>>&-1 string x \b%-.1s
5499: >>>>>>>>>>&-5 ubyte&0xDF >0
5500: >>>>>>>>>>>&-1 string x \b%-.2s
5501: >>>>>>>&7 ubyte&0xDF >0 \b.
5502: >>>>>>>>&-1 string x \b%-.3s
5503: >441 string Cannot\ load\ from\ harddisk.\n\r
5504: >>469 string Insert\ Systemdisk\
5505: >>>487 string and\ press\ any\ key.\n\r \b, MS (2.11) DOS bootloader
5506: #>43 string \224R-LOADER\ \ SYS =label
5507: >54 string SYS
5508: >>324 string VASKK
5509: >>>495 string NEWLDR\0 \b, DR-DOS Bootloader (LOADER.SYS)
5510: #
5511: >98 string Press\ a\ key\ to\ retry\0\r
5512: >>120 string Cannot\ find\ file\ \0\r
5513: >>>139 string Disk\ read\ error\0\r
5514: >>>>156 string Loading\ ...\0 \b, DR-DOS (3.41) Bootloader
5515: #DRBIOS.SYS
5516: >>>>>44 ubyte&0xDF >0
5517: >>>>>>44 string x \b %-.6s
5518: >>>>>>>50 ubyte&0xDF >0
5519: >>>>>>>>50 string x \b%-.2s
5520: >>>>>>52 ubyte&0xDF >0
5521: >>>>>>>52 string x \b.%-.3s
5522: #
5523: >70 string IBMBIO\ \ COM
5524: >>472 string Cannot\ load\ DOS!\
5525: >>>489 string Any\ key\ to\ retry \b, DR-DOS Bootloader
5526: >>471 string Cannot\ load\ DOS\
5527: >>487 string press\ key\ to\ retry \b, Open-DOS Bootloader
5528: >444 string KERNEL\ \ SYS
5529: >>314 string BOOT\ error! \b, FREE-DOS Bootloader
5530: >499 string KERNEL\ \ SYS
5531: >>305 string BOOT\ err!\0 \b, Free-DOS Bootloader
5532: >449 string KERNEL\ \ SYS
5533: >>319 string BOOT\ error! \b, FREE-DOS 0.5 Bootloader
5534: >125 string Loading\ FreeDOS...\r
5535: >>311 string BOOT\ error!\r \b, FREE-DOS bootloader
5536: >>>441 ubyte&0xDF >0
5537: >>>>441 string x \b %-.6s
5538: >>>>>447 ubyte&0xDF >0
5539: >>>>>>447 string x \b%-.1s
5540: >>>>>>>448 ubyte&0xDF >0
5541: >>>>>>>>448 string x \b%-.1s
5542: >>>>449 ubyte&0xDF >0
5543: >>>>>449 string x \b.%-.3s
5544: >124 string FreeDOS\0
5545: >>331 string \ err\0 \b, FREE-DOS BETa 0.9 Bootloader
5546: # DOS names like KERNEL.SYS,KERNEL16.SYS,KERNEL32.SYS,METAKERN.SYS are 8 right space padded bytes+3 bytes
5547: >>>497 ubyte&0xDF >0
5548: >>>>497 string x \b %-.6s
5549: >>>>>503 ubyte&0xDF >0
5550: >>>>>>503 string x \b%-.1s
5551: >>>>>>>504 ubyte&0xDF >0
5552: >>>>>>>>504 string x \b%-.1s
5553: >>>>505 ubyte&0xDF >0
5554: >>>>>505 string x \b.%-.3s
5555: >>333 string \ err\0 \b, FREE-DOS BEta 0.9 Bootloader
5556: >>>497 ubyte&0xDF >0
5557: >>>>497 string x \b %-.6s
5558: >>>>>503 ubyte&0xDF >0
5559: >>>>>>503 string x \b%-.1s
5560: >>>>>>>504 ubyte&0xDF >0
5561: >>>>>>>>504 string x \b%-.1s
5562: >>>>505 ubyte&0xDF >0
5563: >>>>>505 string x \b.%-.3s
5564: >>334 string \ err\0 \b, FREE-DOS Beta 0.9 Bootloader
5565: >>>497 ubyte&0xDF >0
5566: >>>>497 string x \b %-.6s
5567: >>>>>503 ubyte&0xDF >0
5568: >>>>>>503 string x \b%-.1s
5569: >>>>>>>504 ubyte&0xDF >0
5570: >>>>>>>>504 string x \b%-.1s
5571: >>>>505 ubyte&0xDF >0
5572: >>>>>505 string x \b.%-.3s
5573: >336 string Error!\
5574: >>343 string Hit\ a\ key\ to\ reboot. \b, FREE-DOS Beta 0.9sr1 Bootloader
5575: >>>497 ubyte&0xDF >0
5576: >>>>497 string x \b %-.6s
5577: >>>>>503 ubyte&0xDF >0
5578: >>>>>>503 string x \b%-.1s
5579: >>>>>>>504 ubyte&0xDF >0
5580: >>>>>>>>504 string x \b%-.1s
5581: >>>>505 ubyte&0xDF >0
5582: >>>>>505 string x \b.%-.3s
5583: # added by Joerg Jenderek
5584: # http://www.visopsys.org/
5585: # http://partitionlogic.org.uk/
5586: # OEM-ID=Visopsys
5587: >478 ulelong 0
5588: >>(1.b+326) string I/O\ Error\ reading\
5589: >>>(1.b+344) string Visopsys\ loader\r
5590: >>>>(1.b+361) string Press\ any\ key\ to\ continue.\r \b, Visopsys loader
5591: # http://alexfru.chat.ru/epm.html#bootprog
5592: >494 ubyte >0x4D
5593: >>495 string >E
5594: >>>495 string <S
5595: #OEM-ID is not reliable
5596: >>>>3 string BootProg
5597: # It just looks for a program file name at the root directory
5598: # and loads corresponding file with following execution.
5599: # DOS names like STARTUP.BIN,STARTUPC.COM,STARTUPE.EXE are 8 right space padded bytes+3 bytes
5600: >>>>499 ubyte&0xDF >0 \b, COM/EXE Bootloader
5601: >>>>>499 string x \b %-.1s
5602: >>>>>>500 ubyte&0xDF >0
5603: >>>>>>>500 string x \b%-.1s
5604: >>>>>>>>501 ubyte&0xDF >0
5605: >>>>>>>>>501 string x \b%-.1s
5606: >>>>>>>>>>502 ubyte&0xDF >0
5607: >>>>>>>>>>>502 string x \b%-.1s
5608: >>>>>>>>>>>>503 ubyte&0xDF >0
5609: >>>>>>>>>>>>>503 string x \b%-.1s
5610: >>>>>>>>>>>>>>504 ubyte&0xDF >0
5611: >>>>>>>>>>>>>>>504 string x \b%-.1s
5612: >>>>>>>>>>>>>>>>505 ubyte&0xDF >0
5613: >>>>>>>>>>>>>>>>>505 string x \b%-.1s
5614: >>>>>>>>>>>>>>>>>>506 ubyte&0xDF >0
5615: >>>>>>>>>>>>>>>>>>>506 string x \b%-.1s
5616: #name extension
5617: >>>>>507 ubyte&0xDF >0 \b.
5618: >>>>>>507 string x \b%-.1s
5619: >>>>>>>508 ubyte&0xDF >0
5620: >>>>>>>>508 string x \b%-.1s
5621: >>>>>>>>>509 ubyte&0xDF >0
5622: >>>>>>>>>>509 string x \b%-.1s
5623: #If the boot sector fails to read any other sector,
5624: #it prints a very short message ("RE") to the screen and hangs the computer.
5625: #If the boot sector fails to find needed program in the root directory,
5626: #it also hangs with another message ("NF").
5627: >>>>>492 string RENF \b, FAT (12 bit)
5628: >>>>>495 string RENF \b, FAT (16 bit)
5629: # http://alexfru.chat.ru/epm.html#bootprog
5630: >494 ubyte >0x4D
5631: >>495 string >E
5632: >>>495 string <S
5633: #OEM-ID is not reliable
5634: >>>>3 string BootProg
5635: # It just looks for a program file name at the root directory
5636: # and loads corresponding file with following execution.
5637: # DOS names like STARTUP.BIN,STARTUPC.COM,STARTUPE.EXE are 8 right space padded bytes+3 bytes
5638: >>>>499 ubyte&0xDF >0 \b, COM/EXE Bootloader
5639: >>>>>499 string x \b %-.1s
5640: >>>>>>500 ubyte&0xDF >0
5641: >>>>>>>500 string x \b%-.1s
5642: >>>>>>>>501 ubyte&0xDF >0
5643: >>>>>>>>>501 string x \b%-.1s
5644: >>>>>>>>>>502 ubyte&0xDF >0
5645: >>>>>>>>>>>502 string x \b%-.1s
5646: >>>>>>>>>>>>503 ubyte&0xDF >0
5647: >>>>>>>>>>>>>503 string x \b%-.1s
5648: >>>>>>>>>>>>>>504 ubyte&0xDF >0
5649: >>>>>>>>>>>>>>>504 string x \b%-.1s
5650: >>>>>>>>>>>>>>>>505 ubyte&0xDF >0
5651: >>>>>>>>>>>>>>>>>505 string x \b%-.1s
5652: >>>>>>>>>>>>>>>>>>506 ubyte&0xDF >0
5653: >>>>>>>>>>>>>>>>>>>506 string x \b%-.1s
5654: #name extension
5655: >>>>>507 ubyte&0xDF >0 \b.
5656: >>>>>>507 string x \b%-.1s
5657: >>>>>>>508 ubyte&0xDF >0
5658: >>>>>>>>508 string x \b%-.1s
5659: >>>>>>>>>509 ubyte&0xDF >0
5660: >>>>>>>>>>509 string x \b%-.1s
5661: #If the boot sector fails to read any other sector,
5662: #it prints a very short message ("RE") to the screen and hangs the computer.
5663: #If the boot sector fails to find needed program in the root directory,
5664: #it also hangs with another message ("NF").
5665: >>>>>492 string RENF \b, FAT (12 bit)
5666: >>>>>495 string RENF \b, FAT (16 bit)
5667: # added by Joerg Jenderek
5668: # http://syslinux.zytor.com/iso.php
5669: 0 ulelong 0x7c40eafa isolinux Loader
5670: # http://syslinux.zytor.com/pxe.php
5671: 0 ulelong 0x007c05ea pxelinux Loader
5672: 0 ulelong 0x60669c66 pxelinux Loader
5673: # loader end
5674: # updated by Joerg Jenderek at Sep 2007
5675: >3 ubyte 0
5676: #no active flag
5677: >>446 ubyte 0
5678: # partition 1 not empty
5679: >>>450 ubyte >0
5680: # partitions 3,4 empty
5681: >>>>482 ubyte 0
5682: >>>>>498 ubyte 0
5683: # partition 2 ID=0,5,15
5684: >>>>>>466 ubyte <0x10
5685: >>>>>>>466 ubyte 0x05 \b, extended partition table
5686: >>>>>>>466 ubyte 0x0F \b, extended partition table (LBA)
5687: >>>>>>>466 ubyte 0x0 \b, extended partition table (last)
5688: # JuMP short bootcodeoffset NOP assembler instructions will usually be EB xx 90
5689: # http://mirror.href.com/thestarman/asm/2bytejumps.htmm#FWD
5690: # older drives may use Near JuMP instruction E9 xx xx
5691: >0 lelong&0x009000EB 0x009000EB
5692: >0 lelong&0x000000E9 0x000000E9
5693: # maximal short forward jump is 07fx
5694: >1 ubyte <0xff \b, code offset 0x%x
5695: # mtools-3.9.8/msdos.h
5696: # usual values are marked with comments to get only informations of strange FAT systems
5697: # valid sectorsize must be a power of 2 from 32 to 32768
5698: >>11 uleshort&0x000f x
5699: >>>11 uleshort <32769
5700: >>>>11 uleshort >31
5701: >>>>>3 string >\0 \b, OEM-ID "%8.8s"
5702: #http://mirror.href.com/thestarman/asm/debug/debug2.htm#IHC
5703: >>>>>>8 string IHC \b cached by Windows 9M
5704: >>>>>11 uleshort >512 \b, Bytes/sector %u
5705: #>>>>>11 uleshort =512 \b, Bytes/sector %u=512 (usual)
5706: >>>>>11 uleshort <512 \b, Bytes/sector %u
5707: >>>>>13 ubyte >1 \b, sectors/cluster %u
5708: #>>>>>13 ubyte =1 \b, sectors/cluster %u (usual on Floppies)
5709: >>>>>14 uleshort >32 \b, reserved sectors %u
5710: #>>>>>14 uleshort =32 \b, reserved sectors %u (usual Fat32)
5711: #>>>>>14 uleshort >1 \b, reserved sectors %u
5712: #>>>>>14 uleshort =1 \b, reserved sectors %u (usual FAT12,FAT16)
5713: >>>>>14 uleshort <1 \b, reserved sectors %u
5714: >>>>>16 ubyte >2 \b, FATs %u
5715: #>>>>>16 ubyte =2 \b, FATs %u (usual)
5716: >>>>>16 ubyte =1 \b, FAT %u
5717: >>>>>16 ubyte >0
5718: >>>>>17 uleshort >0 \b, root entries %u
5719: #>>>>>17 uleshort =0 \b, root entries %u=0 (usual Fat32)
5720: >>>>>19 uleshort >0 \b, sectors %u (volumes <=32 MB)
5721: #>>>>>19 uleshort =0 \b, sectors %u=0 (usual Fat32)
5722: >>>>>21 ubyte >0xF0 \b, Media descriptor 0x%x
5723: #>>>>>21 ubyte =0xF0 \b, Media descriptor 0x%x (usual floppy)
5724: >>>>>21 ubyte <0xF0 \b, Media descriptor 0x%x
5725: >>>>>22 uleshort >0 \b, sectors/FAT %u
5726: #>>>>>22 uleshort =0 \b, sectors/FAT %u=0 (usual Fat32)
5727: >>>>>26 ubyte >2 \b, heads %u
5728: #>>>>>26 ubyte =2 \b, heads %u (usual floppy)
5729: >>>>>26 ubyte =1 \b, heads %u
5730: #skip for Digital Research DOS (version 3.41) 1440 kB Bootdisk
5731: >>>>>38 ubyte !0x70
5732: >>>>>>28 ulelong >0 \b, hidden sectors %u
5733: #>>>>>>28 ulelong =0 \b, hidden sectors %u (usual floppy)
5734: >>>>>>32 ulelong >0 \b, sectors %u (volumes > 32 MB)
5735: #>>>>>>32 ulelong =0 \b, sectors %u (volumes > 32 MB)
5736: # FAT<32 specific
5737: >>>>>82 string !FAT32
5738: #>>>>>>36 ubyte 0x80 \b, physical drive 0x%x=0x80 (usual harddisk)
5739: #>>>>>>36 ubyte 0 \b, physical drive 0x%x=0 (usual floppy)
5740: >>>>>>36 ubyte !0x80
5741: >>>>>>>36 ubyte !0 \b, physical drive 0x%x
5742: >>>>>>37 ubyte >0 \b, reserved 0x%x
5743: #>>>>>>37 ubyte =0 \b, reserved 0x%x
5744: >>>>>>38 ubyte >0x29 \b, dos < 4.0 BootSector (0x%x)
5745: >>>>>>38 ubyte <0x29 \b, dos < 4.0 BootSector (0x%x)
5746: >>>>>>38 ubyte =0x29
5747: >>>>>>>39 ulelong x \b, serial number 0x%x
5748: >>>>>>>43 string <NO\ NAME \b, label: "%11.11s"
5749: >>>>>>>43 string >NO\ NAME \b, label: "%11.11s"
5750: >>>>>>>43 string =NO\ NAME \b, unlabeled
5751: >>>>>>54 string FAT \b, FAT
5752: >>>>>>>54 string FAT12 \b (12 bit)
5753: >>>>>>>54 string FAT16 \b (16 bit)
5754: # FAT32 specific
5755: >>>>>82 string FAT32 \b, FAT (32 bit)
5756: >>>>>>36 ulelong x \b, sectors/FAT %u
5757: >>>>>>40 uleshort >0 \b, extension flags %u
5758: #>>>>>>40 uleshort =0 \b, extension flags %u
5759: >>>>>>42 uleshort >0 \b, fsVersion %u
5760: #>>>>>>42 uleshort =0 \b, fsVersion %u (usual)
5761: >>>>>>44 ulelong >2 \b, rootdir cluster %u
5762: #>>>>>>44 ulelong =2 \b, rootdir cluster %u
5763: #>>>>>>44 ulelong =1 \b, rootdir cluster %u
5764: >>>>>>48 uleshort >1 \b, infoSector %u
5765: #>>>>>>48 uleshort =1 \b, infoSector %u (usual)
5766: >>>>>>48 uleshort <1 \b, infoSector %u
5767: >>>>>>50 uleshort >6 \b, Backup boot sector %u
5768: #>>>>>>50 uleshort =6 \b, Backup boot sector %u (usual)
5769: >>>>>>50 uleshort <6 \b, Backup boot sector %u
5770: >>>>>>54 ulelong >0 \b, reserved1 0x%x
5771: >>>>>>58 ulelong >0 \b, reserved2 0x%x
5772: >>>>>>62 ulelong >0 \b, reserved3 0x%x
5773: # same structure as FAT1X
5774: >>>>>>64 ubyte >0x80 \b, physical drive 0x%x
5775: #>>>>>>64 ubyte =0x80 \b, physical drive 0x%x=80 (usual harddisk)
5776: >>>>>>64 ubyte&0x7F >0 \b, physical drive 0x%x
5777: #>>>>>>64 ubyte =0 \b, physical drive 0x%x=0 (usual floppy)
5778: >>>>>>65 ubyte >0 \b, reserved 0x%x
5779: >>>>>>66 ubyte >0x29 \b, dos < 4.0 BootSector (0x%x)
5780: >>>>>>66 ubyte <0x29 \b, dos < 4.0 BootSector (0x%x)
5781: >>>>>>66 ubyte =0x29
5782: >>>>>>>67 ulelong x \b, serial number 0x%x
5783: >>>>>>>71 string <NO\ NAME \b, label: "%11.11s"
5784: >>>>>>71 string >NO\ NAME \b, label: "%11.11s"
5785: >>>>>>71 string =NO\ NAME \b, unlabeled
5786: ### FATs end
5787: >0x200 lelong 0x82564557 \b, BSD disklabel
5788: # FATX
5789: 0 string FATX FATX filesystem data
5790:
5791:
5792: # Minix filesystems - Juan Cespedes <cespedes@debian.org>
5793: 0x410 leshort 0x137f Minix filesystem
5794: 0x410 beshort 0x137f Minix filesystem (big endian)
5795: >0x402 beshort !0 \b, %d zones
5796: >0x1e string minix \b, bootable
5797: 0x410 leshort 0x138f Minix filesystem, 30 char names
5798: 0x410 leshort 0x2468 Minix filesystem, version 2
5799: 0x410 leshort 0x2478 Minix filesystem, version 2, 30 char names
5800:
5801: # romfs filesystems - Juan Cespedes <cespedes@debian.org>
5802: 0 string -rom1fs-\0 romfs filesystem, version 1
5803: >8 belong x %d bytes,
5804: >16 string x named %s.
5805:
5806: # netboot image - Juan Cespedes <cespedes@debian.org>
5807: 0 lelong 0x1b031336L Netboot image,
5808: >4 lelong&0xFFFFFF00 0
5809: >>4 lelong&0x100 0x000 mode 2
5810: >>4 lelong&0x100 0x100 mode 3
5811: >4 lelong&0xFFFFFF00 !0 unknown mode
5812:
5813: 0x18b string OS/2 OS/2 Boot Manager
5814:
5815: # added by Joerg Jenderek
5816: # In the second sector (+0x200) are variables according to grub-0.97/stage2/asm.S or
5817: # grub-1.94/kern/i386/pc/startup.S
5818: # http://www.gnu.org/software/grub/manual/grub.html#Embedded-data
5819: # usual values are marked with comments to get only informations of strange GRUB loaders
5820: 0x200 uleshort 0x70EA
5821: # found only version 3.{1,2}
5822: >0x206 ubeshort >0x0300
5823: # GRUB version (0.5.)95,0.93,0.94,0.96,0.97 > "00"
5824: >>0x212 ubyte >0x29
5825: >>>0x213 ubyte >0x29
5826: # not iso9660_stage1_5
5827: #>>>0 ulelong&0x00BE5652 0x00BE5652
5828: >>>>0x213 ubyte >0x29 GRand Unified Bootloader
5829: # config_file for stage1_5 is 0xffffffff + default "/boot/grub/stage2"
5830: >>>>0x217 ubyte 0xFF stage1_5
5831: >>>>0x217 ubyte <0xFF stage2
5832: >>>>0x206 ubyte x \b version %u
5833: >>>>0x207 ubyte x \b.%u
5834: # module_size for 1.94
5835: >>>>0x208 ulelong <0xffffff \b, installed partition %u
5836: #>>>>0x208 ulelong =0xffffff \b, %u (default)
5837: >>>>0x208 ulelong >0xffffff \b, installed partition %u
5838: # GRUB 0.5.95 unofficial
5839: >>>>0x20C ulelong&0x2E300000 0x2E300000
5840: # 0=stage2 1=ffs 2=e2fs 3=fat 4=minix 5=reiserfs
5841: >>>>>0x20C ubyte x \b, identifier 0x%x
5842: #>>>>>0x20D ubyte =0 \b, LBA flag 0x%x (default)
5843: >>>>>0x20D ubyte >0 \b, LBA flag 0x%x
5844: # GRUB version as string
5845: >>>>>0x20E string >\0 \b, GRUB version %-s
5846: # for stage1_5 is 0xffffffff + config_file "/boot/grub/stage2" default
5847: >>>>>>0x215 ulong 0xffffffff
5848: >>>>>>>0x219 string >\0 \b, configuration file %-s
5849: >>>>>>0x215 ulong !0xffffffff
5850: >>>>>>>0x215 string >\0 \b, configuration file %-s
5851: # newer GRUB versions
5852: >>>>0x20C ulelong&0x2E300000 !0x2E300000
5853: ##>>>>>0x20C ulelong =0 \b, saved entry %d (usual)
5854: >>>>>0x20C ulelong >0 \b, saved entry %d
5855: # for 1.94 contains kernel image size
5856: # for 0.93,0.94,0.96,0.97
5857: # 0=stage2 1=ffs 2=e2fs 3=fat 4=minix 5=reiserfs 6=vstafs 7=jfs 8=xfs 9=iso9660 a=ufs2
5858: >>>>>0x210 ubyte x \b, identifier 0x%x
5859: # The flag for LBA forcing is in most cases 0
5860: #>>>>>0x211 ubyte =0 \b, LBA flag 0x%x (default)
5861: >>>>>0x211 ubyte >0 \b, LBA flag 0x%x
5862: # GRUB version as string
5863: >>>>>0x212 string >\0 \b, GRUB version %-s
5864: # for stage1_5 is 0xffffffff + config_file "/boot/grub/stage2" default
5865: >>>>>0x217 ulong 0xffffffff
5866: >>>>>>0x21b string >\0 \b, configuration file %-s
5867: >>>>>0x217 ulong !0xffffffff
5868: >>>>>>0x217 string >\0 \b, configuration file %-s
5869:
5870: 9564 lelong 0x00011954 Unix Fast File system [v1] (little-endian),
5871: >8404 string x last mounted on %s,
5872: #>9504 ledate x last checked at %s,
5873: >8224 ledate x last written at %s,
5874: >8401 byte x clean flag %d,
5875: >8228 lelong x number of blocks %d,
5876: >8232 lelong x number of data blocks %d,
5877: >8236 lelong x number of cylinder groups %d,
5878: >8240 lelong x block size %d,
5879: >8244 lelong x fragment size %d,
5880: >8252 lelong x minimum percentage of free blocks %d,
5881: >8256 lelong x rotational delay %dms,
5882: >8260 lelong x disk rotational speed %drps,
5883: >8320 lelong 0 TIME optimization
5884: >8320 lelong 1 SPACE optimization
5885:
5886: 42332 lelong 0x19540119 Unix Fast File system [v2] (little-endian)
5887: >&-1164 string x last mounted on %s,
5888: >&-696 string >\0 volume name %s,
5889: >&-304 leqldate x last written at %s,
5890: >&-1167 byte x clean flag %d,
5891: >&-1168 byte x readonly flag %d,
5892: >&-296 lequad x number of blocks %lld,
5893: >&-288 lequad x number of data blocks %lld,
5894: >&-1332 lelong x number of cylinder groups %d,
5895: >&-1328 lelong x block size %d,
5896: >&-1324 lelong x fragment size %d,
5897: >&-180 lelong x average file size %d,
5898: >&-176 lelong x average number of files in dir %d,
5899: >&-272 lequad x pending blocks to free %lld,
5900: >&-264 lelong x pending inodes to free %ld,
5901: >&-664 lequad x system-wide uuid %0llx,
5902: >&-1316 lelong x minimum percentage of free blocks %d,
5903: >&-1248 lelong 0 TIME optimization
5904: >&-1248 lelong 1 SPACE optimization
5905:
5906: 66908 lelong 0x19540119 Unix Fast File system [v2] (little-endian)
5907: >&-1164 string x last mounted on %s,
5908: >&-696 string >\0 volume name %s,
5909: >&-304 leqldate x last written at %s,
5910: >&-1167 byte x clean flag %d,
5911: >&-1168 byte x readonly flag %d,
5912: >&-296 lequad x number of blocks %lld,
5913: >&-288 lequad x number of data blocks %lld,
5914: >&-1332 lelong x number of cylinder groups %d,
5915: >&-1328 lelong x block size %d,
5916: >&-1324 lelong x fragment size %d,
5917: >&-180 lelong x average file size %d,
5918: >&-176 lelong x average number of files in dir %d,
5919: >&-272 lequad x pending blocks to free %lld,
5920: >&-264 lelong x pending inodes to free %ld,
5921: >&-664 lequad x system-wide uuid %0llx,
5922: >&-1316 lelong x minimum percentage of free blocks %d,
5923: >&-1248 lelong 0 TIME optimization
5924: >&-1248 lelong 1 SPACE optimization
5925:
5926: 9564 belong 0x00011954 Unix Fast File system [v1] (big-endian),
5927: >7168 belong 0x4c41424c Apple UFS Volume
5928: >>7186 string x named %s,
5929: >>7176 belong x volume label version %d,
5930: >>7180 bedate x created on %s,
5931: >8404 string x last mounted on %s,
5932: #>9504 bedate x last checked at %s,
5933: >8224 bedate x last written at %s,
5934: >8401 byte x clean flag %d,
5935: >8228 belong x number of blocks %d,
5936: >8232 belong x number of data blocks %d,
5937: >8236 belong x number of cylinder groups %d,
5938: >8240 belong x block size %d,
5939: >8244 belong x fragment size %d,
5940: >8252 belong x minimum percentage of free blocks %d,
5941: >8256 belong x rotational delay %dms,
5942: >8260 belong x disk rotational speed %drps,
5943: >8320 belong 0 TIME optimization
5944: >8320 belong 1 SPACE optimization
5945:
5946: 42332 belong 0x19540119 Unix Fast File system [v2] (big-endian)
5947: >&-1164 string x last mounted on %s,
5948: >&-696 string >\0 volume name %s,
5949: >&-304 beqldate x last written at %s,
5950: >&-1167 byte x clean flag %d,
5951: >&-1168 byte x readonly flag %d,
5952: >&-296 bequad x number of blocks %lld,
5953: >&-288 bequad x number of data blocks %lld,
5954: >&-1332 belong x number of cylinder groups %d,
5955: >&-1328 belong x block size %d,
5956: >&-1324 belong x fragment size %d,
5957: >&-180 belong x average file size %d,
5958: >&-176 belong x average number of files in dir %d,
5959: >&-272 bequad x pending blocks to free %lld,
5960: >&-264 belong x pending inodes to free %ld,
5961: >&-664 bequad x system-wide uuid %0llx,
5962: >&-1316 belong x minimum percentage of free blocks %d,
5963: >&-1248 belong 0 TIME optimization
5964: >&-1248 belong 1 SPACE optimization
5965:
5966: 66908 belong 0x19540119 Unix Fast File system [v2] (big-endian)
5967: >&-1164 string x last mounted on %s,
5968: >&-696 string >\0 volume name %s,
5969: >&-304 beqldate x last written at %s,
5970: >&-1167 byte x clean flag %d,
5971: >&-1168 byte x readonly flag %d,
5972: >&-296 bequad x number of blocks %lld,
5973: >&-288 bequad x number of data blocks %lld,
5974: >&-1332 belong x number of cylinder groups %d,
5975: >&-1328 belong x block size %d,
5976: >&-1324 belong x fragment size %d,
5977: >&-180 belong x average file size %d,
5978: >&-176 belong x average number of files in dir %d,
5979: >&-272 bequad x pending blocks to free %lld,
5980: >&-264 belong x pending inodes to free %ld,
5981: >&-664 bequad x system-wide uuid %0llx,
5982: >&-1316 belong x minimum percentage of free blocks %d,
5983: >&-1248 belong 0 TIME optimization
5984: >&-1248 belong 1 SPACE optimization
5985:
5986: # ext2/ext3 filesystems - Andreas Dilger <adilger@dilger.ca>
5987: # ext4 filesystem - Eric Sandeen <sandeen@sandeen.net>
5988: # volume label and UUID Russell Coker
5989: # http://etbe.coker.com.au/2008/07/08/label-vs-uuid-vs-device/
5990: 0x438 leshort 0xEF53 Linux
5991: >0x44c lelong x rev %d
5992: >0x43e leshort x \b.%d
5993: # No journal? ext2
5994: >0x45c lelong ^0x0000004 ext2 filesystem data
5995: >>0x43a leshort ^0x0000001 (mounted or unclean)
5996: # Has a journal? ext3 or ext4
5997: >0x45c lelong &0x0000004
5998: # and small INCOMPAT?
5999: >>0x460 lelong <0x0000040
6000: # and small RO_COMPAT?
6001: >>>0x464 lelong <0x0000008 ext3 filesystem data
6002: # else large RO_COMPAT?
6003: >>>0x464 lelong >0x0000007 ext4 filesystem data
6004: # else large INCOMPAT?
6005: >>0x460 lelong >0x000003f ext4 filesystem data
6006: >0x468 belong x \b, UUID=%x
6007: >0x46c beshort x \b-%x
6008: >0x46e beshort x \b-%x
6009: >0x470 beshort x \b-%x
6010: >0x472 belong x \b-%x
6011: >0x476 beshort x \b%x
6012: >0x478 string >0 \b, volume name "%s"
6013: # General flags for any ext* fs
6014: >0x460 lelong &0x0000004 (needs journal recovery)
6015: >0x43a leshort &0x0000002 (errors)
6016: # INCOMPAT flags
6017: >0x460 lelong &0x0000001 (compressed)
6018: #>0x460 lelong &0x0000002 (filetype)
6019: #>0x460 lelong &0x0000010 (meta bg)
6020: >0x460 lelong &0x0000040 (extents)
6021: >0x460 lelong &0x0000080 (64bit)
6022: #>0x460 lelong &0x0000100 (mmp)
6023: #>0x460 lelong &0x0000200 (flex bg)
6024: # RO_INCOMPAT flags
6025: #>0x464 lelong &0x0000001 (sparse super)
6026: >0x464 lelong &0x0000002 (large files)
6027: >0x464 lelong &0x0000008 (huge files)
6028: #>0x464 lelong &0x0000010 (gdt checksum)
6029: #>0x464 lelong &0x0000020 (many subdirs)
6030: #>0x463 lelong &0x0000040 (extra isize)
6031:
6032: # SGI disk labels - Nathan Scott <nathans@debian.org>
6033: 0 belong 0x0BE5A941 SGI disk label (volume header)
6034:
6035: # SGI XFS filesystem - Nathan Scott <nathans@debian.org>
6036: 0 belong 0x58465342 SGI XFS filesystem data
6037: >0x4 belong x (blksz %d,
6038: >0x68 beshort x inosz %d,
6039: >0x64 beshort ^0x2004 v1 dirs)
6040: >0x64 beshort &0x2004 v2 dirs)
6041:
6042: ############################################################################
6043: # Minix-ST kernel floppy
6044: 0x800 belong 0x46fc2700 Atari-ST Minix kernel image
6045: >19 string \240\5\371\5\0\011\0\2\0 \b, 720k floppy
6046: >19 string \320\2\370\5\0\011\0\1\0 \b, 360k floppy
6047:
6048: ############################################################################
6049: # Hmmm, is this a better way of detecting _standard_ floppy images ?
6050: 19 string \320\2\360\3\0\011\0\1\0 DOS floppy 360k
6051: >0x1FE leshort 0xAA55 \b, x86 hard disk boot sector
6052: 19 string \240\5\371\3\0\011\0\2\0 DOS floppy 720k
6053: >0x1FE leshort 0xAA55 \b, x86 hard disk boot sector
6054: 19 string \100\013\360\011\0\022\0\2\0 DOS floppy 1440k
6055: >0x1FE leshort 0xAA55 \b, x86 hard disk boot sector
6056:
6057: 19 string \240\5\371\5\0\011\0\2\0 DOS floppy 720k, IBM
6058: >0x1FE leshort 0xAA55 \b, x86 hard disk boot sector
6059: 19 string \100\013\371\5\0\011\0\2\0 DOS floppy 1440k, mkdosfs
6060: >0x1FE leshort 0xAA55 \b, x86 hard disk boot sector
6061:
6062: 19 string \320\2\370\5\0\011\0\1\0 Atari-ST floppy 360k
6063: 19 string \240\5\371\5\0\011\0\2\0 Atari-ST floppy 720k
6064:
6065: # Valid media descriptor bytes for MS-DOS:
6066: #
6067: # Byte Capacity Media Size and Type
6068: # -------------------------------------------------
6069: #
6070: # F0 2.88 MB 3.5-inch, 2-sided, 36-sector
6071: # F0 1.44 MB 3.5-inch, 2-sided, 18-sector
6072: # F9 720K 3.5-inch, 2-sided, 9-sector
6073: # F9 1.2 MB 5.25-inch, 2-sided, 15-sector
6074: # FD 360K 5.25-inch, 2-sided, 9-sector
6075: # FF 320K 5.25-inch, 2-sided, 8-sector
6076: # FC 180K 5.25-inch, 1-sided, 9-sector
6077: # FE 160K 5.25-inch, 1-sided, 8-sector
6078: # FE 250K 8-inch, 1-sided, single-density
6079: # FD 500K 8-inch, 2-sided, single-density
6080: # FE 1.2 MB 8-inch, 2-sided, double-density
6081: # F8 ----- Fixed disk
6082: #
6083: # FC xxxK Apricot 70x1x9 boot disk.
6084: #
6085: # Originally a bitmap:
6086: # xxxxxxx0 Not two sided
6087: # xxxxxxx1 Double sided
6088: # xxxxxx0x Not 8 SPT
6089: # xxxxxx1x 8 SPT
6090: # xxxxx0xx Not Removable drive
6091: # xxxxx1xx Removable drive
6092: # 11111xxx Must be one.
6093: #
6094: # But now it's rather random:
6095: # 111111xx Low density disk
6096: # 00 SS, Not 8 SPT
6097: # 01 DS, Not 8 SPT
6098: # 10 SS, 8 SPT
6099: # 11 DS, 8 SPT
6100: #
6101: # 11111001 Double density 3½ floppy disk, high density 5¼
6102: # 11110000 High density 3½ floppy disk
6103: # 11111000 Hard disk any format
6104: #
6105:
6106: # CDROM Filesystems
6107: # Modified for UDF by gerardo.cacciari@gmail.com
6108: 32769 string CD001
6109: !:mime application/x-iso9660-image
6110: >38913 string !NSR0 ISO 9660 CD-ROM filesystem data
6111: >38913 string NSR0 UDF filesystem data
6112: >>38917 string 1 (version 1.0)
6113: >>38917 string 2 (version 1.5)
6114: >>38917 string 3 (version 2.0)
6115: >>38917 byte >0x33 (unknown version, ID 0x%X)
6116: >>38917 byte <0x31 (unknown version, ID 0x%X)
6117: # "application id" which appears to be used as a volume label
6118: >32808 string >\0 '%s'
6119: >34816 string \000CD001\001EL\ TORITO\ SPECIFICATION (bootable)
6120: 37633 string CD001 ISO 9660 CD-ROM filesystem data (raw 2352 byte sectors)
6121: !:mime application/x-iso9660-image
6122: 32776 string CDROM High Sierra CD-ROM filesystem data
6123:
6124: # cramfs filesystem - russell@coker.com.au
6125: 0 lelong 0x28cd3d45 Linux Compressed ROM File System data, little endian
6126: >4 lelong x size %lu
6127: >8 lelong &1 version #2
6128: >8 lelong &2 sorted_dirs
6129: >8 lelong &4 hole_support
6130: >32 lelong x CRC 0x%x,
6131: >36 lelong x edition %lu,
6132: >40 lelong x %lu blocks,
6133: >44 lelong x %lu files
6134:
6135: 0 belong 0x28cd3d45 Linux Compressed ROM File System data, big endian
6136: >4 belong x size %lu
6137: >8 belong &1 version #2
6138: >8 belong &2 sorted_dirs
6139: >8 belong &4 hole_support
6140: >32 belong x CRC 0x%x,
6141: >36 belong x edition %lu,
6142: >40 belong x %lu blocks,
6143: >44 belong x %lu files
6144:
6145: # reiserfs - russell@coker.com.au
6146: 0x10034 string ReIsErFs ReiserFS V3.5
6147: 0x10034 string ReIsEr2Fs ReiserFS V3.6
6148: 0x10034 string ReIsEr3Fs ReiserFS V3.6.19
6149: >0x1002c leshort x block size %d
6150: >0x10032 leshort &2 (mounted or unclean)
6151: >0x10000 lelong x num blocks %d
6152: >0x10040 lelong 1 tea hash
6153: >0x10040 lelong 2 yura hash
6154: >0x10040 lelong 3 r5 hash
6155:
6156: # JFFS - russell@coker.com.au
6157: 0 lelong 0x34383931 Linux Journalled Flash File system, little endian
6158: 0 belong 0x34383931 Linux Journalled Flash File system, big endian
6159:
6160: # EST flat binary format (which isn't, but anyway)
6161: # From: Mark Brown <broonie@sirena.org.uk>
6162: 0 string ESTFBINR EST flat binary
6163:
6164: # Aculab VoIP firmware
6165: # From: Mark Brown <broonie@sirena.org.uk>
6166: 0 string VoIP\ Startup\ and Aculab VoIP firmware
6167: >35 string x format %s
6168:
6169: # u-boot/PPCBoot image file
6170: # From: Mark Brown <broonie@sirena.org.uk>
6171: 0 belong 0x27051956 u-boot/PPCBoot image
6172: >4 string PPCBoot
6173: >>12 string x version %s
6174:
6175: # JFFS2 file system
6176: 0 leshort 0x1984 Linux old jffs2 filesystem data little endian
6177: 0 leshort 0x1985 Linux jffs2 filesystem data little endian
6178:
6179: # Squashfs
6180: 0 string sqsh Squashfs filesystem, big endian,
6181: >28 beshort x version %d.
6182: >30 beshort x \b%d,
6183: >28 beshort <3
6184: >>8 belong x %d bytes,
6185: >28 beshort >2
6186: >>63 bequad x %lld bytes,
6187: #>>67 belong x %d bytes,
6188: >4 belong x %d inodes,
6189: >28 beshort <2
6190: >>32 beshort x blocksize: %d bytes,
6191: >28 beshort >1
6192: >>51 belong x blocksize: %d bytes,
6193: >39 bedate x created: %s
6194: 0 string hsqs Squashfs filesystem, little endian,
6195: >28 leshort x version %d.
6196: >30 leshort x \b%d,
6197: >28 leshort <3
6198: >>8 lelong x %d bytes,
6199: >28 leshort >2
6200: >>63 lequad x %lld bytes,
6201: #>>63 lelong x %d bytes,
6202: >4 lelong x %d inodes,
6203: >28 leshort <2
6204: >>32 leshort x blocksize: %d bytes,
6205: >28 leshort >1
6206: >>51 lelong x blocksize: %d bytes,
6207: >39 ledate x created: %s
6208:
6209: 0 string td\000 floppy image data (TeleDisk)
6210:
6211: # AFS Dump Magic
6212: # From: Ty Sarna <tsarna@sarna.org>
6213: 0 string \x01\xb3\xa1\x13\x22 AFS Dump
6214: >&0 belong x (v%d)
6215: >>&0 byte 0x76
6216: >>>&0 belong x Vol %d,
6217: >>>>&0 byte 0x6e
6218: >>>>>&0 string x %s
6219: >>>>>>&1 byte 0x74
6220: >>>>>>>&0 beshort 2
6221: >>>>>>>>&4 bedate x on: %s
6222: >>>>>>>>&0 bedate =0 full dump
6223: >>>>>>>>&0 bedate !0 incremental since: %s
6224:
6225: #----------------------------------------------------------
6226: # VMS backup savesets - gerardo.cacciari@gmail.com
6227: #
6228: 4 string \x01\x00\x01\x00\x01\x00
6229: >(0.s+16) string \x01\x01
6230: >>&(&0.b+8) byte 0x42 OpenVMS backup saveset data
6231: >>>40 lelong x (block size %d,
6232: >>>49 string >\0 original name '%s',
6233: >>>2 short 1024 VAX generated)
6234: >>>2 short 2048 AXP generated)
6235: >>>2 short 4096 I64 generated)
6236:
6237: # Summary: Oracle Clustered Filesystem
6238: # Created by: Aaron Botsis <redhat@digitalmafia.org>
6239: 8 string OracleCFS Oracle Clustered Filesystem,
6240: >4 long x rev %d
6241: >0 long x \b.%d,
6242: >560 string x label: %.64s,
6243: >136 string x mountpoint: %.128s
6244:
6245: # Summary: Oracle ASM tagged volume
6246: # Created by: Aaron Botsis <redhat@digitalmafia.org>
6247: 32 string ORCLDISK Oracle ASM Volume,
6248: >40 string x Disk Name: %0.12s
6249: 32 string ORCLCLRD Oracle ASM Volume (cleared),
6250: >40 string x Disk Name: %0.12s
6251:
6252: # Oracle Clustered Filesystem - Aaron Botsis <redhat@digitalmafia.org>
6253: 8 string OracleCFS Oracle Clustered Filesystem,
6254: >4 long x rev %d
6255: >0 long x \b.%d,
6256: >560 string x label: %.64s,
6257: >136 string x mountpoint: %.128s
6258:
6259: # Oracle ASM tagged volume - Aaron Botsis <redhat@digitalmafia.org>
6260: 32 string ORCLDISK Oracle ASM Volume,
6261: >40 string x Disk Name: %0.12s
6262: 32 string ORCLCLRD Oracle ASM Volume (cleared),
6263: >40 string x Disk Name: %0.12s
6264:
6265: # Compaq/HP RILOE floppy image
6266: # From: Dirk Jagdmann <doj@cubic.org>
6267: 0 string CPQRFBLO Compaq/HP RILOE floppy image
6268:
6269: #------------------------------------------------------------------------------
6270: # Files-11 On-Disk Structure (OpenVMS file system) - gerardo.cacciari@gmail.com
6271: # These bits come from LBN 1 (home block) of ODS-2 and ODS-5 volumes, which is
6272: # mapped to VBN 2 of [000000]INDEXF.SYS;1
6273: #
6274: 1008 string DECFILE11B Files-11 On-Disk Structure
6275: >525 byte x Level %d
6276: >525 byte x (ODS-%d OpenVMS file system),
6277: >984 string x volume label is '%-12.12s'
6278:
6279: # From: Thomas Klausner <wiz@NetBSD.org>
6280: # http://filext.com/file-extension/DAA
6281: # describes the daa file format. The magic would be:
6282: 0 string DAA\x0\x0\x0\x0\x0 PowerISO Direct-Access-Archive
6283:
6284: # From Albert Cahalan <acahalan@gmail.com>
6285: # really le32 operation,destination,payloadsize (but quite predictable)
6286: # 01 00 00 00 00 00 00 c0 00 02 00 00
6287: 0 string \1\0\0\0\0\0\0\300\0\2\0\0 Marvell Libertas firmware
6288:
6289: # From Eric Sandeen
6290: # GFS2
6291: 0x10000 belong 0x01161970 GFS2 Filesystem
6292: >0x10024 belong x (blocksize %d,
6293: >0x10060 string >\0 lockproto %s)
6294:
6295: # dvdisaster's .ecc
6296: # From: "Nelson A. de Oliveira" <naoliv@gmail.com>
6297: 0 string *dvdisaster* dvdisaster error correction file
6298:
6299: # Type: CROM filesystem
6300: # From: Werner Fink <werner@suse.de>
6301: 0 string CROMFS CROMFS
6302: >6 string >\0 \b version %2.2s,
6303: >8 ulequad >0 \b block data at %lld,
6304: >16 ulequad >0 \b fblock table at %lld,
6305: >24 ulequad >0 \b inode table at %lld,
6306: >32 ulequad >0 \b root at %lld,
6307: >40 ulelong >0 \b fblock size = %ld,
6308: >44 ulelong >0 \b block size = %ld,
6309: >48 ulequad >0 \b bytes = %lld
6310:
6311: #------------------------------------------------------------------------------
6312: # flash: file(1) magic for Macromedia Flash file format
6313: #
6314: # See
6315: #
6316: # http://www.macromedia.com/software/flash/open/
6317: #
6318: 0 string FWS Macromedia Flash data,
6319: >3 byte x version %d
6320: !:mime application/x-shockwave-flash
6321: 0 string CWS Macromedia Flash data (compressed),
6322: !:mime application/x-shockwave-flash
6323: >3 byte x version %d
6324: # From: Cal Peake <cp@absolutedigital.net>
6325: 0 string FLV Macromedia Flash Video
6326: !:mime video/x-flv
6327:
6328: #
6329: # From Dave Wilson
6330: 0 string AGD4\xbe\xb8\xbb\xcb\x00 Macromedia Freehand 9 Document
6331: #------------------------------------------------------------------------------
6332: # fonts: file(1) magic for font data
6333: #
6334: 0 search/1 FONT ASCII vfont text
6335: 0 short 0436 Berkeley vfont data
6336: 0 short 017001 byte-swapped Berkeley vfont data
6337:
6338: # PostScript fonts (must precede "printer" entries), quinlan@yggdrasil.com
6339: 0 search/1 %!PS-AdobeFont-1. PostScript Type 1 font text
6340: >20 search/1 >\0 (%s)
6341: 6 string %!PS-AdobeFont-1. PostScript Type 1 font program data
6342:
6343: # X11 font files in SNF (Server Natural Format) format
6344: 0 belong 00000004 X11 SNF font data, MSB first
6345: 0 lelong 00000004 X11 SNF font data, LSB first
6346:
6347: # X11 Bitmap Distribution Format, from Daniel Quinlan (quinlan@yggdrasil.com)
6348: 0 search/1 STARTFONT\ X11 BDF font text
6349:
6350: # X11 fonts, from Daniel Quinlan (quinlan@yggdrasil.com)
6351: # PCF must come before SGI additions ("MIPSEL MIPS-II COFF" collides)
6352: 0 string \001fcp X11 Portable Compiled Font data
6353: >12 byte 0x02 \b, LSB first
6354: >12 byte 0x0a \b, MSB first
6355: 0 string D1.0\015 X11 Speedo font data
6356:
6357: #------------------------------------------------------------------------------
6358: # FIGlet fonts and controlfiles
6359: # From figmagic supplied with Figlet version 2.2
6360: # "David E. O'Brien" <obrien@FreeBSD.ORG>
6361: 0 string flf FIGlet font
6362: >3 string >2a version %-2.2s
6363: 0 string flc FIGlet controlfile
6364: >3 string >2a version %-2.2s
6365:
6366: # libGrx graphics lib fonts, from Albert Cahalan (acahalan@cs.uml.edu)
6367: # Used with djgpp (DOS Gnu C++), sometimes Linux or Turbo C++
6368: 0 belong 0x14025919 libGrx font data,
6369: >8 leshort x %dx
6370: >10 leshort x \b%d
6371: >40 string x %s
6372: # Misc. DOS VGA fonts, from Albert Cahalan (acahalan@cs.uml.edu)
6373: 0 belong 0xff464f4e DOS code page font data collection
6374: 7 belong 0x00454741 DOS code page font data
6375: 7 belong 0x00564944 DOS code page font data (from Linux?)
6376: 4098 string DOSFONT DOSFONT2 encrypted font data
6377:
6378: # downloadable fonts for browser (prints type) anthon@mnt.org
6379: 0 string PFR1 PFR1 font
6380: >102 string >0 \b: %s
6381:
6382: # True Type fonts
6383: 0 string \000\001\000\000\000 TrueType font data
6384:
6385: 0 string \007\001\001\000Copyright\ (c)\ 199 Adobe Multiple Master font
6386: 0 string \012\001\001\000Copyright\ (c)\ 199 Adobe Multiple Master font
6387:
6388: # Opentype font data from Avi Bercovich
6389: 0 string OTTO OpenType font data
6390:
6391: # Gürkan Sengün <gurkan@linuks.mine.nu>, www.linuks.mine.nu
6392: 0 string SplineFontDB: Spline Font Database
6393: >14 string x version %s
6394: # FORTRAN source
6395: 0 string/c c\ FORTRAN program
6396: !:mime text/x-fortran
6397: #------------------------------------------------------------------------------
6398: # frame: file(1) magic for FrameMaker files
6399: #
6400: # This stuff came on a FrameMaker demo tape, most of which is
6401: # copyright, but this file is "published" as witness the following:
6402: #
6403: # Note that this is the Framemaker Maker Interchange Format, not the
6404: # Normal format which would be application/vnd.framemaker.
6405: #
6406: 0 string \<MakerFile FrameMaker document
6407: !:mime application/x-mif
6408: >11 string 5.5 (5.5
6409: >11 string 5.0 (5.0
6410: >11 string 4.0 (4.0
6411: >11 string 3.0 (3.0
6412: >11 string 2.0 (2.0
6413: >11 string 1.0 (1.0
6414: >14 byte x %c)
6415: 0 string \<MIFFile FrameMaker MIF (ASCII) file
6416: !:mime application/x-mif
6417: >9 string 4.0 (4.0)
6418: >9 string 3.0 (3.0)
6419: >9 string 2.0 (2.0)
6420: >9 string 1.0 (1.x)
6421: 0 search/1 \<MakerDictionary FrameMaker Dictionary text
6422: !:mime application/x-mif
6423: >17 string 3.0 (3.0)
6424: >17 string 2.0 (2.0)
6425: >17 string 1.0 (1.x)
6426: 0 string \<MakerScreenFont FrameMaker Font file
6427: !:mime application/x-mif
6428: >17 string 1.01 (%s)
6429: 0 string \<MML FrameMaker MML file
6430: !:mime application/x-mif
6431: 0 string \<BookFile FrameMaker Book file
6432: !:mime application/x-mif
6433: >10 string 3.0 (3.0
6434: >10 string 2.0 (2.0
6435: >10 string 1.0 (1.0
6436: >13 byte x %c)
6437: # XXX - this book entry should be verified, if you find one, uncomment this
6438: #0 string \<Book\ FrameMaker Book (ASCII) file
6439: #!:mime application/x-mif
6440: #>6 string 3.0 (3.0)
6441: #>6 string 2.0 (2.0)
6442: #>6 string 1.0 (1.0)
6443: 0 string \<Maker Intermediate Print File FrameMaker IPL file
6444: !:mime application/x-mif
6445:
6446: #------------------------------------------------------------------------------
6447: # freebsd: file(1) magic for FreeBSD objects
6448: #
6449: # All new-style FreeBSD magic numbers are in host byte order (i.e.,
6450: # little-endian on x86).
6451: #
6452: # XXX - this comes from the file "freebsd" in a recent FreeBSD version of
6453: # "file"; it, and the NetBSD stuff in "netbsd", appear to use different
6454: # schemes for distinguishing between executable images, shared libraries,
6455: # and object files.
6456: #
6457: # FreeBSD says:
6458: #
6459: # Regardless of whether it's pure, demand-paged, or none of the
6460: # above:
6461: #
6462: # if the entry point is < 4096, then it's a shared library if
6463: # the "has run-time loader information" bit is set, and is
6464: # position-independent if the "is position-independent" bit
6465: # is set;
6466: #
6467: # if the entry point is >= 4096 (or >4095, same thing), then it's
6468: # an executable, and is dynamically-linked if the "has run-time
6469: # loader information" bit is set.
6470: #
6471: # On x86, NetBSD says:
6472: #
6473: # If it's neither pure nor demand-paged:
6474: #
6475: # if it has the "has run-time loader information" bit set, it's
6476: # a dynamically-linked executable;
6477: #
6478: # if it doesn't have that bit set, then:
6479: #
6480: # if it has the "is position-independent" bit set, it's
6481: # position-independent;
6482: #
6483: # if the entry point is non-zero, it's an executable, otherwise
6484: # it's an object file.
6485: #
6486: # If it's pure:
6487: #
6488: # if it has the "has run-time loader information" bit set, it's
6489: # a dynamically-linked executable, otherwise it's just an
6490: # executable.
6491: #
6492: # If it's demand-paged:
6493: #
6494: # if it has the "has run-time loader information" bit set,
6495: # then:
6496: #
6497: # if the entry point is < 4096, it's a shared library;
6498: #
6499: # if the entry point is = 4096 or > 4096 (i.e., >= 4096),
6500: # it's a dynamically-linked executable);
6501: #
6502: # if it doesn't have the "has run-time loader information" bit
6503: # set, then it's just an executable.
6504: #
6505: # (On non-x86, NetBSD does much the same thing, except that it uses
6506: # 8192 on 68K - except for "68k4k", which is presumably "68K with 4K
6507: # pages - SPARC, and MIPS, presumably because Sun-3's and Sun-4's
6508: # had 8K pages; dunno about MIPS.)
6509: #
6510: # I suspect the two will differ only in perverse and uninteresting cases
6511: # ("shared" libraries that aren't demand-paged and whose pages probably
6512: # won't actually be shared, executables with entry points <4096).
6513: #
6514: # I leave it to those more familiar with FreeBSD and NetBSD to figure out
6515: # what the right answer is (although using ">4095", FreeBSD-style, is
6516: # probably better than separately checking for "=4096" and ">4096",
6517: # NetBSD-style). (The old "netbsd" file analyzed FreeBSD demand paged
6518: # executables using the NetBSD technique.)
6519: #
6520: 0 lelong&0377777777 041400407 FreeBSD/i386
6521: >20 lelong <4096
6522: >>3 byte&0xC0 &0x80 shared library
6523: >>3 byte&0xC0 0x40 PIC object
6524: >>3 byte&0xC0 0x00 object
6525: >20 lelong >4095
6526: >>3 byte&0x80 0x80 dynamically linked executable
6527: >>3 byte&0x80 0x00 executable
6528: >16 lelong >0 not stripped
6529:
6530: 0 lelong&0377777777 041400410 FreeBSD/i386 pure
6531: >20 lelong <4096
6532: >>3 byte&0xC0 &0x80 shared library
6533: >>3 byte&0xC0 0x40 PIC object
6534: >>3 byte&0xC0 0x00 object
6535: >20 lelong >4095
6536: >>3 byte&0x80 0x80 dynamically linked executable
6537: >>3 byte&0x80 0x00 executable
6538: >16 lelong >0 not stripped
6539:
6540: 0 lelong&0377777777 041400413 FreeBSD/i386 demand paged
6541: >20 lelong <4096
6542: >>3 byte&0xC0 &0x80 shared library
6543: >>3 byte&0xC0 0x40 PIC object
6544: >>3 byte&0xC0 0x00 object
6545: >20 lelong >4095
6546: >>3 byte&0x80 0x80 dynamically linked executable
6547: >>3 byte&0x80 0x00 executable
6548: >16 lelong >0 not stripped
6549:
6550: 0 lelong&0377777777 041400314 FreeBSD/i386 compact demand paged
6551: >20 lelong <4096
6552: >>3 byte&0xC0 &0x80 shared library
6553: >>3 byte&0xC0 0x40 PIC object
6554: >>3 byte&0xC0 0x00 object
6555: >20 lelong >4095
6556: >>3 byte&0x80 0x80 dynamically linked executable
6557: >>3 byte&0x80 0x00 executable
6558: >16 lelong >0 not stripped
6559:
6560: # XXX gross hack to identify core files
6561: # cores start with a struct tss; we take advantage of the following:
6562: # byte 7: highest byte of the kernel stack pointer, always 0xfe
6563: # 8/9: kernel (ring 0) ss value, always 0x0010
6564: # 10 - 27: ring 1 and 2 ss/esp, unused, thus always 0
6565: # 28: low order byte of the current PTD entry, always 0 since the
6566: # PTD is page-aligned
6567: #
6568: 7 string \357\020\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 FreeBSD/i386 a.out core file
6569: >1039 string >\0 from '%s'
6570:
6571: # /var/run/ld.so.hints
6572: # What are you laughing about?
6573: 0 lelong 011421044151 ld.so hints file (Little Endian
6574: >4 lelong >0 \b, version %d)
6575: >4 belong <1 \b)
6576: 0 belong 011421044151 ld.so hints file (Big Endian
6577: >4 belong >0 \b, version %d)
6578: >4 belong <1 \b)
6579:
6580: #
6581: # Files generated by FreeBSD scrshot(1)/vidcontrol(1) utilities
6582: #
6583: 0 string SCRSHOT_ scrshot(1) screenshot,
6584: >8 byte x version %d,
6585: >9 byte 2 %d bytes in header,
6586: >>10 byte x %d chars wide by
6587: >>11 byte x %d chars high
6588:
6589: #------------------------------------------------------------------------------
6590: # fsav: file(1) magic for datafellows fsav virus definition files
6591: # Anthon van der Neut (anthon@mnt.org)
6592:
6593: # ftp://ftp.f-prot.com/pub/{macrdef2.zip,nomacro.def}
6594: 0 beshort 0x1575 fsav macro virus signatures
6595: >8 leshort >0 (%d-
6596: >11 byte >0 \b%02d-
6597: >10 byte >0 \b%02d)
6598: # ftp://ftp.f-prot.com/pub/sign.zip
6599: #10 ubyte <12
6600: #>9 ubyte <32
6601: #>>8 ubyte 0x0a
6602: #>>>12 ubyte 0x07
6603: #>>>>11 uleshort >0 fsav DOS/Windows virus signatures (%d-
6604: #>>>>10 byte 0 \b01-
6605: #>>>>10 byte 1 \b02-
6606: #>>>>10 byte 2 \b03-
6607: #>>>>10 byte 3 \b04-
6608: #>>>>10 byte 4 \b05-
6609: #>>>>10 byte 5 \b06-
6610: #>>>>10 byte 6 \b07-
6611: #>>>>10 byte 7 \b08-
6612: #>>>>10 byte 8 \b09-
6613: #>>>>10 byte 9 \b10-
6614: #>>>>10 byte 10 \b11-
6615: #>>>>10 byte 11 \b12-
6616: #>>>>9 ubyte >0 \b%02d)
6617: # ftp://ftp.f-prot.com/pub/sign2.zip
6618: #0 ubyte 0x62
6619: #>1 ubyte 0xF5
6620: #>>2 ubyte 0x1
6621: #>>>3 ubyte 0x1
6622: #>>>>4 ubyte 0x0e
6623: #>>>>>13 ubyte >0 fsav virus signatures
6624: #>>>>>>11 ubyte x size 0x%02x
6625: #>>>>>>12 ubyte x \b%02x
6626: #>>>>>>13 ubyte x \b%02x bytes
6627:
6628: # Joerg Jenderek: joerg dot jenderek at web dot de
6629: # http://www.clamav.net/doc/latest/html/node45.html
6630: # .cvd files start with a 512 bytes colon separated header
6631: # ClamAV-VDB:buildDate:version:signaturesNumbers:functionalityLevelRequired:MD5:Signature:builder:buildTime
6632: # + gzipped tarball files
6633: 0 string ClamAV-VDB:
6634: >11 string >\0 Clam AntiVirus database %-.23s
6635: >>34 string :
6636: >>>35 string !: \b, version
6637: >>>>35 string x \b%-.1s
6638: >>>>>36 string !:
6639: >>>>>>36 string x \b%-.1s
6640: >>>>>>>37 string !:
6641: >>>>>>>>37 string x \b%-.1s
6642: >>>>>>>>>38 string !:
6643: >>>>>>>>>>38 string x \b%-.1s
6644: >512 string \037\213 \b, gzipped
6645: >769 string ustar\0 \b, tarred
6646:
6647: # Type: Grisoft AVG AntiVirus
6648: # From: David Newgas <david@newgas.net>
6649: 0 string AVG7_ANTIVIRUS_VAULT_FILE AVG 7 Antivirus vault file data
6650: #------------------------------------------------------------------------------
6651: # games: file(1) for games
6652:
6653: # Fabio Bonelli <fabiobonelli@libero.it>
6654: # Quake II - III data files
6655: 0 string IDP2 Quake II 3D Model file,
6656: >20 long x %lu skin(s),
6657: >8 long x (%lu x
6658: >12 long x %lu),
6659: >40 long x %lu frame(s),
6660: >16 long x Frame size %lu bytes,
6661: >24 long x %lu vertices/frame,
6662: >28 long x %lu texture coordinates,
6663: >32 long x %lu triangles/frame
6664:
6665: 0 string IBSP Quake
6666: >4 long 0x26 II Map file (BSP)
6667: >4 long 0x2E III Map file (BSP)
6668:
6669: 0 string IDS2 Quake II SP2 sprite file
6670:
6671: #---------------------------------------------------------------------------
6672: # Doom and Quake
6673: # submitted by Nicolas Patrois
6674:
6675: 0 string \xcb\x1dBoom\xe6\xff\x03\x01 Boom or linuxdoom demo
6676: # some doom lmp files don't match, I've got one beginning with \x6d\x02\x01\x01
6677:
6678: 24 string LxD\ 203 Linuxdoom save
6679: >0 string x , name=%s
6680: >44 string x , world=%s
6681:
6682: # Quake
6683:
6684: 0 string PACK Quake I or II world or extension
6685:
6686: #0 string -1\x0a Quake I demo
6687: #>30 string x version %.4s
6688: #>61 string x level %s
6689:
6690: #0 string 5\x0a Quake I save
6691:
6692: # The levels
6693:
6694: # Quake 1
6695:
6696: 0 string 5\x0aIntroduction Quake I save: start Introduction
6697: 0 string 5\x0athe_Slipgate_Complex Quake I save: e1m1 The slipgate complex
6698: 0 string 5\x0aCastle_of_the_Damned Quake I save: e1m2 Castle of the damned
6699: 0 string 5\x0athe_Necropolis Quake I save: e1m3 The necropolis
6700: 0 string 5\x0athe_Grisly_Grotto Quake I save: e1m4 The grisly grotto
6701: 0 string 5\x0aZiggurat_Vertigo Quake I save: e1m8 Ziggurat vertigo (secret)
6702: 0 string 5\x0aGloom_Keep Quake I save: e1m5 Gloom keep
6703: 0 string 5\x0aThe_Door_To_Chthon Quake I save: e1m6 The door to Chthon
6704: 0 string 5\x0aThe_House_of_Chthon Quake I save: e1m7 The house of Chthon
6705: 0 string 5\x0athe_Installation Quake I save: e2m1 The installation
6706: 0 string 5\x0athe_Ogre_Citadel Quake I save: e2m2 The ogre citadel
6707: 0 string 5\x0athe_Crypt_of_Decay Quake I save: e2m3 The crypt of decay (dopefish lives!)
6708: 0 string 5\x0aUnderearth Quake I save: e2m7 Underearth (secret)
6709: 0 string 5\x0athe_Ebon_Fortress Quake I save: e2m4 The ebon fortress
6710: 0 string 5\x0athe_Wizard's_Manse Quake I save: e2m5 The wizard's manse
6711: 0 string 5\x0athe_Dismal_Oubliette Quake I save: e2m6 The dismal oubliette
6712: 0 string 5\x0aTermination_Central Quake I save: e3m1 Termination central
6713: 0 string 5\x0aVaults_of_Zin Quake I save: e3m2 Vaults of Zin
6714: 0 string 5\x0athe_Tomb_of_Terror Quake I save: e3m3 The tomb of terror
6715: 0 string 5\x0aSatan's_Dark_Delight Quake I save: e3m4 Satan's dark delight
6716: 0 string 5\x0athe_Haunted_Halls Quake I save: e3m7 The haunted halls (secret)
6717: 0 string 5\x0aWind_Tunnels Quake I save: e3m5 Wind tunnels
6718: 0 string 5\x0aChambers_of_Torment Quake I save: e3m6 Chambers of torment
6719: 0 string 5\x0athe_Sewage_System Quake I save: e4m1 The sewage system
6720: 0 string 5\x0aThe_Tower_of_Despair Quake I save: e4m2 The tower of despair
6721: 0 string 5\x0aThe_Elder_God_Shrine Quake I save: e4m3 The elder god shrine
6722: 0 string 5\x0athe_Palace_of_Hate Quake I save: e4m4 The palace of hate
6723: 0 string 5\x0aHell's_Atrium Quake I save: e4m5 Hell's atrium
6724: 0 string 5\x0athe_Nameless_City Quake I save: e4m8 The nameless city (secret)
6725: 0 string 5\x0aThe_Pain_Maze Quake I save: e4m6 The pain maze
6726: 0 string 5\x0aAzure_Agony Quake I save: e4m7 Azure agony
6727: 0 string 5\x0aShub-Niggurath's_Pit Quake I save: end Shub-Niggurath's pit
6728:
6729: # Quake DeathMatch levels
6730:
6731: 0 string 5\x0aPlace_of_Two_Deaths Quake I save: dm1 Place of two deaths
6732: 0 string 5\x0aClaustrophobopolis Quake I save: dm2 Claustrophobopolis
6733: 0 string 5\x0aThe_Abandoned_Base Quake I save: dm3 The abandoned base
6734: 0 string 5\x0aThe_Bad_Place Quake I save: dm4 The bad place
6735: 0 string 5\x0aThe_Cistern Quake I save: dm5 The cistern
6736: 0 string 5\x0aThe_Dark_Zone Quake I save: dm6 The dark zone
6737:
6738: # Scourge of Armagon
6739:
6740: 0 string 5\x0aCommand_HQ Quake I save: start Command HQ
6741: 0 string 5\x0aThe_Pumping_Station Quake I save: hip1m1 The pumping station
6742: 0 string 5\x0aStorage_Facility Quake I save: hip1m2 Storage facility
6743: 0 string 5\x0aMilitary_Complex Quake I save: hip1m5 Military complex (secret)
6744: 0 string 5\x0athe_Lost_Mine Quake I save: hip1m3 The lost mine
6745: 0 string 5\x0aResearch_Facility Quake I save: hip1m4 Research facility
6746: 0 string 5\x0aAncient_Realms Quake I save: hip2m1 Ancient realms
6747: 0 string 5\x0aThe_Gremlin's_Domain Quake I save: hip2m6 The gremlin's domain (secret)
6748: 0 string 5\x0aThe_Black_Cathedral Quake I save: hip2m2 The black cathedral
6749: 0 string 5\x0aThe_Catacombs Quake I save: hip2m3 The catacombs
6750: 0 string 5\x0athe_Crypt__ Quake I save: hip2m4 The crypt
6751: 0 string 5\x0aMortum's_Keep Quake I save: hip2m5 Mortum's keep
6752: 0 string 5\x0aTur_Torment Quake I save: hip3m1 Tur torment
6753: 0 string 5\x0aPandemonium Quake I save: hip3m2 Pandemonium
6754: 0 string 5\x0aLimbo Quake I save: hip3m3 Limbo
6755: 0 string 5\x0athe_Edge_of_Oblivion Quake I save: hipdm1 The edge of oblivion (secret)
6756: 0 string 5\x0aThe_Gauntlet Quake I save: hip3m4 The gauntlet
6757: 0 string 5\x0aArmagon's_Lair Quake I save: hipend Armagon's lair
6758:
6759: # Malice
6760:
6761: 0 string 5\x0aThe_Academy Quake I save: start The academy
6762: 0 string 5\x0aThe_Lab Quake I save: d1 The lab
6763: 0 string 5\x0aArea_33 Quake I save: d1b Area 33
6764: 0 string 5\x0aSECRET_MISSIONS Quake I save: d3b Secret missions
6765: 0 string 5\x0aThe_Hospital Quake I save: d10 The hospital (secret)
6766: 0 string 5\x0aThe_Genetics_Lab Quake I save: d11 The genetics lab (secret)
6767: 0 string 5\x0aBACK_2_MALICE Quake I save: d4b Back to Malice
6768: 0 string 5\x0aArea44 Quake I save: d1c Area 44
6769: 0 string 5\x0aTakahiro_Towers Quake I save: d2 Takahiro towers
6770: 0 string 5\x0aA_Rat's_Life Quake I save: d3 A rat's life
6771: 0 string 5\x0aInto_The_Flood Quake I save: d4 Into the flood
6772: 0 string 5\x0aThe_Flood Quake I save: d5 The flood
6773: 0 string 5\x0aNuclear_Plant Quake I save: d6 Nuclear plant
6774: 0 string 5\x0aThe_Incinerator_Plant Quake I save: d7 The incinerator plant
6775: 0 string 5\x0aThe_Foundry Quake I save: d7b The foundry
6776: 0 string 5\x0aThe_Underwater_Base Quake I save: d8 The underwater base
6777: 0 string 5\x0aTakahiro_Base Quake I save: d9 Takahiro base
6778: 0 string 5\x0aTakahiro_Laboratories Quake I save: d12 Takahiro laboratories
6779: 0 string 5\x0aStayin'_Alive Quake I save: d13 Stayin' alive
6780: 0 string 5\x0aB.O.S.S._HQ Quake I save: d14 B.O.S.S. HQ
6781: 0 string 5\x0aSHOWDOWN! Quake I save: d15 Showdown!
6782:
6783: # Malice DeathMatch levels
6784:
6785: 0 string 5\x0aThe_Seventh_Precinct Quake I save: ddm1 The seventh precinct
6786: 0 string 5\x0aSub_Station Quake I save: ddm2 Sub station
6787: 0 string 5\x0aCrazy_Eights! Quake I save: ddm3 Crazy eights!
6788: 0 string 5\x0aEast_Side_Invertationa Quake I save: ddm4 East side invertationa
6789: 0 string 5\x0aSlaughterhouse Quake I save: ddm5 Slaughterhouse
6790: 0 string 5\x0aDOMINO Quake I save: ddm6 Domino
6791: 0 string 5\x0aSANDRA'S_LADDER Quake I save: ddm7 Sandra's ladder
6792:
6793:
6794: 0 string MComprHD MAME CHD compressed hard disk image,
6795: >12 belong x version %lu
6796:
6797: # doom - submitted by Jon Dowland
6798:
6799: 0 string =IWAD doom main IWAD data
6800: >4 lelong x containing %d lumps
6801: 0 string =PWAD doom patch PWAD data
6802: >4 lelong x containing %d lumps
6803:
6804:
6805: # Summary: Warcraft 3 save
6806: # Extension: .w3g
6807: # Created by: "Nelson A. de Oliveira" <naoliv@gmail.com>
6808: 0 string Warcraft\ III\ recorded\ game %s
6809:
6810:
6811: # Summary: Warcraft 3 map
6812: # Extension: .w3m
6813: # Created by: "Nelson A. de Oliveira" <naoliv@gmail.com>
6814: 0 string HM3W Warcraft III map file
6815:
6816:
6817: # Summary: SGF Smart Game Format
6818: # Extension: .sgf
6819: # Reference: http://www.red-bean.com/sgf/
6820: # Created by: Eduardo Sabbatella <eduardo_sabbatella@yahoo.com.ar>
6821: # Modified by (1): Abel Cheung (regex, more game format)
6822: # FIXME: Some games don't have GM (game type)
6823: 0 regex \\(;.*GM\\[[0-9]{1,2}\\] Smart Game Format
6824: >2 search/0x200 GM[
6825: >>&0 string 1] (Go)
6826: >>&0 string 2] (Othello)
6827: >>&0 string 3] (chess)
6828: >>&0 string 4] (Gomoku+Renju)
6829: >>&0 string 5] (Nine Men's Morris)
6830: >>&0 string 6] (Backgammon)
6831: >>&0 string 7] (Chinese chess)
6832: >>&0 string 8] (Shogi)
6833: >>&0 string 9] (Lines of Action)
6834: >>&0 string 10] (Ataxx)
6835: >>&0 string 11] (Hex)
6836: >>&0 string 12] (Jungle)
6837: >>&0 string 13] (Neutron)
6838: >>&0 string 14] (Philosopher's Football)
6839: >>&0 string 15] (Quadrature)
6840: >>&0 string 16] (Trax)
6841: >>&0 string 17] (Tantrix)
6842: >>&0 string 18] (Amazons)
6843: >>&0 string 19] (Octi)
6844: >>&0 string 20] (Gess)
6845: >>&0 string 21] (Twixt)
6846: >>&0 string 22] (Zertz)
6847: >>&0 string 23] (Plateau)
6848: >>&0 string 24] (Yinsh)
6849: >>&0 string 25] (Punct)
6850: >>&0 string 26] (Gobblet)
6851: >>&0 string 27] (hive)
6852: >>&0 string 28] (Exxit)
6853: >>&0 string 29] (Hnefatal)
6854: >>&0 string 30] (Kuba)
6855: >>&0 string 31] (Tripples)
6856: >>&0 string 32] (Chase)
6857: >>&0 string 33] (Tumbling Down)
6858: >>&0 string 34] (Sahara)
6859: >>&0 string 35] (Byte)
6860: >>&0 string 36] (Focus)
6861: >>&0 string 37] (Dvonn)
6862: >>&0 string 38] (Tamsk)
6863: >>&0 string 39] (Gipf)
6864: >>&0 string 40] (Kropki)
6865:
6866:
6867: # Summary: Civilization 4 video
6868: # Extension: .bik
6869: # Created by: Abel Cheung <abelcheung@gmail.com>
6870: 0 string BIKi Civilization 4 Video
6871:
6872:
6873: ##############################################
6874: # NetImmerse/Gamebryo game engine entries
6875:
6876: # Summary: Gamebryo game engine file
6877: # Extension: .nif, .kf
6878: # Created by: Abel Cheung <abelcheung@gmail.com>
6879: 0 string Gamebryo\ File\ Format,\ Version\ Gamebryo game engine file
6880: >&0 regex [0-9a-z.]+ \b, version %s
6881:
6882: # Summary: Gamebryo game engine file
6883: # Extension: .kfm
6884: # Created by: Abel Cheung <abelcheung@gmail.com>
6885: 0 string ;Gamebryo\ KFM\ File\ Version\ Gamebryo game engine animation File
6886: >&0 regex [0-9a-z.]+ \b, version %s
6887:
6888: # Summary: NetImmerse game engine file
6889: # Extension .nif
6890: # Created by: Abel Cheung <abelcheung@gmail.com>
6891: 0 string NetImmerse\ File\ Format,\ Versio
6892: >&0 string n\ NetImmerse game engine file
6893: >>&0 regex [0-9a-z.]+ \b, version %s
6894:
6895: # Type: SGF Smart Game Format
6896: # URL: http://www.red-bean.com/sgf/
6897: # From: Eduardo Sabbatella <eduardo_sabbatella@yahoo.com.ar>
6898: 2 regex/c \\(;.*GM\\[[0-9]{1,2}\\] Smart Game Format
6899: >2 regex/c GM\\[1\\] - Go Game
6900: >2 regex/c GM\\[6\\] - BackGammon Game
6901: >2 regex/c GM\\[11\\] - Hex Game
6902: >2 regex/c GM\\[18\\] - Amazons Game
6903: >2 regex/c GM\\[19\\] - Octi Game
6904: >2 regex/c GM\\[20\\] - Gess Game
6905: >2 regex/c GM\\[21\\] - twix Game
6906:
6907: #------------------------------------------------------------------------------
6908: # gcc: file(1) magic for GCC special files
6909: #
6910: 0 string gpch GCC precompiled header
6911:
6912: # The version field is annoying. It's 3 characters, not zero-terminated.
6913: >5 byte x (version %c
6914: >6 byte x \b%c
6915: >7 byte x \b%c)
6916:
6917: # 67 = 'C', 111 = 'o', 43 = '+', 79 = 'O'
6918: >4 byte 67 for C
6919: >4 byte 111 for Objective C
6920: >4 byte 43 for C++
6921: >4 byte 79 for Objective C++
6922:
6923: #------------------------------------------------------------------------------
6924: # GEOS files (Vidar Madsen, vidar@gimp.org)
6925: # semi-commonly used in embedded and handheld systems.
6926: 0 belong 0xc745c153 GEOS
6927: >40 byte 1 executable
6928: >40 byte 2 VMFile
6929: >40 byte 3 binary
6930: >40 byte 4 directory label
6931: >40 byte <1 unknown
6932: >40 byte >4 unknown
6933: >4 string >\0 \b, name "%s"
6934: #>44 short x \b, version %d
6935: #>46 short x \b.%d
6936: #>48 short x \b, rev %d
6937: #>50 short x \b.%d
6938: #>52 short x \b, proto %d
6939: #>54 short x \br%d
6940: #>168 string >\0 \b, copyright "%s"
6941: #------------------------------------------------------------------------------
6942: # GIMP Gradient: file(1) magic for the GIMP's gradient data files
6943: # by Federico Mena <federico@nuclecu.unam.mx>
6944:
6945: 0 string GIMP\ Gradient GIMP gradient data
6946:
6947: #------------------------------------------------------------------------------
6948: # XCF: file(1) magic for the XCF image format used in the GIMP developed
6949: # by Spencer Kimball and Peter Mattis
6950: # ('Bucky' LaDieu, nega@vt.edu)
6951:
6952: 0 string gimp\ xcf GIMP XCF image data,
6953: >9 string file version 0,
6954: >9 string v version
6955: >>10 string >\0 %s,
6956: >14 belong x %lu x
6957: >18 belong x %lu,
6958: >22 belong 0 RGB Color
6959: >22 belong 1 Greyscale
6960: >22 belong 2 Indexed Color
6961: >22 belong >2 Unknown Image Type.
6962:
6963: #------------------------------------------------------------------------------
6964: # XCF: file(1) magic for the patterns used in the GIMP, developed
6965: # by Spencer Kimball and Peter Mattis
6966: # ('Bucky' LaDieu, nega@vt.edu)
6967:
6968: 20 string GPAT GIMP pattern data,
6969: >24 string x %s
6970:
6971: #------------------------------------------------------------------------------
6972: # XCF: file(1) magic for the brushes used in the GIMP, developed
6973: # by Spencer Kimball and Peter Mattis
6974: # ('Bucky' LaDieu, nega@vt.edu)
6975:
6976: 20 string GIMP GIMP brush data
6977:
6978: # GIMP Curves File
6979: # From: "Nelson A. de Oliveira" <naoliv@gmail.com>
6980: 0 string #\040GIMP\040Curves\040File GIMP curve file
6981: # GNOME keyring
6982: # Contributed by Josh Triplett
6983: # FIXME: Could be simplified if pstring supported two-byte counts
6984: 0 string GnomeKeyring\n\r\0\n GNOME keyring
6985: >&0 ubyte 0 \b, major version 0
6986: >>&0 ubyte 0 \b, minor version 0
6987: >>>&0 ubyte 0 \b, crypto type 0 (AEL)
6988: >>>&0 ubyte >0 \b, crypto type %hhu (unknown)
6989: >>>&1 ubyte 0 \b, hash type 0 (MD5)
6990: >>>&1 ubyte >0 \b, hash type %hhu (unknown)
6991: >>>&2 ubelong 0xFFFFFFFF \b, name NULL
6992: >>>&2 ubelong !0xFFFFFFFF
6993: >>>>&-4 ubelong >255 \b, name too long for file's pstring type
6994: >>>>&-4 ubelong <256
6995: >>>>>&-1 pstring x \b, name "%s"
6996: >>>>>>&0 ubeqdate x \b, last modified %s
6997: >>>>>>&8 ubeqdate x \b, created %s
6998: >>>>>>&16 ubelong &1
6999: >>>>>>>&0 ubelong x \b, locked if idle for %u seconds
7000: >>>>>>&16 ubelong ^1 \b, not locked if idle
7001: >>>>>>&24 ubelong x \b, hash iterations %u
7002: >>>>>>&28 ubequad x \b, salt %llu
7003: >>>>>>&52 ubelong x \b, %u item(s)
7004: #------------------------------------------------------------------------------
7005: # gnu: file(1) magic for various GNU tools
7006: #
7007: # GNU nlsutils message catalog file format
7008: #
7009: 0 string \336\22\4\225 GNU message catalog (little endian),
7010: >4 lelong x revision %d,
7011: >8 lelong x %d messages
7012: 0 string \225\4\22\336 GNU message catalog (big endian),
7013: >4 belong x revision %d,
7014: >8 belong x %d messages
7015: # message catalogs, from Mitchum DSouza <m.dsouza@mrc-apu.cam.ac.uk>
7016: 0 string *nazgul* Nazgul style compiled message catalog
7017: >8 lelong >0 \b, version %ld
7018:
7019: # GnuPG
7020: # The format is very similar to pgp
7021: 0 string \001gpg GPG key trust database
7022: >4 byte x version %d
7023: # Note: magic.mime had 0x8501 for the next line instead of 0x8502
7024: 0 beshort 0x8502 GPG encrypted data
7025: !:mime text/PGP # encoding: data
7026:
7027: # This magic is not particularly good, as the keyrings don't have true
7028: # magic. Nevertheless, it covers many keyrings.
7029: 0 beshort 0x9901 GPG key public ring
7030: !:mime application/x-gnupg-keyring
7031:
7032: # Gnumeric spreadsheet
7033: # This entry is only semi-helpful, as Gnumeric compresses its files, so
7034: # they will ordinarily reported as "compressed", but at least -z helps
7035: 39 string =<gmr:Workbook Gnumeric spreadsheet
7036:
7037: # From: James Youngman <jay@gnu.org>
7038: # gnu find magic
7039: 0 string \0LOCATE GNU findutils locate database data
7040: >7 string >\0 \b, format %s
7041: >7 string 02 \b (frcode)
7042:
7043: # Files produced by GNU gettext
7044: 0 long 0xDE120495 GNU-format message catalog data
7045: 0 long 0x950412DE GNU-format message catalog data
7046:
7047: #------------------------------------------------------------------------------
7048: # gnumeric: file(1) magic for Gnumeric spreadsheet
7049: # This entry is only semi-helpful, as Gnumeric compresses its files, so
7050: # they will ordinarily reported as "compressed", but at least -z helps
7051: 39 string =<gmr:Workbook Gnumeric spreadsheet
7052: !:mime application/x-gnumeric
7053:
7054: #------------------------------------------------------------------------------
7055: # ACE/gr and Grace type files - PLEASE DO NOT REMOVE THIS LINE
7056: #
7057: # ACE/gr binary
7058: 0 string \000\000\0001\000\000\0000\000\000\0000\000\000\0002\000\000\0000\000\000\0000\000\000\0003 old ACE/gr binary file
7059: >39 byte >0 - version %c
7060: # ACE/gr ascii
7061: 0 string #\ xvgr\ parameter\ file ACE/gr ascii file
7062: 0 string #\ xmgr\ parameter\ file ACE/gr ascii file
7063: 0 string #\ ACE/gr\ parameter\ file ACE/gr ascii file
7064: # Grace projects
7065: 0 string #\ Grace\ project\ file Grace project file
7066: >23 string @version\ (version
7067: >>32 byte >0 %c
7068: >>33 string >\0 \b.%.2s
7069: >>35 string >\0 \b.%.2s)
7070: # ACE/gr fit description files
7071: 0 string #\ ACE/gr\ fit\ description\ ACE/gr fit description file
7072: # end of ACE/gr and Grace type files - PLEASE DO NOT REMOVE THIS LINE
7073:
7074: #------------------------------------------------------------------------------
7075: # graphviz: file(1) magic for http://www.graphviz.org/
7076: 0 regex/100 [\r\n\t\ ]*graph[\r\n\t\ ]*.*\\{ graphviz graph text
7077: !:mime text/vnd.graphviz
7078: 0 regex/100 [\r\n\t\ ]*digraph[\r\n\t\ ]*.*\\{ graphviz digraph text
7079: !:mime text/vnd.graphviz
7080:
7081: #------------------------------------------------------------------------------
7082: # gringotts: file(1) magic for Gringotts
7083: # http://devel.pluto.linux.it/projects/Gringotts/
7084: # author: Germano Rizzo <mano@pluto.linux.it>
7085: #GRG3????Y
7086: 0 string GRG Gringotts data file
7087: #file format 1
7088: >3 string 1 v.1, MCRYPT S2K, SERPENT crypt, SHA-256 hash, ZLib lvl.9
7089: #file format 2
7090: >3 string 2 v.2, MCRYPT S2K,
7091: >>8 byte&0x70 0x00 RIJNDAEL-128 crypt,
7092: >>8 byte&0x70 0x10 SERPENT crypt,
7093: >>8 byte&0x70 0x20 TWOFISH crypt,
7094: >>8 byte&0x70 0x30 CAST-256 crypt,
7095: >>8 byte&0x70 0x40 SAFER+ crypt,
7096: >>8 byte&0x70 0x50 LOKI97 crypt,
7097: >>8 byte&0x70 0x60 3DES crypt,
7098: >>8 byte&0x70 0x70 RIJNDAEL-256 crypt,
7099: >>8 byte&0x08 0x00 SHA1 hash,
7100: >>8 byte&0x08 0x08 RIPEMD-160 hash,
7101: >>8 byte&0x04 0x00 ZLib
7102: >>8 byte&0x04 0x04 BZip2
7103: >>8 byte&0x03 0x00 lvl.0
7104: >>8 byte&0x03 0x01 lvl.3
7105: >>8 byte&0x03 0x02 lvl.6
7106: >>8 byte&0x03 0x03 lvl.9
7107: #file format 3
7108: >3 string 3 v.3, OpenPGP S2K,
7109: >>8 byte&0x70 0x00 RIJNDAEL-128 crypt,
7110: >>8 byte&0x70 0x10 SERPENT crypt,
7111: >>8 byte&0x70 0x20 TWOFISH crypt,
7112: >>8 byte&0x70 0x30 CAST-256 crypt,
7113: >>8 byte&0x70 0x40 SAFER+ crypt,
7114: >>8 byte&0x70 0x50 LOKI97 crypt,
7115: >>8 byte&0x70 0x60 3DES crypt,
7116: >>8 byte&0x70 0x70 RIJNDAEL-256 crypt,
7117: >>8 byte&0x08 0x00 SHA1 hash,
7118: >>8 byte&0x08 0x08 RIPEMD-160 hash,
7119: >>8 byte&0x04 0x00 ZLib
7120: >>8 byte&0x04 0x04 BZip2
7121: >>8 byte&0x03 0x00 lvl.0
7122: >>8 byte&0x03 0x01 lvl.3
7123: >>8 byte&0x03 0x02 lvl.6
7124: >>8 byte&0x03 0x03 lvl.9
7125: #file format >3
7126: >3 string >3 v.%.1s (unknown details)
7127:
7128: #------------------------------------------------------------------------------
7129: # hitach-sh: file(1) magic for Hitachi Super-H
7130: #
7131: # Super-H COFF
7132: #
7133: 0 beshort 0x0500 Hitachi SH big-endian COFF
7134: >18 beshort&0x0002 =0x0000 object
7135: >18 beshort&0x0002 =0x0002 executable
7136: >18 beshort&0x0008 =0x0008 \b, stripped
7137: >18 beshort&0x0008 =0x0000 \b, not stripped
7138: #
7139: 0 leshort 0x0550 Hitachi SH little-endian COFF
7140: >18 leshort&0x0002 =0x0000 object
7141: >18 leshort&0x0002 =0x0002 executable
7142: >18 leshort&0x0008 =0x0008 \b, stripped
7143: >18 leshort&0x0008 =0x0000 \b, not stripped
7144:
7145: #------------------------------------------------------------------------------
7146: # hp: file(1) magic for Hewlett Packard machines (see also "printer")
7147: #
7148: # XXX - somebody should figure out whether any byte order needs to be
7149: # applied to the "TML" stuff; I'm assuming the Apollo stuff is
7150: # big-endian as it was mostly 68K-based.
7151: #
7152: # I think the 500 series was the old stack-based machines, running a
7153: # UNIX environment atop the "SUN kernel"; dunno whether it was
7154: # big-endian or little-endian.
7155: #
7156: # Daniel Quinlan (quinlan@yggdrasil.com): hp200 machines are 68010 based;
7157: # hp300 are 68020+68881 based; hp400 are also 68k. The following basic
7158: # HP magic is useful for reference, but using "long" magic is a better
7159: # practice in order to avoid collisions.
7160: #
7161: # Guy Harris (guy@netapp.com): some additions to this list came from
7162: # HP-UX 10.0's "/usr/include/sys/unistd.h" (68030, 68040, PA-RISC 1.1,
7163: # 1.2, and 2.0). The 1.2 and 2.0 stuff isn't in the HP-UX 10.0
7164: # "/etc/magic", though, except for the "archive file relocatable library"
7165: # stuff, and the 68030 and 68040 stuff isn't there at all - are they not
7166: # used in executables, or have they just not yet updated "/etc/magic"
7167: # completely?
7168: #
7169: # 0 beshort 200 hp200 (68010) BSD binary
7170: # 0 beshort 300 hp300 (68020+68881) BSD binary
7171: # 0 beshort 0x20c hp200/300 HP-UX binary
7172: # 0 beshort 0x20d hp400 (68030) HP-UX binary
7173: # 0 beshort 0x20e hp400 (68040?) HP-UX binary
7174: # 0 beshort 0x20b PA-RISC1.0 HP-UX binary
7175: # 0 beshort 0x210 PA-RISC1.1 HP-UX binary
7176: # 0 beshort 0x211 PA-RISC1.2 HP-UX binary
7177: # 0 beshort 0x214 PA-RISC2.0 HP-UX binary
7178:
7179: #
7180: # The "misc" stuff needs a byte order; the archives look suspiciously
7181: # like the old 177545 archives (0xff65 = 0177545).
7182: #
7183: #### Old Apollo stuff
7184: 0 beshort 0627 Apollo m68k COFF executable
7185: >18 beshort ^040000 not stripped
7186: >22 beshort >0 - version %ld
7187: 0 beshort 0624 apollo a88k COFF executable
7188: >18 beshort ^040000 not stripped
7189: >22 beshort >0 - version %ld
7190: 0 long 01203604016 TML 0123 byte-order format
7191: 0 long 01702407010 TML 1032 byte-order format
7192: 0 long 01003405017 TML 2301 byte-order format
7193: 0 long 01602007412 TML 3210 byte-order format
7194: #### PA-RISC 1.1
7195: 0 belong 0x02100106 PA-RISC1.1 relocatable object
7196: 0 belong 0x02100107 PA-RISC1.1 executable
7197: >168 belong &0x00000004 dynamically linked
7198: >(144) belong 0x054ef630 dynamically linked
7199: >96 belong >0 - not stripped
7200:
7201: 0 belong 0x02100108 PA-RISC1.1 shared executable
7202: >168 belong&0x4 0x4 dynamically linked
7203: >(144) belong 0x054ef630 dynamically linked
7204: >96 belong >0 - not stripped
7205:
7206: 0 belong 0x0210010b PA-RISC1.1 demand-load executable
7207: >168 belong&0x4 0x4 dynamically linked
7208: >(144) belong 0x054ef630 dynamically linked
7209: >96 belong >0 - not stripped
7210:
7211: 0 belong 0x0210010e PA-RISC1.1 shared library
7212: >96 belong >0 - not stripped
7213:
7214: 0 belong 0x0210010d PA-RISC1.1 dynamic load library
7215: >96 belong >0 - not stripped
7216:
7217: #### PA-RISC 2.0
7218: 0 belong 0x02140106 PA-RISC2.0 relocatable object
7219:
7220: 0 belong 0x02140107 PA-RISC2.0 executable
7221: >168 belong &0x00000004 dynamically linked
7222: >(144) belong 0x054ef630 dynamically linked
7223: >96 belong >0 - not stripped
7224:
7225: 0 belong 0x02140108 PA-RISC2.0 shared executable
7226: >168 belong &0x00000004 dynamically linked
7227: >(144) belong 0x054ef630 dynamically linked
7228: >96 belong >0 - not stripped
7229:
7230: 0 belong 0x0214010b PA-RISC2.0 demand-load executable
7231: >168 belong &0x00000004 dynamically linked
7232: >(144) belong 0x054ef630 dynamically linked
7233: >96 belong >0 - not stripped
7234:
7235: 0 belong 0x0214010e PA-RISC2.0 shared library
7236: >96 belong >0 - not stripped
7237:
7238: 0 belong 0x0214010d PA-RISC2.0 dynamic load library
7239: >96 belong >0 - not stripped
7240:
7241: #### 800
7242: 0 belong 0x020b0106 PA-RISC1.0 relocatable object
7243:
7244: 0 belong 0x020b0107 PA-RISC1.0 executable
7245: >168 belong&0x4 0x4 dynamically linked
7246: >(144) belong 0x054ef630 dynamically linked
7247: >96 belong >0 - not stripped
7248:
7249: 0 belong 0x020b0108 PA-RISC1.0 shared executable
7250: >168 belong&0x4 0x4 dynamically linked
7251: >(144) belong 0x054ef630 dynamically linked
7252: >96 belong >0 - not stripped
7253:
7254: 0 belong 0x020b010b PA-RISC1.0 demand-load executable
7255: >168 belong&0x4 0x4 dynamically linked
7256: >(144) belong 0x054ef630 dynamically linked
7257: >96 belong >0 - not stripped
7258:
7259: 0 belong 0x020b010e PA-RISC1.0 shared library
7260: >96 belong >0 - not stripped
7261:
7262: 0 belong 0x020b010d PA-RISC1.0 dynamic load library
7263: >96 belong >0 - not stripped
7264:
7265: 0 belong 0x213c6172 archive file
7266: >68 belong 0x020b0619 - PA-RISC1.0 relocatable library
7267: >68 belong 0x02100619 - PA-RISC1.1 relocatable library
7268: >68 belong 0x02110619 - PA-RISC1.2 relocatable library
7269: >68 belong 0x02140619 - PA-RISC2.0 relocatable library
7270:
7271: #### 500
7272: 0 long 0x02080106 HP s500 relocatable executable
7273: >16 long >0 - version %ld
7274:
7275: 0 long 0x02080107 HP s500 executable
7276: >16 long >0 - version %ld
7277:
7278: 0 long 0x02080108 HP s500 pure executable
7279: >16 long >0 - version %ld
7280:
7281: #### 200
7282: 0 belong 0x020c0108 HP s200 pure executable
7283: >4 beshort >0 - version %ld
7284: >8 belong &0x80000000 save fp regs
7285: >8 belong &0x40000000 dynamically linked
7286: >8 belong &0x20000000 debuggable
7287: >36 belong >0 not stripped
7288:
7289: 0 belong 0x020c0107 HP s200 executable
7290: >4 beshort >0 - version %ld
7291: >8 belong &0x80000000 save fp regs
7292: >8 belong &0x40000000 dynamically linked
7293: >8 belong &0x20000000 debuggable
7294: >36 belong >0 not stripped
7295:
7296: 0 belong 0x020c010b HP s200 demand-load executable
7297: >4 beshort >0 - version %ld
7298: >8 belong &0x80000000 save fp regs
7299: >8 belong &0x40000000 dynamically linked
7300: >8 belong &0x20000000 debuggable
7301: >36 belong >0 not stripped
7302:
7303: 0 belong 0x020c0106 HP s200 relocatable executable
7304: >4 beshort >0 - version %ld
7305: >6 beshort >0 - highwater %d
7306: >8 belong &0x80000000 save fp regs
7307: >8 belong &0x20000000 debuggable
7308: >8 belong &0x10000000 PIC
7309:
7310: 0 belong 0x020a0108 HP s200 (2.x release) pure executable
7311: >4 beshort >0 - version %ld
7312: >36 belong >0 not stripped
7313:
7314: 0 belong 0x020a0107 HP s200 (2.x release) executable
7315: >4 beshort >0 - version %ld
7316: >36 belong >0 not stripped
7317:
7318: 0 belong 0x020c010e HP s200 shared library
7319: >4 beshort >0 - version %ld
7320: >6 beshort >0 - highwater %d
7321: >36 belong >0 not stripped
7322:
7323: 0 belong 0x020c010d HP s200 dynamic load library
7324: >4 beshort >0 - version %ld
7325: >6 beshort >0 - highwater %d
7326: >36 belong >0 not stripped
7327:
7328: #### MISC
7329: 0 long 0x0000ff65 HP old archive
7330: 0 long 0x020aff65 HP s200 old archive
7331: 0 long 0x020cff65 HP s200 old archive
7332: 0 long 0x0208ff65 HP s500 old archive
7333:
7334: 0 long 0x015821a6 HP core file
7335:
7336: 0 long 0x4da7eee8 HP-WINDOWS font
7337: >8 byte >0 - version %ld
7338: 0 string Bitmapfile HP Bitmapfile
7339:
7340: 0 string IMGfile CIS compimg HP Bitmapfile
7341: # XXX - see "lif"
7342: #0 short 0x8000 lif file
7343: 0 long 0x020c010c compiled Lisp
7344:
7345: 0 string msgcat01 HP NLS message catalog,
7346: >8 long >0 %d messages
7347:
7348: # Summary: HP-48/49 calculator
7349: # Created by: phk@data.fls.dk
7350: # Modified by (1): AMAKAWA Shuhei <sa264@cam.ac.uk>
7351: # Modified by (2): Samuel Thibault <samuel.thibault@ens-lyon.org> (HP49 support)
7352: 0 string HPHP HP
7353: >4 string 48 48 binary
7354: >4 string 49 49 binary
7355: >7 byte >64 - Rev %c
7356: >8 leshort 0x2911 (ADR)
7357: >8 leshort 0x2933 (REAL)
7358: >8 leshort 0x2955 (LREAL)
7359: >8 leshort 0x2977 (COMPLX)
7360: >8 leshort 0x299d (LCOMPLX)
7361: >8 leshort 0x29bf (CHAR)
7362: >8 leshort 0x29e8 (ARRAY)
7363: >8 leshort 0x2a0a (LNKARRAY)
7364: >8 leshort 0x2a2c (STRING)
7365: >8 leshort 0x2a4e (HXS)
7366: >8 leshort 0x2a74 (LIST)
7367: >8 leshort 0x2a96 (DIR)
7368: >8 leshort 0x2ab8 (ALG)
7369: >8 leshort 0x2ada (UNIT)
7370: >8 leshort 0x2afc (TAGGED)
7371: >8 leshort 0x2b1e (GROB)
7372: >8 leshort 0x2b40 (LIB)
7373: >8 leshort 0x2b62 (BACKUP)
7374: >8 leshort 0x2b88 (LIBDATA)
7375: >8 leshort 0x2d9d (PROG)
7376: >8 leshort 0x2dcc (CODE)
7377: >8 leshort 0x2e48 (GNAME)
7378: >8 leshort 0x2e6d (LNAME)
7379: >8 leshort 0x2e92 (XLIB)
7380:
7381: 0 string %%HP: HP text
7382: >6 string T(0) - T(0)
7383: >6 string T(1) - T(1)
7384: >6 string T(2) - T(2)
7385: >6 string T(3) - T(3)
7386: >10 string A(D) A(D)
7387: >10 string A(R) A(R)
7388: >10 string A(G) A(G)
7389: >14 string F(.) F(.);
7390: >14 string F(,) F(,);
7391:
7392:
7393: # Summary: HP-38/39 calculator
7394: # Created by: Samuel Thibault <samuel.thibault@ens-lyon.org>
7395: 0 string HP3
7396: >3 string 8 HP 38
7397: >3 string 9 HP 39
7398: >4 string Bin binary
7399: >4 string Asc ASCII
7400: >7 string A (Directory List)
7401: >7 string B (Zaplet)
7402: >7 string C (Note)
7403: >7 string D (Program)
7404: >7 string E (Variable)
7405: >7 string F (List)
7406: >7 string G (Matrix)
7407: >7 string H (Library)
7408: >7 string I (Target List)
7409: >7 string J (ASCII Vector specification)
7410: >7 string K (wildcard)
7411:
7412: # Summary: HP-38/39 calculator
7413: # Created by: Samuel Thibault <samuel.thibault@ens-lyon.org>
7414: 0 string HP3
7415: >3 string 8 HP 38
7416: >3 string 9 HP 39
7417: >4 string Bin binary
7418: >4 string Asc ASCII
7419: >7 string A (Directory List)
7420: >7 string B (Zaplet)
7421: >7 string C (Note)
7422: >7 string D (Program)
7423: >7 string E (Variable)
7424: >7 string F (List)
7425: >7 string G (Matrix)
7426: >7 string H (Library)
7427: >7 string I (Target List)
7428: >7 string J (ASCII Vector specification)
7429: >7 string K (wildcard)
7430:
7431: # hpBSD magic numbers
7432: 0 beshort 200 hp200 (68010) BSD
7433: >2 beshort 0407 impure binary
7434: >2 beshort 0410 read-only binary
7435: >2 beshort 0413 demand paged binary
7436: 0 beshort 300 hp300 (68020+68881) BSD
7437: >2 beshort 0407 impure binary
7438: >2 beshort 0410 read-only binary
7439: >2 beshort 0413 demand paged binary
7440: #
7441: # From David Gero <dgero@nortelnetworks.com>
7442: # HP-UX 10.20 core file format from /usr/include/sys/core.h
7443: # Unfortunately, HP-UX uses corehead blocks without specifying the order
7444: # There are four we care about:
7445: # CORE_KERNEL, which starts with the string "HP-UX"
7446: # CORE_EXEC, which contains the name of the command
7447: # CORE_PROC, which contains the signal number that caused the core dump
7448: # CORE_FORMAT, which contains the version of the core file format (== 1)
7449: # The only observed order in real core files is KERNEL, EXEC, FORMAT, PROC
7450: # but we include all 6 variations of the order of the first 3, and
7451: # assume that PROC will always be last
7452: # Order 1: KERNEL, EXEC, FORMAT, PROC
7453: 0x10 string HP-UX
7454: >0 belong 2
7455: >>0xC belong 0x3C
7456: >>>0x4C belong 0x100
7457: >>>>0x58 belong 0x44
7458: >>>>>0xA0 belong 1
7459: >>>>>>0xAC belong 4
7460: >>>>>>>0xB0 belong 1
7461: >>>>>>>>0xB4 belong 4 core file
7462: >>>>>>>>>0x90 string >\0 from '%s'
7463: >>>>>>>>>0xC4 belong 3 - received SIGQUIT
7464: >>>>>>>>>0xC4 belong 4 - received SIGILL
7465: >>>>>>>>>0xC4 belong 5 - received SIGTRAP
7466: >>>>>>>>>0xC4 belong 6 - received SIGABRT
7467: >>>>>>>>>0xC4 belong 7 - received SIGEMT
7468: >>>>>>>>>0xC4 belong 8 - received SIGFPE
7469: >>>>>>>>>0xC4 belong 10 - received SIGBUS
7470: >>>>>>>>>0xC4 belong 11 - received SIGSEGV
7471: >>>>>>>>>0xC4 belong 12 - received SIGSYS
7472: >>>>>>>>>0xC4 belong 33 - received SIGXCPU
7473: >>>>>>>>>0xC4 belong 34 - received SIGXFSZ
7474: # Order 2: KERNEL, FORMAT, EXEC, PROC
7475: >>>0x4C belong 1
7476: >>>>0x58 belong 4
7477: >>>>>0x5C belong 1
7478: >>>>>>0x60 belong 0x100
7479: >>>>>>>0x6C belong 0x44
7480: >>>>>>>>0xB4 belong 4 core file
7481: >>>>>>>>>0xA4 string >\0 from '%s'
7482: >>>>>>>>>0xC4 belong 3 - received SIGQUIT
7483: >>>>>>>>>0xC4 belong 4 - received SIGILL
7484: >>>>>>>>>0xC4 belong 5 - received SIGTRAP
7485: >>>>>>>>>0xC4 belong 6 - received SIGABRT
7486: >>>>>>>>>0xC4 belong 7 - received SIGEMT
7487: >>>>>>>>>0xC4 belong 8 - received SIGFPE
7488: >>>>>>>>>0xC4 belong 10 - received SIGBUS
7489: >>>>>>>>>0xC4 belong 11 - received SIGSEGV
7490: >>>>>>>>>0xC4 belong 12 - received SIGSYS
7491: >>>>>>>>>0xC4 belong 33 - received SIGXCPU
7492: >>>>>>>>>0xC4 belong 34 - received SIGXFSZ
7493: # Order 3: FORMAT, KERNEL, EXEC, PROC
7494: 0x24 string HP-UX
7495: >0 belong 1
7496: >>0xC belong 4
7497: >>>0x10 belong 1
7498: >>>>0x14 belong 2
7499: >>>>>0x20 belong 0x3C
7500: >>>>>>0x60 belong 0x100
7501: >>>>>>>0x6C belong 0x44
7502: >>>>>>>>0xB4 belong 4 core file
7503: >>>>>>>>>0xA4 string >\0 from '%s'
7504: >>>>>>>>>0xC4 belong 3 - received SIGQUIT
7505: >>>>>>>>>0xC4 belong 4 - received SIGILL
7506: >>>>>>>>>0xC4 belong 5 - received SIGTRAP
7507: >>>>>>>>>0xC4 belong 6 - received SIGABRT
7508: >>>>>>>>>0xC4 belong 7 - received SIGEMT
7509: >>>>>>>>>0xC4 belong 8 - received SIGFPE
7510: >>>>>>>>>0xC4 belong 10 - received SIGBUS
7511: >>>>>>>>>0xC4 belong 11 - received SIGSEGV
7512: >>>>>>>>>0xC4 belong 12 - received SIGSYS
7513: >>>>>>>>>0xC4 belong 33 - received SIGXCPU
7514: >>>>>>>>>0xC4 belong 34 - received SIGXFSZ
7515: # Order 4: EXEC, KERNEL, FORMAT, PROC
7516: 0x64 string HP-UX
7517: >0 belong 0x100
7518: >>0xC belong 0x44
7519: >>>0x54 belong 2
7520: >>>>0x60 belong 0x3C
7521: >>>>>0xA0 belong 1
7522: >>>>>>0xAC belong 4
7523: >>>>>>>0xB0 belong 1
7524: >>>>>>>>0xB4 belong 4 core file
7525: >>>>>>>>>0x44 string >\0 from '%s'
7526: >>>>>>>>>0xC4 belong 3 - received SIGQUIT
7527: >>>>>>>>>0xC4 belong 4 - received SIGILL
7528: >>>>>>>>>0xC4 belong 5 - received SIGTRAP
7529: >>>>>>>>>0xC4 belong 6 - received SIGABRT
7530: >>>>>>>>>0xC4 belong 7 - received SIGEMT
7531: >>>>>>>>>0xC4 belong 8 - received SIGFPE
7532: >>>>>>>>>0xC4 belong 10 - received SIGBUS
7533: >>>>>>>>>0xC4 belong 11 - received SIGSEGV
7534: >>>>>>>>>0xC4 belong 12 - received SIGSYS
7535: >>>>>>>>>0xC4 belong 33 - received SIGXCPU
7536: >>>>>>>>>0xC4 belong 34 - received SIGXFSZ
7537: # Order 5: FORMAT, EXEC, KERNEL, PROC
7538: 0x78 string HP-UX
7539: >0 belong 1
7540: >>0xC belong 4
7541: >>>0x10 belong 1
7542: >>>>0x14 belong 0x100
7543: >>>>>0x20 belong 0x44
7544: >>>>>>0x68 belong 2
7545: >>>>>>>0x74 belong 0x3C
7546: >>>>>>>>0xB4 belong 4 core file
7547: >>>>>>>>>0x58 string >\0 from '%s'
7548: >>>>>>>>>0xC4 belong 3 - received SIGQUIT
7549: >>>>>>>>>0xC4 belong 4 - received SIGILL
7550: >>>>>>>>>0xC4 belong 5 - received SIGTRAP
7551: >>>>>>>>>0xC4 belong 6 - received SIGABRT
7552: >>>>>>>>>0xC4 belong 7 - received SIGEMT
7553: >>>>>>>>>0xC4 belong 8 - received SIGFPE
7554: >>>>>>>>>0xC4 belong 10 - received SIGBUS
7555: >>>>>>>>>0xC4 belong 11 - received SIGSEGV
7556: >>>>>>>>>0xC4 belong 12 - received SIGSYS
7557: >>>>>>>>>0xC4 belong 33 - received SIGXCPU
7558: >>>>>>>>>0xC4 belong 34 - received SIGXFSZ
7559: # Order 6: EXEC, FORMAT, KERNEL, PROC
7560: >0 belong 0x100
7561: >>0xC belong 0x44
7562: >>>0x54 belong 1
7563: >>>>0x60 belong 4
7564: >>>>>0x64 belong 1
7565: >>>>>>0x68 belong 2
7566: >>>>>>>0x74 belong 0x2C
7567: >>>>>>>>0xB4 belong 4 core file
7568: >>>>>>>>>0x44 string >\0 from '%s'
7569: >>>>>>>>>0xC4 belong 3 - received SIGQUIT
7570: >>>>>>>>>0xC4 belong 4 - received SIGILL
7571: >>>>>>>>>0xC4 belong 5 - received SIGTRAP
7572: >>>>>>>>>0xC4 belong 6 - received SIGABRT
7573: >>>>>>>>>0xC4 belong 7 - received SIGEMT
7574: >>>>>>>>>0xC4 belong 8 - received SIGFPE
7575: >>>>>>>>>0xC4 belong 10 - received SIGBUS
7576: >>>>>>>>>0xC4 belong 11 - received SIGSEGV
7577: >>>>>>>>>0xC4 belong 12 - received SIGSYS
7578: >>>>>>>>>0xC4 belong 33 - received SIGXCPU
7579: >>>>>>>>>0xC4 belong 34 - received SIGXFSZ
7580:
7581:
7582:
7583: #------------------------------------------------------------------------------
7584: # human68k: file(1) magic for Human68k (X680x0 DOS) binary formats
7585: # Magic too short!
7586: #0 string HU Human68k
7587: #>68 string LZX LZX compressed
7588: #>>72 string >\0 (version %s)
7589: #>(8.L+74) string LZX LZX compressed
7590: #>>(8.L+78) string >\0 (version %s)
7591: #>60 belong >0 binded
7592: #>(8.L+66) string #HUPAIR hupair
7593: #>0 string HU X executable
7594: #>(8.L+74) string #LIBCV1 - linked PD LIBC ver 1
7595: #>4 belong >0 - base address 0x%x
7596: #>28 belong >0 not stripped
7597: #>32 belong >0 with debug information
7598: #0 beshort 0x601a Human68k Z executable
7599: #0 beshort 0x6000 Human68k object file
7600: #0 belong 0xd1000000 Human68k ar binary archive
7601: #0 belong 0xd1010000 Human68k ar ascii archive
7602: #0 beshort 0x0068 Human68k lib archive
7603: #4 string LZX Human68k LZX compressed
7604: #>8 string >\0 (version %s)
7605: #>4 string LZX R executable
7606: #2 string #HUPAIR Human68k hupair R executable
7607:
7608: #------------------------------------------------------------------------------
7609: # ibm370: file(1) magic for IBM 370 and compatibles.
7610: #
7611: # "ibm370" said that 0x15d == 0535 was "ibm 370 pure executable".
7612: # What the heck *is* "USS/370"?
7613: # AIX 4.1's "/etc/magic" has
7614: #
7615: # 0 short 0535 370 sysV executable
7616: # >12 long >0 not stripped
7617: # >22 short >0 - version %d
7618: # >30 long >0 - 5.2 format
7619: # 0 short 0530 370 sysV pure executable
7620: # >12 long >0 not stripped
7621: # >22 short >0 - version %d
7622: # >30 long >0 - 5.2 format
7623: #
7624: # instead of the "USS/370" versions of the same magic numbers.
7625: #
7626: 0 beshort 0537 370 XA sysV executable
7627: >12 belong >0 not stripped
7628: >22 beshort >0 - version %d
7629: >30 belong >0 - 5.2 format
7630: 0 beshort 0532 370 XA sysV pure executable
7631: >12 belong >0 not stripped
7632: >22 beshort >0 - version %d
7633: >30 belong >0 - 5.2 format
7634: 0 beshort 054001 370 sysV pure executable
7635: >12 belong >0 not stripped
7636: 0 beshort 055001 370 XA sysV pure executable
7637: >12 belong >0 not stripped
7638: 0 beshort 056401 370 sysV executable
7639: >12 belong >0 not stripped
7640: 0 beshort 057401 370 XA sysV executable
7641: >12 belong >0 not stripped
7642: 0 beshort 0531 SVR2 executable (Amdahl-UTS)
7643: >12 belong >0 not stripped
7644: >24 belong >0 - version %ld
7645: 0 beshort 0534 SVR2 pure executable (Amdahl-UTS)
7646: >12 belong >0 not stripped
7647: >24 belong >0 - version %ld
7648: 0 beshort 0530 SVR2 pure executable (USS/370)
7649: >12 belong >0 not stripped
7650: >24 belong >0 - version %ld
7651: 0 beshort 0535 SVR2 executable (USS/370)
7652: >12 belong >0 not stripped
7653: >24 belong >0 - version %ld
7654:
7655: #------------------------------------------------------------------------------
7656: # ibm6000: file(1) magic for RS/6000 and the RT PC.
7657: #
7658: 0 beshort 0x01df executable (RISC System/6000 V3.1) or obj module
7659: >12 belong >0 not stripped
7660: # Breaks sun4 statically linked execs.
7661: #0 beshort 0x0103 executable (RT Version 2) or obj module
7662: #>2 byte 0x50 pure
7663: #>28 belong >0 not stripped
7664: #>6 beshort >0 - version %ld
7665: 0 beshort 0x0104 shared library
7666: 0 beshort 0x0105 ctab data
7667: 0 beshort 0xfe04 structured file
7668: 0 string 0xabcdef AIX message catalog
7669: 0 belong 0x000001f9 AIX compiled message catalog
7670: 0 string \<aiaff> archive
7671: 0 string \<bigaf> archive (big format)
7672:
7673:
7674: #------------------------------------------------------------------------------
7675: # iff: file(1) magic for Interchange File Format (see also "audio" & "images")
7676: #
7677: # Daniel Quinlan (quinlan@yggdrasil.com) -- IFF was designed by Electronic
7678: # Arts for file interchange. It has also been used by Apple, SGI, and
7679: # especially Commodore-Amiga.
7680: #
7681: # IFF files begin with an 8 byte FORM header, followed by a 4 character
7682: # FORM type, which is followed by the first chunk in the FORM.
7683:
7684: 0 string FORM IFF data
7685: #>4 belong x \b, FORM is %d bytes long
7686: # audio formats
7687: >8 string AIFF \b, AIFF audio
7688: !:mime audio/x-aiff
7689: >8 string AIFC \b, AIFF-C compressed audio
7690: !:mime audio/x-aiff
7691: >8 string 8SVX \b, 8SVX 8-bit sampled sound voice
7692: !:mime audio/x-aiff
7693: >8 string 16SV \b, 16SV 16-bit sampled sound voice
7694: >8 string SAMP \b, SAMP sampled audio
7695: >8 string MAUD \b, MAUD MacroSystem audio
7696: >8 string SMUS \b, SMUS simple music
7697: >8 string CMUS \b, CMUS complex music
7698: # image formats
7699: >8 string ILBMBMHD \b, ILBM interleaved image
7700: >>20 beshort x \b, %d x
7701: >>22 beshort x %d
7702: >8 string RGBN \b, RGBN 12-bit RGB image
7703: >8 string RGB8 \b, RGB8 24-bit RGB image
7704: >8 string DEEP \b, DEEP TVPaint/XiPaint image
7705: >8 string DR2D \b, DR2D 2-D object
7706: >8 string TDDD \b, TDDD 3-D rendering
7707: >8 string LWOB \b, LWOB 3-D object
7708: >8 string LWO2 \b, LWO2 3-D object, v2
7709: >8 string LWLO \b, LWLO 3-D layered object
7710: >8 string REAL \b, REAL Real3D rendering
7711: >8 string MC4D \b, MC4D MaxonCinema4D rendering
7712: >8 string ANIM \b, ANIM animation
7713: >8 string YAFA \b, YAFA animation
7714: >8 string SSA\ \b, SSA super smooth animation
7715: >8 string ACBM \b, ACBM continuous image
7716: >8 string FAXX \b, FAXX fax image
7717: # other formats
7718: >8 string FTXT \b, FTXT formatted text
7719: >8 string CTLG \b, CTLG message catalog
7720: >8 string PREF \b, PREF preferences
7721: >8 string DTYP \b, DTYP datatype description
7722: >8 string PTCH \b, PTCH binary patch
7723: >8 string AMFF \b, AMFF AmigaMetaFile format
7724: >8 string WZRD \b, WZRD StormWIZARD resource
7725: >8 string DOC\ \b, DOC desktop publishing document
7726:
7727: # These go at the end of the iff rules
7728: #
7729: # I don't see why these might collide with anything else.
7730: #
7731: # Interactive Fiction related formats
7732: #
7733: >8 string IFRS \b, Blorb Interactive Fiction
7734: >>24 string Exec with executable chunk
7735: >8 string IFZS \b, Z-machine or Glulx saved game file (Quetzal)
7736: #------------------------------------------------------------------------------
7737: # images: file(1) magic for image formats (see also "iff", and "c-lang" for
7738: # XPM bitmaps)
7739: #
7740: # originally from jef@helios.ee.lbl.gov (Jef Poskanzer),
7741: # additions by janl@ifi.uio.no as well as others. Jan also suggested
7742: # merging several one- and two-line files into here.
7743: #
7744: # little magic: PCX (first byte is 0x0a)
7745:
7746: # Targa - matches `povray', `ppmtotga' and `xv' outputs
7747: # by Philippe De Muyter <phdm@macqel.be>
7748: # at 2, byte ImgType must be 1, 2, 3, 9, 10 or 11
7749: # at 1, byte CoMapType must be 1 if ImgType is 1 or 9, 0 otherwise
7750: # at 3, leshort Index is 0 for povray, ppmtotga and xv outputs
7751: # `xv' recognizes only a subset of the following (RGB with pixelsize = 24)
7752: # `tgatoppm' recognizes a superset (Index may be anything)
7753: 1 belong&0xfff7ffff 0x01010000 Targa image data - Map
7754: >2 byte&8 8 - RLE
7755: >12 leshort >0 %hd x
7756: >14 leshort >0 %hd
7757: 1 belong&0xfff7ffff 0x00020000 Targa image data - RGB
7758: >2 byte&8 8 - RLE
7759: >12 leshort >0 %hd x
7760: >14 leshort >0 %hd
7761: 1 belong&0xfff7ffff 0x00030000 Targa image data - Mono
7762: >2 byte&8 8 - RLE
7763: >12 leshort >0 %hd x
7764: >14 leshort >0 %hd
7765:
7766: # PBMPLUS images
7767: # The next byte following the magic is always whitespace.
7768: 0 search/1 P1 Netpbm PBM image text
7769: !:mime image/x-portable-bitmap
7770: 0 search/1 P2 Netpbm PGM image text
7771: !:mime image/x-portable-greymap
7772: 0 search/1 P3 Netpbm PPM image text
7773: !:mime image/x-portable-pixmap
7774: 0 string P4 Netpbm PBM "rawbits" image data
7775: !:mime image/x-portable-bitmap
7776: 0 string P5 Netpbm PGM "rawbits" image data
7777: !:mime image/x-portable-greymap
7778: 0 string P6 Netpbm PPM "rawbits" image data
7779: !:mime image/x-portable-pixmap
7780: 0 string P7 Netpbm PAM image file
7781: !:mime image/x-portable-pixmap
7782:
7783: # From: bryanh@giraffe-data.com (Bryan Henderson)
7784: 0 string \117\072 Solitaire Image Recorder format
7785: >4 string \013 MGI Type 11
7786: >4 string \021 MGI Type 17
7787: 0 string .MDA MicroDesign data
7788: >21 byte 48 version 2
7789: >21 byte 51 version 3
7790: 0 string .MDP MicroDesign page data
7791: >21 byte 48 version 2
7792: >21 byte 51 version 3
7793:
7794: # NIFF (Navy Interchange File Format, a modification of TIFF) images
7795: # [GRR: this *must* go before TIFF]
7796: 0 string IIN1 NIFF image data
7797: !:mime image/x-niff
7798:
7799: # Tag Image File Format, from Daniel Quinlan (quinlan@yggdrasil.com)
7800: # The second word of TIFF files is the TIFF version number, 42, which has
7801: # never changed. The TIFF specification recommends testing for it.
7802: 0 string MM\x00\x2a TIFF image data, big-endian
7803: !:mime image/tiff
7804: 0 string II\x2a\x00 TIFF image data, little-endian
7805: !:mime image/tiff
7806:
7807: # PNG [Portable Network Graphics, or "PNG's Not GIF"] images
7808: # (Greg Roelofs, newt@uchicago.edu)
7809: # (Albert Cahalan, acahalan@cs.uml.edu)
7810: #
7811: # 137 P N G \r \n ^Z \n [4-byte length] H E A D [HEAD data] [HEAD crc] ...
7812: #
7813: 0 string \x89PNG\x0d\x0a\x1a\x0a PNG image
7814: !:mime image/png
7815: >16 belong x \b, %ld x
7816: >20 belong x %ld,
7817: >24 byte x %d-bit
7818: >25 byte 0 grayscale,
7819: >25 byte 2 \b/color RGB,
7820: >25 byte 3 colormap,
7821: >25 byte 4 gray+alpha,
7822: >25 byte 6 \b/color RGBA,
7823: #>26 byte 0 deflate/32K,
7824: >28 byte 0 non-interlaced
7825: >28 byte 1 interlaced
7826:
7827: # possible GIF replacements; none yet released!
7828: # (Greg Roelofs, newt@uchicago.edu)
7829: #
7830: # GRR 950115: this was mine ("Zip GIF"):
7831: 0 string GIF94z ZIF image (GIF+deflate alpha)
7832: !:mime image/x-unknown
7833: #
7834: # GRR 950115: this is Jeremy Wohl's Free Graphics Format (better):
7835: #
7836: 0 string FGF95a FGF image (GIF+deflate beta)
7837: !:mime image/x-unknown
7838: #
7839: # GRR 950115: this is Thomas Boutell's Portable Bitmap Format proposal
7840: # (best; not yet implemented):
7841: #
7842: 0 string PBF PBF image (deflate compression)
7843: !:mime image/x-unknown
7844:
7845: # GIF
7846: 0 string GIF8 GIF image data
7847: !:mime image/gif
7848: >4 string 7a \b, version 8%s,
7849: >4 string 9a \b, version 8%s,
7850: >6 leshort >0 %hd x
7851: >8 leshort >0 %hd
7852: #>10 byte &0x80 color mapped,
7853: #>10 byte&0x07 =0x00 2 colors
7854: #>10 byte&0x07 =0x01 4 colors
7855: #>10 byte&0x07 =0x02 8 colors
7856: #>10 byte&0x07 =0x03 16 colors
7857: #>10 byte&0x07 =0x04 32 colors
7858: #>10 byte&0x07 =0x05 64 colors
7859: #>10 byte&0x07 =0x06 128 colors
7860: #>10 byte&0x07 =0x07 256 colors
7861:
7862: # ITC (CMU WM) raster files. It is essentially a byte-reversed Sun raster,
7863: # 1 plane, no encoding.
7864: 0 string \361\0\100\273 CMU window manager raster image data
7865: >4 lelong >0 %d x
7866: >8 lelong >0 %d,
7867: >12 lelong >0 %d-bit
7868:
7869: # Magick Image File Format
7870: 0 string id=ImageMagick MIFF image data
7871:
7872: # Artisan
7873: 0 long 1123028772 Artisan image data
7874: >4 long 1 \b, rectangular 24-bit
7875: >4 long 2 \b, rectangular 8-bit with colormap
7876: >4 long 3 \b, rectangular 32-bit (24-bit with matte)
7877:
7878: # FIG (Facility for Interactive Generation of figures), an object-based format
7879: 0 search/1 #FIG FIG image text
7880: >5 string x \b, version %.3s
7881:
7882: # PHIGS
7883: 0 string ARF_BEGARF PHIGS clear text archive
7884: 0 string @(#)SunPHIGS SunPHIGS
7885: # version number follows, in the form m.n
7886: >40 string SunBin binary
7887: >32 string archive archive
7888:
7889: # GKS (Graphics Kernel System)
7890: 0 string GKSM GKS Metafile
7891: >24 string SunGKS \b, SunGKS
7892:
7893: # CGM image files
7894: 0 string BEGMF clear text Computer Graphics Metafile
7895:
7896: # MGR bitmaps (Michael Haardt, u31b3hs@pool.informatik.rwth-aachen.de)
7897: 0 string yz MGR bitmap, modern format, 8-bit aligned
7898: 0 string zz MGR bitmap, old format, 1-bit deep, 16-bit aligned
7899: 0 string xz MGR bitmap, old format, 1-bit deep, 32-bit aligned
7900: 0 string yx MGR bitmap, modern format, squeezed
7901:
7902: # Fuzzy Bitmap (FBM) images
7903: 0 string %bitmap\0 FBM image data
7904: >30 long 0x31 \b, mono
7905: >30 long 0x33 \b, color
7906:
7907: # facsimile data
7908: 1 string PC\ Research,\ Inc group 3 fax data
7909: >29 byte 0 \b, normal resolution (204x98 DPI)
7910: >29 byte 1 \b, fine resolution (204x196 DPI)
7911: # From: Herbert Rosmanith <herp@wildsau.idv.uni.linz.at>
7912: 0 string Sfff structured fax file
7913:
7914:
7915: # PC bitmaps (OS/2, Windows BMP files) (Greg Roelofs, newt@uchicago.edu)
7916: 0 string BM
7917: >14 leshort 12 PC bitmap, OS/2 1.x format
7918: !:mime image/x-ms-bmp
7919: >>18 leshort x \b, %d x
7920: >>20 leshort x %d
7921: >14 leshort 64 PC bitmap, OS/2 2.x format
7922: !:mime image/x-ms-bmp
7923: >>18 leshort x \b, %d x
7924: >>20 leshort x %d
7925: >14 leshort 40 PC bitmap, Windows 3.x format
7926: !:mime image/x-ms-bmp
7927: >>18 lelong x \b, %d x
7928: >>22 lelong x %d x
7929: >>28 leshort x %d
7930: >14 leshort 128 PC bitmap, Windows NT/2000 format
7931: !:mime image/x-ms-bmp
7932: >>18 lelong x \b, %d x
7933: >>22 lelong x %d x
7934: >>28 leshort x %d
7935: # Too simple - MPi
7936: #0 string IC PC icon data
7937: #0 string PI PC pointer image data
7938: #0 string CI PC color icon data
7939: #0 string CP PC color pointer image data
7940: # Conflicts with other entries [BABYL]
7941: #0 string BA PC bitmap array data
7942:
7943: # XPM icons (Greg Roelofs, newt@uchicago.edu)
7944: # note possible collision with C/REXX entry in c-lang; currently commented out
7945: 0 search/1 /*\ XPM\ */ X pixmap image text
7946:
7947: # Utah Raster Toolkit RLE images (janl@ifi.uio.no)
7948: 0 leshort 0xcc52 RLE image data,
7949: >6 leshort x %d x
7950: >8 leshort x %d
7951: >2 leshort >0 \b, lower left corner: %d
7952: >4 leshort >0 \b, lower right corner: %d
7953: >10 byte&0x1 =0x1 \b, clear first
7954: >10 byte&0x2 =0x2 \b, no background
7955: >10 byte&0x4 =0x4 \b, alpha channel
7956: >10 byte&0x8 =0x8 \b, comment
7957: >11 byte >0 \b, %d color channels
7958: >12 byte >0 \b, %d bits per pixel
7959: >13 byte >0 \b, %d color map channels
7960:
7961: # image file format (Robert Potter, potter@cs.rochester.edu)
7962: 0 string Imagefile\ version- iff image data
7963: # this adds the whole header (inc. version number), informative but longish
7964: >10 string >\0 %s
7965:
7966: # Sun raster images, from Daniel Quinlan (quinlan@yggdrasil.com)
7967: 0 belong 0x59a66a95 Sun raster image data
7968: >4 belong >0 \b, %d x
7969: >8 belong >0 %d,
7970: >12 belong >0 %d-bit,
7971: #>16 belong >0 %d bytes long,
7972: >20 belong 0 old format,
7973: #>20 belong 1 standard,
7974: >20 belong 2 compressed,
7975: >20 belong 3 RGB,
7976: >20 belong 4 TIFF,
7977: >20 belong 5 IFF,
7978: >20 belong 0xffff reserved for testing,
7979: >24 belong 0 no colormap
7980: >24 belong 1 RGB colormap
7981: >24 belong 2 raw colormap
7982: #>28 belong >0 colormap is %d bytes long
7983:
7984: # SGI image file format, from Daniel Quinlan (quinlan@yggdrasil.com)
7985: #
7986: # See
7987: # http://reality.sgi.com/grafica/sgiimage.html
7988: #
7989: 0 beshort 474 SGI image data
7990: #>2 byte 0 \b, verbatim
7991: >2 byte 1 \b, RLE
7992: #>3 byte 1 \b, normal precision
7993: >3 byte 2 \b, high precision
7994: >4 beshort x \b, %d-D
7995: >6 beshort x \b, %d x
7996: >8 beshort x %d
7997: >10 beshort x \b, %d channel
7998: >10 beshort !1 \bs
7999: >80 string >0 \b, "%s"
8000:
8001: 0 string IT01 FIT image data
8002: >4 belong x \b, %d x
8003: >8 belong x %d x
8004: >12 belong x %d
8005: #
8006: 0 string IT02 FIT image data
8007: >4 belong x \b, %d x
8008: >8 belong x %d x
8009: >12 belong x %d
8010: #
8011: 2048 string PCD_IPI Kodak Photo CD image pack file
8012: >0xe02 byte&0x03 0x00 , landscape mode
8013: >0xe02 byte&0x03 0x01 , portrait mode
8014: >0xe02 byte&0x03 0x02 , landscape mode
8015: >0xe02 byte&0x03 0x03 , portrait mode
8016: 0 string PCD_OPA Kodak Photo CD overview pack file
8017:
8018: # FITS format. Jeff Uphoff <juphoff@tarsier.cv.nrao.edu>
8019: # FITS is the Flexible Image Transport System, the de facto standard for
8020: # data and image transfer, storage, etc., for the astronomical community.
8021: # (FITS floating point formats are big-endian.)
8022: 0 string SIMPLE\ \ = FITS image data
8023: >109 string 8 \b, 8-bit, character or unsigned binary integer
8024: >108 string 16 \b, 16-bit, two's complement binary integer
8025: >107 string \ 32 \b, 32-bit, two's complement binary integer
8026: >107 string -32 \b, 32-bit, floating point, single precision
8027: >107 string -64 \b, 64-bit, floating point, double precision
8028:
8029: # other images
8030: 0 string This\ is\ a\ BitMap\ file Lisp Machine bit-array-file
8031:
8032: # From SunOS 5.5.1 "/etc/magic" - appeared right before Sun raster image
8033: # stuff.
8034: #
8035: 0 beshort 0x1010 PEX Binary Archive
8036:
8037: # DICOM medical imaging data
8038: 128 string DICM DICOM medical imaging data
8039: !:mime application/dicom
8040:
8041: # XWD - X Window Dump file.
8042: # As described in /usr/X11R6/include/X11/XWDFile.h
8043: # used by the xwd program.
8044: # Bradford Castalia, idaeim, 1/01
8045: 4 belong 7 XWD X Window Dump image data
8046: >100 string >\0 \b, "%s"
8047: >16 belong x \b, %dx
8048: >20 belong x \b%dx
8049: >12 belong x \b%d
8050:
8051: # PDS - Planetary Data System
8052: # These files use Parameter Value Language in the header section.
8053: # Unfortunately, there is no certain magic, but the following
8054: # strings have been found to be most likely.
8055: 0 string NJPL1I00 PDS (JPL) image data
8056: 2 string NJPL1I PDS (JPL) image data
8057: 0 string CCSD3ZF PDS (CCSD) image data
8058: 2 string CCSD3Z PDS (CCSD) image data
8059: 0 string PDS_ PDS image data
8060: 0 string LBLSIZE= PDS (VICAR) image data
8061:
8062: # pM8x: ATARI STAD compressed bitmap format
8063: #
8064: # from Oskar Schirmer <schirmer@scara.com> Feb 2, 2001
8065: # p M 8 5/6 xx yy zz data...
8066: # Atari ST STAD bitmap is always 640x400, bytewise runlength compressed.
8067: # bytes either run horizontally (pM85) or vertically (pM86). yy is the
8068: # most frequent byte, xx and zz are runlength escape codes, where xx is
8069: # used for runs of yy.
8070: #
8071: 0 string pM85 Atari ST STAD bitmap image data (hor)
8072: >5 byte 0x00 (white background)
8073: >5 byte 0xFF (black background)
8074: 0 string pM86 Atari ST STAD bitmap image data (vert)
8075: >5 byte 0x00 (white background)
8076: >5 byte 0xFF (black background)
8077:
8078: # Gürkan Sengün <gurkan@linuks.mine.nu>, www.linuks.mine.nu
8079: # http://www.atarimax.com/jindroush.atari.org/afmtatr.html
8080: 0 leshort 0x0296 Atari ATR image
8081:
8082: # XXX:
8083: # This is bad magic 0x5249 == 'RI' conflicts with RIFF and other
8084: # magic.
8085: # SGI RICE image file <mpruett@sgi.com>
8086: #0 beshort 0x5249 RICE image
8087: #>2 beshort x v%d
8088: #>4 beshort x (%d x
8089: #>6 beshort x %d)
8090: #>8 beshort 0 8 bit
8091: #>8 beshort 1 10 bit
8092: #>8 beshort 2 12 bit
8093: #>8 beshort 3 13 bit
8094: #>10 beshort 0 4:2:2
8095: #>10 beshort 1 4:2:2:4
8096: #>10 beshort 2 4:4:4
8097: #>10 beshort 3 4:4:4:4
8098: #>12 beshort 1 RGB
8099: #>12 beshort 2 CCIR601
8100: #>12 beshort 3 RP175
8101: #>12 beshort 4 YUV
8102:
8103: #------------------------------------------------------------------------------
8104: #
8105: # Marco Schmidt (marcoschmidt@users.sourceforge.net) -- an image file format
8106: # for the EPOC operating system, which is used with PDAs like those from Psion
8107: #
8108: # see http://huizen.dds.nl/~frodol/psiconv/html/Index.html for a description
8109: # of various EPOC file formats
8110:
8111: 0 string \x37\x00\x00\x10\x42\x00\x00\x10\x00\x00\x00\x00\x39\x64\x39\x47 EPOC MBM image file
8112:
8113: # PCX image files
8114: # From: Dan Fandrich <dan@coneharvesters.com>
8115: 0 beshort 0x0a00 PCX ver. 2.5 image data
8116: 0 beshort 0x0a02 PCX ver. 2.8 image data, with palette
8117: 0 beshort 0x0a03 PCX ver. 2.8 image data, without palette
8118: 0 beshort 0x0a04 PCX for Windows image data
8119: 0 beshort 0x0a05 PCX ver. 3.0 image data
8120: >4 leshort x bounding box [%hd,
8121: >6 leshort x %hd] -
8122: >8 leshort x [%hd,
8123: >10 leshort x %hd],
8124: >65 byte >1 %d planes each of
8125: >3 byte x %hhd-bit
8126: >68 byte 0 image,
8127: >68 byte 1 colour,
8128: >68 byte 2 grayscale,
8129: >68 byte >2 image,
8130: >68 byte <0 image,
8131: >12 leshort >0 %hd x
8132: >>14 leshort x %hd dpi,
8133: >2 byte 0 uncompressed
8134: >2 byte 1 RLE compressed
8135:
8136: # Adobe Photoshop
8137: 0 string 8BPS Adobe Photoshop Image
8138: !:mime image/vnd.adobe.photoshop
8139:
8140: # XV thumbnail indicator (ThMO)
8141: 0 string P7\ 332 XV thumbnail image data
8142:
8143: # NITF is defined by United States MIL-STD-2500A
8144: 0 string NITF National Imagery Transmission Format
8145: >25 string >\0 dated %.14s
8146:
8147: # GEM Image: Version 1, Headerlen 8 (Wolfram Kleff)
8148: 0 belong 0x00010008 GEM Image data
8149: >12 beshort x %d x
8150: >14 beshort x %d,
8151: >4 beshort x %d planes,
8152: >8 beshort x %d x
8153: >10 beshort x %d pixelsize
8154:
8155: # GEM Metafile (Wolfram Kleff)
8156: 0 lelong 0x0018FFFF GEM Metafile data
8157: >4 leshort x version %d
8158:
8159: #
8160: # SMJPEG. A custom Motion JPEG format used by Loki Entertainment
8161: # Software Torbjorn Andersson <d91tan@Update.UU.SE>.
8162: #
8163: 0 string \0\nSMJPEG SMJPEG
8164: >8 belong x %d.x data
8165: # According to the specification you could find any number of _TXT
8166: # headers here, but I can't think of any way of handling that. None of
8167: # the SMJPEG files I tried it on used this feature. Even if such a
8168: # file is encountered the output should still be reasonable.
8169: >16 string _SND \b,
8170: >>24 beshort >0 %d Hz
8171: >>26 byte 8 8-bit
8172: >>26 byte 16 16-bit
8173: >>28 string NONE uncompressed
8174: # >>28 string APCM ADPCM compressed
8175: >>27 byte 1 mono
8176: >>28 byte 2 stereo
8177: # Help! Isn't there any way to avoid writing this part twice?
8178: >>32 string _VID \b,
8179: # >>>48 string JFIF JPEG
8180: >>>40 belong >0 %d frames
8181: >>>44 beshort >0 (%d x
8182: >>>46 beshort >0 %d)
8183: >16 string _VID \b,
8184: # >>32 string JFIF JPEG
8185: >>24 belong >0 %d frames
8186: >>28 beshort >0 (%d x
8187: >>30 beshort >0 %d)
8188:
8189: 0 string Paint\ Shop\ Pro\ Image\ File Paint Shop Pro Image File
8190:
8191: # "thumbnail file" (icon)
8192: # descended from "xv", but in use by other applications as well (Wolfram Kleff)
8193: 0 string P7\ 332 XV "thumbnail file" (icon) data
8194:
8195: # taken from fkiss: (<yav@mte.biglobe.ne.jp> ?)
8196: 0 string KiSS KISS/GS
8197: >4 byte 16 color
8198: >>5 byte x %d bit
8199: >>8 leshort x %d colors
8200: >>10 leshort x %d groups
8201: >4 byte 32 cell
8202: >>5 byte x %d bit
8203: >>8 leshort x %d x
8204: >>10 leshort x %d
8205: >>12 leshort x +%d
8206: >>14 leshort x +%d
8207:
8208: # Webshots (www.webshots.com), by John Harrison
8209: 0 string C\253\221g\230\0\0\0 Webshots Desktop .wbz file
8210:
8211: # Hercules DASD image files
8212: # From Jan Jaeger <jj@septa.nl>
8213: 0 string CKD_P370 Hercules CKD DASD image file
8214: >8 long x \b, %d heads per cylinder
8215: >12 long x \b, track size %d bytes
8216: >16 byte x \b, device type 33%2.2X
8217:
8218: 0 string CKD_C370 Hercules compressed CKD DASD image file
8219: >8 long x \b, %d heads per cylinder
8220: >12 long x \b, track size %d bytes
8221: >16 byte x \b, device type 33%2.2X
8222:
8223: 0 string CKD_S370 Hercules CKD DASD shadow file
8224: >8 long x \b, %d heads per cylinder
8225: >12 long x \b, track size %d bytes
8226: >16 byte x \b, device type 33%2.2X
8227:
8228: # Squeak images and programs - etoffi@softhome.net
8229: 0 string \146\031\0\0 Squeak image data
8230: 0 search/1 'From\040Squeak Squeak program text
8231:
8232: # partimage: file(1) magic for PartImage files (experimental, incomplete)
8233: # Author: Hans-Joachim Baader <hjb@pro-linux.de>
8234: 0 string PaRtImAgE-VoLuMe PartImage
8235: >0x0020 string 0.6.1 file version %s
8236: >>0x0060 lelong >-1 volume %ld
8237: #>>0x0064 8 byte identifier
8238: #>>0x007c reserved
8239: >>0x0200 string >\0 type %s
8240: >>0x1400 string >\0 device %s,
8241: >>0x1600 string >\0 original filename %s,
8242: # Some fields omitted
8243: >>0x2744 lelong 0 not compressed
8244: >>0x2744 lelong 1 gzip compressed
8245: >>0x2744 lelong 2 bzip2 compressed
8246: >>0x2744 lelong >2 compressed with unknown algorithm
8247: >0x0020 string >0.6.1 file version %s
8248: >0x0020 string <0.6.1 file version %s
8249:
8250: # DCX is multi-page PCX, using a simple header of up to 1024
8251: # offsets for the respective PCX components.
8252: # From: Joerg Wunsch <joerg_wunsch@uriah.heep.sax.de>
8253: 0 lelong 987654321 DCX multi-page PCX image data
8254:
8255: # Simon Walton <simonw@matteworld.com>
8256: # Kodak Cineon format for scanned negatives
8257: # http://www.kodak.com/US/en/motion/support/dlad/
8258: 0 lelong 0xd75f2a80 Cineon image data
8259: >200 belong >0 \b, %ld x
8260: >204 belong >0 %ld
8261:
8262:
8263: # Bio-Rad .PIC is an image format used by microscope control systems
8264: # and related image processing software used by biologists.
8265: # From: Vebjorn Ljosa <vebjorn@ljosa.com>
8266: 54 leshort 12345 Bio-Rad .PIC Image File
8267: >0 leshort >0 %hd x
8268: >2 leshort >0 %hd,
8269: >4 leshort =1 1 image in file
8270: >4 leshort >1 %hd images in file
8271:
8272: # From Jan "Yenya" Kasprzak <kas@fi.muni.cz>
8273: # The description of *.mrw format can be found at
8274: # http://www.dalibor.cz/minolta/raw_file_format.htm
8275: 0 string \000MRM Minolta Dimage camera raw image data
8276:
8277: # Summary: DjVu image / document
8278: # Extension: .djvu
8279: # Reference: http://djvu.org/docs/DjVu3Spec.djvu
8280: # Submitted by: Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
8281: # Modified by (1): Abel Cheung <abelcheung@gmail.com>
8282: 0 string AT&TFORM
8283: !:mime image/vnd.djvu
8284: >12 string DJVM DjVu multiple page document
8285: >12 string DJVU DjVu image or single page document
8286: >12 string DJVI DjVu shared document
8287: >12 string THUM DjVu page thumbnails
8288:
8289:
8290: # From Marc Espie
8291: 0 lelong 20000630 OpenEXR image data
8292:
8293: # From: Tom Hilinski <tom.hilinski@comcast.net>
8294: # http://www.unidata.ucar.edu/packages/netcdf/
8295: 0 string CDF\001 NetCDF Data Format data
8296:
8297: #-----------------------------------------------------------------------
8298: # Hierarchical Data Format, used to facilitate scientific data exchange
8299: # specifications at http://hdf.ncsa.uiuc.edu/
8300: 0 belong 0x0e031301 Hierarchical Data Format (version 4) data
8301: !:mime application/x-hdf
8302: 0 string \211HDF\r\n\032 Hierarchical Data Format (version 5) data
8303: !:mime application/x-hdf
8304:
8305: # From: Tobias Burnus <burnus@net-b.de>
8306: # Xara (for a while: Corel Xara) is a graphic package, see
8307: # http://www.xara.com/ for Windows and as GPL application for Linux
8308: 0 string XARA\243\243 Xara graphics file
8309:
8310: # http://www.cartesianinc.com/Tech/
8311: 0 string CPC\262 Cartesian Perceptual Compression image
8312: !:mime image/x-cpi
8313:
8314: # From Albert Cahalan <acahalan@gmail.com>
8315: # puredigital used it for the CVS disposable camcorder
8316: #8 lelong 4 ZBM bitmap image data
8317: #>4 leshort x %u x
8318: #>6 leshort x %u
8319:
8320: # From Albert Cahalan <acahalan@gmail.com>
8321: # uncompressed 5:6:5 HighColor image for OLPC XO firmware icons
8322: 0 string C565 OLPC firmware icon image data
8323: >4 leshort x %u x
8324: >6 leshort x %u
8325:
8326: # Applied Images - Image files from Cytovision
8327: # Gustavo Junior Alves <gjalves@gjalves.com.br>
8328: 0 string \xce\xda\xde\xfa Cytovision Metaphases file
8329: 0 string \xed\xad\xef\xac Cytovision Karyotype file
8330: 0 string \x0b\x00\x03\x00 Cytovision FISH Probe file
8331: 0 string \xed\xfe\xda\xbe Cytovision FLEX file
8332: 0 string \xed\xab\xed\xfe Cytovision FLEX file
8333: 0 string \xad\xfd\xea\xad Cytovision RATS file
8334:
8335: # Wavelet Scalar Quantization format used in gray-scale fingerprint images
8336: # From Tano M Fotang <mfotang@quanteq.com>
8337: 0 string \xff\xa0\xff\xa8\x00 Wavelet Scalar Quantization image data
8338:
8339: # Type: Ulead Photo Explorer5 (.pe5)
8340: # URL: http://www.jisyo.com/cgibin/view.cgi?EXT=pe5 (Japanese)
8341: # From: Simon Horman <horms@debian.org>
8342: 0 string IIO2H Ulead Photo Explorer5
8343:
8344: # Type: X11 cursor
8345: # URL: http://webcvs.freedesktop.org/mime/shared-mime-info/freedesktop.org.xml.in?view=markup
8346: # From: Mathias Brodala <info@noctus.net>
8347: 0 string Xcur X11 cursor
8348:
8349: #------------------------------------------------------------------------------
8350: # inform: file(1) magic for Inform interactive fiction language
8351:
8352: # URL: http://www.inform-fiction.org/
8353: # From: Reuben Thomas <rrt@sc3d.org>
8354:
8355: 0 search/cB/100 constant\ story Inform source text
8356:
8357: #------------------------------------------------------------------------------
8358: # intel: file(1) magic for x86 Unix
8359: #
8360: # Various flavors of x86 UNIX executable/object (other than Xenix, which
8361: # is in "microsoft"). DOS is in "msdos"; the ambitious soul can do
8362: # Windows as well.
8363: #
8364: # Windows NT belongs elsewhere, as you need x86 and MIPS and Alpha and
8365: # whatever comes next (HP-PA Hummingbird?). OS/2 may also go elsewhere
8366: # as well, if, as, and when IBM makes it portable.
8367: #
8368: # The `versions' should be un-commented if they work for you.
8369: # (Was the problem just one of endianness?)
8370: #
8371: 0 leshort 0502 basic-16 executable
8372: >12 lelong >0 not stripped
8373: #>22 leshort >0 - version %ld
8374: 0 leshort 0503 basic-16 executable (TV)
8375: >12 lelong >0 not stripped
8376: #>22 leshort >0 - version %ld
8377: 0 leshort 0510 x86 executable
8378: >12 lelong >0 not stripped
8379: 0 leshort 0511 x86 executable (TV)
8380: >12 lelong >0 not stripped
8381: 0 leshort =0512 iAPX 286 executable small model (COFF)
8382: >12 lelong >0 not stripped
8383: #>22 leshort >0 - version %ld
8384: 0 leshort =0522 iAPX 286 executable large model (COFF)
8385: >12 lelong >0 not stripped
8386: #>22 leshort >0 - version %ld
8387: # SGI labeled the next entry as "iAPX 386 executable" --Dan Quinlan
8388: 0 leshort =0514 80386 COFF executable
8389: >12 lelong >0 not stripped
8390: >22 leshort >0 - version %ld
8391:
8392: # rom: file(1) magic for BIOS ROM Extensions found in intel machines
8393: # mapped into memory between 0xC0000 and 0xFFFFF
8394: # From Gürkan Sengün <gurkan@linuks.mine.nu>, www.linuks.mine.nu
8395: 0 beshort 0x55AA BIOS (ia32) ROM Ext.
8396: >5 string USB USB
8397: >7 string LDR UNDI image
8398: >30 string IBM IBM comp. Video
8399: >26 string Adaptec Adaptec
8400: >28 string Adaptec Adaptec
8401: >42 string PROMISE Promise
8402: >2 byte x (%d*512)
8403:
8404: #------------------------------------------------------------------------------
8405: # interleaf: file(1) magic for InterLeaf TPS:
8406: #
8407: 0 string =\210OPS Interleaf saved data
8408: 0 string =<!OPS Interleaf document text
8409: >5 string ,\ Version\ = \b, version
8410: >>17 string >\0 %.3s
8411:
8412: #------------------------------------------------------------------------------
8413: # island: file(1) magic for IslandWite/IslandDraw, from SunOS 5.5.1
8414: # "/etc/magic":
8415: # From: guy@netapp.com (Guy Harris)
8416: #
8417: 4 string pgscriptver IslandWrite document
8418: 13 string DrawFile IslandDraw document
8419:
8420:
8421: #------------------------------------------------------------------------------
8422: # ispell: file(1) magic for ispell
8423: #
8424: # Ispell 3.0 has a magic of 0x9601 and ispell 3.1 has 0x9602. This magic
8425: # will match 0x9600 through 0x9603 in *both* little endian and big endian.
8426: # (No other current magic entries collide.)
8427: #
8428: # Updated by Daniel Quinlan (quinlan@yggdrasil.com)
8429: #
8430: 0 leshort&0xFFFC 0x9600 little endian ispell
8431: >0 byte 0 hash file (?),
8432: >0 byte 1 3.0 hash file,
8433: >0 byte 2 3.1 hash file,
8434: >0 byte 3 hash file (?),
8435: >2 leshort 0x00 8-bit, no capitalization, 26 flags
8436: >2 leshort 0x01 7-bit, no capitalization, 26 flags
8437: >2 leshort 0x02 8-bit, capitalization, 26 flags
8438: >2 leshort 0x03 7-bit, capitalization, 26 flags
8439: >2 leshort 0x04 8-bit, no capitalization, 52 flags
8440: >2 leshort 0x05 7-bit, no capitalization, 52 flags
8441: >2 leshort 0x06 8-bit, capitalization, 52 flags
8442: >2 leshort 0x07 7-bit, capitalization, 52 flags
8443: >2 leshort 0x08 8-bit, no capitalization, 128 flags
8444: >2 leshort 0x09 7-bit, no capitalization, 128 flags
8445: >2 leshort 0x0A 8-bit, capitalization, 128 flags
8446: >2 leshort 0x0B 7-bit, capitalization, 128 flags
8447: >2 leshort 0x0C 8-bit, no capitalization, 256 flags
8448: >2 leshort 0x0D 7-bit, no capitalization, 256 flags
8449: >2 leshort 0x0E 8-bit, capitalization, 256 flags
8450: >2 leshort 0x0F 7-bit, capitalization, 256 flags
8451: >4 leshort >0 and %d string characters
8452: 0 beshort&0xFFFC 0x9600 big endian ispell
8453: >1 byte 0 hash file (?),
8454: >1 byte 1 3.0 hash file,
8455: >1 byte 2 3.1 hash file,
8456: >1 byte 3 hash file (?),
8457: >2 beshort 0x00 8-bit, no capitalization, 26 flags
8458: >2 beshort 0x01 7-bit, no capitalization, 26 flags
8459: >2 beshort 0x02 8-bit, capitalization, 26 flags
8460: >2 beshort 0x03 7-bit, capitalization, 26 flags
8461: >2 beshort 0x04 8-bit, no capitalization, 52 flags
8462: >2 beshort 0x05 7-bit, no capitalization, 52 flags
8463: >2 beshort 0x06 8-bit, capitalization, 52 flags
8464: >2 beshort 0x07 7-bit, capitalization, 52 flags
8465: >2 beshort 0x08 8-bit, no capitalization, 128 flags
8466: >2 beshort 0x09 7-bit, no capitalization, 128 flags
8467: >2 beshort 0x0A 8-bit, capitalization, 128 flags
8468: >2 beshort 0x0B 7-bit, capitalization, 128 flags
8469: >2 beshort 0x0C 8-bit, no capitalization, 256 flags
8470: >2 beshort 0x0D 7-bit, no capitalization, 256 flags
8471: >2 beshort 0x0E 8-bit, capitalization, 256 flags
8472: >2 beshort 0x0F 7-bit, capitalization, 256 flags
8473: >4 beshort >0 and %d string characters
8474: # ispell 4.0 hash files kromJx <kromJx@crosswinds.net>
8475: # Ispell 4.0
8476: 0 string ISPL ispell
8477: >4 long x hash file version %d,
8478: >8 long x lexletters %d,
8479: >12 long x lexsize %d,
8480: >16 long x hashsize %d,
8481: >20 long x stblsize %d
8482: #------------------------------------------------------------
8483: # Java ByteCode and Mach-O binaries (e.g., Mac OS X) use the
8484: # same magic number, 0xcafebabe, so they are both handled
8485: # in the entry called "cafebabe".
8486: #------------------------------------------------------------
8487: # Java serialization
8488: # From Martin Pool (m.pool@pharos.com.au)
8489: 0 beshort 0xaced Java serialization data
8490: >2 beshort >0x0004 \b, version %d
8491:
8492: 0 belong 0xfeedfeed Java KeyStore
8493: !:mime application/x-java-keystore
8494: 0 belong 0xcececece Java JCE KeyStore
8495: !:mime application/x-java-jce-keystore
8496:
8497: # Dalvik .dex format. http://retrodev.com/android/dexformat.html
8498: # From <mkf@google.com> "Mike Fleming"
8499: 0 string dex\n
8500: >0 regex dex\n[0-9][0-9][0-9]\0 Dalvik dex file
8501: >4 string >000 version %s
8502: 0 string dey\n
8503: >0 regex dey\n[0-9][0-9][0-9]\0 Dalvik dex file (optimized for host)
8504: >4 string >000 version %s
8505:
8506:
8507: #------------------------------------------------------------------------------
8508: # JPEG images
8509: # SunOS 5.5.1 had
8510: #
8511: # 0 string \377\330\377\340 JPEG file
8512: # 0 string \377\330\377\356 JPG file
8513: #
8514: # both of which turn into "JPEG image data" here.
8515: #
8516: 0 beshort 0xffd8 JPEG image data
8517: !:mime image/jpeg
8518: !:strength +1
8519: >6 string JFIF \b, JFIF standard
8520: # The following added by Erik Rossen <rossen@freesurf.ch> 1999-09-06
8521: # in a vain attempt to add image size reporting for JFIF. Note that these
8522: # tests are not fool-proof since some perfectly valid JPEGs are currently
8523: # impossible to specify in magic(4) format.
8524: # First, a little JFIF version info:
8525: >>11 byte x \b %d.
8526: >>12 byte x \b%02d
8527: # Next, the resolution or aspect ratio of the image:
8528: #>>13 byte 0 \b, aspect ratio
8529: #>>13 byte 1 \b, resolution (DPI)
8530: #>>13 byte 2 \b, resolution (DPCM)
8531: #>>4 beshort x \b, segment length %d
8532: # Next, show thumbnail info, if it exists:
8533: >>18 byte !0 \b, thumbnail %dx
8534: >>>19 byte x \b%d
8535:
8536: # EXIF moved down here to avoid reporting a bogus version number,
8537: # and EXIF version number printing added.
8538: # - Patrik R=E5dman <patrik+file-magic@iki.fi>
8539: >6 string Exif \b, EXIF standard
8540: # Look for EXIF IFD offset in IFD 0, and then look for EXIF version tag in EXIF IFD.
8541: # All possible combinations of entries have to be enumerated, since no looping
8542: # is possible. And both endians are possible...
8543: # The combinations included below are from real-world JPEGs.
8544: # Little-endian
8545: >>12 string II
8546: # IFD 0 Entry #5:
8547: >>>70 leshort 0x8769
8548: # EXIF IFD Entry #1:
8549: >>>>(78.l+14) leshort 0x9000
8550: >>>>>(78.l+23) byte x %c
8551: >>>>>(78.l+24) byte x \b.%c
8552: >>>>>(78.l+25) byte !0x30 \b%c
8553: # IFD 0 Entry #9:
8554: >>>118 leshort 0x8769
8555: # EXIF IFD Entry #3:
8556: >>>>(126.l+38) leshort 0x9000
8557: >>>>>(126.l+47) byte x %c
8558: >>>>>(126.l+48) byte x \b.%c
8559: >>>>>(126.l+49) byte !0x30 \b%c
8560: # IFD 0 Entry #10
8561: >>>130 leshort 0x8769
8562: # EXIF IFD Entry #3:
8563: >>>>(138.l+38) leshort 0x9000
8564: >>>>>(138.l+47) byte x %c
8565: >>>>>(138.l+48) byte x \b.%c
8566: >>>>>(138.l+49) byte !0x30 \b%c
8567: # EXIF IFD Entry #4:
8568: >>>>(138.l+50) leshort 0x9000
8569: >>>>>(138.l+59) byte x %c
8570: >>>>>(138.l+60) byte x \b.%c
8571: >>>>>(138.l+61) byte !0x30 \b%c
8572: # EXIF IFD Entry #5:
8573: >>>>(138.l+62) leshort 0x9000
8574: >>>>>(138.l+71) byte x %c
8575: >>>>>(138.l+72) byte x \b.%c
8576: >>>>>(138.l+73) byte !0x30 \b%c
8577: # IFD 0 Entry #11
8578: >>>142 leshort 0x8769
8579: # EXIF IFD Entry #3:
8580: >>>>(150.l+38) leshort 0x9000
8581: >>>>>(150.l+47) byte x %c
8582: >>>>>(150.l+48) byte x \b.%c
8583: >>>>>(150.l+49) byte !0x30 \b%c
8584: # EXIF IFD Entry #4:
8585: >>>>(150.l+50) leshort 0x9000
8586: >>>>>(150.l+59) byte x %c
8587: >>>>>(150.l+60) byte x \b.%c
8588: >>>>>(150.l+61) byte !0x30 \b%c
8589: # EXIF IFD Entry #5:
8590: >>>>(150.l+62) leshort 0x9000
8591: >>>>>(150.l+71) byte x %c
8592: >>>>>(150.l+72) byte x \b.%c
8593: >>>>>(150.l+73) byte !0x30 \b%c
8594: # Big-endian
8595: >>12 string MM
8596: # IFD 0 Entry #9:
8597: >>>118 beshort 0x8769
8598: # EXIF IFD Entry #1:
8599: >>>>(126.L+14) beshort 0x9000
8600: >>>>>(126.L+23) byte x %c
8601: >>>>>(126.L+24) byte x \b.%c
8602: >>>>>(126.L+25) byte !0x30 \b%c
8603: # EXIF IFD Entry #3:
8604: >>>>(126.L+38) beshort 0x9000
8605: >>>>>(126.L+47) byte x %c
8606: >>>>>(126.L+48) byte x \b.%c
8607: >>>>>(126.L+49) byte !0x30 \b%c
8608: # IFD 0 Entry #10
8609: >>>130 beshort 0x8769
8610: # EXIF IFD Entry #3:
8611: >>>>(138.L+38) beshort 0x9000
8612: >>>>>(138.L+47) byte x %c
8613: >>>>>(138.L+48) byte x \b.%c
8614: >>>>>(138.L+49) byte !0x30 \b%c
8615: # EXIF IFD Entry #5:
8616: >>>>(138.L+62) beshort 0x9000
8617: >>>>>(138.L+71) byte x %c
8618: >>>>>(138.L+72) byte x \b.%c
8619: >>>>>(138.L+73) byte !0x30 \b%c
8620: # IFD 0 Entry #11
8621: >>>142 beshort 0x8769
8622: # EXIF IFD Entry #4:
8623: >>>>(150.L+50) beshort 0x9000
8624: >>>>>(150.L+59) byte x %c
8625: >>>>>(150.L+60) byte x \b.%c
8626: >>>>>(150.L+61) byte !0x30 \b%c
8627: # Here things get sticky. We can do ONE MORE marker segment with
8628: # indirect addressing, and that's all. It would be great if we could
8629: # do pointer arithemetic like in an assembler language. Christos?
8630: # And if there was some sort of looping construct to do searches, plus a few
8631: # named accumulators, it would be even more effective...
8632: # At least we can show a comment if no other segments got inserted before:
8633: >(4.S+5) byte 0xFE
8634: >>(4.S+8) string >\0 \b, comment: "%s"
8635: # FIXME: When we can do non-byte counted strings, we can use that to get
8636: # the string's count, and fix Debian bug #283760
8637: #>(4.S+5) byte 0xFE \b, comment
8638: #>>(4.S+6) beshort x \b length=%d
8639: #>>(4.S+8) string >\0 \b, "%s"
8640: # Or, we can show the encoding type (I've included only the three most common)
8641: # and image dimensions if we are lucky and the SOFn (image segment) is here:
8642: >(4.S+5) byte 0xC0 \b, baseline
8643: >>(4.S+6) byte x \b, precision %d
8644: >>(4.S+7) beshort x \b, %dx
8645: >>(4.S+9) beshort x \b%d
8646: >(4.S+5) byte 0xC1 \b, extended sequential
8647: >>(4.S+6) byte x \b, precision %d
8648: >>(4.S+7) beshort x \b, %dx
8649: >>(4.S+9) beshort x \b%d
8650: >(4.S+5) byte 0xC2 \b, progressive
8651: >>(4.S+6) byte x \b, precision %d
8652: >>(4.S+7) beshort x \b, %dx
8653: >>(4.S+9) beshort x \b%d
8654: # I've commented-out quantisation table reporting. I doubt anyone cares yet.
8655: #>(4.S+5) byte 0xDB \b, quantisation table
8656: #>>(4.S+6) beshort x \b length=%d
8657: #>14 beshort x \b, %d x
8658: #>16 beshort x \b %d
8659:
8660: # HSI is Handmade Software's proprietary JPEG encoding scheme
8661: 0 string hsi1 JPEG image data, HSI proprietary
8662:
8663: # From: David Santinoli <david@santinoli.com>
8664: 0 string \x00\x00\x00\x0C\x6A\x50\x20\x20\x0D\x0A\x87\x0A JPEG 2000 image data
8665:
8666: # Type: JPEG 2000 codesream
8667: # From: Mathieu Malaterre <mathieu.malaterre@gmail.com>
8668: 0 belong 0xff4fff51 JPEG 2000 codestream
8669: 45 beshort 0xff52
8670:
8671: #------------------------------------------------------------------------------
8672: # karma: file(1) magic for Karma data files
8673: #
8674: # From <rgooch@atnf.csiro.au>
8675:
8676: 0 string KarmaRHD Version Karma Data Structure Version
8677: >16 belong x %lu
8678:
8679: #------------------------------------------------------------------------------
8680: # kde: file(1) magic for KDE
8681:
8682: 0 string [KDE\ Desktop\ Entry] KDE desktop entry
8683: !:mime application/x-kdelnk
8684: 0 string #\ KDE\ Config\ File KDE config file
8685: !:mime application/x-kdelnk
8686: 0 string #\ xmcd xmcd database file for kscd
8687: !:mime text/x-xmcd
8688: #------------------------------------------------------------------------------
8689: # DEC SRC Virtual Paper: Lectern files
8690: # Karl M. Hegbloom <karlheg@inetarena.com>
8691: 0 string lect DEC SRC Virtual Paper Lectern file
8692: #------------------------------------------------------------------------------
8693: # lex: file(1) magic for lex
8694: #
8695: # derived empirically, your offsets may vary!
8696: 0 search/100 yyprevious C program text (from lex)
8697: >3 search/1 >\0 for %s
8698: # C program text from GNU flex, from Daniel Quinlan <quinlan@yggdrasil.com>
8699: 0 search/100 generated\ by\ flex C program text (from flex)
8700: # lex description file, from Daniel Quinlan <quinlan@yggdrasil.com>
8701: 0 search/1 %{ lex description text
8702:
8703: #------------------------------------------------------------------------------
8704: # lif: file(1) magic for lif
8705: #
8706: # (Daniel Quinlan <quinlan@yggdrasil.com>)
8707: #
8708: 0 beshort 0x8000 lif file
8709: #------------------------------------------------------------------------------
8710: # linux: file(1) magic for Linux files
8711: #
8712: # Values for Linux/i386 binaries, from Daniel Quinlan <quinlan@yggdrasil.com>
8713: # The following basic Linux magic is useful for reference, but using
8714: # "long" magic is a better practice in order to avoid collisions.
8715: #
8716: # 2 leshort 100 Linux/i386
8717: # >0 leshort 0407 impure executable (OMAGIC)
8718: # >0 leshort 0410 pure executable (NMAGIC)
8719: # >0 leshort 0413 demand-paged executable (ZMAGIC)
8720: # >0 leshort 0314 demand-paged executable (QMAGIC)
8721: #
8722: 0 lelong 0x00640107 Linux/i386 impure executable (OMAGIC)
8723: >16 lelong 0 \b, stripped
8724: 0 lelong 0x00640108 Linux/i386 pure executable (NMAGIC)
8725: >16 lelong 0 \b, stripped
8726: 0 lelong 0x0064010b Linux/i386 demand-paged executable (ZMAGIC)
8727: >16 lelong 0 \b, stripped
8728: 0 lelong 0x006400cc Linux/i386 demand-paged executable (QMAGIC)
8729: >16 lelong 0 \b, stripped
8730: #
8731: 0 string \007\001\000 Linux/i386 object file
8732: >20 lelong >0x1020 \b, DLL library
8733: # Linux-8086 stuff:
8734: 0 string \01\03\020\04 Linux-8086 impure executable
8735: >28 long !0 not stripped
8736: 0 string \01\03\040\04 Linux-8086 executable
8737: >28 long !0 not stripped
8738: #
8739: 0 string \243\206\001\0 Linux-8086 object file
8740: #
8741: 0 string \01\03\020\20 Minix-386 impure executable
8742: >28 long !0 not stripped
8743: 0 string \01\03\040\20 Minix-386 executable
8744: >28 long !0 not stripped
8745: # core dump file, from Bill Reynolds <bill@goshawk.lanl.gov>
8746: 216 lelong 0421 Linux/i386 core file
8747: >220 string >\0 of '%s'
8748: >200 lelong >0 (signal %d)
8749: #
8750: # LILO boot/chain loaders, from Daniel Quinlan <quinlan@yggdrasil.com>
8751: # this can be overridden by the DOS executable (COM) entry
8752: 2 string LILO Linux/i386 LILO boot/chain loader
8753: #
8754: # PSF fonts, from H. Peter Anvin <hpa@yggdrasil.com>
8755: 0 leshort 0x0436 Linux/i386 PC Screen Font data,
8756: >2 byte 0 256 characters, no directory,
8757: >2 byte 1 512 characters, no directory,
8758: >2 byte 2 256 characters, Unicode directory,
8759: >2 byte 3 512 characters, Unicode directory,
8760: >3 byte >0 8x%d
8761: # Linux swap file, from Daniel Quinlan <quinlan@yggdrasil.com>
8762: 4086 string SWAP-SPACE Linux/i386 swap file
8763: # From: Jeff Bailey <jbailey@ubuntu.com>
8764: # Linux swap file with swsusp1 image, from Jeff Bailey <jbailey@ubuntu.com>
8765: 4076 string SWAPSPACE2S1SUSPEND Linux/i386 swap file (new style) with SWSUSP1 image
8766: # according to man page of mkswap (8) March 1999
8767: # volume label and UUID Russell Coker
8768: # http://etbe.coker.com.au/2008/07/08/label-vs-uuid-vs-device/
8769: 4086 string SWAPSPACE2 Linux/i386 swap file (new style),
8770: >0x400 long x version %d (4K pages),
8771: >0x404 long x size %d pages,
8772: >1052 string \0 no label,
8773: >1052 string >\0 LABEL=%s,
8774: >0x40c belong x UUID=%x
8775: >0x410 beshort x \b-%x
8776: >0x412 beshort x \b-%x
8777: >0x414 beshort x \b-%x
8778: >0x416 belong x \b-%x
8779: >0x41a beshort x \b%x
8780: # ECOFF magic for OSF/1 and Linux (only tested under Linux though)
8781: #
8782: # from Erik Troan (ewt@redhat.com) examining od dumps, so this
8783: # could be wrong
8784: # updated by David Mosberger (davidm@azstarnet.com) based on
8785: # GNU BFD and MIPS info found below.
8786: #
8787: 0 leshort 0x0183 ECOFF alpha
8788: >24 leshort 0407 executable
8789: >24 leshort 0410 pure
8790: >24 leshort 0413 demand paged
8791: >8 long >0 not stripped
8792: >8 long 0 stripped
8793: >23 leshort >0 - version %ld.
8794: #
8795: # Linux kernel boot images, from Albert Cahalan <acahalan@cs.uml.edu>
8796: # and others such as Axel Kohlmeyer <akohlmey@rincewind.chemie.uni-ulm.de>
8797: # and Nicolás Lichtmaier <nick@debian.org>
8798: # All known start with: b8 c0 07 8e d8 b8 00 90 8e c0 b9 00 01 29 f6 29
8799: # Linux kernel boot images (i386 arch) (Wolfram Kleff)
8800: 514 string HdrS Linux kernel
8801: >510 leshort 0xAA55 x86 boot executable
8802: >>518 leshort >0x1ff
8803: >>529 byte 0 zImage,
8804: >>>529 byte 1 bzImage,
8805: >>>(526.s+0x200) string >\0 version %s,
8806: >>498 leshort 1 RO-rootFS,
8807: >>498 leshort 0 RW-rootFS,
8808: >>508 leshort >0 root_dev 0x%X,
8809: >>502 leshort >0 swap_dev 0x%X,
8810: >>504 leshort >0 RAMdisksize %u KB,
8811: >>506 leshort 0xFFFF Normal VGA
8812: >>506 leshort 0xFFFE Extended VGA
8813: >>506 leshort 0xFFFD Prompt for Videomode
8814: >>506 leshort >0 Video mode %d
8815: # This also matches new kernels, which were caught above by "HdrS".
8816: 0 belong 0xb8c0078e Linux kernel
8817: >0x1e3 string Loading version 1.3.79 or older
8818: >0x1e9 string Loading from prehistoric times
8819:
8820: # System.map files - Nicolás Lichtmaier <nick@debian.org>
8821: 8 search/1 \ A\ _text Linux kernel symbol map text
8822:
8823: # LSM entries - Nicolás Lichtmaier <nick@debian.org>
8824: 0 search/1 Begin3 Linux Software Map entry text
8825: 0 search/1 Begin4 Linux Software Map entry text (new format)
8826:
8827: # From Matt Zimmerman, enhanced for v3 by Matthew Palmer
8828: 0 belong 0x4f4f4f4d User-mode Linux COW file
8829: >4 belong <3 \b, version %d
8830: >>8 string >\0 \b, backing file %s
8831: >4 belong >2 \b, version %d
8832: >>32 string >\0 \b, backing file %s
8833:
8834: ############################################################################
8835: # Linux kernel versions
8836:
8837: 0 string \xb8\xc0\x07\x8e\xd8\xb8\x00\x90 Linux
8838: >497 leshort 0 x86 boot sector
8839: >>514 belong 0x8e of a kernel from the dawn of time!
8840: >>514 belong 0x908ed8b4 version 0.99-1.1.42
8841: >>514 belong 0x908ed8b8 for memtest86
8842:
8843: >497 leshort !0 x86 kernel
8844: >>504 leshort >0 RAMdisksize=%u KB
8845: >>502 leshort >0 swap=0x%X
8846: >>508 leshort >0 root=0x%X
8847: >>>498 leshort 1 \b-ro
8848: >>>498 leshort 0 \b-rw
8849: >>506 leshort 0xFFFF vga=normal
8850: >>506 leshort 0xFFFE vga=extended
8851: >>506 leshort 0xFFFD vga=ask
8852: >>506 leshort >0 vga=%d
8853: >>514 belong 0x908ed881 version 1.1.43-1.1.45
8854: >>514 belong 0x15b281cd
8855: >>>0xa8e belong 0x55AA5a5a version 1.1.46-1.2.13,1.3.0
8856: >>>0xa99 belong 0x55AA5a5a version 1.3.1,2
8857: >>>0xaa3 belong 0x55AA5a5a version 1.3.3-1.3.30
8858: >>>0xaa6 belong 0x55AA5a5a version 1.3.31-1.3.41
8859: >>>0xb2b belong 0x55AA5a5a version 1.3.42-1.3.45
8860: >>>0xaf7 belong 0x55AA5a5a version 1.3.46-1.3.72
8861: >>514 string HdrS
8862: >>>518 leshort >0x1FF
8863: >>>>529 byte 0 \b, zImage
8864: >>>>529 byte 1 \b, bzImage
8865: >>>>(526.s+0x200) string >\0 \b, version %s
8866:
8867: # Linux boot sector thefts.
8868: 0 belong 0xb8c0078e Linux
8869: >0x1e6 belong 0x454c4b53 ELKS Kernel
8870: >0x1e6 belong !0x454c4b53 style boot sector
8871:
8872: ############################################################################
8873: # Linux 8086 executable
8874: 0 lelong&0xFF0000FF 0xC30000E9 Linux-Dev86 executable, headerless
8875: >5 string .
8876: >>4 string >\0 \b, libc version %s
8877:
8878: 0 lelong&0xFF00FFFF 0x4000301 Linux-8086 executable
8879: >2 byte&0x01 !0 \b, unmapped zero page
8880: >2 byte&0x20 0 \b, impure
8881: >2 byte&0x20 !0
8882: >>2 byte&0x10 !0 \b, A_EXEC
8883: >2 byte&0x02 !0 \b, A_PAL
8884: >2 byte&0x04 !0 \b, A_NSYM
8885: >2 byte&0x08 !0 \b, A_STAND
8886: >2 byte&0x40 !0 \b, A_PURE
8887: >2 byte&0x80 !0 \b, A_TOVLY
8888: >28 long !0 \b, not stripped
8889: >37 string .
8890: >>36 string >\0 \b, libc version %s
8891:
8892: # 0 lelong&0xFF00FFFF 0x10000301 ld86 I80386 executable
8893: # 0 lelong&0xFF00FFFF 0xB000301 ld86 M68K executable
8894: # 0 lelong&0xFF00FFFF 0xC000301 ld86 NS16K executable
8895: # 0 lelong&0xFF00FFFF 0x17000301 ld86 SPARC executable
8896:
8897: # SYSLINUX boot logo files (from 'ppmtolss16' sources)
8898: # http://syslinux.zytor.com/
8899: #
8900: 0 lelong =0x1413f33d SYSLINUX' LSS16 image data
8901: >4 leshort x \b, width %d
8902: >6 leshort x \b, height %d
8903:
8904: 0 string OOOM User-Mode-Linux's Copy-On-Write disk image
8905: >4 belong x version %d
8906:
8907: # SE Linux policy database
8908: # From: Mike Frysinger <vapier@gentoo.org>
8909: 0 lelong 0xf97cff8c SE Linux policy
8910: >16 lelong x v%d
8911: >20 lelong 1 MLS
8912: >24 lelong x %d symbols
8913: >28 lelong x %d ocons
8914:
8915: # Linux Logical Volume Manager (LVM)
8916: # Emmanuel VARAGNAT <emmanuel.varagnat@guzu.net>
8917: #
8918: # System ID, UUID and volume group name are 128 bytes long
8919: # but they should never be full and initialized with zeros...
8920: #
8921: # LVM1
8922: #
8923: 0x0 string HM\001 LVM1 (Linux Logical Volume Manager), version 1
8924: >0x12c string >\0 , System ID: %s
8925:
8926: 0x0 string HM\002 LVM1 (Linux Logical Volume Manager), version 2
8927: >0x12c string >\0 , System ID: %s
8928:
8929: # LVM2
8930: #
8931: # It seems that the label header can be in one the four first sector
8932: # of the disk... (from _find_labeller in lib/label/label.c of LVM2)
8933: #
8934: # 0x200 seems to be the common case
8935:
8936: 0x218 string LVM2\ 001 LVM2 (Linux Logical Volume Manager)
8937: # read the offset to add to the start of the header, and the header
8938: # start in 0x200
8939: >(0x214.l+0x200) string >\0 , UUID: %s
8940:
8941: 0x018 string LVM2\ 001 LVM2 (Linux Logical Volume Manager)
8942: >(0x014.l) string >\0 , UUID: %s
8943:
8944: 0x418 string LVM2\ 001 LVM2 (Linux Logical Volume Manager)
8945: >(0x414.l+0x400) string >\0 , UUID: %s
8946:
8947: 0x618 string LVM2\ 001 LVM2 (Linux Logical Volume Manager)
8948: >(0x614.l+0x600) string >\0 , UUID: %s
8949:
8950: # LVM snapshot
8951: # from Jason Farrel
8952: 0 string SnAp LVM Snapshot (CopyOnWrite store)
8953: >4 lelong !0 - valid,
8954: >4 lelong 0 - invalid,
8955: >8 lelong x version %d,
8956: >12 lelong x chunk_size %d
8957:
8958: # SE Linux policy database
8959: 0 lelong 0xf97cff8c SE Linux policy
8960: >16 lelong x v%d
8961: >20 lelong 1 MLS
8962: >24 lelong x %d symbols
8963: >28 lelong x %d ocons
8964:
8965: # LUKS: Linux Unified Key Setup, On-Disk Format, http://luks.endorphin.org/spec
8966: # Anthon van der Neut (anthon@mnt.org)
8967: 0 string LUKS\xba\xbe LUKS encrypted file,
8968: >6 beshort x ver %d
8969: >8 string x [%s,
8970: >40 string x %s,
8971: >72 string x %s]
8972: >168 string x UUID: %s
8973:
8974:
8975: # Summary: Xen saved domain file
8976: # Created by: Radek Vokal <rvokal@redhat.com>
8977: 0 string LinuxGuestRecord Xen saved domain
8978: >20 search/256 (name
8979: >>&1 string x (name %s)
8980:
8981: # Type: Xen, the virtual machine monitor
8982: # From: Radek Vokal <rvokal@redhat.com>
8983: 0 string LinuxGuestRecord Xen saved domain
8984: #>2 regex \(name\ [^)]*\) %s
8985: >20 search/256 (name (name
8986: >>&1 string x %s...)
8987: #------------------------------------------------------------------------------
8988: # lisp: file(1) magic for lisp programs
8989: #
8990: # various lisp types, from Daniel Quinlan (quinlan@yggdrasil.com)
8991:
8992: # updated by Joerg Jenderek
8993: # GRR: This lot is too weak
8994: #0 string ;;
8995: # windows INF files often begin with semicolon and use CRLF as line end
8996: # lisp files are mainly created on unix system with LF as line end
8997: #>2 search/2048 !\r Lisp/Scheme program text
8998: #>2 search/2048 \r Windows INF file
8999:
9000: 0 search/256 (if\ Lisp/Scheme program text
9001: !:mime text/x-lisp
9002: 0 search/256 (setq\ Lisp/Scheme program text
9003: !:mime text/x-lisp
9004: 0 search/256 (defvar\ Lisp/Scheme program text
9005: !:mime text/x-lisp
9006: 0 search/256 (defparam\ Lisp/Scheme program text
9007: !:mime text/x-lisp
9008: 0 search/256 (defun\ Lisp/Scheme program text
9009: !:mime text/x-lisp
9010: 0 search/256 (autoload\ Lisp/Scheme program text
9011: !:mime text/x-lisp
9012: 0 search/256 (custom-set-variables\ Lisp/Scheme program text
9013: !:mime text/x-lisp
9014:
9015: # Emacs 18 - this is always correct, but not very magical.
9016: 0 string \012( Emacs v18 byte-compiled Lisp data
9017: !:mime application/x-elc
9018: # Emacs 19+ - ver. recognition added by Ian Springer
9019: # Also applies to XEmacs 19+ .elc files; could tell them apart with regexs
9020: # - Chris Chittleborough <cchittleborough@yahoo.com.au>
9021: 0 string ;ELC
9022: >4 byte >18
9023: >4 byte <32 Emacs/XEmacs v%d byte-compiled Lisp data
9024: !:mime application/x-elc
9025:
9026: # Files produced by CLISP Common Lisp From: Bruno Haible <haible@ilog.fr>
9027: 0 string (SYSTEM::VERSION\040' CLISP byte-compiled Lisp program (pre 2004-03-27)
9028: 0 string (|SYSTEM|::|VERSION|\040' CLISP byte-compiled Lisp program text
9029:
9030: 0 long 0x70768BD2 CLISP memory image data
9031: 0 long 0xD28B7670 CLISP memory image data, other endian
9032:
9033: #.com and .bin for MIT scheme
9034: 0 string \372\372\372\372 MIT scheme (library?)
9035:
9036: # From: David Allouche <david@allouche.net>
9037: 0 search/1 \<TeXmacs| TeXmacs document text
9038: !:mime text/texmacs
9039:
9040: #------------------------------------------------------------------------------
9041: # llvm: file(1) magic for LLVM byte-codes
9042: # URL: http://llvm.cs.uiuc.edu/docs/BytecodeFormat.html#signature
9043: # From: Al Stone <ahs3@fc.hp.com>
9044:
9045: 0 string llvm LLVM byte-codes, uncompressed
9046: 0 string llvc0 LLVM byte-codes, null compression
9047: 0 string llvc1 LLVM byte-codes, gzip compression
9048: 0 string llvc2 LLVM byte-codes, bzip2 compression
9049: #------------------------------------------------------------------------------
9050: # lua: file(1) magic for Lua scripting language
9051: # URL: http://www.lua.org/
9052: # From: Reuben Thomas <rrt@sc3d.org>, Seo Sanghyeon <tinuviel@sparcs.kaist.ac.kr>
9053:
9054: # Lua scripts
9055: 0 search/1/b #!\ /usr/bin/lua Lua script text executable
9056: !:mime text/x-lua
9057: 0 search/1/b #!\ /usr/local/bin/lua Lua script text executable
9058: !:mime text/x-lua
9059: 0 search/1 #!/usr/bin/env\ lua Lua script text executable
9060: !:mime text/x-lua
9061: 0 search/1 #!\ /usr/bin/env\ lua Lua script text executable
9062: !:mime text/x-lua
9063:
9064: # Lua bytecode
9065: 0 string \033Lua Lua bytecode,
9066: >4 byte 0x50 version 5.0
9067: >4 byte 0x51 version 5.1
9068:
9069: #------------------------------------------------------------------------------
9070: # luks: file(1) magic for Linux Unified Key Setup
9071: # URL: http://luks.endorphin.org/spec
9072: # From: Anthon van der Neut <anthon@mnt.org>
9073:
9074: 0 string LUKS\xba\xbe LUKS encrypted file,
9075: >6 beshort x ver %d
9076: >8 string x [%s,
9077: >40 string x %s,
9078: >72 string x %s]
9079: >168 string x UUID: %s
9080: #------------------------------------------------------------
9081: # Mach has two magic numbers, 0xcafebabe and 0xfeedface.
9082: # Unfortunately the first, cafebabe, is shared with
9083: # Java ByteCode, so they are both handled in the file "cafebabe".
9084: # The "feedface" ones are handled herein.
9085: #------------------------------------------------------------
9086: 0 lelong&0xfeffffff 0xfeedface Mach-O
9087: >0 byte 0xcf 64-bit
9088: >12 lelong 1 object
9089: >12 lelong 2 executable
9090: >12 lelong 3 fixed virtual memory shared library
9091: >12 lelong 4 core
9092: >12 lelong 5 preload executable
9093: >12 lelong 6 dynamically linked shared library
9094: >12 lelong 7 dynamic linker
9095: >12 lelong 8 bundle
9096: >12 lelong 9 dynamically linked shared library stub
9097: >12 lelong >9
9098: >>12 lelong x filetype=%ld
9099: >4 lelong <0
9100: >>4 lelong x architecture=%ld
9101: >4 lelong 1 vax
9102: >4 lelong 2 romp
9103: >4 lelong 3 architecture=3
9104: >4 lelong 4 ns32032
9105: >4 lelong 5 ns32332
9106: >4 lelong 6 m68k
9107: >4 lelong 7 i386
9108: >4 lelong 8 mips
9109: >4 lelong 9 ns32532
9110: >4 lelong 10 architecture=10
9111: >4 lelong 11 hppa
9112: >4 lelong 12 acorn
9113: >4 lelong 13 m88k
9114: >4 lelong 14 sparc
9115: >4 lelong 15 i860-big
9116: >4 lelong 16 i860
9117: >4 lelong 17 rs6000
9118: >4 lelong 18 ppc
9119: >4 lelong 16777234 ppc64
9120: >4 lelong >16777234
9121: >>4 lelong x architecture=%ld
9122: #
9123: 0 belong&0xfffffffe 0xfeedface Mach-O
9124: >3 byte 0xcf 64-bit
9125: >12 belong 1 object
9126: >12 belong 2 executable
9127: >12 belong 3 fixed virtual memory shared library
9128: >12 belong 4 core
9129: >12 belong 5 preload executable
9130: >12 belong 6 dynamically linked shared library
9131: >12 belong 7 dynamic linker
9132: >12 belong 8 bundle
9133: >12 belong 9 dynamically linked shared library stub
9134: >12 belong >9
9135: >>12 belong x filetype=%ld
9136: >4 belong <0
9137: >>4 belong x architecture=%ld
9138: >4 belong 1 vax
9139: >4 belong 2 romp
9140: >4 belong 3 architecture=3
9141: >4 belong 4 ns32032
9142: >4 belong 5 ns32332
9143: >4 belong 6 for m68k architecture
9144: # from NeXTstep 3.0 <mach/machine.h>
9145: # i.e. mc680x0_all, ignore
9146: # >>8 belong 1 (mc68030)
9147: >>8 belong 2 (mc68040)
9148: >>8 belong 3 (mc68030 only)
9149: >4 belong 7 i386
9150: >4 belong 8 mips
9151: >4 belong 9 ns32532
9152: >4 belong 10 architecture=10
9153: >4 belong 11 hppa
9154: >4 belong 12 acorn
9155: >4 belong 13 m88k
9156: >4 belong 14 sparc
9157: >4 belong 15 i860-big
9158: >4 belong 16 i860
9159: >4 belong 17 rs6000
9160: >4 belong 18 ppc
9161: >4 belong 16777234 ppc64
9162: >4 belong >16777234
9163: >>4 belong x architecture=%ld
9164:
9165: #------------------------------------------------------------------------------
9166: # macintosh description
9167: #
9168: # BinHex is the Macintosh ASCII-encoded file format (see also "apple")
9169: # Daniel Quinlan, quinlan@yggdrasil.com
9170: 11 string must\ be\ converted\ with\ BinHex BinHex binary text
9171: !:mime application/mac-binhex40
9172: >41 string x \b, version %.3s
9173:
9174: # Stuffit archives are the de facto standard of compression for Macintosh
9175: # files obtained from most archives. (franklsm@tuns.ca)
9176: 0 string SIT! StuffIt Archive (data)
9177: >2 string x : %s
9178: 0 string SITD StuffIt Deluxe (data)
9179: >2 string x : %s
9180: 0 string Seg StuffIt Deluxe Segment (data)
9181: >2 string x : %s
9182:
9183: # Newer StuffIt archives (grant@netbsd.org)
9184: 0 string StuffIt StuffIt Archive
9185: !:mime application/x-stuffit
9186: #>162 string >0 : %s
9187:
9188: # Macintosh Applications and Installation binaries (franklsm@tuns.ca)
9189: # GRR: Too weak
9190: #0 string APPL Macintosh Application (data)
9191: #>2 string x \b: %s
9192:
9193: # Macintosh System files (franklsm@tuns.ca)
9194: # GRR: Too weak
9195: #0 string zsys Macintosh System File (data)
9196: #0 string FNDR Macintosh Finder (data)
9197: #0 string libr Macintosh Library (data)
9198: #>2 string x : %s
9199: #0 string shlb Macintosh Shared Library (data)
9200: #>2 string x : %s
9201: #0 string cdev Macintosh Control Panel (data)
9202: #>2 string x : %s
9203: #0 string INIT Macintosh Extension (data)
9204: #>2 string x : %s
9205: #0 string FFIL Macintosh Truetype Font (data)
9206: #>2 string x : %s
9207: #0 string LWFN Macintosh Postscript Font (data)
9208: #>2 string x : %s
9209:
9210: # Additional Macintosh Files (franklsm@tuns.ca)
9211: # GRR: Too weak
9212: #0 string PACT Macintosh Compact Pro Archive (data)
9213: #>2 string x : %s
9214: #0 string ttro Macintosh TeachText File (data)
9215: #>2 string x : %s
9216: #0 string TEXT Macintosh TeachText File (data)
9217: #>2 string x : %s
9218: #0 string PDF Macintosh PDF File (data)
9219: #>2 string x : %s
9220:
9221: # MacBinary format (Eric Fischer, enf@pobox.com)
9222: #
9223: # Unfortunately MacBinary doesn't really have a magic number prior
9224: # to the MacBinary III format. The checksum is really the way to
9225: # do it, but the magic file format isn't up to the challenge.
9226: #
9227: # 0 byte 0
9228: # 1 byte # filename length
9229: # 2 string # filename
9230: # 65 string # file type
9231: # 69 string # file creator
9232: # 73 byte # Finder flags
9233: # 74 byte 0
9234: # 75 beshort # vertical posn in window
9235: # 77 beshort # horiz posn in window
9236: # 79 beshort # window or folder ID
9237: # 81 byte # protected?
9238: # 82 byte 0
9239: # 83 belong # length of data segment
9240: # 87 belong # length of resource segment
9241: # 91 belong # file creation date
9242: # 95 belong # file modification date
9243: # 99 beshort # length of comment after resource
9244: # 101 byte # new Finder flags
9245: # 102 string mBIN # (only in MacBinary III)
9246: # 106 byte # char. code of file name
9247: # 107 byte # still more Finder flags
9248: # 116 belong # total file length
9249: # 120 beshort # length of add'l header
9250: # 122 byte 129 # for MacBinary II
9251: # 122 byte 130 # for MacBinary III
9252: # 123 byte 129 # minimum version that can read fmt
9253: # 124 beshort # checksum
9254: #
9255: # This attempts to use the version numbers as a magic number, requiring
9256: # that the first one be 0x80, 0x81, 0x82, or 0x83, and that the second
9257: # be 0x81. This works for the files I have, but maybe not for everyone's.
9258:
9259: # Unfortunately, this magic is quite weak - MPi
9260: #122 beshort&0xFCFF 0x8081 Macintosh MacBinary data
9261:
9262: # MacBinary I doesn't have the version number field at all, but MacBinary II
9263: # has been in use since 1987 so I hope there aren't many really old files
9264: # floating around that this will miss. The original spec calls for using
9265: # the nulls in 0, 74, and 82 as the magic number.
9266: #
9267: # Another possibility, that would also work for MacBinary I, is to use
9268: # the assumption that 65-72 will all be ASCII (0x20-0x7F), that 73 will
9269: # have bits 1 (changed), 2 (busy), 3 (bozo), and 6 (invisible) unset,
9270: # and that 74 will be 0. So something like
9271: #
9272: # 71 belong&0x80804EFF 0x00000000 Macintosh MacBinary data
9273: #
9274: # >73 byte&0x01 0x01 \b, inited
9275: # >73 byte&0x02 0x02 \b, changed
9276: # >73 byte&0x04 0x04 \b, busy
9277: # >73 byte&0x08 0x08 \b, bozo
9278: # >73 byte&0x10 0x10 \b, system
9279: # >73 byte&0x10 0x20 \b, bundle
9280: # >73 byte&0x10 0x40 \b, invisible
9281: # >73 byte&0x10 0x80 \b, locked
9282:
9283: #>65 string x \b, type "%4.4s"
9284:
9285: #>65 string 8BIM (PhotoShop)
9286: #>65 string ALB3 (PageMaker 3)
9287: #>65 string ALB4 (PageMaker 4)
9288: #>65 string ALT3 (PageMaker 3)
9289: #>65 string APPL (application)
9290: #>65 string AWWP (AppleWorks word processor)
9291: #>65 string CIRC (simulated circuit)
9292: #>65 string DRWG (MacDraw)
9293: #>65 string EPSF (Encapsulated PostScript)
9294: #>65 string FFIL (font suitcase)
9295: #>65 string FKEY (function key)
9296: #>65 string FNDR (Macintosh Finder)
9297: #>65 string GIFf (GIF image)
9298: #>65 string Gzip (GNU gzip)
9299: #>65 string INIT (system extension)
9300: #>65 string LIB\ (library)
9301: #>65 string LWFN (PostScript font)
9302: #>65 string MSBC (Microsoft BASIC)
9303: #>65 string PACT (Compact Pro archive)
9304: #>65 string PDF\ (Portable Document Format)
9305: #>65 string PICT (picture)
9306: #>65 string PNTG (MacPaint picture)
9307: #>65 string PREF (preferences)
9308: #>65 string PROJ (Think C project)
9309: #>65 string QPRJ (Think Pascal project)
9310: #>65 string SCFL (Defender scores)
9311: #>65 string SCRN (startup screen)
9312: #>65 string SITD (StuffIt Deluxe)
9313: #>65 string SPn3 (SuperPaint)
9314: #>65 string STAK (HyperCard stack)
9315: #>65 string Seg\ (StuffIt segment)
9316: #>65 string TARF (Unix tar archive)
9317: #>65 string TEXT (ASCII)
9318: #>65 string TIFF (TIFF image)
9319: #>65 string TOVF (Eudora table of contents)
9320: #>65 string WDBN (Microsoft Word word processor)
9321: #>65 string WORD (MacWrite word processor)
9322: #>65 string XLS\ (Microsoft Excel)
9323: #>65 string ZIVM (compress (.Z))
9324: #>65 string ZSYS (Pre-System 7 system file)
9325: #>65 string acf3 (Aldus FreeHand)
9326: #>65 string cdev (control panel)
9327: #>65 string dfil (Desk Acessory suitcase)
9328: #>65 string libr (library)
9329: #>65 string nX^d (WriteNow word processor)
9330: #>65 string nX^w (WriteNow dictionary)
9331: #>65 string rsrc (resource)
9332: #>65 string scbk (Scrapbook)
9333: #>65 string shlb (shared library)
9334: #>65 string ttro (SimpleText read-only)
9335: #>65 string zsys (system file)
9336:
9337: #>69 string x \b, creator "%4.4s"
9338:
9339: # Somewhere, Apple has a repository of registered Creator IDs. These are
9340: # just the ones that I happened to have files from and was able to identify.
9341:
9342: #>69 string 8BIM (Adobe Photoshop)
9343: #>69 string ALD3 (PageMaker 3)
9344: #>69 string ALD4 (PageMaker 4)
9345: #>69 string ALFA (Alpha editor)
9346: #>69 string APLS (Apple Scanner)
9347: #>69 string APSC (Apple Scanner)
9348: #>69 string BRKL (Brickles)
9349: #>69 string BTFT (BitFont)
9350: #>69 string CCL2 (Common Lisp 2)
9351: #>69 string CCL\ (Common Lisp)
9352: #>69 string CDmo (The Talking Moose)
9353: #>69 string CPCT (Compact Pro)
9354: #>69 string CSOm (Eudora)
9355: #>69 string DMOV (Font/DA Mover)
9356: #>69 string DSIM (DigSim)
9357: #>69 string EDIT (Macintosh Edit)
9358: #>69 string ERIK (Macintosh Finder)
9359: #>69 string EXTR (self-extracting archive)
9360: #>69 string Gzip (GNU gzip)
9361: #>69 string KAHL (Think C)
9362: #>69 string LWFU (LaserWriter Utility)
9363: #>69 string LZIV (compress)
9364: #>69 string MACA (MacWrite)
9365: #>69 string MACS (Macintosh operating system)
9366: #>69 string MAcK (MacKnowledge terminal emulator)
9367: #>69 string MLND (Defender)
9368: #>69 string MPNT (MacPaint)
9369: #>69 string MSBB (Microsoft BASIC (binary))
9370: #>69 string MSWD (Microsoft Word)
9371: #>69 string NCSA (NCSA Telnet)
9372: #>69 string PJMM (Think Pascal)
9373: #>69 string PSAL (Hunt the Wumpus)
9374: #>69 string PSI2 (Apple File Exchange)
9375: #>69 string R*ch (BBEdit)
9376: #>69 string RMKR (Resource Maker)
9377: #>69 string RSED (Resource Editor)
9378: #>69 string Rich (BBEdit)
9379: #>69 string SIT! (StuffIt)
9380: #>69 string SPNT (SuperPaint)
9381: #>69 string Unix (NeXT Mac filesystem)
9382: #>69 string VIM! (Vim editor)
9383: #>69 string WILD (HyperCard)
9384: #>69 string XCEL (Microsoft Excel)
9385: #>69 string aCa2 (Fontographer)
9386: #>69 string aca3 (Aldus FreeHand)
9387: #>69 string dosa (Macintosh MS-DOS file system)
9388: #>69 string movr (Font/DA Mover)
9389: #>69 string nX^n (WriteNow)
9390: #>69 string pdos (Apple ProDOS file system)
9391: #>69 string scbk (Scrapbook)
9392: #>69 string ttxt (SimpleText)
9393: #>69 string ufox (Foreign File Access)
9394:
9395: # Just in case...
9396:
9397: 102 string mBIN MacBinary III data with surprising version number
9398:
9399: # sas magic from Bruce Foster (bef@nwu.edu)
9400: #
9401: #0 string SAS SAS
9402: #>8 string x %s
9403: 0 string SAS SAS
9404: >24 string DATA data file
9405: >24 string CATALOG catalog
9406: >24 string INDEX data file index
9407: >24 string VIEW data view
9408: # sas 7+ magic from Reinhold Koch (reinhold.koch@roche.com)
9409: #
9410: 0x54 string SAS SAS 7+
9411: >0x9C string DATA data file
9412: >0x9C string CATALOG catalog
9413: >0x9C string INDEX data file index
9414: >0x9C string VIEW data view
9415:
9416: # spss magic for SPSS system and portable files,
9417: # from Bruce Foster (bef@nwu.edu).
9418:
9419: 0 long 0xc1e2c3c9 SPSS Portable File
9420: >40 string x %s
9421:
9422: 0 string $FL2 SPSS System File
9423: >24 string x %s
9424:
9425: # Macintosh filesystem data
9426: # From "Tom N Harris" <telliamed@mac.com>
9427: # Fixed HFS+ and Partition map magic: Ethan Benson <erbenson@alaska.net>
9428: # The MacOS epoch begins on 1 Jan 1904 instead of 1 Jan 1970, so these
9429: # entries depend on the data arithmetic added after v.35
9430: # There's also some Pascal strings in here, ditto...
9431:
9432: # The boot block signature, according to IM:Files, is
9433: # "for HFS volumes, this field always contains the value 0x4C4B."
9434: # But if this is true for MFS or HFS+ volumes, I don't know.
9435: # Alternatively, the boot block is supposed to be zeroed if it's
9436: # unused, so a simply >0 should suffice.
9437:
9438: 0x400 beshort 0xD2D7 Macintosh MFS data
9439: >0 beshort 0x4C4B (bootable)
9440: >0x40a beshort &0x8000 (locked)
9441: >0x402 beldate-0x7C25B080 x created: %s,
9442: >0x406 beldate-0x7C25B080 >0 last backup: %s,
9443: >0x414 belong x block size: %d,
9444: >0x412 beshort x number of blocks: %d,
9445: >0x424 pstring x volume name: %s
9446:
9447: # "BD" is has many false positives
9448: #0x400 beshort 0x4244 Macintosh HFS data
9449: #>0 beshort 0x4C4B (bootable)
9450: #>0x40a beshort &0x8000 (locked)
9451: #>0x40a beshort ^0x0100 (mounted)
9452: #>0x40a beshort &0x0200 (spared blocks)
9453: #>0x40a beshort &0x0800 (unclean)
9454: #>0x47C beshort 0x482B (Embedded HFS+ Volume)
9455: #>0x402 beldate-0x7C25B080 x created: %s,
9456: #>0x406 beldate-0x7C25B080 x last modified: %s,
9457: #>0x440 beldate-0x7C25B080 >0 last backup: %s,
9458: #>0x414 belong x block size: %d,
9459: #>0x412 beshort x number of blocks: %d,
9460: #>0x424 pstring x volume name: %s
9461:
9462: 0x400 beshort 0x482B Macintosh HFS Extended
9463: >&0 beshort x version %d data
9464: >0 beshort 0x4C4B (bootable)
9465: >0x404 belong ^0x00000100 (mounted)
9466: >&2 belong &0x00000200 (spared blocks)
9467: >&2 belong &0x00000800 (unclean)
9468: >&2 belong &0x00008000 (locked)
9469: >&6 string x last mounted by: '%.4s',
9470: # really, that should be treated as a belong and we print a string
9471: # based on the value. TN1150 only mentions '8.10' for "MacOS 8.1"
9472: >&14 beldate-0x7C25B080 x created: %s,
9473: # only the creation date is local time, all other timestamps in HFS+ are UTC.
9474: >&18 bedate-0x7C25B080 x last modified: %s,
9475: >&22 bedate-0x7C25B080 >0 last backup: %s,
9476: >&26 bedate-0x7C25B080 >0 last checked: %s,
9477: >&38 belong x block size: %d,
9478: >&42 belong x number of blocks: %d,
9479: >&46 belong x free blocks: %d
9480:
9481: # I don't think this is really necessary since it doesn't do much and
9482: # anything with a valid driver descriptor will also have a valid
9483: # partition map
9484: #0 beshort 0x4552 Apple Device Driver data
9485: #>&24 beshort =1 \b, MacOS
9486:
9487: # Is that the partition type a cstring or a pstring? Well, IM says "strings
9488: # shorter than 32 bytes must be terminated with NULL" so I'll treat it as a
9489: # cstring. Of course, partitions can contain more than four entries, but
9490: # what're you gonna do?
9491: # GRR: This magic is too weak, it is just "PM"
9492: #0x200 beshort 0x504D Apple Partition data
9493: #>0x2 beshort x (block size: %d):
9494: #>0x230 string x first type: %s,
9495: #>0x210 string x name: %s,
9496: #>0x254 belong x number of blocks: %d,
9497: #>0x400 beshort 0x504D
9498: #>>0x430 string x second type: %s,
9499: #>>0x410 string x name: %s,
9500: #>>0x454 belong x number of blocks: %d,
9501: #>>0x600 beshort 0x504D
9502: #>>>0x630 string x third type: %s,
9503: #>>>0x610 string x name: %s,
9504: #>>>0x654 belong x number of blocks: %d,
9505: #>>0x800 beshort 0x504D
9506: #>>>0x830 string x fourth type: %s,
9507: #>>>0x810 string x name: %s,
9508: #>>>0x854 belong x number of blocks: %d,
9509: #>>>0xa00 beshort 0x504D
9510: #>>>>0xa30 string x fifth type: %s,
9511: #>>>>0xa10 string x name: %s,
9512: #>>>>0xa54 belong x number of blocks: %d
9513: #>>>0xc00 beshort 0x504D
9514: #>>>>0xc30 string x sixth type: %s,
9515: #>>>>0xc10 string x name: %s,
9516: #>>>>0xc54 belong x number of blocks: %d
9517: ## AFAIK, only the signature is different
9518: #0x200 beshort 0x5453 Apple Old Partition data
9519: #>0x2 beshort x block size: %d,
9520: #>0x230 string x first type: %s,
9521: #>0x210 string x name: %s,
9522: #>0x254 belong x number of blocks: %d,
9523: #>0x400 beshort 0x504D
9524: #>>0x430 string x second type: %s,
9525: #>>0x410 string x name: %s,
9526: #>>0x454 belong x number of blocks: %d,
9527: #>>0x800 beshort 0x504D
9528: #>>>0x830 string x third type: %s,
9529: #>>>0x810 string x name: %s,
9530: #>>>0x854 belong x number of blocks: %d,
9531: #>>>0xa00 beshort 0x504D
9532: #>>>>0xa30 string x fourth type: %s,
9533: #>>>>0xa10 string x name: %s,
9534: #>>>>0xa54 belong x number of blocks: %d
9535:
9536: # From: Remi Mommsen <mommsen@slac.stanford.edu>
9537: 0 string BOMStore Mac OS X bill of materials (BOM) file
9538:
9539: #------------------------------------------------------------------------------
9540: # magic: file(1) magic for magic files
9541: #
9542: 0 string #\ Magic magic text file for file(1) cmd
9543: 0 lelong 0xF11E041C magic binary file for file(1) cmd
9544: >4 lelong x (version %d) (little endian)
9545: 0 belong 0xF11E041C magic binary file for file(1) cmd
9546: >4 belong x (version %d) (big endian)
9547: #------------------------------------------------------------------------------
9548: # mail.news: file(1) magic for mail and news
9549: #
9550: # Unfortunately, saved netnews also has From line added in some news software.
9551: #0 string From mail text
9552: # There are tests to ascmagic.c to cope with mail and news.
9553: 0 string Relay-Version: old news text
9554: !:mime message/rfc822
9555: 0 string #!\ rnews batched news text
9556: !:mime message/rfc822
9557: 0 string N#!\ rnews mailed, batched news text
9558: !:mime message/rfc822
9559: 0 string Forward\ to mail forwarding text
9560: !:mime message/rfc822
9561: 0 string Pipe\ to mail piping text
9562: !:mime message/rfc822
9563: 0 string Return-Path: smtp mail text
9564: !:mime message/rfc822
9565: 0 string Path: news text
9566: !:mime message/news
9567: 0 string Xref: news text
9568: !:mime message/news
9569: 0 string From: news or mail text
9570: !:mime message/rfc822
9571: 0 string Article saved news text
9572: !:mime message/news
9573: 0 string BABYL Emacs RMAIL text
9574: 0 string Received: RFC 822 mail text
9575: !:mime message/rfc822
9576: 0 string MIME-Version: MIME entity text
9577: #0 string Content- MIME entity text
9578:
9579: # TNEF files...
9580: 0 lelong 0x223E9F78 Transport Neutral Encapsulation Format
9581:
9582: # From: Kevin Sullivan <ksulliva@psc.edu>
9583: 0 string *mbx* MBX mail folder
9584:
9585: # From: Simon Matter <simon.matter@invoca.ch>
9586: 0 string \241\002\213\015skiplist\ file\0\0\0 Cyrus skiplist DB
9587:
9588: # JAM(mbp) Fidonet message area databases
9589: # JHR file
9590: 0 string JAM\0 JAM message area header file
9591: >12 leshort >0 (%d messages)
9592:
9593: # Squish Fidonet message area databases
9594: # SQD file (requires at least one message in the area)
9595: # XXX: Weak magic
9596: #256 leshort 0xAFAE4453 Squish message area data file
9597: #>4 leshort >0 (%d messages)
9598:
9599: #0 string \<!--\ MHonArc text/html; x-type=mhonarc
9600:
9601: #------------------------------------------------------------------------------
9602: # maple: file(1) magic for maple files
9603: # "H. Nanosecond" <aldomel@ix.netcom.com>
9604: # Maple V release 4, a multi-purpose math program
9605: #
9606:
9607: # maple library .lib
9608: 0 string \000MVR4\nI MapleVr4 library
9609:
9610: # .ind
9611: # no magic for these :-(
9612: # they are compiled indexes for maple files
9613:
9614: # .hdb
9615: 0 string \000\004\000\000 Maple help database
9616:
9617: # .mhp
9618: # this has the form <PACKAGE=name>
9619: 0 string \<PACKAGE= Maple help file
9620: 0 string \<HELP\ NAME= Maple help file
9621: 0 string \n\<HELP\ NAME= Maple help file with extra carriage return at start (yuck)
9622: #0 string #\ Newton Maple help file, old style
9623: 0 string #\ daub Maple help file, old style
9624: #0 string #=========== Maple help file, old style
9625:
9626: # .mws
9627: 0 string \000\000\001\044\000\221 Maple worksheet
9628: #this is anomalous
9629: 0 string WriteNow\000\002\000\001\000\000\000\000\100\000\000\000\000\000 Maple worksheet, but weird
9630: # this has the form {VERSION 2 3 "IBM INTEL NT" "2.3" }\n
9631: # that is {VERSION major_version miunor_version computer_type version_string}
9632: 0 string {VERSION\ Maple worksheet
9633: >9 string >\0 version %.1s.
9634: >>>11 string >\0 %.1s
9635:
9636: # .mps
9637: 0 string \0\0\001$ Maple something
9638: # from byte 4 it is either 'nul E' or 'soh R'
9639: # I think 'nul E' means a file that was saved as a different name
9640: # a sort of revision marking
9641: # 'soh R' means new
9642: >4 string \000\105 An old revision
9643: >4 string \001\122 The latest save
9644:
9645: # .mpl
9646: # some of these are the same as .mps above
9647: #0000000 000 000 001 044 000 105 same as .mps
9648: #0000000 000 000 001 044 001 122 same as .mps
9649:
9650: 0 string #\n##\ <SHAREFILE= Maple something
9651: 0 string \n#\n##\ <SHAREFILE= Maple something
9652: 0 string ##\ <SHAREFILE= Maple something
9653: 0 string #\r##\ <SHAREFILE= Maple something
9654: 0 string \r#\r##\ <SHAREFILE= Maple something
9655: 0 string #\ \r##\ <DESCRIBE> Maple something anomalous.
9656:
9657: #------------------------------------------------------------------------------
9658: # mathcad: file(1) magic for Mathcad documents
9659: # URL: http://www.mathsoft.com/
9660: # From: Josh Triplett <josh@freedesktop.org>
9661:
9662: 0 string .MCAD\t Mathcad document
9663: #------------------------------------------------------------------------------
9664: # mathematica: file(1) magic for mathematica files
9665: # "H. Nanosecond" <aldomel@ix.netcom.com>
9666: # Mathematica a multi-purpose math program
9667: # versions 2.2 and 3.0
9668:
9669: #mathematica .mb
9670: 0 string \064\024\012\000\035\000\000\000 Mathematica version 2 notebook
9671: 0 string \064\024\011\000\035\000\000\000 Mathematica version 2 notebook
9672:
9673: # .ma
9674: # multiple possibilites:
9675:
9676: 0 string (*^\n\n::[\011frontEndVersion\ =\ Mathematica notebook
9677: #>41 string >\0 %s
9678:
9679: #0 string (*^\n\n::[\011palette Mathematica notebook version 2.x
9680:
9681: #0 string (*^\n\n::[\011Information Mathematica notebook version 2.x
9682: #>675 string >\0 %s #doesn't work well
9683:
9684: # there may be 'cr' instread of 'nl' in some does this matter?
9685:
9686: # generic:
9687: 0 string (*^\r\r::[\011 Mathematica notebook version 2.x
9688: 0 string (*^\r\n\r\n::[\011 Mathematica notebook version 2.x
9689: 0 string (*^\015 Mathematica notebook version 2.x
9690: 0 string (*^\n\r\n\r::[\011 Mathematica notebook version 2.x
9691: 0 string (*^\r::[\011 Mathematica notebook version 2.x
9692: 0 string (*^\r\n::[\011 Mathematica notebook version 2.x
9693: 0 string (*^\n\n::[\011 Mathematica notebook version 2.x
9694: 0 string (*^\n::[\011 Mathematica notebook version 2.x
9695:
9696:
9697: # Mathematica .mx files
9698:
9699: #0 string (*This\ is\ a\ Mathematica\ binary\ dump\ file.\ It\ can\ be\ loaded\ with\ Get.*) Mathematica binary file
9700: 0 string (*This\ is\ a\ Mathematica\ binary\ Mathematica binary file
9701: #>71 string \000\010\010\010\010\000\000\000\000\000\000\010\100\010\000\000\000
9702: # >71... is optional
9703: >88 string >\0 from %s
9704:
9705:
9706: # Mathematica files PBF:
9707: # 115 115 101 120 102 106 000 001 000 000 000 203 000 001 000
9708: 0 string MMAPBF\000\001\000\000\000\203\000\001\000 Mathematica PBF (fonts I think)
9709:
9710: # .ml files These are menu resources I think
9711: # these start with "[0-9][0-9][0-9]\ A~[0-9][0-9][0-9]\
9712: # how to put that into a magic rule?
9713: 4 string \ A~ MAthematica .ml file
9714:
9715: # .nb files
9716: #too long 0 string (***********************************************************************\n\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Mathematica-Compatible Notebook Mathematica 3.0 notebook
9717: 0 string (*********************** Mathematica 3.0 notebook
9718:
9719: # other (* matches it is a comment start in these langs
9720: # GRR: Too weak; also matches other languages e.g. ML
9721: #0 string (* Mathematica, or Pascal, Modula-2 or 3 code text
9722:
9723: #########################
9724: # MatLab v5
9725: 0 string MATLAB Matlab v5 mat-file
9726: >126 short 0x494d (big endian)
9727: >>124 beshort x version 0x%04x
9728: >126 short 0x4d49 (little endian)
9729: >>124 leshort x version 0x%04x
9730:
9731:
9732: #------------------------------------------------------------------------------
9733: # matroska: file(1) magic for Matroska files
9734: #
9735: # See http://www.matroska.org/
9736: #
9737:
9738: # EBML id:
9739: 0 belong 0x1a45dfa3
9740: # DocType id:
9741: >5 beshort 0x4282
9742: # DocType contents:
9743: >>8 string matroska Matroska data
9744:
9745: #------------------------------------------------------------------------------
9746: # Mavroyanopoulos Nikos <nmav@hellug.gr>
9747: # mcrypt: file(1) magic for mcrypt 2.2.x;
9748: 0 string \0m\3 mcrypt 2.5 encrypted data,
9749: >4 string >\0 algorithm: %s,
9750: >>&1 leshort >0 keysize: %d bytes,
9751: >>>&0 string >\0 mode: %s,
9752:
9753: 0 string \0m\2 mcrypt 2.2 encrypted data,
9754: >3 byte 0 algorithm: blowfish-448,
9755: >3 byte 1 algorithm: DES,
9756: >3 byte 2 algorithm: 3DES,
9757: >3 byte 3 algorithm: 3-WAY,
9758: >3 byte 4 algorithm: GOST,
9759: >3 byte 6 algorithm: SAFER-SK64,
9760: >3 byte 7 algorithm: SAFER-SK128,
9761: >3 byte 8 algorithm: CAST-128,
9762: >3 byte 9 algorithm: xTEA,
9763: >3 byte 10 algorithm: TWOFISH-128,
9764: >3 byte 11 algorithm: RC2,
9765: >3 byte 12 algorithm: TWOFISH-192,
9766: >3 byte 13 algorithm: TWOFISH-256,
9767: >3 byte 14 algorithm: blowfish-128,
9768: >3 byte 15 algorithm: blowfish-192,
9769: >3 byte 16 algorithm: blowfish-256,
9770: >3 byte 100 algorithm: RC6,
9771: >3 byte 101 algorithm: IDEA,
9772: >4 byte 0 mode: CBC,
9773: >4 byte 1 mode: ECB,
9774: >4 byte 2 mode: CFB,
9775: >4 byte 3 mode: OFB,
9776: >4 byte 4 mode: nOFB,
9777: >5 byte 0 keymode: 8bit
9778: >5 byte 1 keymode: 4bit
9779: >5 byte 2 keymode: SHA-1 hash
9780: >5 byte 3 keymode: MD5 hash
9781:
9782: #------------------------------------------------------------------------------
9783: # mercurial: file(1) magic for Mercurial changeset bundles
9784: # http://www.selenic.com/mercurial/wiki/
9785: #
9786: # Jesse Glick (jesse.glick@sun.com)
9787: #
9788:
9789: 0 string HG10 Mercurial changeset bundle
9790: >4 string UN (uncompressed)
9791: >4 string GZ (gzip compressed)
9792: >4 string BZ (bzip2 compressed)
9793: #------------------------------------------------------------------------------
9794: # mime: file(1) magic for MIME encoded files
9795: #
9796: 0 string Content-Type:\
9797: >14 string >\0 %s
9798: 0 string Content-Type:
9799: >13 string >\0 %s
9800:
9801: #------------------------------------------------------------------------------
9802: # mips: file(1) magic for Silicon Graphics (MIPS, IRIS, IRIX, etc.)
9803: # Dec Ultrix (MIPS)
9804: # all of SGI's *current* machines and OSes run in big-endian mode on the
9805: # MIPS machines, as far as I know.
9806: #
9807: # XXX - what is the blank "-" line?
9808: #
9809: # kbd file definitions
9810: 0 string kbd!map kbd map file
9811: >8 byte >0 Ver %d:
9812: >10 short >0 with %d table(s)
9813: 0 belong 0407 old SGI 68020 executable
9814: 0 belong 0410 old SGI 68020 pure executable
9815: 0 beshort 0x8765 disk quotas file
9816: 0 beshort 0x0506 IRIS Showcase file
9817: >2 byte 0x49 -
9818: >3 byte x - version %ld
9819: 0 beshort 0x0226 IRIS Showcase template
9820: >2 byte 0x63 -
9821: >3 byte x - version %ld
9822: 0 belong 0x5343464d IRIS Showcase file
9823: >4 byte x - version %ld
9824: 0 belong 0x5443464d IRIS Showcase template
9825: >4 byte x - version %ld
9826: 0 belong 0xdeadbabe IRIX Parallel Arena
9827: >8 belong >0 - version %ld
9828: #
9829: 0 beshort 0x0160 MIPSEB ECOFF executable
9830: >20 beshort 0407 (impure)
9831: >20 beshort 0410 (swapped)
9832: >20 beshort 0413 (paged)
9833: >8 belong >0 not stripped
9834: >8 belong 0 stripped
9835: >22 byte x - version %ld
9836: >23 byte x .%ld
9837: #
9838: 0 beshort 0x0162 MIPSEL-BE ECOFF executable
9839: >20 beshort 0407 (impure)
9840: >20 beshort 0410 (swapped)
9841: >20 beshort 0413 (paged)
9842: >8 belong >0 not stripped
9843: >8 belong 0 stripped
9844: >23 byte x - version %d
9845: >22 byte x .%ld
9846: #
9847: 0 beshort 0x6001 MIPSEB-LE ECOFF executable
9848: >20 beshort 03401 (impure)
9849: >20 beshort 04001 (swapped)
9850: >20 beshort 05401 (paged)
9851: >8 belong >0 not stripped
9852: >8 belong 0 stripped
9853: >23 byte x - version %d
9854: >22 byte x .%ld
9855: #
9856: 0 beshort 0x6201 MIPSEL ECOFF executable
9857: >20 beshort 03401 (impure)
9858: >20 beshort 04001 (swapped)
9859: >20 beshort 05401 (paged)
9860: >8 belong >0 not stripped
9861: >8 belong 0 stripped
9862: >23 byte x - version %ld
9863: >22 byte x .%ld
9864: #
9865: # MIPS 2 additions
9866: #
9867: 0 beshort 0x0163 MIPSEB MIPS-II ECOFF executable
9868: >20 beshort 0407 (impure)
9869: >20 beshort 0410 (swapped)
9870: >20 beshort 0413 (paged)
9871: >8 belong >0 not stripped
9872: >8 belong 0 stripped
9873: >22 byte x - version %ld
9874: >23 byte x .%ld
9875: #
9876: 0 beshort 0x0166 MIPSEL-BE MIPS-II ECOFF executable
9877: >20 beshort 0407 (impure)
9878: >20 beshort 0410 (swapped)
9879: >20 beshort 0413 (paged)
9880: >8 belong >0 not stripped
9881: >8 belong 0 stripped
9882: >22 byte x - version %ld
9883: >23 byte x .%ld
9884: #
9885: 0 beshort 0x6301 MIPSEB-LE MIPS-II ECOFF executable
9886: >20 beshort 03401 (impure)
9887: >20 beshort 04001 (swapped)
9888: >20 beshort 05401 (paged)
9889: >8 belong >0 not stripped
9890: >8 belong 0 stripped
9891: >23 byte x - version %ld
9892: >22 byte x .%ld
9893: #
9894: 0 beshort 0x6601 MIPSEL MIPS-II ECOFF executable
9895: >20 beshort 03401 (impure)
9896: >20 beshort 04001 (swapped)
9897: >20 beshort 05401 (paged)
9898: >8 belong >0 not stripped
9899: >8 belong 0 stripped
9900: >23 byte x - version %ld
9901: >22 byte x .%ld
9902: #
9903: # MIPS 3 additions
9904: #
9905: 0 beshort 0x0140 MIPSEB MIPS-III ECOFF executable
9906: >20 beshort 0407 (impure)
9907: >20 beshort 0410 (swapped)
9908: >20 beshort 0413 (paged)
9909: >8 belong >0 not stripped
9910: >8 belong 0 stripped
9911: >22 byte x - version %ld
9912: >23 byte x .%ld
9913: #
9914: 0 beshort 0x0142 MIPSEL-BE MIPS-III ECOFF executable
9915: >20 beshort 0407 (impure)
9916: >20 beshort 0410 (swapped)
9917: >20 beshort 0413 (paged)
9918: >8 belong >0 not stripped
9919: >8 belong 0 stripped
9920: >22 byte x - version %ld
9921: >23 byte x .%ld
9922: #
9923: 0 beshort 0x4001 MIPSEB-LE MIPS-III ECOFF executable
9924: >20 beshort 03401 (impure)
9925: >20 beshort 04001 (swapped)
9926: >20 beshort 05401 (paged)
9927: >8 belong >0 not stripped
9928: >8 belong 0 stripped
9929: >23 byte x - version %ld
9930: >22 byte x .%ld
9931: #
9932: 0 beshort 0x4201 MIPSEL MIPS-III ECOFF executable
9933: >20 beshort 03401 (impure)
9934: >20 beshort 04001 (swapped)
9935: >20 beshort 05401 (paged)
9936: >8 belong >0 not stripped
9937: >8 belong 0 stripped
9938: >23 byte x - version %ld
9939: >22 byte x .%ld
9940: #
9941: 0 beshort 0x180 MIPSEB Ucode
9942: 0 beshort 0x182 MIPSEL-BE Ucode
9943: # 32bit core file
9944: 0 belong 0xdeadadb0 IRIX core dump
9945: >4 belong 1 of
9946: >16 string >\0 '%s'
9947: # 64bit core file
9948: 0 belong 0xdeadad40 IRIX 64-bit core dump
9949: >4 belong 1 of
9950: >16 string >\0 '%s'
9951: # N32bit core file
9952: 0 belong 0xbabec0bb IRIX N32 core dump
9953: >4 belong 1 of
9954: >16 string >\0 '%s'
9955: # New style crash dump file
9956: 0 string \x43\x72\x73\x68\x44\x75\x6d\x70 IRIX vmcore dump of
9957: >36 string >\0 '%s'
9958: # Trusted IRIX info
9959: 0 string SGIAUDIT SGI Audit file
9960: >8 byte x - version %d
9961: >9 byte x .%ld
9962: #
9963: 0 string WNGZWZSC Wingz compiled script
9964: 0 string WNGZWZSS Wingz spreadsheet
9965: 0 string WNGZWZHP Wingz help file
9966: #
9967: 0 string #Inventor V IRIS Inventor 1.0 file
9968: 0 string #Inventor V2 Open Inventor 2.0 file
9969: # GLF is OpenGL stream encoding
9970: 0 string glfHeadMagic(); GLF_TEXT
9971: 4 belong 0x7d000000 GLF_BINARY_LSB_FIRST
9972: 4 belong 0x0000007d GLF_BINARY_MSB_FIRST
9973: # GLS is OpenGL stream encoding; GLS is the successor of GLF
9974: 0 string glsBeginGLS( GLS_TEXT
9975: 4 belong 0x10000000 GLS_BINARY_LSB_FIRST
9976: 4 belong 0x00000010 GLS_BINARY_MSB_FIRST
9977:
9978: #------------------------------------------------------------------------------
9979: # mirage: file(1) magic for Mirage executables
9980: #
9981: # XXX - byte order?
9982: #
9983: 0 long 31415 Mirage Assembler m.out executable
9984: #-----------------------------------------------------------------------------
9985: # misctools: file(1) magic for miscellaneous UNIX tools.
9986: #
9987: 0 search/1 %%!! X-Post-It-Note text
9988: 0 string/c BEGIN:VCALENDAR vCalendar calendar file
9989: 0 string/c BEGIN:VCARD vCard visiting card
9990: !:mime text/x-vcard
9991:
9992: # From: Alex Beregszaszi <alex@fsn.hu>
9993: 4 string gtktalog GNOME Catalogue (gtktalog)
9994: >13 string >\0 version %s
9995:
9996: # Summary: Libtool library file
9997: # Extension: .la
9998: # Submitted by: Tomasz Trojanowski <tomek@uninet.com.pl>
9999: 0 search/80 .la\ -\ a\ libtool\ library\ file libtool library file
10000:
10001: # Summary: Libtool object file
10002: # Extension: .lo
10003: # Submitted by: Abel Cheung <abelcheung@gmail.com>
10004: 0 search/80 .lo\ -\ a\ libtool\ object\ file libtool object file
10005:
10006: #------------------------------------------------------------------------------
10007: # mkid: file(1) magic for mkid(1) databases
10008: #
10009: # ID is the binary tags database produced by mkid(1).
10010: #
10011: # XXX - byte order?
10012: #
10013: 0 string \311\304 ID tags data
10014: >2 short >0 version %d
10015:
10016: #------------------------------------------------------------------------------
10017: # mlssa: file(1) magic for MLSSA datafiles
10018: #
10019: 0 lelong 0xffffabcd MLSSA datafile,
10020: >4 leshort x algorithm %d,
10021: >10 lelong x %d samples
10022:
10023: #------------------------------------------------------------------------------
10024: # mmdf: file(1) magic for MMDF mail files
10025: #
10026: 0 string \001\001\001\001 MMDF mailbox
10027: #------------------------------------------------------------------------------
10028: # modem: file(1) magic for modem programs
10029: #
10030: # From: Florian La Roche <florian@knorke.saar.de>
10031: 1 string PC\ Research,\ Inc Digifax-G3-File
10032: >29 byte 1 \b, fine resolution
10033: >29 byte 0 \b, normal resolution
10034:
10035: 0 short 0x0100 raw G3 data, byte-padded
10036: 0 short 0x1400 raw G3 data
10037: #
10038: # Magic data for vgetty voice formats
10039: # (Martin Seine & Marc Eberhard)
10040:
10041: #
10042: # raw modem data version 1
10043: #
10044: 0 string RMD1 raw modem data
10045: >4 string >\0 (%s /
10046: >20 short >0 compression type 0x%04x)
10047:
10048: #
10049: # portable voice format 1
10050: #
10051: 0 string PVF1\n portable voice format
10052: >5 string >\0 (binary %s)
10053:
10054: #
10055: # portable voice format 2
10056: #
10057: 0 string PVF2\n portable voice format
10058: >5 string >\0 (ascii %s)
10059:
10060:
10061: #------------------------------------------------------------------------------
10062: # motorola: file(1) magic for Motorola 68K and 88K binaries
10063: #
10064: # 68K
10065: #
10066: 0 beshort 0520 mc68k COFF
10067: >18 beshort ^00000020 object
10068: >18 beshort &00000020 executable
10069: >12 belong >0 not stripped
10070: >168 string .lowmem Apple toolbox
10071: >20 beshort 0407 (impure)
10072: >20 beshort 0410 (pure)
10073: >20 beshort 0413 (demand paged)
10074: >20 beshort 0421 (standalone)
10075: 0 beshort 0521 mc68k executable (shared)
10076: >12 belong >0 not stripped
10077: 0 beshort 0522 mc68k executable (shared demand paged)
10078: >12 belong >0 not stripped
10079: #
10080: # Motorola/UniSoft 68K Binary Compatibility Standard (BCS)
10081: #
10082: 0 beshort 0554 68K BCS executable
10083: #
10084: # 88K
10085: #
10086: # Motorola/88Open BCS
10087: #
10088: 0 beshort 0555 88K BCS executable
10089: #
10090: # Motorola S-Records, from Gerd Truschinski <gt@freebsd.first.gmd.de>
10091: 0 string S0 Motorola S-Record; binary data in text format
10092:
10093: # ATARI ST relocatable PRG
10094: #
10095: # from Oskar Schirmer <schirmer@scara.com> Feb 3, 2001
10096: # (according to Roland Waldi, Oct 21, 1987)
10097: # besides the magic 0x601a, the text segment size is checked to be
10098: # not larger than 1 MB (which is a lot on ST).
10099: # The additional 0x601b distinction I took from Doug Lee's magic.
10100: 0 belong&0xFFFFFFF0 0x601A0000 Atari ST M68K contiguous executable
10101: >2 belong x (txt=%ld,
10102: >6 belong x dat=%ld,
10103: >10 belong x bss=%ld,
10104: >14 belong x sym=%ld)
10105: 0 belong&0xFFFFFFF0 0x601B0000 Atari ST M68K non-contig executable
10106: >2 belong x (txt=%ld,
10107: >6 belong x dat=%ld,
10108: >10 belong x bss=%ld,
10109: >14 belong x sym=%ld)
10110:
10111: # Atari ST/TT... program format (sent by Wolfram Kleff <kleff@cs.uni-bonn.de>)
10112: 0 beshort 0x601A Atari 68xxx executable,
10113: >2 belong x text len %lu,
10114: >6 belong x data len %lu,
10115: >10 belong x BSS len %lu,
10116: >14 belong x symboltab len %lu,
10117: >18 belong 0
10118: >22 belong &0x01 fastload flag,
10119: >22 belong &0x02 may be loaded to alternate RAM,
10120: >22 belong &0x04 malloc may be from alternate RAM,
10121: >22 belong x flags: 0x%lX,
10122: >26 beshort 0 no relocation tab
10123: >26 beshort !0 + relocation tab
10124: >30 string SFX [Self-Extracting LZH SFX archive]
10125: >38 string SFX [Self-Extracting LZH SFX archive]
10126: >44 string ZIP! [Self-Extracting ZIP SFX archive]
10127:
10128: 0 beshort 0x0064 Atari 68xxx CPX file
10129: >8 beshort x (version %04lx)
10130:
10131: #------------------------------------------------------------------------------
10132: # mozilla: file(1) magic for Mozilla XUL fastload files
10133: # (XUL.mfasl and XPC.mfasl)
10134: # URL: http://www.mozilla.org/
10135: # From: Josh Triplett <josh@freedesktop.org>
10136:
10137: 0 string XPCOM\nMozFASL\r\n\x1A Mozilla XUL fastload data
10138:
10139: #------------------------------------------------------------------------------
10140: # msdos: file(1) magic for MS-DOS files
10141: #
10142:
10143: # .BAT files (Daniel Quinlan, quinlan@yggdrasil.com)
10144: # updated by Joerg Jenderek
10145: 0 string @
10146: >1 string/cB \ echo\ off MS-DOS batch file text
10147: !:mime text/x-msdos-batch
10148: >1 string/cB echo\ off MS-DOS batch file text
10149: !:mime text/x-msdos-batch
10150: >1 string/cB rem\ MS-DOS batch file text
10151: !:mime text/x-msdos-batch
10152: >1 string/cB set\ MS-DOS batch file text
10153: !:mime text/x-msdos-batch
10154:
10155:
10156: # OS/2 batch files are REXX. the second regex is a bit generic, oh well
10157: # the matched commands seem to be common in REXX and uncommon elsewhere
10158: 100 search/0xffff rxfuncadd
10159: >100 regex/c =^[\ \t]{0,10}call[\ \t]{1,10}rxfunc OS/2 REXX batch file text
10160: 100 search/0xffff say
10161: >100 regex/c =^[\ \t]{0,10}say\ ['"] OS/2 REXX batch file text
10162:
10163: 0 leshort 0x14c MS Windows COFF Intel 80386 object file
10164: #>4 ledate x stamp %s
10165: 0 leshort 0x166 MS Windows COFF MIPS R4000 object file
10166: #>4 ledate x stamp %s
10167: 0 leshort 0x184 MS Windows COFF Alpha object file
10168: #>4 ledate x stamp %s
10169: 0 leshort 0x268 MS Windows COFF Motorola 68000 object file
10170: #>4 ledate x stamp %s
10171: 0 leshort 0x1f0 MS Windows COFF PowerPC object file
10172: #>4 ledate x stamp %s
10173: 0 leshort 0x290 MS Windows COFF PA-RISC object file
10174: #>4 ledate x stamp %s
10175:
10176: # XXX - according to Microsoft's spec, at an offset of 0x3c in a
10177: # PE-format executable is the offset in the file of the PE header;
10178: # unfortunately, that's a little-endian offset, and there's no way
10179: # to specify an indirect offset with a specified byte order.
10180: # So, for now, we assume the standard MS-DOS stub, which puts the
10181: # PE header at 0x80 = 128.
10182: #
10183: # Required OS version and subsystem version were 4.0 on some NT 3.51
10184: # executables built with Visual C++ 4.0, so it's not clear that
10185: # they're interesting. The user version was 0.0, but there's
10186: # probably some linker directive to set it. The linker version was
10187: # 3.0, except for one ".exe" which had it as 4.20 (same damn linker!).
10188: #
10189: # many of the compressed formats were extraced from IDARC 1.23 source code
10190: #
10191: 0 string MZ
10192: !:mime application/x-dosexec
10193: >0x18 leshort <0x40 MS-DOS executable
10194: >0 string MZ\0\0\0\0\0\0\0\0\0\0PE\0\0 \b, PE for MS Windows
10195: >>&18 leshort&0x2000 >0 (DLL)
10196: >>&88 leshort 0 (unknown subsystem)
10197: >>&88 leshort 1 (native)
10198: >>&88 leshort 2 (GUI)
10199: >>&88 leshort 3 (console)
10200: >>&88 leshort 7 (POSIX)
10201: >>&0 leshort 0x0 unknown processor
10202: >>&0 leshort 0x14c Intel 80386
10203: >>&0 leshort 0x166 MIPS R4000
10204: >>&0 leshort 0x184 Alpha
10205: >>&0 leshort 0x268 Motorola 68000
10206: >>&0 leshort 0x1f0 PowerPC
10207: >>&0 leshort 0x290 PA-RISC
10208: >>&18 leshort&0x0100 >0 32-bit
10209: >>&18 leshort&0x1000 >0 system file
10210: >>&228 lelong >0 \b, Mono/.Net assembly
10211: >>&0xf4 search/0x140 \x0\x40\x1\x0
10212: >>>(&0.l+(4)) string MSCF \b, WinHKI CAB self-extracting archive
10213: >30 string Copyright\ 1989-1990\ PKWARE\ Inc. Self-extracting PKZIP archive
10214: !:mime application/zip
10215: # Is next line correct? One might expect "Corp." not "Copr." If it is right, add a note to that effect.
10216: >30 string PKLITE\ Copr. Self-extracting PKZIP archive
10217: !:mime application/zip
10218:
10219: >0x18 leshort >0x3f
10220: >>(0x3c.l) string PE\0\0 PE
10221: >>>(0x3c.l+25) byte 1 \b32 executable
10222: >>>(0x3c.l+25) byte 2 \b32+ executable
10223: # hooray, there's a DOS extender using the PE format, with a valid PE
10224: # executable inside (which just prints a message and exits if run in win)
10225: >>>(0x3c.l+92) leshort <10
10226: >>>>(8.s*16) string 32STUB for MS-DOS, 32rtm DOS extender
10227: >>>>(8.s*16) string !32STUB for MS Windows
10228: >>>>>(0x3c.l+22) leshort&0x2000 >0 (DLL)
10229: >>>>>(0x3c.l+92) leshort 0 (unknown subsystem)
10230: >>>>>(0x3c.l+92) leshort 1 (native)
10231: >>>>>(0x3c.l+92) leshort 2 (GUI)
10232: >>>>>(0x3c.l+92) leshort 3 (console)
10233: >>>>>(0x3c.l+92) leshort 7 (POSIX)
10234: >>>(0x3c.l+92) leshort 10 (EFI application)
10235: >>>(0x3c.l+92) leshort 11 (EFI boot service driver)
10236: >>>(0x3c.l+92) leshort 12 (EFI runtime driver)
10237: >>>(0x3c.l+92) leshort 13 (XBOX)
10238: >>>(0x3c.l+4) leshort 0x0 unknown processor
10239: >>>(0x3c.l+4) leshort 0x14c Intel 80386
10240: >>>(0x3c.l+4) leshort 0x166 MIPS R4000
10241: >>>(0x3c.l+4) leshort 0x184 Alpha
10242: >>>(0x3c.l+4) leshort 0x268 Motorola 68000
10243: >>>(0x3c.l+4) leshort 0x1f0 PowerPC
10244: >>>(0x3c.l+4) leshort 0x290 PA-RISC
10245: >>>(0x3c.l+4) leshort 0x200 Intel Itanium
10246: >>>(0x3c.l+22) leshort&0x0100 >0 32-bit
10247: >>>(0x3c.l+22) leshort&0x1000 >0 system file
10248: >>>(0x3c.l+232) lelong >0 Mono/.Net assembly
10249:
10250: >>>>(0x3c.l+0xf8) string UPX0 \b, UPX compressed
10251: >>>>(0x3c.l+0xf8) search/0x140 PEC2 \b, PECompact2 compressed
10252: >>>>(0x3c.l+0xf8) search/0x140 UPX2
10253: >>>>>(&0x10.l+(-4)) string PK\3\4 \b, ZIP self-extracting archive (Info-Zip)
10254: >>>>(0x3c.l+0xf8) search/0x140 .idata
10255: >>>>>(&0xe.l+(-4)) string PK\3\4 \b, ZIP self-extracting archive (Info-Zip)
10256: >>>>>(&0xe.l+(-4)) string ZZ0 \b, ZZip self-extracting archive
10257: >>>>>(&0xe.l+(-4)) string ZZ1 \b, ZZip self-extracting archive
10258: >>>>(0x3c.l+0xf8) search/0x140 .rsrc
10259: >>>>>(&0x0f.l+(-4)) string a\\\4\5 \b, WinHKI self-extracting archive
10260: >>>>>(&0x0f.l+(-4)) string Rar! \b, RAR self-extracting archive
10261: >>>>>(&0x0f.l+(-4)) search/0x3000 MSCF \b, InstallShield self-extracting archive
10262: >>>>>(&0x0f.l+(-4)) search/32 Nullsoft \b, Nullsoft Installer self-extracting archive
10263: >>>>(0x3c.l+0xf8) search/0x140 .data
10264: >>>>>(&0x0f.l) string WEXTRACT \b, MS CAB-Installer self-extracting archive
10265: >>>>(0x3c.l+0xf8) search/0x140 .petite\0 \b, Petite compressed
10266: >>>>>(0x3c.l+0xf7) byte x
10267: >>>>>>(&0x104.l+(-4)) string =!sfx! \b, ACE self-extracting archive
10268: >>>>(0x3c.l+0xf8) search/0x140 .WISE \b, WISE installer self-extracting archive
10269: >>>>(0x3c.l+0xf8) search/0x140 .dz\0\0\0 \b, Dzip self-extracting archive
10270: >>>>(0x3c.l+0xf8) search/0x140 .reloc
10271: >>>>>(&0xe.l+(-4)) search/0x180 PK\3\4 \b, ZIP self-extracting archive (WinZip)
10272:
10273: >>>>&(0x3c.l+0xf8) search/0x100 _winzip_ \b, ZIP self-extracting archive (WinZip)
10274: >>>>&(0x3c.l+0xf8) search/0x100 SharedD \b, Microsoft Installer self-extracting archive
10275: >>>>0x30 string Inno \b, InnoSetup self-extracting archive
10276:
10277: >>(0x3c.l) string !PE\0\0 MS-DOS executable
10278:
10279: >>(0x3c.l) string NE \b, NE
10280: >>>(0x3c.l+0x36) byte 0 (unknown OS)
10281: >>>(0x3c.l+0x36) byte 1 for OS/2 1.x
10282: >>>(0x3c.l+0x36) byte 2 for MS Windows 3.x
10283: >>>(0x3c.l+0x36) byte 3 for MS-DOS
10284: >>>(0x3c.l+0x36) byte >3 (unknown OS)
10285: >>>(0x3c.l+0x36) byte 0x81 for MS-DOS, Phar Lap DOS extender
10286: >>>(0x3c.l+0x0c) leshort&0x8003 0x8002 (DLL)
10287: >>>(0x3c.l+0x0c) leshort&0x8003 0x8001 (driver)
10288: >>>&(&0x24.s-1) string ARJSFX \b, ARJ self-extracting archive
10289: >>>(0x3c.l+0x70) search/0x80 WinZip(R)\ Self-Extractor \b, ZIP self-extracting archive (WinZip)
10290:
10291: >>(0x3c.l) string LX\0\0 \b, LX
10292: >>>(0x3c.l+0x0a) leshort <1 (unknown OS)
10293: >>>(0x3c.l+0x0a) leshort 1 for OS/2
10294: >>>(0x3c.l+0x0a) leshort 2 for MS Windows
10295: >>>(0x3c.l+0x0a) leshort 3 for DOS
10296: >>>(0x3c.l+0x0a) leshort >3 (unknown OS)
10297: >>>(0x3c.l+0x10) lelong&0x28000 =0x8000 (DLL)
10298: >>>(0x3c.l+0x10) lelong&0x20000 >0 (device driver)
10299: >>>(0x3c.l+0x10) lelong&0x300 0x300 (GUI)
10300: >>>(0x3c.l+0x10) lelong&0x28300 <0x300 (console)
10301: >>>(0x3c.l+0x08) leshort 1 i80286
10302: >>>(0x3c.l+0x08) leshort 2 i80386
10303: >>>(0x3c.l+0x08) leshort 3 i80486
10304: >>>(8.s*16) string emx \b, emx
10305: >>>>&1 string x %s
10306: >>>&(&0x54.l-3) string arjsfx \b, ARJ self-extracting archive
10307:
10308: # MS Windows system file, supposedly a collection of LE executables
10309: >>(0x3c.l) string W3 \b, W3 for MS Windows
10310:
10311: >>(0x3c.l) string LE\0\0 \b, LE executable
10312: >>>(0x3c.l+0x0a) leshort 1
10313: # some DOS extenders use LE files with OS/2 header
10314: >>>>0x240 search/0x100 DOS/4G for MS-DOS, DOS4GW DOS extender
10315: >>>>0x240 search/0x200 WATCOM\ C/C++ for MS-DOS, DOS4GW DOS extender
10316: >>>>0x440 search/0x100 CauseWay\ DOS\ Extender for MS-DOS, CauseWay DOS extender
10317: >>>>0x40 search/0x40 PMODE/W for MS-DOS, PMODE/W DOS extender
10318: >>>>0x40 search/0x40 STUB/32A for MS-DOS, DOS/32A DOS extender (stub)
10319: >>>>0x40 search/0x80 STUB/32C for MS-DOS, DOS/32A DOS extender (configurable stub)
10320: >>>>0x40 search/0x80 DOS/32A for MS-DOS, DOS/32A DOS extender (embedded)
10321: # this is a wild guess; hopefully it is a specific signature
10322: >>>>&0x24 lelong <0x50
10323: >>>>>(&0x4c.l) string \xfc\xb8WATCOM
10324: >>>>>>&0 search/8 3\xdbf\xb9 \b, 32Lite compressed
10325: # another wild guess: if real OS/2 LE executables exist, they probably have higher start EIP
10326: #>>>>(0x3c.l+0x1c) lelong >0x10000 for OS/2
10327: # fails with DOS-Extenders.
10328: >>>(0x3c.l+0x0a) leshort 2 for MS Windows
10329: >>>(0x3c.l+0x0a) leshort 3 for DOS
10330: >>>(0x3c.l+0x0a) leshort 4 for MS Windows (VxD)
10331: >>>(&0x7c.l+0x26) string UPX \b, UPX compressed
10332: >>>&(&0x54.l-3) string UNACE \b, ACE self-extracting archive
10333:
10334: # looks like ASCII, probably some embedded copyright message.
10335: # and definitely not NE/LE/LX/PE
10336: >>0x3c lelong >0x20000000
10337: >>>(4.s*512) leshort !0x014c \b, MZ for MS-DOS
10338: # header data too small for extended executable
10339: >2 long !0
10340: >>0x18 leshort <0x40
10341: >>>(4.s*512) leshort !0x014c
10342:
10343: >>>>&(2.s-514) string !LE
10344: >>>>>&-2 string !BW \b, MZ for MS-DOS
10345: >>>>&(2.s-514) string LE \b, LE
10346: >>>>>0x240 search/0x100 DOS/4G for MS-DOS, DOS4GW DOS extender
10347: # educated guess since indirection is still not capable enough for complex offset
10348: # calculations (next embedded executable would be at &(&2*512+&0-2)
10349: # I suspect there are only LE executables in these multi-exe files
10350: >>>>&(2.s-514) string BW
10351: >>>>>0x240 search/0x100 DOS/4G ,\b LE for MS-DOS, DOS4GW DOS extender (embedded)
10352: >>>>>0x240 search/0x100 !DOS/4G ,\b BW collection for MS-DOS
10353:
10354: # This sequence skips to the first COFF segment, usually .text
10355: >(4.s*512) leshort 0x014c \b, COFF
10356: >>(8.s*16) string go32stub for MS-DOS, DJGPP go32 DOS extender
10357: >>(8.s*16) string emx
10358: >>>&1 string x for DOS, Win or OS/2, emx %s
10359: >>&(&0x42.l-3) byte x
10360: >>>&0x26 string UPX \b, UPX compressed
10361: # and yet another guess: small .text, and after large .data is unusal, could be 32lite
10362: >>&0x2c search/0xa0 .text
10363: >>>&0x0b lelong <0x2000
10364: >>>>&0 lelong >0x6000 \b, 32lite compressed
10365:
10366: >(8.s*16) string $WdX \b, WDos/X DOS extender
10367:
10368: # .EXE formats (Greg Roelofs, newt@uchicago.edu)
10369: #
10370: >0x35 string \x8e\xc0\xb9\x08\x00\xf3\xa5\x4a\x75\xeb\x8e\xc3\x8e\xd8\x33\xff\xbe\x30\x00\x05 \b, aPack compressed
10371: >0xe7 string LH/2\ Self-Extract \b, %s
10372: >0x1c string diet \b, diet compressed
10373: >0x1c string LZ09 \b, LZEXE v0.90 compressed
10374: >0x1c string LZ91 \b, LZEXE v0.91 compressed
10375: >0x1c string tz \b, TinyProg compressed
10376: >0x1e string PKLITE \b, %s compressed
10377: >0x64 string W\ Collis\0\0 \b, Compack compressed
10378: >0x24 string LHa's\ SFX \b, LHa self-extracting archive
10379: !:mime application/x-lha
10380: >0x24 string LHA's\ SFX \b, LHa self-extracting archive
10381: !:mime application/x-lha
10382: >0x24 string \ $ARX \b, ARX self-extracting archive
10383: >0x24 string \ $LHarc \b, LHarc self-extracting archive
10384: >0x20 string SFX\ by\ LARC \b, LARC self-extracting archive
10385: >1638 string -lh5- \b, LHa self-extracting archive v2.13S
10386: >0x17888 string Rar! \b, RAR self-extracting archive
10387: >0x40 string aPKG \b, aPackage self-extracting archive
10388:
10389: >32 string AIN
10390: >>35 string 2 \b, AIN 2.x compressed
10391: >>35 string <2 \b, AIN 1.x compressed
10392: >>35 string >2 \b, AIN 1.x compressed
10393: >28 string UC2X \b, UCEXE compressed
10394: >28 string WWP\ \b, WWPACK compressed
10395:
10396: # skip to the end of the exe
10397: >(4.s*512) long x
10398: >>&(2.s-517) byte x
10399: >>>&0 string PK\3\4 \b, ZIP self-extracting archive
10400: >>>&0 string Rar! \b, RAR self-extracting archive
10401: >>>&0 string =!\x11 \b, AIN 2.x self-extracting archive
10402: >>>&0 string =!\x12 \b, AIN 2.x self-extracting archive
10403: >>>&0 string =!\x17 \b, AIN 1.x self-extracting archive
10404: >>>&0 string =!\x18 \b, AIN 1.x self-extracting archive
10405: >>>&7 search/400 **ACE** \b, ACE self-extracting archive
10406: >>>&0 search/0x480 UC2SFX\ Header \b, UC2 self-extracting archive
10407:
10408: >0x1c string RJSX \b, ARJ self-extracting archive
10409: # winarj stores a message in the stub instead of the sig in the MZ header
10410: >0x20 search/0xe0 aRJsfX \b, ARJ self-extracting archive
10411:
10412: # a few unknown ZIP sfxes, no idea if they are needed or if they are
10413: # already captured by the generic patterns above
10414: >0x7a string Windows\ self-extracting\ ZIP \b, ZIP self-extracting archive
10415: >(8.s*16) search/0x20 PKSFX \b, ZIP self-extracting archive (PKZIP)
10416: # TODO: how to add this? >FileSize-34 string Windows\ Self-Installing\ Executable \b, ZIP self-extracting archive
10417: #
10418:
10419: # TELVOX Teleinformatica CODEC self-extractor for OS/2:
10420: >49801 string \x79\xff\x80\xff\x76\xff \b, CODEC archive v3.21
10421: >>49824 leshort =1 \b, 1 file
10422: >>49824 leshort >1 \b, %u files
10423:
10424: # .COM formats (Daniel Quinlan, quinlan@yggdrasil.com)
10425: # Uncommenting only the first two lines will cover about 2/3 of COM files,
10426: # but it isn't feasible to match all COM files since there must be at least
10427: # two dozen different one-byte "magics".
10428: #0 byte 0xe9 DOS executable (COM)
10429: #>0x1FE leshort 0xAA55 \b, boot code
10430: >6 string SFX\ of\ LHarc (%s)
10431: 0 belong 0xffffffff DOS executable (device driver)
10432: #CMD640X2.SYS
10433: >10 string >\x23
10434: >>10 string !\x2e
10435: >>>17 string <\x5B
10436: >>>>10 string x \b, name: %.8s
10437: #UDMA.SYS KEYB.SYS CMD640X2.SYS
10438: >10 string <\x41
10439: >>12 string >\x40
10440: >>>10 string !$
10441: >>>>12 string x \b, name: %.8s
10442: #BTCDROM.SYS ASPICD.SYS
10443: >22 string >\x40
10444: >>22 string <\x5B
10445: >>>23 string <\x5B
10446: >>>>22 string x \b, name: %.8s
10447: #ATAPICD.SYS
10448: >76 string \0
10449: >>77 string >\x40
10450: >>>77 string <\x5B
10451: >>>>77 string x \b, name: %.8s
10452: #0 byte 0x8c DOS executable (COM)
10453: # 0xeb conflicts with "sequent" magic
10454: #0 byte 0xeb DOS executable (COM)
10455: #>0x1FE leshort 0xAA55 \b, boot code
10456: #>85 string UPX \b, UPX compressed
10457: #>4 string \ $ARX \b, ARX self-extracting archive
10458: #>4 string \ $LHarc \b, LHarc self-extracting archive
10459: #>0x20e string SFX\ by\ LARC \b, LARC self-extracting archive
10460: #0 byte 0xb8 COM executable
10461: # modified by Joerg Jenderek
10462: >1 lelong !0x21cd4cff for DOS
10463: # http://syslinux.zytor.com/comboot.php
10464: # (32-bit COMBOOT) programs *.C32 contain 32-bit code and run in flat-memory 32-bit protected mode
10465: # start with assembler instructions mov eax,21cd4cffh
10466: >1 lelong 0x21cd4cff (32-bit COMBOOT)
10467: 0 string \x81\xfc
10468: >4 string \x77\x02\xcd\x20\xb9
10469: >>36 string UPX! FREE-DOS executable (COM), UPX compressed
10470: 252 string Must\ have\ DOS\ version DR-DOS executable (COM)
10471: # GRR search is not working
10472: #2 search/28 \xcd\x21 COM executable for MS-DOS
10473: #WHICHFAT.cOM
10474: 2 string \xcd\x21 COM executable for DOS
10475: #DELTREE.cOM DELTREE2.cOM
10476: 4 string \xcd\x21 COM executable for DOS
10477: #IFMEMDSK.cOM ASSIGN.cOM COMP.cOM
10478: 5 string \xcd\x21 COM executable for DOS
10479: #DELTMP.COm HASFAT32.cOM
10480: 7 string \xcd\x21
10481: >0 byte !0xb8 COM executable for DOS
10482: #COMP.cOM MORE.COm
10483: 10 string \xcd\x21
10484: >5 string !\xcd\x21 COM executable for DOS
10485: #comecho.com
10486: 13 string \xcd\x21 COM executable for DOS
10487: #HELP.COm EDIT.coM
10488: 18 string \xcd\x21 COM executable for MS-DOS
10489: #NWRPLTRM.COm
10490: 23 string \xcd\x21 COM executable for MS-DOS
10491: #LOADFIX.cOm LOADFIX.cOm
10492: 30 string \xcd\x21 COM executable for MS-DOS
10493: #syslinux.com 3.11
10494: 70 string \xcd\x21 COM executable for DOS
10495: # many compressed/converted COMs start with a copy loop instead of a jump
10496: 0x6 search/0xa \xfc\x57\xf3\xa5\xc3 COM executable for MS-DOS
10497: 0x6 search/0xa \xfc\x57\xf3\xa4\xc3 COM executable for DOS
10498: >0x18 search/0x10 \x50\xa4\xff\xd5\x73 \b, aPack compressed
10499: 0x3c string W\ Collis\0\0 COM executable for MS-DOS, Compack compressed
10500: # FIXME: missing diet .com compression
10501:
10502: # miscellaneous formats
10503: 0 string LZ MS-DOS executable (built-in)
10504: #0 byte 0xf0 MS-DOS program library data
10505: #
10506:
10507: # AAF files:
10508: # <stuartc@rd.bbc.co.uk> Stuart Cunningham
10509: 0 string \320\317\021\340\241\261\032\341AAFB\015\000OM\006\016\053\064\001\001\001\377 AAF legacy file using MS Structured Storage
10510: >30 byte 9 (512B sectors)
10511: >30 byte 12 (4kB sectors)
10512: 0 string \320\317\021\340\241\261\032\341\001\002\001\015\000\002\000\000\006\016\053\064\003\002\001\001 AAF file using MS Structured Storage
10513: >30 byte 9 (512B sectors)
10514: >30 byte 12 (4kB sectors)
10515:
10516: # Popular applications
10517: 2080 string Microsoft\ Word\ 6.0\ Document %s
10518: !:mime application/msword
10519: 2080 string Documento\ Microsoft\ Word\ 6 Spanish Microsoft Word 6 document data
10520: !:mime application/msword
10521: # Pawel Wiecek <coven@i17linuxb.ists.pwr.wroc.pl> (for polish Word)
10522: 2112 string MSWordDoc Microsoft Word document data
10523: !:mime application/msword
10524: #
10525: 0 belong 0x31be0000 Microsoft Word Document
10526: !:mime application/msword
10527: #
10528: 0 string PO^Q` Microsoft Word 6.0 Document
10529: !:mime application/msword
10530: #
10531: 0 string \376\067\0\043 Microsoft Office Document
10532: !:mime application/msword
10533: 0 string \333\245-\0\0\0 Microsoft Office Document
10534: !:mime application/msword
10535: 512 string \354\245\301 Microsoft Word Document
10536: !:mime application/msword
10537: #
10538: 2080 string Microsoft\ Excel\ 5.0\ Worksheet %s
10539: !:mime application/vnd.ms-excel
10540:
10541: 2080 string Foglio\ di\ lavoro\ Microsoft\ Exce %s
10542: !:mime application/vnd.ms-excel
10543: #
10544: # Pawel Wiecek <coven@i17linuxb.ists.pwr.wroc.pl> (for polish Excel)
10545: 2114 string Biff5 Microsoft Excel 5.0 Worksheet
10546: !:mime application/vnd.ms-excel
10547: # Italian MS-Excel
10548: 2121 string Biff5 Microsoft Excel 5.0 Worksheet
10549: !:mime application/vnd.ms-excel
10550: 0 string \x09\x04\x06\x00\x00\x00\x10\x00 Microsoft Excel Worksheet
10551: !:mime application/vnd.ms-excel
10552: #
10553: 0 belong 0x00001a00 Lotus 1-2-3
10554: !:mime application/x-123
10555: >4 belong 0x00100400 wk3 document data
10556: >4 belong 0x02100400 wk4 document data
10557: >4 belong 0x07800100 fm3 or fmb document data
10558: >4 belong 0x07800000 fm3 or fmb document data
10559: #
10560: 0 belong 0x00000200 Lotus 1-2-3
10561: !:mime application/x-123
10562: >4 belong 0x06040600 wk1 document data
10563: >4 belong 0x06800200 fmt document data
10564: 0 string WordPro\0 Lotus WordPro
10565: !:mime application/vnd.lotus-wordpro
10566: 0 string WordPro\r\373 Lotus WordPro
10567: !:mime application/vnd.lotus-wordpro
10568:
10569:
10570: # Summary: Script used by InstallScield to uninstall applications
10571: # Extension: .isu
10572: # Submitted by: unknown
10573: # Modified by (1): Abel Cheung <abelcheung@gmail.com> (replace useless entry)
10574: 0 string \x71\xa8\x00\x00\x01\x02
10575: >12 string Stirling\ Technologies, InstallShield Uninstall Script
10576:
10577: # Winamp .avs
10578: #0 string Nullsoft\ AVS\ Preset\ \060\056\061\032 A plug in for Winamp ms-windows Freeware media player
10579: 0 string Nullsoft\ AVS\ Preset\ Winamp plug in
10580:
10581: # Windows Metafont .WMF
10582: 0 string \327\315\306\232 ms-windows metafont .wmf
10583: 0 string \002\000\011\000 ms-windows metafont .wmf
10584: 0 string \001\000\011\000 ms-windows metafont .wmf
10585:
10586: #tz3 files whatever that is (MS Works files)
10587: 0 string \003\001\001\004\070\001\000\000 tz3 ms-works file
10588: 0 string \003\002\001\004\070\001\000\000 tz3 ms-works file
10589: 0 string \003\003\001\004\070\001\000\000 tz3 ms-works file
10590:
10591: # PGP sig files .sig
10592: #0 string \211\000\077\003\005\000\063\237\127 065 to \027\266\151\064\005\045\101\233\021\002 PGP sig
10593: 0 string \211\000\077\003\005\000\063\237\127\065\027\266\151\064\005\045\101\233\021\002 PGP sig
10594: 0 string \211\000\077\003\005\000\063\237\127\066\027\266\151\064\005\045\101\233\021\002 PGP sig
10595: 0 string \211\000\077\003\005\000\063\237\127\067\027\266\151\064\005\045\101\233\021\002 PGP sig
10596: 0 string \211\000\077\003\005\000\063\237\127\070\027\266\151\064\005\045\101\233\021\002 PGP sig
10597: 0 string \211\000\077\003\005\000\063\237\127\071\027\266\151\064\005\045\101\233\021\002 PGP sig
10598: 0 string \211\000\225\003\005\000\062\122\207\304\100\345\042 PGP sig
10599:
10600: # windows zips files .dmf
10601: 0 string MDIF\032\000\010\000\000\000\372\046\100\175\001\000\001\036\001\000 MS Windows special zipped file
10602:
10603:
10604: #ico files
10605: 0 string \102\101\050\000\000\000\056\000\000\000\000\000\000\000 Icon for MS Windows
10606:
10607: # Windows icons (Ian Springer <ips@fpk.hp.com>)
10608: 0 string \000\000\001\000 MS Windows icon resource
10609: !:mime image/x-ico
10610: >4 byte 1 - 1 icon
10611: >4 byte >1 - %d icons
10612: >>6 byte >0 \b, %dx
10613: >>>7 byte >0 \b%d
10614: >>8 byte 0 \b, 256-colors
10615: >>8 byte >0 \b, %d-colors
10616:
10617:
10618: # .chr files
10619: 0 string PK\010\010BGI Borland font
10620: >4 string >\0 %s
10621: # then there is a copyright notice
10622:
10623:
10624: # .bgi files
10625: 0 string pk\010\010BGI Borland device
10626: >4 string >\0 %s
10627: # then there is a copyright notice
10628:
10629:
10630: # Windows Recycle Bin record file (named INFO2)
10631: # By Abel Cheung (abelcheung AT gmail dot com)
10632: # Version 4 always has 280 bytes (0x118) per record, version 5 has 800 bytes
10633: # Since Vista uses another structure, INFO2 structure probably won't change
10634: # anymore. Detailed analysis in:
10635: # http://www.cybersecurityinstitute.biz/downloads/INFO2.pdf
10636: 0 lelong 0x00000004
10637: >12 lelong 0x00000118 Windows Recycle Bin INFO2 file (Win98 or below)
10638:
10639: 0 lelong 0x00000005
10640: >12 lelong 0x00000320 Windows Recycle Bin INFO2 file (Win2k - WinXP)
10641:
10642:
10643: ##### put in Either Magic/font or Magic/news
10644: # Acroread or something files wrongly identified as G3 .pfm
10645: # these have the form \000 \001 any? \002 \000 \000
10646: # or \000 \001 any? \022 \000 \000
10647: 0 belong&0xffff00ff 0x00010012 PFM data
10648: >4 string \000\000
10649: >6 string >\060 - %s
10650:
10651: 0 belong&0xffff00ff 0x00010002 PFM data
10652: >4 string \000\000
10653: >6 string >\060 - %s
10654: #0 string \000\001 pfm?
10655: #>3 string \022\000\000Copyright\ yes
10656: #>3 string \002\000\000Copyright\ yes
10657: #>3 string >\0 oops, not a font file. Cancel that.
10658: #it clashes with ttf files so put it lower down.
10659:
10660: # From Doug Lee via a FreeBSD pr
10661: 9 string GERBILDOC First Choice document
10662: 9 string GERBILDB First Choice database
10663: 9 string GERBILCLIP First Choice database
10664: 0 string GERBIL First Choice device file
10665: 9 string RABBITGRAPH RabbitGraph file
10666: 0 string DCU1 Borland Delphi .DCU file
10667: 0 string =!<spell> MKS Spell hash list (old format)
10668: 0 string =!<spell2> MKS Spell hash list
10669: # Too simple - MPi
10670: #0 string AH Halo(TM) bitmapped font file
10671: 0 lelong 0x08086b70 TurboC BGI file
10672: 0 lelong 0x08084b50 TurboC Font file
10673:
10674: # WARNING: below line conflicts with Infocom game data Z-machine 3
10675: 0 byte 0x03 DBase 3 data file
10676: >0x04 lelong 0 (no records)
10677: >0x04 lelong >0 (%ld records)
10678: 0 byte 0x83 DBase 3 data file with memo(s)
10679: >0x04 lelong 0 (no records)
10680: >0x04 lelong >0 (%ld records)
10681: 0 leshort 0x0006 DBase 3 index file
10682: 0 string PMCC Windows 3.x .GRP file
10683: 1 string RDC-meg MegaDots
10684: >8 byte >0x2F version %c
10685: >9 byte >0x2F \b.%c file
10686: 0 lelong 0x4C
10687: >4 lelong 0x00021401 Windows shortcut file
10688:
10689: # DOS EPS Binary File Header
10690: # From: Ed Sznyter <ews@Black.Market.NET>
10691: 0 belong 0xC5D0D3C6 DOS EPS Binary File
10692: >4 long >0 Postscript starts at byte %d
10693: >>8 long >0 length %d
10694: >>>12 long >0 Metafile starts at byte %d
10695: >>>>16 long >0 length %d
10696: >>>20 long >0 TIFF starts at byte %d
10697: >>>>24 long >0 length %d
10698:
10699: # TNEF magic From "Joomy" <joomy@se-ed.net>
10700: # Microsoft Outlook's Transport Neutral Encapsulation Format (TNEF)
10701: 0 leshort 0x223e9f78 TNEF
10702: !:mime application/vnd.ms-tnef
10703:
10704: # HtmlHelp files (.chm)
10705: 0 string ITSF\003\000\000\000\x60\000\000\000\001\000\000\000 MS Windows HtmlHelp Data
10706:
10707: # GFA-BASIC (Wolfram Kleff)
10708: 2 string GFA-BASIC3 GFA-BASIC 3 data
10709:
10710: #------------------------------------------------------------------------------
10711: # From Stuart Caie <kyzer@4u.net> (developer of cabextract)
10712: # Microsoft Cabinet files
10713: 0 string MSCF\0\0\0\0 Microsoft Cabinet archive data
10714: >8 lelong x \b, %u bytes
10715: >28 leshort 1 \b, 1 file
10716: >28 leshort >1 \b, %u files
10717:
10718: # InstallShield Cabinet files
10719: 0 string ISc( InstallShield Cabinet archive data
10720: >5 byte&0xf0 =0x60 version 6,
10721: >5 byte&0xf0 !0x60 version 4/5,
10722: >(12.l+40) lelong x %u files
10723:
10724: # Windows CE package files
10725: 0 string MSCE\0\0\0\0 Microsoft WinCE install header
10726: >20 lelong 0 \b, architecture-independent
10727: >20 lelong 103 \b, Hitachi SH3
10728: >20 lelong 104 \b, Hitachi SH4
10729: >20 lelong 0xA11 \b, StrongARM
10730: >20 lelong 4000 \b, MIPS R4000
10731: >20 lelong 10003 \b, Hitachi SH3
10732: >20 lelong 10004 \b, Hitachi SH3E
10733: >20 lelong 10005 \b, Hitachi SH4
10734: >20 lelong 70001 \b, ARM 7TDMI
10735: >52 leshort 1 \b, 1 file
10736: >52 leshort >1 \b, %u files
10737: >56 leshort 1 \b, 1 registry entry
10738: >56 leshort >1 \b, %u registry entries
10739:
10740:
10741: # Windows Enhanced Metafile (EMF)
10742: # See msdn.microsoft.com/archive/en-us/dnargdi/html/msdn_enhmeta.asp
10743: # for further information.
10744: 0 ulelong 1
10745: >40 string \ EMF Windows Enhanced Metafile (EMF) image data
10746: >>44 ulelong x version 0x%x
10747:
10748: # From: Alex Beregszaszi <alex@fsn.hu>
10749: 0 string COWD VMWare3
10750: >4 byte 3 disk image
10751: >>32 lelong x (%d/
10752: >>36 lelong x \b%d/
10753: >>40 lelong x \b%d)
10754: >4 byte 2 undoable disk image
10755: >>32 string >\0 (%s)
10756:
10757: 0 string VMDK VMware4 disk image
10758: 0 string KDMV VMware4 disk image
10759:
10760: #--------------------------------------------------------------------
10761: # Qemu Emulator Images
10762: # Lines written by Friedrich Schwittay (f.schwittay@yousable.de)
10763: # Made by reading sources and doing trial and error on existing
10764: # qcow files
10765: 0 string QFI Qemu Image, Format: Qcow
10766:
10767: # Uncomment the following line to display Magic (only used for debugging
10768: # this magic number)
10769: #>0 string x , Magic: %s
10770:
10771: # There are currently 2 Versions: "1" and "2"
10772: # I do not use Version 2 and therefor branch here
10773: # but can assure: it works (tested on both versions)
10774: # Also my Qemu 0.9.0 which uses this Version 2 refuses
10775: # to start in its bios
10776: >0x04 belong 2 , Version: 2
10777: >0x04 belong 1 , Version: 1
10778:
10779: # Using the existence of the Backing File Offset to Branch or not
10780: # to read Backing File Information
10781: >>0xc belong >0 , Backing File( Offset: %lu
10782: >>>(0xc.L) string >\0 , Path: %s
10783:
10784: # Didn't get the trick here how qemu stores the "Size" at this Position
10785: # There is actually something stored but nothing makes sense
10786: # The header in the sources talks about it
10787: #>>>16 lelong x , Size: %lu
10788:
10789: # Modification time of the Backing File
10790: # Really useful if you want to know if your backing
10791: # file is still usable together with this image
10792: >>>20 bedate x , Mtime: %s )
10793:
10794: # Don't know how to calculate in Magicfiles
10795: # Also: this Information is not reliably
10796: # stored in image-files
10797: >>24 lelong x , Disk Size could be: %d * 256 bytes
10798:
10799: 0 string QEVM QEMU's suspend to disk image
10800:
10801: 0 string Bochs\ Virtual\ HD\ Image Bochs disk image,
10802: >32 string x type %s,
10803: >48 string x subtype %s
10804:
10805: 0 lelong 0x02468ace Bochs Sparse disk image
10806:
10807: # from http://filext.com by Derek M Jones <derek@knosof.co.uk>
10808: # False positive with PPT (also currently this string is too long)
10809: #0 string \xD0\xCF\x11\xE0\xA1\xB1\x1A\xE1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3E\x00\x03\x00\xFE\xFF\x09\x00\x06 Microsoft Installer
10810: 0 string \320\317\021\340\241\261\032\341 Microsoft Office Document
10811: #>48 byte 0x1B Excel Document
10812: #!:mime application/vnd.ms-excel
10813: >546 string bjbj Microsoft Word Document
10814: !:mime application/msword
10815: >546 string jbjb Microsoft Word Document
10816: !:mime application/msword
10817:
10818: 0 string \224\246\056 Microsoft Word Document
10819: !:mime application/msword
10820:
10821: 512 string R\0o\0o\0t\0\ \0E\0n\0t\0r\0y Microsoft Word Document
10822: !:mime application/msword
10823:
10824: # From: "Nelson A. de Oliveira" <naoliv@gmail.com>
10825: # Magic type for Dell's BIOS .hdr files
10826: # Dell's .hdr
10827: 0 string $RBU
10828: >23 string Dell %s system BIOS
10829: >48 string x version %.3s
10830:
10831: # Type: Microsoft DirectDraw Surface
10832: # URL: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/directx9_c/directx/graphics/reference/DDSFileReference/ddsfileformat.asp
10833: # From: Morten Hustveit <morten@debian.org>
10834: 0 string DDS\040\174\000\000\000 Microsoft DirectDraw Surface (DDS),
10835: >16 lelong >0 %hd x
10836: >12 lelong >0 %hd,
10837: >84 string x %.4s
10838:
10839: # Type: Microsoft Document Imaging Format (.mdi)
10840: # URL: http://en.wikipedia.org/wiki/Microsoft_Document_Imaging_Format
10841: # From: Daniele Sempione <scrows@oziosi.org>
10842: 0 short 0x5045 Microsoft Document Imaging Format
10843:
10844: # MS eBook format (.lit)
10845: 0 string ITOLITLS Microsoft Reader eBook Data
10846: >8 lelong x \b, version %u
10847: !:mime application/x-ms-reader
10848:
10849: #------------------------------------------------------------------------------
10850: # msvc: file(1) magic for msvc
10851: # "H. Nanosecond" <aldomel@ix.netcom.com>
10852: # Microsoft visual C
10853: #
10854: # I have version 1.0
10855:
10856: # .aps
10857: 0 string HWB\000\377\001\000\000\000 Microsoft Visual C .APS file
10858:
10859: # .ide
10860: #too long 0 string \102\157\162\154\141\156\144\040\103\053\053\040\120\162\157\152\145\143\164\040\106\151\154\145\012\000\032\000\002\000\262\000\272\276\372\316 MSVC .ide
10861: 0 string \102\157\162\154\141\156\144\040\103\053\053\040\120\162\157 MSVC .ide
10862:
10863: # .res
10864: 0 string \000\000\000\000\040\000\000\000\377 MSVC .res
10865: 0 string \377\003\000\377\001\000\020\020\350 MSVC .res
10866: 0 string \377\003\000\377\001\000\060\020\350 MSVC .res
10867:
10868: #.lib
10869: 0 string \360\015\000\000 Microsoft Visual C library
10870: 0 string \360\075\000\000 Microsoft Visual C library
10871: 0 string \360\175\000\000 Microsoft Visual C library
10872:
10873: #.pch
10874: 0 string DTJPCH0\000\022\103\006\200 Microsoft Visual C .pch
10875:
10876: # .pdb
10877: # too long 0 string Microsoft\ C/C++\ program\ database\
10878: 0 string Microsoft\ C/C++\ MSVC program database
10879: >18 string program\ database\
10880: >33 string >\0 ver %s
10881:
10882: #.sbr
10883: 0 string \000\002\000\007\000 MSVC .sbr
10884: >5 string >\0 %s
10885:
10886: #.bsc
10887: 0 string \002\000\002\001 MSVC .bsc
10888:
10889: #.wsp
10890: 0 string 1.00\ .0000.0000\000\003 MSVC .wsp version 1.0000.0000
10891: # these seem to start with the version and contain menus
10892: # ------------------------------------------------------------------------
10893: # mup: file(1) magic for Mup (Music Publisher) input file.
10894: #
10895: # From: Abel Cheung <abel (@) oaka.org>
10896: #
10897: # NOTE: This header is mainly proposed in the Arkkra mailing list,
10898: # and is not a mandatory header because of old mup input file
10899: # compatibility. Noteedit also use mup format, but is not forcing
10900: # user to use any header as well.
10901: #
10902: 0 search/1 //!Mup Mup music publication program input text
10903: >6 string -Arkkra (Arkkra)
10904: >>13 string -
10905: >>>16 string .
10906: >>>>14 string x \b, need V%.4s
10907: >>>15 string .
10908: >>>>14 string x \b, need V%.3s
10909: >6 string -
10910: >>9 string .
10911: >>>7 string x \b, need V%.4s
10912: >>8 string .
10913: >>>7 string x \b, need V%.3s
10914:
10915: #-----------------------------------------------------------------------------
10916: # natinst: file(1) magic for National Instruments Code Files
10917:
10918: #
10919: # From <egamez@fcfm.buap.mx> Enrique Gámez-Flores
10920: # version 1
10921: # Many formats still missing, we use, for the moment LabVIEW
10922: # We guess VXI format file. VISA, LabWindowsCVI, BridgeVIEW, etc, are missing
10923: #
10924: 0 string RSRC National Instruments,
10925: # Check if it's a LabVIEW File
10926: >8 string LV LabVIEW File,
10927: # Check wich kind of file is
10928: >>10 string SB Code Resource File, data
10929: >>10 string IN Virtual Instrument Program, data
10930: >>10 string AR VI Library, data
10931: # This is for Menu Libraries
10932: >8 string LMNULBVW Portable File Names, data
10933: # This is for General Resources
10934: >8 string rsc Resources File, data
10935: # This is for VXI Package
10936: 0 string VMAP National Instruments, VXI File, data
10937:
10938: #------------------------------------------------------------------------------
10939: # ncr: file(1) magic for NCR Tower objects
10940: #
10941: # contributed by
10942: # Michael R. Wayne *** TMC & Associates *** INTERNET: wayne@ford-vax.arpa
10943: # uucp: {philabs | pyramid} !fmsrl7!wayne OR wayne@fmsrl7.UUCP
10944: #
10945: 0 beshort 000610 Tower/XP rel 2 object
10946: >12 belong >0 not stripped
10947: >20 beshort 0407 executable
10948: >20 beshort 0410 pure executable
10949: >22 beshort >0 - version %ld
10950: 0 beshort 000615 Tower/XP rel 2 object
10951: >12 belong >0 not stripped
10952: >20 beshort 0407 executable
10953: >20 beshort 0410 pure executable
10954: >22 beshort >0 - version %ld
10955: 0 beshort 000620 Tower/XP rel 3 object
10956: >12 belong >0 not stripped
10957: >20 beshort 0407 executable
10958: >20 beshort 0410 pure executable
10959: >22 beshort >0 - version %ld
10960: 0 beshort 000625 Tower/XP rel 3 object
10961: >12 belong >0 not stripped
10962: >20 beshort 0407 executable
10963: >20 beshort 0410 pure executable
10964: >22 beshort >0 - version %ld
10965: 0 beshort 000630 Tower32/600/400 68020 object
10966: >12 belong >0 not stripped
10967: >20 beshort 0407 executable
10968: >20 beshort 0410 pure executable
10969: >22 beshort >0 - version %ld
10970: 0 beshort 000640 Tower32/800 68020
10971: >18 beshort &020000 w/68881 object
10972: >18 beshort &040000 compatible object
10973: >18 beshort &060000 object
10974: >20 beshort 0407 executable
10975: >20 beshort 0413 pure executable
10976: >12 belong >0 not stripped
10977: >22 beshort >0 - version %ld
10978: 0 beshort 000645 Tower32/800 68010
10979: >18 beshort &040000 compatible object
10980: >18 beshort &060000 object
10981: >20 beshort 0407 executable
10982: >20 beshort 0413 pure executable
10983: >12 belong >0 not stripped
10984: >22 beshort >0 - version %ld
10985:
10986: #------------------------------------------------------------------------------
10987: # netbsd: file(1) magic for NetBSD objects
10988: #
10989: # All new-style magic numbers are in network byte order.
10990: #
10991:
10992: 0 lelong 000000407 a.out NetBSD little-endian object file
10993: >16 lelong >0 not stripped
10994: 0 belong 000000407 a.out NetBSD big-endian object file
10995: >16 belong >0 not stripped
10996:
10997: 0 belong&0377777777 041400413 a.out NetBSD/i386 demand paged
10998: >0 byte &0x80
10999: >>20 lelong <4096 shared library
11000: >>20 lelong =4096 dynamically linked executable
11001: >>20 lelong >4096 dynamically linked executable
11002: >0 byte ^0x80 executable
11003: >16 lelong >0 not stripped
11004: 0 belong&0377777777 041400410 a.out NetBSD/i386 pure
11005: >0 byte &0x80 dynamically linked executable
11006: >0 byte ^0x80 executable
11007: >16 lelong >0 not stripped
11008: 0 belong&0377777777 041400407 a.out NetBSD/i386
11009: >0 byte &0x80 dynamically linked executable
11010: >0 byte ^0x80
11011: >>0 byte &0x40 position independent
11012: >>20 lelong !0 executable
11013: >>20 lelong =0 object file
11014: >16 lelong >0 not stripped
11015: 0 belong&0377777777 041400507 a.out NetBSD/i386 core
11016: >12 string >\0 from '%s'
11017: >32 lelong !0 (signal %d)
11018:
11019: 0 belong&0377777777 041600413 a.out NetBSD/m68k demand paged
11020: >0 byte &0x80
11021: >>20 belong <8192 shared library
11022: >>20 belong =8192 dynamically linked executable
11023: >>20 belong >8192 dynamically linked executable
11024: >0 byte ^0x80 executable
11025: >16 belong >0 not stripped
11026: 0 belong&0377777777 041600410 a.out NetBSD/m68k pure
11027: >0 byte &0x80 dynamically linked executable
11028: >0 byte ^0x80 executable
11029: >16 belong >0 not stripped
11030: 0 belong&0377777777 041600407 a.out NetBSD/m68k
11031: >0 byte &0x80 dynamically linked executable
11032: >0 byte ^0x80
11033: >>0 byte &0x40 position independent
11034: >>20 belong !0 executable
11035: >>20 belong =0 object file
11036: >16 belong >0 not stripped
11037: 0 belong&0377777777 041600507 a.out NetBSD/m68k core
11038: >12 string >\0 from '%s'
11039: >32 belong !0 (signal %d)
11040:
11041: 0 belong&0377777777 042000413 a.out NetBSD/m68k4k demand paged
11042: >0 byte &0x80
11043: >>20 belong <4096 shared library
11044: >>20 belong =4096 dynamically linked executable
11045: >>20 belong >4096 dynamically linked executable
11046: >0 byte ^0x80 executable
11047: >16 belong >0 not stripped
11048: 0 belong&0377777777 042000410 a.out NetBSD/m68k4k pure
11049: >0 byte &0x80 dynamically linked executable
11050: >0 byte ^0x80 executable
11051: >16 belong >0 not stripped
11052: 0 belong&0377777777 042000407 a.out NetBSD/m68k4k
11053: >0 byte &0x80 dynamically linked executable
11054: >0 byte ^0x80
11055: >>0 byte &0x40 position independent
11056: >>20 belong !0 executable
11057: >>20 belong =0 object file
11058: >16 belong >0 not stripped
11059: 0 belong&0377777777 042000507 a.out NetBSD/m68k4k core
11060: >12 string >\0 from '%s'
11061: >32 belong !0 (signal %d)
11062:
11063: 0 belong&0377777777 042200413 a.out NetBSD/ns32532 demand paged
11064: >0 byte &0x80
11065: >>20 lelong <4096 shared library
11066: >>20 lelong =4096 dynamically linked executable
11067: >>20 lelong >4096 dynamically linked executable
11068: >0 byte ^0x80 executable
11069: >16 lelong >0 not stripped
11070: 0 belong&0377777777 042200410 a.out NetBSD/ns32532 pure
11071: >0 byte &0x80 dynamically linked executable
11072: >0 byte ^0x80 executable
11073: >16 lelong >0 not stripped
11074: 0 belong&0377777777 042200407 a.out NetBSD/ns32532
11075: >0 byte &0x80 dynamically linked executable
11076: >0 byte ^0x80
11077: >>0 byte &0x40 position independent
11078: >>20 lelong !0 executable
11079: >>20 lelong =0 object file
11080: >16 lelong >0 not stripped
11081: 0 belong&0377777777 042200507 a.out NetBSD/ns32532 core
11082: >12 string >\0 from '%s'
11083: >32 lelong !0 (signal %d)
11084:
11085: 0 belong&0377777777 045200507 a.out NetBSD/powerpc core
11086: >12 string >\0 from '%s'
11087:
11088: 0 belong&0377777777 042400413 a.out NetBSD/sparc demand paged
11089: >0 byte &0x80
11090: >>20 belong <8192 shared library
11091: >>20 belong =8192 dynamically linked executable
11092: >>20 belong >8192 dynamically linked executable
11093: >0 byte ^0x80 executable
11094: >16 belong >0 not stripped
11095: 0 belong&0377777777 042400410 a.out NetBSD/sparc pure
11096: >0 byte &0x80 dynamically linked executable
11097: >0 byte ^0x80 executable
11098: >16 belong >0 not stripped
11099: 0 belong&0377777777 042400407 a.out NetBSD/sparc
11100: >0 byte &0x80 dynamically linked executable
11101: >0 byte ^0x80
11102: >>0 byte &0x40 position independent
11103: >>20 belong !0 executable
11104: >>20 belong =0 object file
11105: >16 belong >0 not stripped
11106: 0 belong&0377777777 042400507 a.out NetBSD/sparc core
11107: >12 string >\0 from '%s'
11108: >32 belong !0 (signal %d)
11109:
11110: 0 belong&0377777777 042600413 a.out NetBSD/pmax demand paged
11111: >0 byte &0x80
11112: >>20 lelong <4096 shared library
11113: >>20 lelong =4096 dynamically linked executable
11114: >>20 lelong >4096 dynamically linked executable
11115: >0 byte ^0x80 executable
11116: >16 lelong >0 not stripped
11117: 0 belong&0377777777 042600410 a.out NetBSD/pmax pure
11118: >0 byte &0x80 dynamically linked executable
11119: >0 byte ^0x80 executable
11120: >16 lelong >0 not stripped
11121: 0 belong&0377777777 042600407 a.out NetBSD/pmax
11122: >0 byte &0x80 dynamically linked executable
11123: >0 byte ^0x80
11124: >>0 byte &0x40 position independent
11125: >>20 lelong !0 executable
11126: >>20 lelong =0 object file
11127: >16 lelong >0 not stripped
11128: 0 belong&0377777777 042600507 a.out NetBSD/pmax core
11129: >12 string >\0 from '%s'
11130: >32 lelong !0 (signal %d)
11131:
11132: 0 belong&0377777777 043000413 a.out NetBSD/vax 1k demand paged
11133: >0 byte &0x80
11134: >>20 lelong <4096 shared library
11135: >>20 lelong =4096 dynamically linked executable
11136: >>20 lelong >4096 dynamically linked executable
11137: >0 byte ^0x80 executable
11138: >16 lelong >0 not stripped
11139: 0 belong&0377777777 043000410 a.out NetBSD/vax 1k pure
11140: >0 byte &0x80 dynamically linked executable
11141: >0 byte ^0x80 executable
11142: >16 lelong >0 not stripped
11143: 0 belong&0377777777 043000407 a.out NetBSD/vax 1k
11144: >0 byte &0x80 dynamically linked executable
11145: >0 byte ^0x80
11146: >>0 byte &0x40 position independent
11147: >>20 lelong !0 executable
11148: >>20 lelong =0 object file
11149: >16 lelong >0 not stripped
11150: 0 belong&0377777777 043000507 a.out NetBSD/vax 1k core
11151: >12 string >\0 from '%s'
11152: >32 lelong !0 (signal %d)
11153:
11154: 0 belong&0377777777 045400413 a.out NetBSD/vax 4k demand paged
11155: >0 byte &0x80
11156: >>20 lelong <4096 shared library
11157: >>20 lelong =4096 dynamically linked executable
11158: >>20 lelong >4096 dynamically linked executable
11159: >0 byte ^0x80 executable
11160: >16 lelong >0 not stripped
11161: 0 belong&0377777777 045400410 a.out NetBSD/vax 4k pure
11162: >0 byte &0x80 dynamically linked executable
11163: >0 byte ^0x80 executable
11164: >16 lelong >0 not stripped
11165: 0 belong&0377777777 045400407 a.out NetBSD/vax 4k
11166: >0 byte &0x80 dynamically linked executable
11167: >0 byte ^0x80
11168: >>0 byte &0x40 position independent
11169: >>20 lelong !0 executable
11170: >>20 lelong =0 object file
11171: >16 lelong >0 not stripped
11172: 0 belong&0377777777 045400507 a.out NetBSD/vax 4k core
11173: >12 string >\0 from '%s'
11174: >32 lelong !0 (signal %d)
11175:
11176: # NetBSD/alpha does not support (and has never supported) a.out objects,
11177: # so no rules are provided for them. NetBSD/alpha ELF objects are
11178: # dealt with in "elf".
11179: 0 lelong 0x00070185 ECOFF NetBSD/alpha binary
11180: >10 leshort 0x0001 not stripped
11181: >10 leshort 0x0000 stripped
11182: 0 belong&0377777777 043200507 a.out NetBSD/alpha core
11183: >12 string >\0 from '%s'
11184: >32 lelong !0 (signal %d)
11185:
11186: 0 belong&0377777777 043400413 a.out NetBSD/mips demand paged
11187: >0 byte &0x80
11188: >>20 belong <8192 shared library
11189: >>20 belong =8192 dynamically linked executable
11190: >>20 belong >8192 dynamically linked executable
11191: >0 byte ^0x80 executable
11192: >16 belong >0 not stripped
11193: 0 belong&0377777777 043400410 a.out NetBSD/mips pure
11194: >0 byte &0x80 dynamically linked executable
11195: >0 byte ^0x80 executable
11196: >16 belong >0 not stripped
11197: 0 belong&0377777777 043400407 a.out NetBSD/mips
11198: >0 byte &0x80 dynamically linked executable
11199: >0 byte ^0x80
11200: >>0 byte &0x40 position independent
11201: >>20 belong !0 executable
11202: >>20 belong =0 object file
11203: >16 belong >0 not stripped
11204: 0 belong&0377777777 043400507 a.out NetBSD/mips core
11205: >12 string >\0 from '%s'
11206: >32 belong !0 (signal %d)
11207:
11208: 0 belong&0377777777 043600413 a.out NetBSD/arm32 demand paged
11209: >0 byte &0x80
11210: >>20 lelong <4096 shared library
11211: >>20 lelong =4096 dynamically linked executable
11212: >>20 lelong >4096 dynamically linked executable
11213: >0 byte ^0x80 executable
11214: >16 lelong >0 not stripped
11215: 0 belong&0377777777 043600410 a.out NetBSD/arm32 pure
11216: >0 byte &0x80 dynamically linked executable
11217: >0 byte ^0x80 executable
11218: >16 lelong >0 not stripped
11219: 0 belong&0377777777 043600407 a.out NetBSD/arm32
11220: >0 byte &0x80 dynamically linked executable
11221: >0 byte ^0x80
11222: >>0 byte &0x40 position independent
11223: >>20 lelong !0 executable
11224: >>20 lelong =0 object file
11225: >16 lelong >0 not stripped
11226: # NetBSD/arm26 has always used ELF objects, but it shares a core file
11227: # format with NetBSD/arm32.
11228: 0 belong&0377777777 043600507 a.out NetBSD/arm core
11229: >12 string >\0 from '%s'
11230: >32 lelong !0 (signal %d)
11231:
11232: #------------------------------------------------------------------------------
11233: # netscape: file(1) magic for Netscape files
11234: # "H. Nanosecond" <aldomel@ix.netcom.com>
11235: # version 3 and 4 I think
11236: #
11237:
11238: # Netscape Address book .nab
11239: 0 string \000\017\102\104\000\000\000\000\000\000\001\000\000\000\000\002\000\000\000\002\000\000\004\000 Netscape Address book
11240:
11241: # Netscape Communicator address book
11242: 0 string \000\017\102\111 Netscape Communicator address book
11243:
11244: # .snm Caches
11245: 0 string #\ Netscape\ folder\ cache Netscape folder cache
11246: 0 string \000\036\204\220\000 Netscape folder cache
11247: # .n2p
11248: # Net 2 Phone
11249: #0 string 123\130\071\066\061\071\071\071\060\070\061\060\061\063\060
11250: 0 string SX961999 Net2phone
11251:
11252: #
11253: #This is files ending in .art, FIXME add more rules
11254: 0 string JG\004\016\0\0\0\0 ART
11255:
11256: #------------------------------------------------------------------------------
11257: # netware: file(1) magic for NetWare Loadable Modules (NLMs)
11258: # From: Mads Martin Joergensen <mmj@suse.de>
11259:
11260: 0 string NetWare\ Loadable\ Module NetWare Loadable Module
11261:
11262: #------------------------------------------------------------------------------
11263: # news: file(1) magic for SunOS NeWS fonts (not "news" as in "netnews")
11264: #
11265: 0 string StartFontMetrics ASCII font metrics
11266: 0 string StartFont ASCII font bits
11267: 0 belong 0x137A2944 NeWS bitmap font
11268: 0 belong 0x137A2947 NeWS font family
11269: 0 belong 0x137A2950 scalable OpenFont binary
11270: 0 belong 0x137A2951 encrypted scalable OpenFont binary
11271: 8 belong 0x137A2B45 X11/NeWS bitmap font
11272: 8 belong 0x137A2B48 X11/NeWS font family
11273: #------------------------------------------------------------------------------
11274: # nitpicker: file(1) magic for Flowfiles.
11275: # From: Christian Jachmann <C.Jachmann@gmx.net> http://www.nitpicker.de
11276: 0 string NPFF NItpicker Flow File
11277: >4 byte x V%d.
11278: >5 byte x %d
11279: >6 bedate x started: %s
11280: >10 bedate x stopped: %s
11281: >14 belong x Bytes: %u
11282: >18 belong x Bytes1: %u
11283: >22 belong x Flows: %u
11284: >26 belong x Pkts: %u
11285:
11286: #------------------------------------------------------------------------------
11287: # ocaml: file(1) magic for Objective Caml files.
11288: 0 string Caml1999 OCaml
11289: >8 string X exec file
11290: >8 string I interface file (.cmi)
11291: >8 string O object file (.cmo)
11292: >8 string A library file (.cma)
11293: >8 string Y native object file (.cmx)
11294: >8 string Z native library file (.cmxa)
11295: >8 string M abstract syntax tree implementation file
11296: >8 string N abstract syntax tree interface file
11297: >9 string >\0 (Version %3.3s)
11298: #------------------------------------------------------------------------------
11299: # octave binary data file(1) magic, from Dirk Eddelbuettel <edd@debian.org>
11300: 0 string Octave-1-L Octave binary data (little endian)
11301: 0 string Octave-1-B Octave binary data (big endian)
11302:
11303: #------------------------------------------------------------------------------
11304: # Microsoft OLE 2 Compound Documents : file(1) magic for Microsoft Structured
11305: # storage (http://en.wikipedia.org/wiki/Structured_Storage)
11306: # Additional tests for OLE 2 Compound Documents should be under this recipe.
11307:
11308: 0 string \320\317\021\340\241\261\032\341 OLE 2 Compound Document
11309: # - Microstation V8 DGN files (www.bentley.com)
11310: # Last update on 10/23/2006 by Lester Hightower
11311: > 0x480 string D\000g\000n\000~\000H : Microstation V8 DGN
11312: # - Visio documents
11313: # Last update on 10/23/2006 by Lester Hightower
11314: > 0x480 string V\000i\000s\000i\000o\000D\000o\000c : Visio Document
11315:
11316: #------------------------------------------------------------------------------
11317: # olf: file(1) magic for OLF executables
11318: #
11319: # We have to check the byte order flag to see what byte order all the
11320: # other stuff in the header is in.
11321: #
11322: # MIPS R3000 may also be for MIPS R2000.
11323: # What're the correct byte orders for the nCUBE and the Fujitsu VPP500?
11324: #
11325: # Created by Erik Theisen <etheisen@openbsd.org>
11326: # Based on elf from Daniel Quinlan <quinlan@yggdrasil.com>
11327: 0 string \177OLF OLF
11328: >4 byte 0 invalid class
11329: >4 byte 1 32-bit
11330: >4 byte 2 64-bit
11331: >7 byte 0 invalid os
11332: >7 byte 1 OpenBSD
11333: >7 byte 2 NetBSD
11334: >7 byte 3 FreeBSD
11335: >7 byte 4 4.4BSD
11336: >7 byte 5 Linux
11337: >7 byte 6 SVR4
11338: >7 byte 7 esix
11339: >7 byte 8 Solaris
11340: >7 byte 9 Irix
11341: >7 byte 10 SCO
11342: >7 byte 11 Dell
11343: >7 byte 12 NCR
11344: >5 byte 0 invalid byte order
11345: >5 byte 1 LSB
11346: >>16 leshort 0 no file type,
11347: >>16 leshort 1 relocatable,
11348: >>16 leshort 2 executable,
11349: >>16 leshort 3 shared object,
11350: # Core handling from Peter Tobias <tobias@server.et-inf.fho-emden.de>
11351: # corrections by Christian 'Dr. Disk' Hechelmann <drdisk@ds9.au.s.shuttle.de>
11352: >>16 leshort 4 core file
11353: >>>(0x38+0xcc) string >\0 of '%s'
11354: >>>(0x38+0x10) lelong >0 (signal %d),
11355: >>16 leshort &0xff00 processor-specific,
11356: >>18 leshort 0 no machine,
11357: >>18 leshort 1 AT&T WE32100 - invalid byte order,
11358: >>18 leshort 2 SPARC - invalid byte order,
11359: >>18 leshort 3 Intel 80386,
11360: >>18 leshort 4 Motorola 68000 - invalid byte order,
11361: >>18 leshort 5 Motorola 88000 - invalid byte order,
11362: >>18 leshort 6 Intel 80486,
11363: >>18 leshort 7 Intel 80860,
11364: >>18 leshort 8 MIPS R3000_BE - invalid byte order,
11365: >>18 leshort 9 Amdahl - invalid byte order,
11366: >>18 leshort 10 MIPS R3000_LE,
11367: >>18 leshort 11 RS6000 - invalid byte order,
11368: >>18 leshort 15 PA-RISC - invalid byte order,
11369: >>18 leshort 16 nCUBE,
11370: >>18 leshort 17 VPP500,
11371: >>18 leshort 18 SPARC32PLUS,
11372: >>18 leshort 20 PowerPC,
11373: >>18 leshort 0x9026 Alpha,
11374: >>20 lelong 0 invalid version
11375: >>20 lelong 1 version 1
11376: >>36 lelong 1 MathCoPro/FPU/MAU Required
11377: >8 string >\0 (%s)
11378: >5 byte 2 MSB
11379: >>16 beshort 0 no file type,
11380: >>16 beshort 1 relocatable,
11381: >>16 beshort 2 executable,
11382: >>16 beshort 3 shared object,
11383: >>16 beshort 4 core file,
11384: >>>(0x38+0xcc) string >\0 of '%s'
11385: >>>(0x38+0x10) belong >0 (signal %d),
11386: >>16 beshort &0xff00 processor-specific,
11387: >>18 beshort 0 no machine,
11388: >>18 beshort 1 AT&T WE32100,
11389: >>18 beshort 2 SPARC,
11390: >>18 beshort 3 Intel 80386 - invalid byte order,
11391: >>18 beshort 4 Motorola 68000,
11392: >>18 beshort 5 Motorola 88000,
11393: >>18 beshort 6 Intel 80486 - invalid byte order,
11394: >>18 beshort 7 Intel 80860,
11395: >>18 beshort 8 MIPS R3000_BE,
11396: >>18 beshort 9 Amdahl,
11397: >>18 beshort 10 MIPS R3000_LE - invalid byte order,
11398: >>18 beshort 11 RS6000,
11399: >>18 beshort 15 PA-RISC,
11400: >>18 beshort 16 nCUBE,
11401: >>18 beshort 17 VPP500,
11402: >>18 beshort 18 SPARC32PLUS,
11403: >>18 beshort 20 PowerPC or cisco 4500,
11404: >>18 beshort 21 cisco 7500,
11405: >>18 beshort 24 cisco SVIP,
11406: >>18 beshort 25 cisco 7200,
11407: >>18 beshort 36 cisco 12000,
11408: >>18 beshort 0x9026 Alpha,
11409: >>20 belong 0 invalid version
11410: >>20 belong 1 version 1
11411: >>36 belong 1 MathCoPro/FPU/MAU Required
11412: #------------------------------------------------------------------------------
11413: # os2: file(1) magic for OS/2 files
11414: #
11415:
11416: # Provided 1998/08/22 by
11417: # David Mediavilla <davidme.news@REMOVEIFNOTSPAMusa.net>
11418: 1 search/1 InternetShortcut MS Windows 95 Internet shortcut text
11419: >24 search/1 >\ (URL=<%s>)
11420:
11421: # OS/2 URL objects
11422: # Provided 1998/08/22 by
11423: # David Mediavilla <davidme.news@REMOVEIFNOTSPAMusa.net>
11424: #0 string http: OS/2 URL object text
11425: #>5 string >\ (WWW) <http:%s>
11426: #0 string mailto: OS/2 URL object text
11427: #>7 string >\ (email) <%s>
11428: #0 string news: OS/2 URL object text
11429: #>5 string >\ (Usenet) <%s>
11430: #0 string ftp: OS/2 URL object text
11431: #>4 string >\ (FTP) <ftp:%s>
11432: #0 string file: OS/2 URL object text
11433: #>5 string >\ (Local file) <%s>
11434:
11435: # >>>>> OS/2 INF/HLP <<<<< (source: Daniel Dissett ddissett@netcom.com)
11436: # Carl Hauser (chauser.parc@xerox.com) and
11437: # Marcus Groeber (marcusg@ph-cip.uni-koeln.de)
11438: # list the following header format in inf02a.doc:
11439: #
11440: # int16 ID; // ID magic word (5348h = "HS")
11441: # int8 unknown1; // unknown purpose, could be third letter of ID
11442: # int8 flags; // probably a flag word...
11443: # // bit 0: set if INF style file
11444: # // bit 4: set if HLP style file
11445: # // patching this byte allows reading HLP files
11446: # // using the VIEW command, while help files
11447: # // seem to work with INF settings here as well.
11448: # int16 hdrsize; // total size of header
11449: # int16 unknown2; // unknown purpose
11450: #
11451: 0 string HSP\x01\x9b\x00 OS/2 INF
11452: >107 string >0 (%s)
11453: 0 string HSP\x10\x9b\x00 OS/2 HLP
11454: >107 string >0 (%s)
11455:
11456: # OS/2 INI (this is a guess)
11457: 0 string \xff\xff\xff\xff\x14\0\0\0 OS/2 INI
11458: #------------------------------------------------------------------------------
11459: # os400: file(1) magic for IBM OS/400 files
11460: #
11461: # IBM OS/400 (i5/OS) Save file (SAVF) - gerardo.cacciari@gmail.com
11462: # In spite of its quite variable format (due to internal memory page
11463: # length differences between CISC and RISC versions of the OS) the
11464: # SAVF structure hasn't suitable offsets to identify the catalog
11465: # header in the first descriptor where there are some useful infos,
11466: # so we must search in a somewhat large area for a particular string
11467: # that represents the EBCDIC encoding of 'QSRDSSPC' (save/restore
11468: # descriptor space) preceded by a two byte constant.
11469: #
11470: 1090 search/7393 \x19\xDB\xD8\xE2\xD9\xC4\xE2\xE2\xD7\xC3 IBM OS/400 save file data
11471: >&212 byte 0x01 \b, created with SAVOBJ
11472: >&212 byte 0x02 \b, created with SAVLIB
11473: >&212 byte 0x07 \b, created with SAVCFG
11474: >&212 byte 0x08 \b, created with SAVSECDTA
11475: >&212 byte 0x0A \b, created with SAVSECDTA
11476: >&212 byte 0x0B \b, created with SAVDLO
11477: >&212 byte 0x0D \b, created with SAVLICPGM
11478: >&212 byte 0x11 \b, created with SAVCHGOBJ
11479: >&213 byte 0x44 \b, at least V5R4 to open
11480: >&213 byte 0x43 \b, at least V5R3 to open
11481: >&213 byte 0x42 \b, at least V5R2 to open
11482: >&213 byte 0x41 \b, at least V5R1 to open
11483: >&213 byte 0x40 \b, at least V4R5 to open
11484: >&213 byte 0x3F \b, at least V4R4 to open
11485: >&213 byte 0x3E \b, at least V4R3 to open
11486: >&213 byte 0x3C \b, at least V4R2 to open
11487: >&213 byte 0x3D \b, at least V4R1M4 to open
11488: >&213 byte 0x3B \b, at least V4R1 to open
11489: >&213 byte 0x3A \b, at least V3R7 to open
11490: >&213 byte 0x35 \b, at least V3R6 to open
11491: >&213 byte 0x36 \b, at least V3R2 to open
11492: >&213 byte 0x34 \b, at least V3R1 to open
11493: >&213 byte 0x31 \b, at least V3R0M5 to open
11494: >&213 byte 0x30 \b, at least V2R3 to open
11495: #
11496: # Copyright (c) 1996 Ignatios Souvatzis. All rights reserved.
11497: #
11498: # Redistribution and use in source and binary forms, with or without
11499: # modification, are permitted provided that the following conditions
11500: # are met:
11501: # 1. Redistributions of source code must retain the above copyright
11502: # notice, this list of conditions and the following disclaimer.
11503: # 2. Redistributions in binary form must reproduce the above copyright
11504: # notice, this list of conditions and the following disclaimer in the
11505: # documentation and/or other materials provided with the distribution.
11506: # 3. All advertising materials mentioning features or use of this software
11507: # must display the following acknowledgement:
11508: # This product includes software developed by Ignatios Souvatzis for
11509: # the NetBSD project.
11510: # 4. The name of the author may not be used to endorse or promote products
11511: # derived from this software without specific prior written permission.
11512: #
11513: #
11514: # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
11515: # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
11516: # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
11517: # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
11518: # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
11519: # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
11520: # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
11521: # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
11522: # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
11523: # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
11524: #
11525: #
11526: #
11527: # OS9/6809 module descriptions:
11528: #
11529: 0 beshort 0x87CD OS9/6809 module:
11530: #
11531: >6 byte&0x0f 0x00 non-executable
11532: >6 byte&0x0f 0x01 machine language
11533: >6 byte&0x0f 0x02 BASIC I-code
11534: >6 byte&0x0f 0x03 Pascal P-code
11535: >6 byte&0x0f 0x04 C I-code
11536: >6 byte&0x0f 0x05 COBOL I-code
11537: >6 byte&0x0f 0x06 Fortran I-code
11538: #
11539: >6 byte&0xf0 0x10 program executable
11540: >6 byte&0xf0 0x20 subroutine
11541: >6 byte&0xf0 0x30 multi-module
11542: >6 byte&0xf0 0x40 data module
11543: #
11544: >6 byte&0xf0 0xC0 system module
11545: >6 byte&0xf0 0xD0 file manager
11546: >6 byte&0xf0 0xE0 device driver
11547: >6 byte&0xf0 0xF0 device descriptor
11548: #
11549: # OS9/m68k stuff (to be continued)
11550: #
11551: 0 beshort 0x4AFC OS9/68K module:
11552: #
11553: # attr
11554: >0x14 byte&0x80 0x80 re-entrant
11555: >0x14 byte&0x40 0x40 ghost
11556: >0x14 byte&0x20 0x20 system-state
11557: #
11558: # lang:
11559: #
11560: >0x13 byte 1 machine language
11561: >0x13 byte 2 BASIC I-code
11562: >0x13 byte 3 Pascal P-code
11563: >0x13 byte 4 C I-code
11564: >0x13 byte 5 COBOL I-code
11565: >0x13 byte 6 Fortran I-code
11566: #
11567: #
11568: # type:
11569: #
11570: >0x12 byte 1 program executable
11571: >0x12 byte 2 subroutine
11572: >0x12 byte 3 multi-module
11573: >0x12 byte 4 data module
11574: >0x12 byte 11 trap library
11575: >0x12 byte 12 system module
11576: >0x12 byte 13 file manager
11577: >0x12 byte 14 device driver
11578: >0x12 byte 15 device descriptor
11579: #
11580: # Mach magic number info
11581: #
11582: 0 long 0xefbe OSF/Rose object
11583: # I386 magic number info
11584: #
11585: 0 short 0565 i386 COFF object
11586:
11587: #------------------------------------------------------------------------------
11588: # palm: file(1) magic for PalmOS {.prc,.pdb}: applications, docfiles, and hacks
11589: #
11590: # Brian Lalor <blalor@hcirisc.cs.binghamton.edu>
11591:
11592: # appl
11593: 60 belong 0x6170706c PalmOS application
11594: >0 string >\0 "%s"
11595: # TEXt
11596: 60 belong 0x54455874 AportisDoc file
11597: >0 string >\0 "%s"
11598: # HACK
11599: 60 belong 0x4841434b HackMaster hack
11600: >0 string >\0 "%s"
11601:
11602: # Variety of PalmOS document types
11603: # Michael-John Turner <mj@debian.org>
11604: # Thanks to Hasan Umit Ezerce <humit@tr-net.net.tr> for his DocType
11605: 60 string BVokBDIC BDicty PalmOS document
11606: >0 string >\0 "%s"
11607: 60 string DB99DBOS DB PalmOS document
11608: >0 string >\0 "%s"
11609: 60 string vIMGView FireViewer/ImageViewer PalmOS document
11610: >0 string >\0 "%s"
11611: 60 string PmDBPmDB HanDBase PalmOS document
11612: >0 string >\0 "%s"
11613: 60 string InfoINDB InfoView PalmOS document
11614: >0 string >\0 "%s"
11615: 60 string ToGoToGo iSilo PalmOS document
11616: >0 string >\0 "%s"
11617: 60 string JfDbJBas JFile PalmOS document
11618: >0 string >\0 "%s"
11619: 60 string JfDbJFil JFile Pro PalmOS document
11620: >0 string >\0 "%s"
11621: 60 string DATALSdb List PalmOS document
11622: >0 string >\0 "%s"
11623: 60 string Mdb1Mdb1 MobileDB PalmOS document
11624: >0 string >\0 "%s"
11625: 60 string PNRdPPrs PeanutPress PalmOS document
11626: >0 string >\0 "%s"
11627: 60 string DataPlkr Plucker PalmOS document
11628: >0 string >\0 "%s"
11629: 60 string DataSprd QuickSheet PalmOS document
11630: >0 string >\0 "%s"
11631: 60 string SM01SMem SuperMemo PalmOS document
11632: >0 string >\0 "%s"
11633: 60 string TEXtTlDc TealDoc PalmOS document
11634: >0 string >\0 "%s"
11635: 60 string InfoTlIf TealInfo PalmOS document
11636: >0 string >\0 "%s"
11637: 60 string DataTlMl TealMeal PalmOS document
11638: >0 string >\0 "%s"
11639: 60 string DataTlPt TealPaint PalmOS document
11640: >0 string >\0 "%s"
11641: 60 string dataTDBP ThinkDB PalmOS document
11642: >0 string >\0 "%s"
11643: 60 string TdatTide Tides PalmOS document
11644: >0 string >\0 "%s"
11645: 60 string ToRaTRPW TomeRaider PalmOS document
11646: >0 string >\0 "%s"
11647:
11648: # A GutenPalm zTXT etext for use on Palm Pilots (http://gutenpalm.sf.net)
11649: # For version 1.xx zTXTs, outputs version and numbers of bookmarks and
11650: # annotations.
11651: # For other versions, just outputs version.
11652: #
11653: 60 string zTXT A GutenPalm zTXT e-book
11654: >0 string >\0 "%s"
11655: >(0x4E.L) byte 0
11656: >>(0x4E.L+1) byte x (v0.%02d)
11657: >(0x4E.L) byte 1
11658: >>(0x4E.L+1) byte x (v1.%02d)
11659: >>>(0x4E.L+10) beshort >0
11660: >>>>(0x4E.L+10) beshort <2 - 1 bookmark
11661: >>>>(0x4E.L+10) beshort >1 - %d bookmarks
11662: >>>(0x4E.L+14) beshort >0
11663: >>>>(0x4E.L+14) beshort <2 - 1 annotation
11664: >>>>(0x4E.L+14) beshort >1 - %d annotations
11665: >(0x4E.L) byte >1 (v%d.
11666: >>(0x4E.L+1) byte x %02d)
11667:
11668: # Palm OS .prc file types
11669: 60 string libr Palm OS dynamic library data
11670: >0 string >\0 "%s"
11671: 60 string ptch Palm OS operating system patch data
11672: >0 string >\0 "%s"
11673:
11674: # Mobipocket (www.mobipocket.com), donated by Carl Witty
11675: 60 string BOOKMOBI Mobipocket E-book
11676: >0 string >\0 "%s"
11677:
11678: #------------------------------------------------------------------------------
11679: #
11680: # Parix COFF executables
11681: # From: Ignatios Souvatzis <ignatios@cs.uni-bonn.de>
11682: #
11683: 0 beshort&0xfff 0xACE PARIX
11684: >0 byte&0xf0 0x80 T800
11685: >0 byte&0xf0 0x90 T9000
11686: >19 byte&0x02 0x02 executable
11687: >19 byte&0x02 0x00 object
11688: >19 byte&0x0c 0x00 not stripped
11689:
11690: #------------------------------------------------------------------------------
11691: # pbm: file(1) magic for Portable Bitmap files
11692: #
11693: # XXX - byte order?
11694: #
11695: 0 short 0x2a17 "compact bitmap" format (Poskanzer)
11696: #------------------------------------------------------------------------------
11697: # pdf: file(1) magic for Portable Document Format
11698: #
11699:
11700: 0 string %PDF- PDF document
11701: !:mime application/pdf
11702: >5 byte x \b, version %c
11703: >7 byte x \b.%c
11704:
11705: # From: Nick Schmalenberger <nick@schmalenberger.us>
11706: # Forms Data Format
11707: 0 string %FDF- FDF document
11708: >5 byte x \b, version %c
11709: >7 byte x \b.%c
11710:
11711: #------------------------------------------------------------------------------
11712: # pdp: file(1) magic for PDP-11 executable/object and APL workspace
11713: #
11714: 0 lelong 0101555 PDP-11 single precision APL workspace
11715: 0 lelong 0101554 PDP-11 double precision APL workspace
11716: #
11717: # PDP-11 a.out
11718: #
11719: 0 leshort 0407 PDP-11 executable
11720: >8 leshort >0 not stripped
11721: >15 byte >0 - version %ld
11722:
11723: 0 leshort 0401 PDP-11 UNIX/RT ldp
11724: 0 leshort 0405 PDP-11 old overlay
11725:
11726: 0 leshort 0410 PDP-11 pure executable
11727: >8 leshort >0 not stripped
11728: >15 byte >0 - version %ld
11729:
11730: 0 leshort 0411 PDP-11 separate I&D executable
11731: >8 leshort >0 not stripped
11732: >15 byte >0 - version %ld
11733:
11734: 0 leshort 0437 PDP-11 kernel overlay
11735:
11736: # These last three are derived from 2.11BSD file(1)
11737: 0 leshort 0413 PDP-11 demand-paged pure executable
11738: >8 leshort >0 not stripped
11739:
11740: 0 leshort 0430 PDP-11 overlaid pure executable
11741: >8 leshort >0 not stripped
11742:
11743: 0 leshort 0431 PDP-11 overlaid separate executable
11744: >8 leshort >0 not stripped
11745: #------------------------------------------------------------------------------
11746: # perl: file(1) magic for Larry Wall's perl language.
11747: #
11748: # The `eval' lines recognizes an outrageously clever hack.
11749: # Keith Waclena <keith@cerberus.uchicago.edu>
11750: # Send additions to <perl5-porters@perl.org>
11751: 0 search/1/b #!\ /bin/perl Perl script text executable
11752: !:mime text/x-perl
11753: 0 search/1 eval\ "exec\ /bin/perl Perl script text
11754: !:mime text/x-perl
11755: 0 search/1/b #!\ /usr/bin/perl Perl script text executable
11756: !:mime text/x-perl
11757: 0 search/1 eval\ "exec\ /usr/bin/perl Perl script text
11758: !:mime text/x-perl
11759: 0 search/1/b #!\ /usr/local/bin/perl Perl script text executable
11760: !:mime text/x-perl
11761: 0 search/1 eval\ "exec\ /usr/local/bin/perl Perl script text
11762: !:mime text/x-perl
11763: 0 search/1 eval\ '(exit\ $?0)'\ &&\ eval\ 'exec Perl script text
11764: !:mime text/x-perl
11765:
11766:
11767: # by Dmitry V. Levin and Alexey Tourbin
11768: # check the first line
11769: 0 search/1 package
11770: 0 regex \^package[\ \t]+[A-Za-z_]
11771: >0 regex \^package[\ \t]+[0-9A-Za-z_:]+\ *; Perl5 module source text
11772: # not 'p', check other lines
11773: 0 search/1 !p
11774: >0 regex \^package[\ \t]+[0-9A-Za-z_:]+\ *;
11775: >>0 regex \^1\ *;|\^(use|sub|my)\ .*[(;{=] Perl5 module source text
11776:
11777:
11778:
11779: # Perl POD documents
11780: # From: Tom Hukins <tom@eborcom.com>
11781: 0 search/1/B \=pod\n Perl POD document text
11782: 0 search/1/B \n\=pod\n Perl POD document text
11783: 0 search/1/B \=head1\ Perl POD document text
11784: 0 search/1/B \n\=head1\ Perl POD document text
11785: 0 search/1/B \=head2\ Perl POD document text
11786: 0 search/1/B \n\=head2\ Perl POD document text
11787:
11788: # Perl Storable data files.
11789: 0 string perl-store perl Storable (v0.6) data
11790: >4 byte >0 (net-order %d)
11791: >>4 byte &01 (network-ordered)
11792: >>4 byte =3 (major 1)
11793: >>4 byte =2 (major 1)
11794:
11795: 0 string pst0 perl Storable (v0.7) data
11796: >4 byte >0
11797: >>4 byte &01 (network-ordered)
11798: >>4 byte =5 (major 2)
11799: >>4 byte =4 (major 2)
11800: >>5 byte >0 (minor %d)
11801:
11802: #------------------------------------------------------------------------------
11803: # pgp: file(1) magic for Pretty Good Privacy
11804: # see http://lists.gnupg.org/pipermail/gnupg-devel/1999-September/016052.html
11805: #
11806: 0 beshort 0x9900 PGP key public ring
11807: !:mime application/x-pgp-keyring
11808: 0 beshort 0x9501 PGP key security ring
11809: !:mime application/x-pgp-keyring
11810: 0 beshort 0x9500 PGP key security ring
11811: !:mime application/x-pgp-keyring
11812: 0 beshort 0xa600 PGP encrypted data
11813: #!:mime application/pgp-encrypted
11814: #0 string -----BEGIN\040PGP text/PGP armored data
11815: !:mime text/PGP # encoding: armored data
11816: #>15 string PUBLIC\040KEY\040BLOCK- public key block
11817: #>15 string MESSAGE- message
11818: #>15 string SIGNED\040MESSAGE- signed message
11819: #>15 string PGP\040SIGNATURE- signature
11820:
11821: 2 string ---BEGIN\ PGP\ PUBLIC\ KEY\ BLOCK- PGP public key block
11822: !:mime application/pgp-keys
11823: 0 string -----BEGIN\040PGP\40MESSAGE- PGP message
11824: !:mime application/pgp
11825: 0 string -----BEGIN\040PGP\40SIGNATURE- PGP signature
11826: !:mime application/pgp-signature
11827:
11828: #------------------------------------------------------------------------------
11829: # pkgadd: file(1) magic for SysV R4 PKG Datastreams
11830: #
11831: 0 string #\ PaCkAgE\ DaTaStReAm pkg Datastream (SVR4)
11832: !:mime application/x-svr4-package
11833:
11834: #------------------------------------------------------------------------------
11835: # plan9: file(1) magic for AT&T Bell Labs' Plan 9 executables
11836: # From: "Stefan A. Haubenthal" <polluks@web.de>
11837: #
11838: 0 belong 0x00000107 Plan 9 executable, Motorola 68k
11839: 0 belong 0x000001EB Plan 9 executable, Intel 386
11840: 0 belong 0x00000247 Plan 9 executable, Intel 960
11841: 0 belong 0x000002AB Plan 9 executable, SPARC
11842: 0 belong 0x00000407 Plan 9 executable, MIPS R3000
11843: 0 belong 0x0000048B Plan 9 executable, AT&T DSP 3210
11844: 0 belong 0x00000517 Plan 9 executable, MIPS R4000 BE
11845: 0 belong 0x000005AB Plan 9 executable, AMD 29000
11846: 0 belong 0x00000647 Plan 9 executable, ARM 7-something
11847: 0 belong 0x000006EB Plan 9 executable, PowerPC
11848: 0 belong 0x00000797 Plan 9 executable, MIPS R4000 LE
11849: 0 belong 0x0000084B Plan 9 executable, DEC Alpha
11850:
11851: #------------------------------------------------------------------------------
11852: # plus5: file(1) magic for Plus Five's UNIX MUMPS
11853: #
11854: # XXX - byte order? Paging Hokey....
11855: #
11856: 0 short 0x259 mumps avl global
11857: >2 byte >0 (V%d)
11858: >6 byte >0 with %d byte name
11859: >7 byte >0 and %d byte data cells
11860: 0 short 0x25a mumps blt global
11861: >2 byte >0 (V%d)
11862: >8 short >0 - %d byte blocks
11863: >15 byte 0x00 - P/D format
11864: >15 byte 0x01 - P/K/D format
11865: >15 byte 0x02 - K/D format
11866: >15 byte >0x02 - Bad Flags
11867:
11868: #------------------------------------------------------------------------------
11869: # printer: file(1) magic for printer-formatted files
11870: #
11871:
11872: # PostScript, updated by Daniel Quinlan (quinlan@yggdrasil.com)
11873: 0 string %! PostScript document text
11874: !:mime application/postscript
11875: >2 string PS-Adobe- conforming
11876: >>11 string >\0 DSC level %.3s
11877: >>>15 string EPS \b, type %s
11878: >>>15 string Query \b, type %s
11879: >>>15 string ExitServer \b, type %s
11880: >>>15 search/1000 %%LanguageLevel:\
11881: >>>>&0 string >\0 \b, Level %s
11882: # Some PCs have the annoying habit of adding a ^D as a document separator
11883: 0 string \004%! PostScript document text
11884: !:mime application/postscript
11885: >3 string PS-Adobe- conforming
11886: >>12 string >\0 DSC level %.3s
11887: >>>16 string EPS \b, type %s
11888: >>>16 string Query \b, type %s
11889: >>>16 string ExitServer \b, type %s
11890: >>>16 search/1000 %%LanguageLevel:\
11891: >>>>&0 string >\0 \b, Level %s
11892: 0 string \033%-12345X%!PS PostScript document
11893:
11894: # DOS EPS Binary File Header
11895: # From: Ed Sznyter <ews@Black.Market.NET>
11896: 0 belong 0xC5D0D3C6 DOS EPS Binary File
11897: >4 long >0 Postscript starts at byte %d
11898: >>8 long >0 length %d
11899: >>>12 long >0 Metafile starts at byte %d
11900: >>>>16 long >0 length %d
11901: >>>20 long >0 TIFF starts at byte %d
11902: >>>>24 long >0 length %d
11903:
11904: # Summary: Adobe's PostScript Printer Description File
11905: # Extension: .ppd
11906: # Reference: http://partners.adobe.com/public/developer/en/ps/5003.PPD_Spec_v4.3.pdf, Section 3.8
11907: # Submitted by: Yves Arrouye <arrouye@marin.fdn.fr>
11908: #
11909: 0 string *PPD-Adobe:\x20 PPD file
11910: >&0 string x \b, version %s
11911:
11912: # HP Printer Job Language
11913: 0 string \033%-12345X@PJL HP Printer Job Language data
11914: # HP Printer Job Language
11915: # The header found on Win95 HP plot files is the "Silliest Thing possible"
11916: # (TM)
11917: # Every driver puts the language at some random position, with random case
11918: # (LANGUAGE and Language)
11919: # For example the LaserJet 5L driver puts the "PJL ENTER LANGUAGE" in line 10
11920: # From: Uwe Bonnes <bon@elektron.ikp.physik.th-darmstadt.de>
11921: #
11922: 0 string \033%-12345X@PJL HP Printer Job Language data
11923: >&0 string >\0 %s
11924: >>&0 string >\0 %s
11925: >>>&0 string >\0 %s
11926: >>>>&0 string >\0 %s
11927: #>15 string \ ENTER\ LANGUAGE\ =
11928: #>31 string PostScript PostScript
11929:
11930: # HP Printer Control Language, Daniel Quinlan (quinlan@yggdrasil.com)
11931: 0 string \033E\033 HP PCL printer data
11932: >3 string \&l0A - default page size
11933: >3 string \&l1A - US executive page size
11934: >3 string \&l2A - US letter page size
11935: >3 string \&l3A - US legal page size
11936: >3 string \&l26A - A4 page size
11937: >3 string \&l80A - Monarch envelope size
11938: >3 string \&l81A - No. 10 envelope size
11939: >3 string \&l90A - Intl. DL envelope size
11940: >3 string \&l91A - Intl. C5 envelope size
11941: >3 string \&l100A - Intl. B5 envelope size
11942: >3 string \&l-81A - No. 10 envelope size (landscape)
11943: >3 string \&l-90A - Intl. DL envelope size (landscape)
11944:
11945: # IMAGEN printer-ready files:
11946: 0 string @document( Imagen printer
11947: # this only works if "language xxx" is first item in Imagen header.
11948: >10 string language\ impress (imPRESS data)
11949: >10 string language\ daisy (daisywheel text)
11950: >10 string language\ diablo (daisywheel text)
11951: >10 string language\ printer (line printer emulation)
11952: >10 string language\ tektronix (Tektronix 4014 emulation)
11953: # Add any other languages that your Imagen uses - remember
11954: # to keep the word `text' if the file is human-readable.
11955: # [GRR 950115: missing "postscript" or "ultrascript" (whatever it was called)]
11956: #
11957: # Now magic for IMAGEN font files...
11958: 0 string Rast RST-format raster font data
11959: >45 string >0 face %s
11960: # From Jukka Ukkonen
11961: 0 string \033[K\002\0\0\017\033(a\001\0\001\033(g Canon Bubble Jet BJC formatted data
11962:
11963: # From <mike@flyn.org>
11964: # These are the /etc/magic entries to decode data sent to an Epson printer.
11965: 0 string \x1B\x40\x1B\x28\x52\x08\x00\x00REMOTE1P Epson Stylus Color 460 data
11966:
11967:
11968: #------------------------------------------------------------------------------
11969: # zenographics: file(1) magic for Zenographics ZjStream printer data
11970: # Rick Richardson rickr@mn.rr.com
11971: 0 string JZJZ
11972: >0x12 string ZZ Zenographics ZjStream printer data (big-endian)
11973: 0 string ZJZJ
11974: >0x12 string ZZ Zenographics ZjStream printer data (little-endian)
11975:
11976:
11977: #------------------------------------------------------------------------------
11978: # Oak Technologies printer stream
11979: # Rick Richardson <rickr@mn.rr.com>
11980: 0 string OAK
11981: >0x07 byte 0
11982: >0x0b byte 0 Oak Technologies printer stream
11983:
11984: # This would otherwise be recognized as PostScript - nick@debian.org
11985: 0 string %!VMF SunClock's Vector Map Format data
11986:
11987: #------------------------------------------------------------------------------
11988: # HP LaserJet 1000 series downloadable firmware file
11989: 0 string \xbe\xefABCDEFGH HP LaserJet 1000 series downloadable firmware
11990:
11991: # From: Paolo <oopla@users.sf.net>
11992: # Epson ESC/Page, ESC/PageColor
11993: 0 string \x1b\x01@EJL Epson ESC/Page language printer data
11994:
11995: #------------------------------------------------------------------------------
11996: # project: file(1) magic for Project management
11997: #
11998: # Magic strings for ftnchek project files. Alexander Mai
11999: 0 string FTNCHEK_\ P project file for ftnchek
12000: >10 string 1 version 2.7
12001: >10 string 2 version 2.8 to 2.10
12002: >10 string 3 version 2.11 or later
12003:
12004: #------------------------------------------------------------------------------
12005: # psdbms: file(1) magic for psdatabase
12006: #
12007: 0 belong&0xff00ffff 0x56000000 ps database
12008: >1 string >\0 version %s
12009: >4 string >\0 from kernel %s
12010: #------------------------------------------------------------------------------
12011: # psion: file(1) magic for Psion handhelds data
12012: # from: Peter Breitenlohner <peb@mppmu.mpg.de>
12013: #
12014: 0 lelong 0x10000037 Psion Series 5
12015: >4 lelong 0x10000039 font file
12016: >4 lelong 0x1000003A printer driver
12017: >4 lelong 0x1000003B clipboard
12018: >4 lelong 0x10000042 multi-bitmap image
12019: >4 lelong 0x1000006A application information file
12020: >4 lelong 0x1000006D
12021: >>8 lelong 0x1000007D sketch image
12022: !:mime image/x-psion-sketch
12023: >>8 lelong 0x1000007E voice note
12024: >>8 lelong 0x1000007F word file
12025: >>8 lelong 0x10000085 OPL program
12026: >>8 lelong 0x10000088 sheet file
12027: >>8 lelong 0x100001C4 EasyFax initialisation file
12028: >4 lelong 0x10000073 OPO module
12029: >4 lelong 0x10000074 OPL application
12030: >4 lelong 0x1000008A exported multi-bitmap image
12031:
12032: 0 lelong 0x10000041 Psion Series 5 ROM multi-bitmap image
12033:
12034: 0 lelong 0x10000050 Psion Series 5
12035: >4 lelong 0x1000006D database
12036: >4 lelong 0x100000E4 ini file
12037:
12038: 0 lelong 0x10000079 Psion Series 5 binary:
12039: >4 lelong 0x00000000 DLL
12040: >4 lelong 0x10000049 comms hardware library
12041: >4 lelong 0x1000004A comms protocol library
12042: >4 lelong 0x1000005D OPX
12043: >4 lelong 0x1000006C application
12044: >4 lelong 0x1000008D DLL
12045: >4 lelong 0x100000AC logical device driver
12046: >4 lelong 0x100000AD physical device driver
12047: >4 lelong 0x100000E5 file transfer protocol
12048: >4 lelong 0x100000E5 file transfer protocol
12049: >4 lelong 0x10000140 printer definition
12050: >4 lelong 0x10000141 printer definition
12051:
12052: 0 lelong 0x1000007A Psion Series 5 executable
12053:
12054: #------------------------------------------------------------------------------
12055: # pulsar: file(1) magic for Pulsar POP3 daemon binary files
12056: #
12057: # http://pulsar.sourceforge.net
12058: # mailto:rok.papez@lugos.si
12059: #
12060:
12061: 0 belong 0x1ee7f11e Pulsar POP3 daemon mailbox cache file.
12062: >4 ubelong x Version: %d.
12063: >8 ubelong x \b%d
12064:
12065:
12066: #------------------------------------------------------------------------------
12067: # pyramid: file(1) magic for Pyramids
12068: #
12069: # XXX - byte order?
12070: #
12071: 0 long 0x50900107 Pyramid 90x family executable
12072: 0 long 0x50900108 Pyramid 90x family pure executable
12073: >16 long >0 not stripped
12074: 0 long 0x5090010b Pyramid 90x family demand paged pure executable
12075: >16 long >0 not stripped
12076:
12077: #------------------------------------------------------------------------------
12078: # python: file(1) magic for python
12079: #
12080: # From: David Necas <yeti@physics.muni.cz>
12081: # often the module starts with a multiline string
12082: 0 string """ a python script text executable
12083: # MAGIC as specified in Python/import.c (1.5 to 2.3.0a)
12084: # 20121 ( YEAR - 1995 ) + MONTH + DAY (little endian followed by "\r\n"
12085: 0 belong 0x994e0d0a python 1.5/1.6 byte-compiled
12086: 0 belong 0x87c60d0a python 2.0 byte-compiled
12087: 0 belong 0x2aeb0d0a python 2.1 byte-compiled
12088: 0 belong 0x2ded0d0a python 2.2 byte-compiled
12089: 0 belong 0x3bf20d0a python 2.3 byte-compiled
12090: 0 belong 0x6df20d0a python 2.4 byte-compiled
12091: 0 belong 0xb3f20d0a python 2.5 byte-compiled
12092:
12093: 0 string/b #!\ /usr/bin/python python script text executable
12094:
12095:
12096: #------------------------------------------------------------------------------
12097: # file(1) magic for revision control files
12098: # From Hendrik Scholz <hendrik@scholz.net>
12099: 0 string /1\ :pserver: cvs password text file
12100:
12101: # Conary changesets
12102: # From: Jonathan Smith <smithj@rpath.com>
12103: 0 belong 0xea3f81bb Conary changeset data
12104:
12105: # Type: Git bundles (git-bundle)
12106: # From: Josh Triplett <josh@freedesktop.org>
12107: 0 string #\ v2\ git\ bundle\n Git bundle
12108:
12109: # Type: Mercurial bundles
12110: # From: Seo Sanghyeon <tinuviel@sparcs.kaist.ac.kr>
12111: 0 string HG10 Mercurial bundle,
12112: >4 string UN uncompressed
12113: >4 string BZ bzip2 compressed
12114:
12115: # Type: Subversion (SVN) dumps
12116: # From: Uwe Zeisberger <zeisberg@informatik.uni-freiburg.de>
12117: 0 string SVN-fs-dump-format-version: Subversion dumpfile
12118: >28 string >\0 (version: %s)
12119:
12120: # Type: Bazaar revision bundles and merge requests
12121: # URL: http://www.bazaar-vcs.org/
12122: # From: Jelmer Vernooij <jelmer@samba.org>
12123: 0 string #\ Bazaar\ revision\ bundle\ v Bazaar Bundle
12124: 0 string #\ Bazaar\ merge\ directive\ format Bazaar merge directive
12125:
12126: #------------------------------------------------------------------------------
12127: # riff: file(1) magic for RIFF format
12128: # See
12129: #
12130: # http://www.seanet.com/users/matts/riffmci/riffmci.htm
12131: #
12132: # AVI section extended by Patrik Rådman <patrik+file-magic@iki.fi>
12133: #
12134: 0 string RIFF RIFF (little-endian) data
12135: # RIFF Palette format
12136: >8 string PAL \b, palette
12137: >>16 leshort x \b, version %d
12138: >>18 leshort x \b, %d entries
12139: # RIFF Device Independent Bitmap format
12140: >8 string RDIB \b, device-independent bitmap
12141: >>16 string BM
12142: >>>30 leshort 12 \b, OS/2 1.x format
12143: >>>>34 leshort x \b, %d x
12144: >>>>36 leshort x %d
12145: >>>30 leshort 64 \b, OS/2 2.x format
12146: >>>>34 leshort x \b, %d x
12147: >>>>36 leshort x %d
12148: >>>30 leshort 40 \b, Windows 3.x format
12149: >>>>34 lelong x \b, %d x
12150: >>>>38 lelong x %d x
12151: >>>>44 leshort x %d
12152: # RIFF MIDI format
12153: >8 string RMID \b, MIDI
12154: # RIFF Multimedia Movie File format
12155: >8 string RMMP \b, multimedia movie
12156: # RIFF wrapper for MP3
12157: >8 string RMP3 \b, MPEG Layer 3 audio
12158: # Microsoft WAVE format (*.wav)
12159: >8 string WAVE \b, WAVE audio
12160: !:mime audio/x-wav
12161: >>20 leshort 1 \b, Microsoft PCM
12162: >>>34 leshort >0 \b, %d bit
12163: >>20 leshort 2 \b, Microsoft ADPCM
12164: >>20 leshort 6 \b, ITU G.711 A-law
12165: >>20 leshort 7 \b, ITU G.711 mu-law
12166: >>20 leshort 17 \b, IMA ADPCM
12167: >>20 leshort 20 \b, ITU G.723 ADPCM (Yamaha)
12168: >>20 leshort 49 \b, GSM 6.10
12169: >>20 leshort 64 \b, ITU G.721 ADPCM
12170: >>20 leshort 80 \b, MPEG
12171: >>20 leshort 85 \b, MPEG Layer 3
12172: >>22 leshort =1 \b, mono
12173: >>22 leshort =2 \b, stereo
12174: >>22 leshort >2 \b, %d channels
12175: >>24 lelong >0 %d Hz
12176: # Corel Draw Picture
12177: >8 string CDRA \b, Corel Draw Picture
12178: !:mime image/x-coreldraw
12179: # AVI == Audio Video Interleave
12180: >8 string AVI\040 \b, AVI
12181: !:mime video/x-msvideo
12182: >>12 string LIST
12183: >>>20 string hdrlavih
12184: >>>>&36 lelong x \b, %lu x
12185: >>>>&40 lelong x %lu,
12186: >>>>&4 lelong >1000000 <1 fps,
12187: >>>>&4 lelong 1000000 1.00 fps,
12188: >>>>&4 lelong 500000 2.00 fps,
12189: >>>>&4 lelong 333333 3.00 fps,
12190: >>>>&4 lelong 250000 4.00 fps,
12191: >>>>&4 lelong 200000 5.00 fps,
12192: >>>>&4 lelong 166667 6.00 fps,
12193: >>>>&4 lelong 142857 7.00 fps,
12194: >>>>&4 lelong 125000 8.00 fps,
12195: >>>>&4 lelong 111111 9.00 fps,
12196: >>>>&4 lelong 100000 10.00 fps,
12197: # ]9.9,10.1[
12198: >>>>&4 lelong <101010
12199: >>>>>&-4 lelong >99010
12200: >>>>>>&-4 lelong !100000 ~10 fps,
12201: >>>>&4 lelong 83333 12.00 fps,
12202: # ]11.9,12.1[
12203: >>>>&4 lelong <84034
12204: >>>>>&-4 lelong >82645
12205: >>>>>>&-4 lelong !83333 ~12 fps,
12206: >>>>&4 lelong 66667 15.00 fps,
12207: # ]14.9,15.1[
12208: >>>>&4 lelong <67114
12209: >>>>>&-4 lelong >66225
12210: >>>>>>&-4 lelong !66667 ~15 fps,
12211: >>>>&4 lelong 50000 20.00 fps,
12212: >>>>&4 lelong 41708 23.98 fps,
12213: >>>>&4 lelong 41667 24.00 fps,
12214: # ]23.9,24.1[
12215: >>>>&4 lelong <41841
12216: >>>>>&-4 lelong >41494
12217: >>>>>>&-4 lelong !41708
12218: >>>>>>>&-4 lelong !41667 ~24 fps,
12219: >>>>&4 lelong 40000 25.00 fps,
12220: # ]24.9,25.1[
12221: >>>>&4 lelong <40161
12222: >>>>>&-4 lelong >39841
12223: >>>>>>&-4 lelong !40000 ~25 fps,
12224: >>>>&4 lelong 33367 29.97 fps,
12225: >>>>&4 lelong 33333 30.00 fps,
12226: # ]29.9,30.1[
12227: >>>>&4 lelong <33445
12228: >>>>>&-4 lelong >33223
12229: >>>>>>&-4 lelong !33367
12230: >>>>>>>&-4 lelong !33333 ~30 fps,
12231: >>>>&4 lelong <32224 >30 fps,
12232: ##>>>>&4 lelong x (%lu)
12233: ##>>>>&20 lelong x %lu frames,
12234: # Note: The tests below assume that the AVI has 1 or 2 streams,
12235: # "vids" optionally followed by "auds".
12236: # (Should cover 99.9% of all AVIs.)
12237: # assuming avih length = 56
12238: >>>88 string LIST
12239: >>>>96 string strlstrh
12240: >>>>>108 string vids video:
12241: >>>>>>&0 lelong 0 uncompressed
12242: # skip past vids strh
12243: >>>>>>(104.l+108) string strf
12244: >>>>>>>(104.l+132) lelong 1 RLE 8bpp
12245: >>>>>>>(104.l+132) string/c cvid Cinepak
12246: >>>>>>>(104.l+132) string/c i263 Intel I.263
12247: >>>>>>>(104.l+132) string/c iv32 Indeo 3.2
12248: >>>>>>>(104.l+132) string/c iv41 Indeo 4.1
12249: >>>>>>>(104.l+132) string/c iv50 Indeo 5.0
12250: >>>>>>>(104.l+132) string/c mp42 Microsoft MPEG-4 v2
12251: >>>>>>>(104.l+132) string/c mp43 Microsoft MPEG-4 v3
12252: >>>>>>>(104.l+132) string/c fmp4 FFMpeg MPEG-4
12253: >>>>>>>(104.l+132) string/c mjpg Motion JPEG
12254: >>>>>>>(104.l+132) string/c div3 DivX 3
12255: >>>>>>>>112 string/c div3 Low-Motion
12256: >>>>>>>>112 string/c div4 Fast-Motion
12257: >>>>>>>(104.l+132) string/c divx DivX 4
12258: >>>>>>>(104.l+132) string/c dx50 DivX 5
12259: >>>>>>>(104.l+132) string/c xvid XviD
12260: >>>>>>>(104.l+132) string/c h264 H.264
12261: >>>>>>>(104.l+132) string/c wmv3 Windows Media Video 9
12262: >>>>>>>(104.l+132) string/c h264 X.264 or H.264
12263: >>>>>>>(104.l+132) lelong 0
12264: ##>>>>>>>(104.l+132) string x (%.4s)
12265: # skip past first (video) LIST
12266: >>>>(92.l+96) string LIST
12267: >>>>>(92.l+104) string strlstrh
12268: >>>>>>(92.l+116) string auds \b, audio:
12269: # auds strh length = 56:
12270: >>>>>>>(92.l+172) string strf
12271: >>>>>>>>(92.l+180) leshort 0x0001 uncompressed PCM
12272: >>>>>>>>(92.l+180) leshort 0x0002 ADPCM
12273: >>>>>>>>(92.l+180) leshort 0x0006 aLaw
12274: >>>>>>>>(92.l+180) leshort 0x0007 uLaw
12275: >>>>>>>>(92.l+180) leshort 0x0050 MPEG-1 Layer 1 or 2
12276: >>>>>>>>(92.l+180) leshort 0x0055 MPEG-1 Layer 3
12277: >>>>>>>>(92.l+180) leshort 0x2000 Dolby AC3
12278: >>>>>>>>(92.l+180) leshort 0x0161 DivX
12279: ##>>>>>>>>(92.l+180) leshort x (0x%.4x)
12280: >>>>>>>>(92.l+182) leshort 1 (mono,
12281: >>>>>>>>(92.l+182) leshort 2 (stereo,
12282: >>>>>>>>(92.l+182) leshort >2 (%d channels,
12283: >>>>>>>>(92.l+184) lelong x %d Hz)
12284: # auds strh length = 64:
12285: >>>>>>>(92.l+180) string strf
12286: >>>>>>>>(92.l+188) leshort 0x0001 uncompressed PCM
12287: >>>>>>>>(92.l+188) leshort 0x0002 ADPCM
12288: >>>>>>>>(92.l+188) leshort 0x0055 MPEG-1 Layer 3
12289: >>>>>>>>(92.l+188) leshort 0x2000 Dolby AC3
12290: >>>>>>>>(92.l+188) leshort 0x0161 DivX
12291: ##>>>>>>>>(92.l+188) leshort x (0x%.4x)
12292: >>>>>>>>(92.l+190) leshort 1 (mono,
12293: >>>>>>>>(92.l+190) leshort 2 (stereo,
12294: >>>>>>>>(92.l+190) leshort >2 (%d channels,
12295: >>>>>>>>(92.l+192) lelong x %d Hz)
12296: # Animated Cursor format
12297: >8 string ACON \b, animated cursor
12298: # SoundFont 2 <mpruett@sgi.com>
12299: >8 string sfbk SoundFont/Bank
12300: # MPEG-1 wrapped in a RIFF, apparently
12301: >8 string CDXA \b, wrapped MPEG-1 (CDXA)
12302: >8 string 4XMV \b, 4X Movie file
12303:
12304: #
12305: # XXX - some of the below may only appear in little-endian form.
12306: #
12307: # Also "MV93" appears to be for one form of Macromedia Director
12308: # files, and "GDMF" appears to be another multimedia format.
12309: #
12310: 0 string RIFX RIFF (big-endian) data
12311: # RIFF Palette format
12312: >8 string PAL \b, palette
12313: >>16 beshort x \b, version %d
12314: >>18 beshort x \b, %d entries
12315: # RIFF Device Independent Bitmap format
12316: >8 string RDIB \b, device-independent bitmap
12317: >>16 string BM
12318: >>>30 beshort 12 \b, OS/2 1.x format
12319: >>>>34 beshort x \b, %d x
12320: >>>>36 beshort x %d
12321: >>>30 beshort 64 \b, OS/2 2.x format
12322: >>>>34 beshort x \b, %d x
12323: >>>>36 beshort x %d
12324: >>>30 beshort 40 \b, Windows 3.x format
12325: >>>>34 belong x \b, %d x
12326: >>>>38 belong x %d x
12327: >>>>44 beshort x %d
12328: # RIFF MIDI format
12329: >8 string RMID \b, MIDI
12330: # RIFF Multimedia Movie File format
12331: >8 string RMMP \b, multimedia movie
12332: # Microsoft WAVE format (*.wav)
12333: >8 string WAVE \b, WAVE audio
12334: >>20 leshort 1 \b, Microsoft PCM
12335: >>>34 leshort >0 \b, %d bit
12336: >>22 beshort =1 \b, mono
12337: >>22 beshort =2 \b, stereo
12338: >>22 beshort >2 \b, %d channels
12339: >>24 belong >0 %d Hz
12340: # Corel Draw Picture
12341: >8 string CDRA \b, Corel Draw Picture
12342: # AVI == Audio Video Interleave
12343: >8 string AVI\040 \b, AVI
12344: # Animated Cursor format
12345: >8 string ACON \b, animated cursor
12346: # Notation Interchange File Format (big-endian only)
12347: >8 string NIFF \b, Notation Interchange File Format
12348: # SoundFont 2 <mpruett@sgi.com>
12349: >8 string sfbk SoundFont/Bank
12350: #------------------------------------------------------------------------------
12351: #
12352: # RPM: file(1) magic for Red Hat Packages Erik Troan (ewt@redhat.com)
12353: #
12354: 0 beshort 0xedab
12355: >2 beshort 0xeedb RPM
12356: !:mime application/x-rpm
12357: >>4 byte x v%d
12358: >>6 beshort 0 bin
12359: >>6 beshort 1 src
12360: >>8 beshort 1 i386
12361: >>8 beshort 2 Alpha
12362: >>8 beshort 3 Sparc
12363: >>8 beshort 4 MIPS
12364: >>8 beshort 5 PowerPC
12365: >>8 beshort 6 68000
12366: >>8 beshort 7 SGI
12367: >>8 beshort 8 RS6000
12368: >>8 beshort 9 IA64
12369: >>8 beshort 10 Sparc64
12370: >>8 beshort 11 MIPSel
12371: >>8 beshort 12 ARM
12372: >>10 string x %s
12373:
12374: #------------------------------------------------------------------------------
12375: # rtf: file(1) magic for Rich Text Format (RTF)
12376: #
12377: # Duncan P. Simpson, D.P.Simpson@dcs.warwick.ac.uk
12378: #
12379: 0 string {\\rtf Rich Text Format data,
12380: !:mime text/rtf
12381: >5 string 1 version 1,
12382: >>6 string \\ansi ANSI
12383: >>6 string \\mac Apple Macintosh
12384: >>6 string \\pc IBM PC, code page 437
12385: >>6 string \\pca IBM PS/2, code page 850
12386: >>6 default x unknown character set
12387: >5 default x unknown version
12388: #------------------------------------------------------------------------------
12389: # ruby: file(1) magic for Lua scripting language
12390: # URL: http://www.ruby-lang.org/
12391: # From: Reuben Thomas <rrt@sc3d.org>
12392:
12393: # Ruby scripts
12394: 0 search/1/b #!\ /usr/bin/ruby Ruby script text executable
12395: 0 search/1/b #!\ /usr/local/bin/ruby Ruby script text executable
12396: 0 search/1 #!/usr/bin/env\ ruby Ruby script text executable
12397: 0 search/1 #!\ /usr/bin/env\ ruby Ruby script text executable
12398:
12399: #------------------------------------------------------------------------------
12400: # sc: file(1) magic for "sc" spreadsheet
12401: #
12402: 38 string Spreadsheet sc spreadsheet file
12403: !:mime application/x-sc
12404:
12405: #------------------------------------------------------------------------------
12406: # sccs: file(1) magic for SCCS archives
12407: #
12408: # SCCS archive structure:
12409: # \001h01207
12410: # \001s 00276/00000/00000
12411: # \001d D 1.1 87/09/23 08:09:20 ian 1 0
12412: # \001c date and time created 87/09/23 08:09:20 by ian
12413: # \001e
12414: # \001u
12415: # \001U
12416: # ... etc.
12417: # Now '\001h' happens to be the same as the 3B20's a.out magic number (0550).
12418: # *Sigh*. And these both came from various parts of the USG.
12419: # Maybe we should just switch everybody from SCCS to RCS!
12420: # Further, you can't just say '\001h0', because the five-digit number
12421: # is a checksum that could (presumably) have any leading digit,
12422: # and we don't have regular expression matching yet.
12423: # Hence the following official kludge:
12424: 8 string \001s\ SCCS archive data
12425: #------------------------------------------------------------------------------
12426: # scientific: file(1) magic for scientific formats
12427: #
12428: # From: Joe Krahn <krahn@niehs.nih.gov>
12429:
12430: ########################################################
12431: # CCP4 data and plot files:
12432: 0 string MTZ\040 MTZ reflection file
12433:
12434: 92 string PLOT%%84 Plot84 plotting file
12435: >52 byte 1 , Little-endian
12436: >55 byte 1 , Big-endian
12437:
12438: ########################################################
12439: # Electron density MAP/MASK formats
12440:
12441: 0 string EZD_MAP NEWEZD Electron Density Map
12442: 109 string MAP\040( Old EZD Electron Density Map
12443:
12444: 0 string/c :-)\040Origin BRIX Electron Density Map
12445: >170 string >0 , Sigma:%.12s
12446: #>4 string >0 %.178s
12447: #>4 addr x %.178s
12448:
12449: 7 string 18\040!NTITLE XPLOR ASCII Electron Density Map
12450: 9 string \040!NTITLE\012\040REMARK CNS ASCII electron density map
12451:
12452: 208 string MAP\040 CCP4 Electron Density Map
12453: # Assumes same stamp for float and double (normal case)
12454: >212 byte 17 \b, Big-endian
12455: >212 byte 34 \b, VAX format
12456: >212 byte 68 \b, Little-endian
12457: >212 byte 85 \b, Convex native
12458:
12459: ############################################################
12460: # X-Ray Area Detector images
12461: 0 string R-AXIS4\ \ \ R-Axis Area Detector Image:
12462: >796 lelong <20 Little-endian, IP #%d,
12463: >>768 lelong >0 Size=%dx
12464: >>772 lelong >0 \b%d
12465: >796 belong <20 Big-endian, IP #%d,
12466: >>768 belong >0 Size=%dx
12467: >>772 belong >0 \b%d
12468:
12469: 0 string RAXIS\ \ \ \ \ R-Axis Area Detector Image, Win32:
12470: >796 lelong <20 Little-endian, IP #%d,
12471: >>768 lelong >0 Size=%dx
12472: >>772 lelong >0 \b%d
12473: >796 belong <20 Big-endian, IP #%d,
12474: >>768 belong >0 Size=%dx
12475: >>772 belong >0 \b%d
12476:
12477:
12478: 1028 string MMX\000\000\000\000\000\000\000\000\000\000\000\000\000 MAR Area Detector Image,
12479: >1072 ulong >1 Compressed(%d),
12480: >1100 ulong >1 %d headers,
12481: >1104 ulong >0 %d x
12482: >1108 ulong >0 %d,
12483: >1120 ulong >0 %d bits/pixel
12484:
12485: # Type: GEDCOM genealogical (family history) data
12486: # From: Giuseppe Bilotta
12487: 0 search/1/c 0\ HEAD GEDCOM genealogy text
12488: >&0 search 1\ GEDC
12489: >>&0 search 2\ VERS version
12490: >>>&1 search/1 >\0 %s
12491: # From: Phil Endecott <phil05@chezphil.org>
12492: 0 string \000\060\000\040\000\110\000\105\000\101\000\104 GEDCOM data
12493: 0 string \060\000\040\000\110\000\105\000\101\000\104\000 GEDCOM data
12494: 0 string \376\377\000\060\000\040\000\110\000\105\000\101\000\104 GEDCOM data
12495: 0 string \377\376\060\000\040\000\110\000\105\000\101\000\104\000 GEDCOM data
12496: 0 search/1 -----BEGIN\ CERTIFICATE------ RFC1421 Security Certificate text
12497: 0 search/1 -----BEGIN\ NEW\ CERTIFICATE RFC1421 Security Certificate Signing Request text
12498: 0 belong 0xedfeedfe Sun 'jks' Java Keystore File data
12499: # Type: SE Linux policy modules *.pp reference policy
12500: # for Fedora 5 to 9, RHEL5, and Debian Etch and Lenny.
12501: # URL: http://doc.coker.com.au/computers/selinux-magic
12502: # From: Russell Coker <russell@coker.com.au>
12503:
12504: 0 lelong 0xf97cff8f SE Linux modular policy
12505: >4 lelong x version %d,
12506: >8 lelong x %d sections,
12507: >>(12.l) lelong 0xf97cff8d
12508: >>>(12.l+27) lelong x mod version %d,
12509: >>>(12.l+31) lelong 0 Not MLS,
12510: >>>(12.l+31) lelong 1 MLS,
12511: >>>(12.l+23) lelong 2
12512: >>>>(12.l+47) string >\0 module name %s
12513: >>>(12.l+23) lelong 1 base
12514:
12515: 1 string policy_module( SE Linux policy module source
12516: 2 string policy_module( SE Linux policy module source
12517:
12518: 0 string ##\ <summary> SE Linux policy interface source
12519:
12520: #0 search gen_context( SE Linux policy file contexts
12521:
12522: #0 search gen_sens( SE Linux policy MLS constraints source
12523:
12524: #------------------------------------------------------------------------------
12525: # sendmail: file(1) magic for sendmail config files
12526: #
12527: # XXX - byte order?
12528: #
12529: 0 byte 046 Sendmail frozen configuration
12530: >16 string >\0 - version %s
12531: 0 short 0x271c Sendmail frozen configuration
12532: >16 string >\0 - version %s
12533:
12534: #------------------------------------------------------------------------------
12535: # sendmail: file(1) magic for sendmail m4(1) files
12536: #
12537: # From Hendrik Scholz <hendrik@scholz.net>
12538: # i.e. files in /usr/share/sendmail/cf/
12539: #
12540: 0 string divert(-1)\n sendmail m4 text file
12541:
12542:
12543: #------------------------------------------------------------------------------
12544: # sequent: file(1) magic for Sequent machines
12545: #
12546: # Sequent information updated by Don Dwiggins <atsun!dwiggins>.
12547: # For Sequent's multiprocessor systems (incomplete).
12548: 0 lelong 0x00ea BALANCE NS32000 .o
12549: >16 lelong >0 not stripped
12550: >124 lelong >0 version %ld
12551: 0 lelong 0x10ea BALANCE NS32000 executable (0 @ 0)
12552: >16 lelong >0 not stripped
12553: >124 lelong >0 version %ld
12554: 0 lelong 0x20ea BALANCE NS32000 executable (invalid @ 0)
12555: >16 lelong >0 not stripped
12556: >124 lelong >0 version %ld
12557: 0 lelong 0x30ea BALANCE NS32000 standalone executable
12558: >16 lelong >0 not stripped
12559: >124 lelong >0 version %ld
12560: #
12561: # Symmetry information added by Jason Merrill <jason@jarthur.claremont.edu>.
12562: # Symmetry magic nums will not be reached if DOS COM comes before them;
12563: # byte 0xeb is matched before these get a chance.
12564: 0 leshort 0x12eb SYMMETRY i386 .o
12565: >16 lelong >0 not stripped
12566: >124 lelong >0 version %ld
12567: 0 leshort 0x22eb SYMMETRY i386 executable (0 @ 0)
12568: >16 lelong >0 not stripped
12569: >124 lelong >0 version %ld
12570: 0 leshort 0x32eb SYMMETRY i386 executable (invalid @ 0)
12571: >16 lelong >0 not stripped
12572: >124 lelong >0 version %ld
12573: 0 leshort 0x42eb SYMMETRY i386 standalone executable
12574: >16 lelong >0 not stripped
12575: >124 lelong >0 version %ld
12576:
12577: #------------------------------------------------------------------------------
12578: # sgi: file(1) magic for Silicon Graphics applications
12579:
12580: #
12581: #
12582: # Performance Co-Pilot file types
12583: 0 string PmNs PCP compiled namespace (V.0)
12584: 0 string PmN PCP compiled namespace
12585: >3 string >\0 (V.%1.1s)
12586: #3 lelong 0x84500526 PCP archive
12587: 3 belong 0x84500526 PCP archive
12588: >7 byte x (V.%d)
12589: #>20 lelong -2 temporal index
12590: #>20 lelong -1 metadata
12591: #>20 lelong 0 log volume #0
12592: #>20 lelong >0 log volume #%ld
12593: >20 belong -2 temporal index
12594: >20 belong -1 metadata
12595: >20 belong 0 log volume #0
12596: >20 belong >0 log volume #%ld
12597: >24 string >\0 host: %s
12598: 0 string PCPFolio PCP
12599: >9 string Version: Archive Folio
12600: >18 string >\0 (V.%s)
12601: 0 string #pmchart PCP pmchart view
12602: >9 string Version
12603: >17 string >\0 (V%-3.3s)
12604: 0 string #kmchart PCP kmchart view
12605: >9 string Version
12606: >17 string >\0 (V.%s)
12607: 0 string pmview PCP pmview config
12608: >7 string Version
12609: >15 string >\0 (V%-3.3s)
12610: 0 string #pmlogger PCP pmlogger config
12611: >10 string Version
12612: >18 string >\0 (V%1.1s)
12613: 0 string #pmdahotproc PCP pmdahotproc config
12614: >13 string Version
12615: >21 string >\0 (V%-3.3s)
12616: 0 string PcPh PCP Help
12617: >4 string 1 Index
12618: >4 string 2 Text
12619: >5 string >\0 (V.%1.1s)
12620: 0 string #pmieconf-rules PCP pmieconf rules
12621: >16 string >\0 (V.%1.1s)
12622: 3 string pmieconf-pmie PCP pmie config
12623: >17 string >\0 (V.%1.1s)
12624:
12625: # SpeedShop data files
12626: 0 lelong 0x13130303 SpeedShop data file
12627:
12628: # mdbm files
12629: 0 lelong 0x01023962 mdbm file, version 0 (obsolete)
12630: 0 string mdbm mdbm file,
12631: >5 byte x version %d,
12632: >6 byte x 2^%d pages,
12633: >7 byte x pagesize 2^%d,
12634: >17 byte x hash %d,
12635: >11 byte x dataformat %d
12636:
12637: # Alias Maya files
12638: 0 string //Maya ASCII Alias Maya Ascii File,
12639: >13 string >\0 version %s
12640: 8 string MAYAFOR4 Alias Maya Binary File,
12641: >32 string >\0 version %s scene
12642: 8 string MayaFOR4 Alias Maya Binary File,
12643: >32 string >\0 version %s scene
12644: 8 string CIMG Alias Maya Image File
12645: 8 string DEEP Alias Maya Image File
12646: #------------------------------------------------------------------------------
12647: # Type: SVG Vectorial Graphics
12648: # From: Noel Torres <tecnico@ejerciciosresueltos.com>
12649: 0 string \<?xml\ version="
12650: >15 string >\0
12651: >>23 search/400 \<svg SVG Scalable Vector Graphics image
12652: !:mime image/svg+xml
12653: >>23 search/400 \<gnc-v2 GnuCash file
12654: !:mime application/x-gnucash
12655:
12656: # Sitemap file
12657: 0 string \<?xml\ version="
12658: >15 string >\0
12659: >>23 search/400 \<urlset XML Sitemap document text
12660: !:mime application/xml-sitemap
12661:
12662: #------------------------------------------------------------------------------
12663: # sgml: file(1) magic for Standard Generalized Markup Language
12664: # HyperText Markup Language (HTML) is an SGML document type,
12665: # from Daniel Quinlan (quinlan@yggdrasil.com)
12666: # adapted to string extenstions by Anthon van der Neut <anthon@mnt.org)
12667: 0 search/1/cB \<!doctype\ html HTML document text
12668: !:mime text/html
12669: 0 search/1/cb \<head HTML document text
12670: !:mime text/html
12671: 0 search/1/cb \<title HTML document text
12672: !:mime text/html
12673: 0 search/1/cb \<html HTML document text
12674: !:mime text/html
12675:
12676: # Extensible markup language (XML), a subset of SGML
12677: # from Marc Prud'hommeaux (marc@apocalypse.org)
12678: 0 search/1/cb \<?xml XML document text
12679: !:mime application/xml
12680: 0 string \<?xml\ version\ " XML
12681: !:mime application/xml
12682: 0 string \<?xml\ version=" XML
12683: !:mime application/xml
12684: >15 search/1 >\0 %.3s document text
12685: >>23 search/1 \<xsl:stylesheet (XSL stylesheet)
12686: >>24 search/1 \<xsl:stylesheet (XSL stylesheet)
12687: 0 string \<?xml\ version=' XML
12688: !:mime application/xml
12689: >15 search/1 >\0 %.3s document text
12690: >>23 search/1 \<xsl:stylesheet (XSL stylesheet)
12691: >>24 search/1 \<xsl:stylesheet (XSL stylesheet)
12692: 0 search/1/b \<?xml XML document text
12693: !:mime application/xml
12694: 0 search/1/b \<?XML broken XML document text
12695: !:mime application/xml
12696:
12697:
12698: # SGML, mostly from rph@sq
12699: 0 search/1/cb \<!doctype exported SGML document text
12700: 0 search/1/cb \<!subdoc exported SGML subdocument text
12701: 0 search/1/cb \<!-- exported SGML document text
12702:
12703: # Web browser cookie files
12704: # (Mozilla, Galeon, Netscape 4, Konqueror..)
12705: # Ulf Harnhammar <ulfh@update.uu.se>
12706: 0 search/1 #\ HTTP\ Cookie\ File Web browser cookie text
12707: 0 search/1 #\ Netscape\ HTTP\ Cookie\ File Netscape cookie text
12708: 0 search/1 #\ KDE\ Cookie\ File Konqueror cookie text
12709:
12710: #------------------------------------------------------------------------
12711: # file(1) magic for sharc files
12712: #
12713: # SHARC DSP, MIDI SysEx and RiscOS filetype definitions added by
12714: # FutureGroove Music (dsp@futuregroove.de)
12715:
12716: #------------------------------------------------------------------------
12717: #0 string Draw RiscOS Drawfile
12718: #0 string PACK RiscOS PackdDir archive
12719:
12720: #------------------------------------------------------------------------
12721: # SHARC DSP stuff (based on the FGM SHARC DSP SDK)
12722:
12723: #0 string =! Assembler source
12724: #0 string Analog ADi asm listing file
12725: 0 string .SYSTEM SHARC architecture file
12726: 0 string .system SHARC architecture file
12727:
12728: 0 leshort 0x521C SHARC COFF binary
12729: >2 leshort >1 , %hd sections
12730: >>12 lelong >0 , not stripped
12731:
12732: #------------------------------------------------------------------------------
12733: # sinclair: file(1) sinclair QL
12734:
12735: # additions to /etc/magic by Thomas M. Ott (ThMO)
12736:
12737: # Sinclair QL floppy disk formats (ThMO)
12738: 0 string =QL5 QL disk dump data,
12739: >3 string =A 720 KB,
12740: >3 string =B 1.44 MB,
12741: >3 string =C 3.2 MB,
12742: >4 string >\0 label:%.10s
12743:
12744: # Sinclair QL OS dump (ThMO)
12745: # (NOTE: if `file' would be able to use indirect references in a endian format
12746: # differing from the natural host format, this could be written more
12747: # reliably and faster...)
12748: #
12749: # we *can't* lookup QL OS code dumps, because `file' is UNABLE to read more
12750: # than the first 8K of a file... #-(
12751: #
12752: #0 belong =0x30000
12753: #>49124 belong <47104
12754: #>>49128 belong <47104
12755: #>>>49132 belong <47104
12756: #>>>>49136 belong <47104 QL OS dump data,
12757: #>>>>>49148 string >\0 type %.3s,
12758: #>>>>>49142 string >\0 version %.4s
12759:
12760: # Sinclair QL firmware executables (ThMO)
12761: 0 string NqNqNq`\004 QL firmware executable (BCPL)
12762:
12763: # Sinclair QL libraries (was ThMO)
12764: 0 beshort 0xFB01 QDOS object
12765: >2 pstring x '%s'
12766:
12767: # Sinclair QL executables (was ThMO)
12768: 4 belong 0x4AFB QDOS executable
12769: >9 pstring x '%s'
12770:
12771: # Sinclair QL ROM (ThMO)
12772: 0 belong =0x4AFB0001 QL plugin-ROM data,
12773: >9 pstring =\0 un-named
12774: >9 pstring >\0 named: %s
12775: # Type: SiSU Markup Language
12776: # URL: http://www.sisudoc.org/
12777: # From: Ralph Amissah <ralph.amissah@gmail.com>
12778:
12779: 0 regex \^%?[\ \t]*SiSU[\ \t]+insert SiSU text insert
12780: >5 regex [0-9.]+ %s
12781:
12782: 0 regex \^%[\ \t]+SiSU[\ \t]+master SiSU text master
12783: >5 regex [0-9.]+ %s
12784:
12785: 0 regex \^%?[\ \t]*SiSU[\ \t]+text SiSU text
12786: >5 regex [0-9.]+ %s
12787:
12788: 0 regex \^%?[\ \t]*SiSU[\ \t][0-9.]+ SiSU text
12789: >5 regex [0-9.]+ %s
12790:
12791: 0 regex \^%*[\ \t]*sisu-[0-9.]+ SiSU text
12792: >5 regex [0-9.]+ %s
12793: #------------------------------------------------------------------------------
12794: # Sketch Drawings: http://sketch.sourceforge.net/
12795: # From: Edwin Mons <e@ik.nu>
12796: 0 search/1 ##Sketch Sketch document text
12797:
12798: #-----------------------------------------------
12799: # GNU Smalltalk image, starting at version 1.6.2
12800: # From: catull_us@yahoo.com
12801: #
12802: 0 string GSTIm\0\0 GNU SmallTalk
12803: # little-endian
12804: >7 byte&1 =0 LE image version
12805: >>10 byte x %d.
12806: >>9 byte x \b%d.
12807: >>8 byte x \b%d
12808: #>>12 lelong x , data: %ld
12809: #>>16 lelong x , table: %ld
12810: #>>20 lelong x , memory: %ld
12811: # big-endian
12812: >7 byte&1 =1 BE image version
12813: >>8 byte x %d.
12814: >>9 byte x \b%d.
12815: >>10 byte x \b%d
12816: #>>12 belong x , data: %ld
12817: #>>16 belong x , table: %ld
12818: #>>20 belong x , memory: %ld
12819:
12820:
12821:
12822: #------------------------------------------------------------------------------
12823: # sniffer: file(1) magic for packet capture files
12824: #
12825: # From: guy@alum.mit.edu (Guy Harris)
12826: #
12827:
12828: #
12829: # Microsoft Network Monitor 1.x capture files.
12830: #
12831: 0 string RTSS NetMon capture file
12832: >5 byte x - version %d
12833: >4 byte x \b.%d
12834: >6 leshort 0 (Unknown)
12835: >6 leshort 1 (Ethernet)
12836: >6 leshort 2 (Token Ring)
12837: >6 leshort 3 (FDDI)
12838: >6 leshort 4 (ATM)
12839:
12840: #
12841: # Microsoft Network Monitor 2.x capture files.
12842: #
12843: 0 string GMBU NetMon capture file
12844: >5 byte x - version %d
12845: >4 byte x \b.%d
12846: >6 leshort 0 (Unknown)
12847: >6 leshort 1 (Ethernet)
12848: >6 leshort 2 (Token Ring)
12849: >6 leshort 3 (FDDI)
12850: >6 leshort 4 (ATM)
12851:
12852: #
12853: # Network General Sniffer capture files.
12854: # Sorry, make that "Network Associates Sniffer capture files."
12855: # Sorry, make that "Network General old DOS Sniffer capture files."
12856: #
12857: 0 string TRSNIFF\ data\ \ \ \ \032 Sniffer capture file
12858: >33 byte 2 (compressed)
12859: >23 leshort x - version %d
12860: >25 leshort x \b.%d
12861: >32 byte 0 (Token Ring)
12862: >32 byte 1 (Ethernet)
12863: >32 byte 2 (ARCNET)
12864: >32 byte 3 (StarLAN)
12865: >32 byte 4 (PC Network broadband)
12866: >32 byte 5 (LocalTalk)
12867: >32 byte 6 (Znet)
12868: >32 byte 7 (Internetwork Analyzer)
12869: >32 byte 9 (FDDI)
12870: >32 byte 10 (ATM)
12871:
12872: #
12873: # Cinco Networks NetXRay capture files.
12874: # Sorry, make that "Network General Sniffer Basic capture files."
12875: # Sorry, make that "Network Associates Sniffer Basic capture files."
12876: # Sorry, make that "Network Associates Sniffer Basic, and Windows
12877: # Sniffer Pro", capture files."
12878: # Sorry, make that "Network General Sniffer capture files."
12879: #
12880: 0 string XCP\0 NetXRay capture file
12881: >4 string >\0 - version %s
12882: >44 leshort 0 (Ethernet)
12883: >44 leshort 1 (Token Ring)
12884: >44 leshort 2 (FDDI)
12885: >44 leshort 3 (WAN)
12886: >44 leshort 8 (ATM)
12887: >44 leshort 9 (802.11)
12888:
12889: #
12890: # "libpcap" capture files.
12891: # (We call them "tcpdump capture file(s)" for now, as "tcpdump" is
12892: # the main program that uses that format, but there are other programs
12893: # that use "libpcap", or that use the same capture file format.)
12894: #
12895: 0 ubelong 0xa1b2c3d4 tcpdump capture file (big-endian)
12896: >4 beshort x - version %d
12897: >6 beshort x \b.%d
12898: >20 belong 0 (No link-layer encapsulation
12899: >20 belong 1 (Ethernet
12900: >20 belong 2 (3Mb Ethernet
12901: >20 belong 3 (AX.25
12902: >20 belong 4 (ProNET
12903: >20 belong 5 (CHAOS
12904: >20 belong 6 (Token Ring
12905: >20 belong 7 (BSD ARCNET
12906: >20 belong 8 (SLIP
12907: >20 belong 9 (PPP
12908: >20 belong 10 (FDDI
12909: >20 belong 11 (RFC 1483 ATM
12910: >20 belong 12 (raw IP
12911: >20 belong 13 (BSD/OS SLIP
12912: >20 belong 14 (BSD/OS PPP
12913: >20 belong 19 (Linux ATM Classical IP
12914: >20 belong 50 (PPP or Cisco HDLC
12915: >20 belong 51 (PPP-over-Ethernet
12916: >20 belong 99 (Symantec Enterprise Firewall
12917: >20 belong 100 (RFC 1483 ATM
12918: >20 belong 101 (raw IP
12919: >20 belong 102 (BSD/OS SLIP
12920: >20 belong 103 (BSD/OS PPP
12921: >20 belong 104 (BSD/OS Cisco HDLC
12922: >20 belong 105 (802.11
12923: >20 belong 106 (Linux Classical IP over ATM
12924: >20 belong 107 (Frame Relay
12925: >20 belong 108 (OpenBSD loopback
12926: >20 belong 109 (OpenBSD IPsec encrypted
12927: >20 belong 112 (Cisco HDLC
12928: >20 belong 113 (Linux "cooked"
12929: >20 belong 114 (LocalTalk
12930: >20 belong 117 (OpenBSD PFLOG
12931: >20 belong 119 (802.11 with Prism header
12932: >20 belong 122 (RFC 2625 IP over Fibre Channel
12933: >20 belong 123 (SunATM
12934: >20 belong 127 (802.11 with radiotap header
12935: >20 belong 129 (Linux ARCNET
12936: >20 belong 138 (Apple IP over IEEE 1394
12937: >20 belong 140 (MTP2
12938: >20 belong 141 (MTP3
12939: >20 belong 143 (DOCSIS
12940: >20 belong 144 (IrDA
12941: >20 belong 147 (Private use 0
12942: >20 belong 148 (Private use 1
12943: >20 belong 149 (Private use 2
12944: >20 belong 150 (Private use 3
12945: >20 belong 151 (Private use 4
12946: >20 belong 152 (Private use 5
12947: >20 belong 153 (Private use 6
12948: >20 belong 154 (Private use 7
12949: >20 belong 155 (Private use 8
12950: >20 belong 156 (Private use 9
12951: >20 belong 157 (Private use 10
12952: >20 belong 158 (Private use 11
12953: >20 belong 159 (Private use 12
12954: >20 belong 160 (Private use 13
12955: >20 belong 161 (Private use 14
12956: >20 belong 162 (Private use 15
12957: >20 belong 163 (802.11 with AVS header
12958: >16 belong x \b, capture length %d)
12959: 0 ulelong 0xa1b2c3d4 tcpdump capture file (little-endian)
12960: >4 leshort x - version %d
12961: >6 leshort x \b.%d
12962: >20 lelong 0 (No link-layer encapsulation
12963: >20 lelong 1 (Ethernet
12964: >20 lelong 2 (3Mb Ethernet
12965: >20 lelong 3 (AX.25
12966: >20 lelong 4 (ProNET
12967: >20 lelong 5 (CHAOS
12968: >20 lelong 6 (Token Ring
12969: >20 lelong 7 (ARCNET
12970: >20 lelong 8 (SLIP
12971: >20 lelong 9 (PPP
12972: >20 lelong 10 (FDDI
12973: >20 lelong 11 (RFC 1483 ATM
12974: >20 lelong 12 (raw IP
12975: >20 lelong 13 (BSD/OS SLIP
12976: >20 lelong 14 (BSD/OS PPP
12977: >20 lelong 19 (Linux ATM Classical IP
12978: >20 lelong 50 (PPP or Cisco HDLC
12979: >20 lelong 51 (PPP-over-Ethernet
12980: >20 lelong 99 (Symantec Enterprise Firewall
12981: >20 lelong 100 (RFC 1483 ATM
12982: >20 lelong 101 (raw IP
12983: >20 lelong 102 (BSD/OS SLIP
12984: >20 lelong 103 (BSD/OS PPP
12985: >20 lelong 104 (BSD/OS Cisco HDLC
12986: >20 lelong 105 (802.11
12987: >20 lelong 106 (Linux Classical IP over ATM
12988: >20 lelong 107 (Frame Relay
12989: >20 lelong 108 (OpenBSD loopback
12990: >20 lelong 109 (OpenBSD IPsec encrypted
12991: >20 lelong 112 (Cisco HDLC
12992: >20 lelong 113 (Linux "cooked"
12993: >20 lelong 114 (LocalTalk
12994: >20 lelong 117 (OpenBSD PFLOG
12995: >20 lelong 119 (802.11 with Prism header
12996: >20 lelong 122 (RFC 2625 IP over Fibre Channel
12997: >20 lelong 123 (SunATM
12998: >20 lelong 127 (802.11 with radiotap header
12999: >20 lelong 129 (Linux ARCNET
13000: >20 lelong 138 (Apple IP over IEEE 1394
13001: >20 lelong 140 (MTP2
13002: >20 lelong 141 (MTP3
13003: >20 lelong 143 (DOCSIS
13004: >20 lelong 144 (IrDA
13005: >20 lelong 147 (Private use 0
13006: >20 lelong 148 (Private use 1
13007: >20 lelong 149 (Private use 2
13008: >20 lelong 150 (Private use 3
13009: >20 lelong 151 (Private use 4
13010: >20 lelong 152 (Private use 5
13011: >20 lelong 153 (Private use 6
13012: >20 lelong 154 (Private use 7
13013: >20 lelong 155 (Private use 8
13014: >20 lelong 156 (Private use 9
13015: >20 lelong 157 (Private use 10
13016: >20 lelong 158 (Private use 11
13017: >20 lelong 159 (Private use 12
13018: >20 lelong 160 (Private use 13
13019: >20 lelong 161 (Private use 14
13020: >20 lelong 162 (Private use 15
13021: >20 lelong 163 (802.11 with AVS header
13022: >16 lelong x \b, capture length %d)
13023:
13024: #
13025: # "libpcap"-with-Alexey-Kuznetsov's-patches capture files.
13026: # (We call them "tcpdump capture file(s)" for now, as "tcpdump" is
13027: # the main program that uses that format, but there are other programs
13028: # that use "libpcap", or that use the same capture file format.)
13029: #
13030: 0 ubelong 0xa1b2cd34 extended tcpdump capture file (big-endian)
13031: >4 beshort x - version %d
13032: >6 beshort x \b.%d
13033: >20 belong 0 (No link-layer encapsulation
13034: >20 belong 1 (Ethernet
13035: >20 belong 2 (3Mb Ethernet
13036: >20 belong 3 (AX.25
13037: >20 belong 4 (ProNET
13038: >20 belong 5 (CHAOS
13039: >20 belong 6 (Token Ring
13040: >20 belong 7 (ARCNET
13041: >20 belong 8 (SLIP
13042: >20 belong 9 (PPP
13043: >20 belong 10 (FDDI
13044: >20 belong 11 (RFC 1483 ATM
13045: >20 belong 12 (raw IP
13046: >20 belong 13 (BSD/OS SLIP
13047: >20 belong 14 (BSD/OS PPP
13048: >16 belong x \b, capture length %d)
13049: 0 ulelong 0xa1b2cd34 extended tcpdump capture file (little-endian)
13050: >4 leshort x - version %d
13051: >6 leshort x \b.%d
13052: >20 lelong 0 (No link-layer encapsulation
13053: >20 lelong 1 (Ethernet
13054: >20 lelong 2 (3Mb Ethernet
13055: >20 lelong 3 (AX.25
13056: >20 lelong 4 (ProNET
13057: >20 lelong 5 (CHAOS
13058: >20 lelong 6 (Token Ring
13059: >20 lelong 7 (ARCNET
13060: >20 lelong 8 (SLIP
13061: >20 lelong 9 (PPP
13062: >20 lelong 10 (FDDI
13063: >20 lelong 11 (RFC 1483 ATM
13064: >20 lelong 12 (raw IP
13065: >20 lelong 13 (BSD/OS SLIP
13066: >20 lelong 14 (BSD/OS PPP
13067: >16 lelong x \b, capture length %d)
13068:
13069: #
13070: # AIX "iptrace" capture files.
13071: #
13072: 0 string iptrace\ 1.0 "iptrace" capture file
13073: 0 string iptrace\ 2.0 "iptrace" capture file
13074:
13075: #
13076: # Novell LANalyzer capture files.
13077: #
13078: 0 leshort 0x1001 LANalyzer capture file
13079: 0 leshort 0x1007 LANalyzer capture file
13080:
13081: #
13082: # HP-UX "nettl" capture files.
13083: #
13084: 0 string \x54\x52\x00\x64\x00 "nettl" capture file
13085:
13086: #
13087: # RADCOM WAN/LAN Analyzer capture files.
13088: #
13089: 0 string \x42\xd2\x00\x34\x12\x66\x22\x88 RADCOM WAN/LAN Analyzer capture file
13090:
13091: #
13092: # NetStumbler log files. Not really packets, per se, but about as
13093: # close as you can get. These are log files from NetStumbler, a
13094: # Windows program, that scans for 802.11b networks.
13095: #
13096: 0 string NetS NetStumbler log file
13097: >8 lelong x \b, %d stations found
13098:
13099: #
13100: # EtherPeek/AiroPeek "version 9" capture files.
13101: #
13102: 0 string \177ver EtherPeek/AiroPeek capture file
13103:
13104: #
13105: # Visual Networks traffic capture files.
13106: #
13107: 0 string \x05VNF Visual Networks traffic capture file
13108:
13109: #
13110: # Network Instruments Observer capture files.
13111: #
13112: 0 string ObserverPktBuffe Network Instruments Observer capture file
13113:
13114: #
13115: # Files from Accellent Group's 5View products.
13116: #
13117: 0 string \xaa\xaa\xaa\xaa 5View capture file
13118: #------------------------------------------------------------------------------
13119: # softquad: file(1) magic for SoftQuad Publishing Software
13120: #
13121: # Author/Editor and RulesBuilder
13122: #
13123: # XXX - byte order?
13124: #
13125: 0 string \<!SQ\ DTD> Compiled SGML rules file
13126: >9 string >\0 Type %s
13127: 0 string \<!SQ\ A/E> A/E SGML Document binary
13128: >9 string >\0 Type %s
13129: 0 string \<!SQ\ STS> A/E SGML binary styles file
13130: >9 string >\0 Type %s
13131: 0 short 0xc0de Compiled PSI (v1) data
13132: 0 short 0xc0da Compiled PSI (v2) data
13133: >3 string >\0 (%s)
13134: # Binary sqtroff font/desc files...
13135: 0 short 0125252 SoftQuad DESC or font file binary
13136: >2 short >0 - version %d
13137: # Bitmaps...
13138: 0 search/1 SQ\ BITMAP1 SoftQuad Raster Format text
13139: #0 string SQ\ BITMAP2 SoftQuad Raster Format data
13140: # sqtroff intermediate language (replacement for ditroff int. lang.)
13141: 0 string X\ SoftQuad troff Context intermediate
13142: >2 string 495 for AT&T 495 laser printer
13143: >2 string hp for Hewlett-Packard LaserJet
13144: >2 string impr for IMAGEN imPRESS
13145: >2 string ps for PostScript
13146:
13147: # From: Michael Piefel <piefel@debian.org>
13148: # sqtroff intermediate language (replacement for ditroff int. lang.)
13149: 0 string X\ 495 SoftQuad troff Context intermediate for AT&T 495 laser printer
13150: 0 string X\ hp SoftQuad troff Context intermediate for HP LaserJet
13151: 0 string X\ impr SoftQuad troff Context intermediate for IMAGEN imPRESS
13152: 0 string X\ ps SoftQuad troff Context intermediate for PostScript
13153:
13154: #------------------------------------------------------------------------------
13155: # spec: file(1) magic for SPEC raw results (*.raw, *.rsf)
13156: #
13157: # Cloyce D. Spradling <cloyce@headgear.org>
13158:
13159: 0 string spec SPEC
13160: >4 string .cpu CPU
13161: >>8 string <: \b%.4s
13162: >>12 string . raw result text
13163:
13164: 17 string version=SPECjbb SPECjbb
13165: >32 string <: \b%.4s
13166: >>37 string <: v%.4s raw result text
13167:
13168: 0 string BEGIN\040SPECWEB SPECweb
13169: >13 string <: \b%.2s
13170: >>15 string _SSL \b_SSL
13171: >>>20 string <: v%.4s raw result text
13172: >>16 string <: v%.4s raw result text
13173:
13174: #------------------------------------------------------------------------------
13175: # spectrum: file(1) magic for Spectrum emulator files.
13176: #
13177: # John Elliott <jce@seasip.demon.co.uk>
13178:
13179: #
13180: # Spectrum +3DOS header
13181: #
13182: 0 string PLUS3DOS\032 Spectrum +3 data
13183: >15 byte 0 - BASIC program
13184: >15 byte 1 - number array
13185: >15 byte 2 - character array
13186: >15 byte 3 - memory block
13187: >>16 belong 0x001B0040 (screen)
13188: >15 byte 4 - Tasword document
13189: >15 string TAPEFILE - ZXT tapefile
13190: #
13191: # Tape file. This assumes the .TAP starts with a Spectrum-format header,
13192: # which nearly all will.
13193: #
13194: 0 string \023\000\000 Spectrum .TAP data
13195: >4 string x "%-10.10s"
13196: >3 byte 0 - BASIC program
13197: >3 byte 1 - number array
13198: >3 byte 2 - character array
13199: >3 byte 3 - memory block
13200: >>14 belong 0x001B0040 (screen)
13201:
13202: # The following three blocks are from pak21-spectrum@srcf.ucam.org
13203: # TZX tape images
13204: 0 string ZXTape!\x1a Spectrum .TZX data
13205: >8 byte x version %d
13206: >9 byte x \b.%d
13207:
13208: # RZX input recording files
13209: 0 string RZX! Spectrum .RZX data
13210: >4 byte x version %d
13211: >5 byte x \b.%d
13212:
13213: # Floppy disk images
13214: 0 string MV\ -\ CPCEMU\ Disk-Fil Amstrad/Spectrum .DSK data
13215: 0 string MV\ -\ CPC\ format\ Dis Amstrad/Spectrum DU54 .DSK data
13216: 0 string EXTENDED\ CPC\ DSK\ Fil Amstrad/Spectrum Extended .DSK data
13217: 0 string SINCLAIR Spectrum .SCL Betadisk image
13218:
13219: # Hard disk images
13220: 0 string RS-IDE\x1a Spectrum .HDF hard disk image
13221: >7 byte x \b, version 0x%02x
13222:
13223: #------------------------------------------------------------------------------
13224: # sql: file(1) magic for SQL files
13225: #
13226: # From: "Marty Leisner" <mleisner@eng.mc.xerox.com>
13227: # Recognize some MySQL files.
13228: #
13229: 0 beshort 0xfe01 MySQL table definition file
13230: >2 byte x Version %d
13231: 0 belong&0xffffff00 0xfefe0300 MySQL MISAM index file
13232: >3 byte x Version %d
13233: 0 belong&0xffffff00 0xfefe0700 MySQL MISAM compressed data file
13234: >3 byte x Version %d
13235: 0 belong&0xffffff00 0xfefe0500 MySQL ISAM index file
13236: >3 byte x Version %d
13237: 0 belong&0xffffff00 0xfefe0600 MySQL ISAM compressed data file
13238: >3 byte x Version %d
13239: 0 string \376bin MySQL replication log
13240:
13241: #------------------------------------------------------------------------------
13242: # iRiver H Series database file
13243: # From Ken Guest <ken@linux.ie>
13244: # As observed from iRivNavi.iDB and unencoded firmware
13245: #
13246: 0 string iRivDB iRiver Database file
13247: >11 string >\0 Version %s
13248: >39 string iHP-100 [H Series]
13249:
13250: #------------------------------------------------------------------------------
13251: # SQLite database files
13252: # Ken Guest <ken@linux.ie>, Ty Sarna, Zack Weinberg
13253: #
13254: # Version 1 used GDBM internally; its files cannot be distinguished
13255: # from other GDBM files.
13256: #
13257: # Version 2 used this format:
13258: 0 string **\ This\ file\ contains\ an\ SQLite SQLite 2.x database
13259:
13260: # Version 3 of SQLite allows applications to embed their own "user version"
13261: # number in the database. Detect this and distinguish those files.
13262:
13263: 0 string SQLite\ format\ 3
13264: >60 string _MTN Monotone source repository
13265: >60 belong !0 SQLite 3.x database, user version %u
13266: >60 belong 0 SQLite 3.x database
13267:
13268: #------------------------------------------------------------------------------
13269: # sun: file(1) magic for Sun machines
13270: #
13271: # Values for big-endian Sun (MC680x0, SPARC) binaries on pre-5.x
13272: # releases. (5.x uses ELF.)
13273: #
13274: 0 belong&077777777 0600413 sparc demand paged
13275: >0 byte &0x80
13276: >>20 belong <4096 shared library
13277: >>20 belong =4096 dynamically linked executable
13278: >>20 belong >4096 dynamically linked executable
13279: >0 byte ^0x80 executable
13280: >16 belong >0 not stripped
13281:
13282: 0 belong&077777777 0600410 sparc pure
13283: >0 byte &0x80 dynamically linked executable
13284: >0 byte ^0x80 executable
13285: >16 belong >0 not stripped
13286:
13287: 0 belong&077777777 0600407 sparc
13288: >0 byte &0x80 dynamically linked executable
13289: >0 byte ^0x80 executable
13290: >16 belong >0 not stripped
13291:
13292: 0 belong&077777777 0400413 mc68020 demand paged
13293: >0 byte &0x80
13294: >>20 belong <4096 shared library
13295: >>20 belong =4096 dynamically linked executable
13296: >>20 belong >4096 dynamically linked executable
13297: >0 byte ^0x80 executable
13298: >16 belong >0 not stripped
13299:
13300: 0 belong&077777777 0400410 mc68020 pure
13301: >0 byte &0x80 dynamically linked executable
13302: >0 byte ^0x80 executable
13303: >16 belong >0 not stripped
13304:
13305: 0 belong&077777777 0400407 mc68020
13306: >0 byte &0x80 dynamically linked executable
13307: >0 byte ^0x80 executable
13308: >16 belong >0 not stripped
13309:
13310: 0 belong&077777777 0200413 mc68010 demand paged
13311: >0 byte &0x80
13312: >>20 belong <4096 shared library
13313: >>20 belong =4096 dynamically linked executable
13314: >>20 belong >4096 dynamically linked executable
13315: >0 byte ^0x80 executable
13316: >16 belong >0 not stripped
13317:
13318: 0 belong&077777777 0200410 mc68010 pure
13319: >0 byte &0x80 dynamically linked executable
13320: >0 byte ^0x80 executable
13321: >16 belong >0 not stripped
13322:
13323: 0 belong&077777777 0200407 mc68010
13324: >0 byte &0x80 dynamically linked executable
13325: >0 byte ^0x80 executable
13326: >16 belong >0 not stripped
13327:
13328: # reworked these to avoid anything beginning with zero becoming "old sun-2"
13329: 0 belong 0407 old sun-2 executable
13330: >16 belong >0 not stripped
13331: 0 belong 0410 old sun-2 pure executable
13332: >16 belong >0 not stripped
13333: 0 belong 0413 old sun-2 demand paged executable
13334: >16 belong >0 not stripped
13335:
13336: #
13337: # Core files. "SPARC 4.x BCP" means "core file from a SunOS 4.x SPARC
13338: # binary executed in compatibility mode under SunOS 5.x".
13339: #
13340: 0 belong 0x080456 SunOS core file
13341: >4 belong 432 (SPARC)
13342: >>132 string >\0 from '%s'
13343: >>116 belong =3 (quit)
13344: >>116 belong =4 (illegal instruction)
13345: >>116 belong =5 (trace trap)
13346: >>116 belong =6 (abort)
13347: >>116 belong =7 (emulator trap)
13348: >>116 belong =8 (arithmetic exception)
13349: >>116 belong =9 (kill)
13350: >>116 belong =10 (bus error)
13351: >>116 belong =11 (segmentation violation)
13352: >>116 belong =12 (bad argument to system call)
13353: >>116 belong =29 (resource lost)
13354: >>120 belong x (T=%dK,
13355: >>124 belong x D=%dK,
13356: >>128 belong x S=%dK)
13357: >4 belong 826 (68K)
13358: >>128 string >\0 from '%s'
13359: >4 belong 456 (SPARC 4.x BCP)
13360: >>152 string >\0 from '%s'
13361: # Sun SunPC
13362: 0 long 0xfa33c08e SunPC 4.0 Hard Disk
13363: 0 string #SUNPC_CONFIG SunPC 4.0 Properties Values
13364: # Sun snoop (see RFC 1761, which describes the capture file format).
13365: #
13366: 0 string snoop Snoop capture file
13367: >8 belong >0 - version %ld
13368: >12 belong 0 (IEEE 802.3)
13369: >12 belong 1 (IEEE 802.4)
13370: >12 belong 2 (IEEE 802.5)
13371: >12 belong 3 (IEEE 802.6)
13372: >12 belong 4 (Ethernet)
13373: >12 belong 5 (HDLC)
13374: >12 belong 6 (Character synchronous)
13375: >12 belong 7 (IBM channel-to-channel adapter)
13376: >12 belong 8 (FDDI)
13377: >12 belong 9 (Unknown)
13378:
13379: # Microsoft ICM color profile
13380: 36 string acspMSFT Microsoft ICM Color Profile
13381: # Sun KCMS
13382: 36 string acsp Kodak Color Management System, ICC Profile
13383:
13384: #---------------------------------------------------------------------------
13385: # The following entries have been tested by Duncan Laurie <duncan@sun.com> (a
13386: # lead Sun/Cobalt developer) who agrees that they are good and worthy of
13387: # inclusion.
13388:
13389: # Boot ROM images for Sun/Cobalt Linux server appliances
13390: 0 string Cobalt\ Networks\ Inc.\nFirmware\ v Paged COBALT boot rom
13391: >38 string x V%.4s
13392:
13393: # New format for Sun/Cobalt boot ROMs is annoying, it stores the version code
13394: # at the very end where file(1) can't get it.
13395: 0 string CRfs COBALT boot rom data (Flat boot rom or file system)
13396:
13397:
13398: #------------------------------------------------------------------------
13399: # sysex: file(1) magic for MIDI sysex files
13400: #
13401: #
13402: 0 byte 0xF0 SysEx File -
13403:
13404: # North American Group
13405: >1 byte 0x01 Sequential
13406: >1 byte 0x02 IDP
13407: >1 byte 0x03 OctavePlateau
13408: >1 byte 0x04 Moog
13409: >1 byte 0x05 Passport
13410: >1 byte 0x06 Lexicon
13411: >1 byte 0x07 Kurzweil/Future Retro
13412: >>3 byte 0x77 777
13413: >>4 byte 0x00 Bank
13414: >>4 byte 0x01 Song
13415: >>5 byte 0x0f 16
13416: >>5 byte 0x0e 15
13417: >>5 byte 0x0d 14
13418: >>5 byte 0x0c 13
13419: >>5 byte 0x0b 12
13420: >>5 byte 0x0a 11
13421: >>5 byte 0x09 10
13422: >>5 byte 0x08 9
13423: >>5 byte 0x07 8
13424: >>5 byte 0x06 7
13425: >>5 byte 0x05 6
13426: >>5 byte 0x04 5
13427: >>5 byte 0x03 4
13428: >>5 byte 0x02 3
13429: >>5 byte 0x01 2
13430: >>5 byte 0x00 1
13431: >>5 byte 0x10 (ALL)
13432: >>2 byte x \b, Channel %d
13433: >1 byte 0x08 Fender
13434: >1 byte 0x09 Gulbransen
13435: >1 byte 0x0a AKG
13436: >1 byte 0x0b Voyce
13437: >1 byte 0x0c Waveframe
13438: >1 byte 0x0d ADA
13439: >1 byte 0x0e Garfield
13440: >1 byte 0x0f Ensoniq
13441: >1 byte 0x10 Oberheim
13442: >>2 byte 0x06 Matrix 6 series
13443: >>3 byte 0x0A Dump (All)
13444: >>3 byte 0x01 Dump (Bank)
13445: >>4 belong 0x0002040E Matrix 1000
13446: >>>11 byte <2 User bank %d
13447: >>>11 byte >1 Preset bank %d
13448: >1 byte 0x11 Apple
13449: >1 byte 0x12 GreyMatter
13450: >1 byte 0x14 PalmTree
13451: >1 byte 0x15 JLCooper
13452: >1 byte 0x16 Lowrey
13453: >1 byte 0x17 AdamsSmith
13454: >1 byte 0x18 E-mu
13455: >1 byte 0x19 Harmony
13456: >1 byte 0x1a ART
13457: >1 byte 0x1b Baldwin
13458: >1 byte 0x1c Eventide
13459: >1 byte 0x1d Inventronics
13460: >1 byte 0x1f Clarity
13461:
13462: # European Group
13463: >1 byte 0x21 SIEL
13464: >1 byte 0x22 Synthaxe
13465: >1 byte 0x24 Hohner
13466: >1 byte 0x25 Twister
13467: >1 byte 0x26 Solton
13468: >1 byte 0x27 Jellinghaus
13469: >1 byte 0x28 Southworth
13470: >1 byte 0x29 PPG
13471: >1 byte 0x2a JEN
13472: >1 byte 0x2b SSL
13473: >1 byte 0x2c AudioVertrieb
13474:
13475: >1 byte 0x2f ELKA
13476: >>3 byte 0x09 EK-44
13477:
13478: >1 byte 0x30 Dynacord
13479: >1 byte 0x31 Jomox
13480: >1 byte 0x33 Clavia
13481: >1 byte 0x39 Soundcraft
13482: # Some Waldorf info from http://Stromeko.Synth.net/Downloads#WaldorfDocs
13483: >1 byte 0x3e Waldorf
13484: >>2 byte 0x00 microWave
13485: >>2 byte 0x0E microwave2 / XT
13486: >>2 byte 0x0F Q / Q+
13487: >>3 byte =0 (default id)
13488: >>3 byte >0 (
13489: >>>3 byte <0x7F \bdevice %d)
13490: >>>3 byte =0x7F \bbroadcast id)
13491: >>3 byte 0x7f Microwave I
13492: >>>4 byte 0x00 SNDR (Sound Request)
13493: >>>4 byte 0x10 SNDD (Sound Dump)
13494: >>>4 byte 0x20 SNDP (Sound Parameter Change)
13495: >>>4 byte 0x30 SNDQ (Sound Parameter Inquiry)
13496: >>>4 byte 0x70 BOOT (Sound Reserved)
13497: >>>4 byte 0x01 MULR (Multi Request)
13498: >>>4 byte 0x11 MULD (Multi Dump)
13499: >>>4 byte 0x21 MULP (Multi Parameter Change)
13500: >>>4 byte 0x31 MULQ (Multi Parameter Inquiry)
13501: >>>4 byte 0x71 OS (Multi Reserved)
13502: >>>4 byte 0x02 DRMR (Drum Map Request)
13503: >>>4 byte 0x12 DRMD (Drum Map Dump)
13504: >>>4 byte 0x22 DRMP (Drum Map Parameter Change)
13505: >>>4 byte 0x32 DRMQ (Drum Map Parameter Inquiry)
13506: >>>4 byte 0x72 BIN (Drum Map Reserved)
13507: >>>4 byte 0x03 PATR (Sequencer Pattern Request)
13508: >>>4 byte 0x13 PATD (Sequencer Pattern Dump)
13509: >>>4 byte 0x23 PATP (Sequencer Pattern Parameter Change)
13510: >>>4 byte 0x33 PATQ (Sequencer Pattern Parameter Inquiry)
13511: >>>4 byte 0x73 AFM (Sequencer Pattern Reserved)
13512: >>>4 byte 0x04 GLBR (Global Parameter Request)
13513: >>>4 byte 0x14 GLBD (Global Parameter Dump)
13514: >>>4 byte 0x24 GLBP (Global Parameter Parameter Change)
13515: >>>4 byte 0x34 GLBQ (Global Parameter Parameter Inquiry)
13516: >>>4 byte 0x07 MODR (Mode Parameter Request)
13517: >>>4 byte 0x17 MODD (Mode Parameter Dump)
13518: >>>4 byte 0x27 MODP (Mode Parameter Parameter Change)
13519: >>>4 byte 0x37 MODQ (Mode Parameter Parameter Inquiry)
13520: >>2 byte 0x10 microQ
13521: >>>4 byte 0x00 SNDR (Sound Request)
13522: >>>4 byte 0x10 SNDD (Sound Dump)
13523: >>>4 byte 0x20 SNDP (Sound Parameter Change)
13524: >>>4 byte 0x30 SNDQ (Sound Parameter Inquiry)
13525: >>>4 byte 0x70 (Sound Reserved)
13526: >>>4 byte 0x01 MULR (Multi Request)
13527: >>>4 byte 0x11 MULD (Multi Dump)
13528: >>>4 byte 0x21 MULP (Multi Parameter Change)
13529: >>>4 byte 0x31 MULQ (Multi Parameter Inquiry)
13530: >>>4 byte 0x71 OS (Multi Reserved)
13531: >>>4 byte 0x02 DRMR (Drum Map Request)
13532: >>>4 byte 0x12 DRMD (Drum Map Dump)
13533: >>>4 byte 0x22 DRMP (Drum Map Parameter Change)
13534: >>>4 byte 0x32 DRMQ (Drum Map Parameter Inquiry)
13535: >>>4 byte 0x72 BIN (Drum Map Reserved)
13536: >>>4 byte 0x04 GLBR (Global Parameter Request)
13537: >>>4 byte 0x14 GLBD (Global Parameter Dump)
13538: >>>4 byte 0x24 GLBP (Global Parameter Parameter Change)
13539: >>>4 byte 0x34 GLBQ (Global Parameter Parameter Inquiry)
13540: >>2 byte 0x11 rackAttack
13541: >>>4 byte 0x00 SNDR (Sound Parameter Request)
13542: >>>4 byte 0x10 SNDD (Sound Parameter Dump)
13543: >>>4 byte 0x20 SNDP (Sound Parameter Parameter Change)
13544: >>>4 byte 0x30 SNDQ (Sound Parameter Parameter Inquiry)
13545: >>>4 byte 0x01 PRGR (Program Parameter Request)
13546: >>>4 byte 0x11 PRGD (Program Parameter Dump)
13547: >>>4 byte 0x21 PRGP (Program Parameter Parameter Change)
13548: >>>4 byte 0x31 PRGQ (Program Parameter Parameter Inquiry)
13549: >>>4 byte 0x71 OS (Program Parameter Reserved)
13550: >>>4 byte 0x03 PATR (Pattern Parameter Request)
13551: >>>4 byte 0x13 PATD (Pattern Parameter Dump)
13552: >>>4 byte 0x23 PATP (Pattern Parameter Parameter Change)
13553: >>>4 byte 0x33 PATQ (Pattern Parameter Parameter Inquiry)
13554: >>>4 byte 0x04 GLBR (Global Parameter Request)
13555: >>>4 byte 0x14 GLBD (Global Parameter Dump)
13556: >>>4 byte 0x24 GLBP (Global Parameter Parameter Change)
13557: >>>4 byte 0x34 GLBQ (Global Parameter Parameter Inquiry)
13558: >>>4 byte 0x05 EFXR (FX Parameter Request)
13559: >>>4 byte 0x15 EFXD (FX Parameter Dump)
13560: >>>4 byte 0x25 EFXP (FX Parameter Parameter Change)
13561: >>>4 byte 0x35 EFXQ (FX Parameter Parameter Inquiry)
13562: >>>4 byte 0x07 MODR (Mode Command Request)
13563: >>>4 byte 0x17 MODD (Mode Command Dump)
13564: >>>4 byte 0x27 MODP (Mode Command Parameter Change)
13565: >>>4 byte 0x37 MODQ (Mode Command Parameter Inquiry)
13566: >>2 byte 0x03 Wave
13567: >>>4 byte 0x00 SBPR (Soundprogram)
13568: >>>4 byte 0x01 SAPR (Performance)
13569: >>>4 byte 0x02 SWAVE (Wave)
13570: >>>4 byte 0x03 SWTBL (Wave control table)
13571: >>>4 byte 0x04 SVT (Velocity Curve)
13572: >>>4 byte 0x05 STT (Tuning Table)
13573: >>>4 byte 0x06 SGLB (Global Parameters)
13574: >>>4 byte 0x07 SARRMAP (Performance Program Change Map)
13575: >>>4 byte 0x08 SBPRMAP (Sound Program Change Map)
13576: >>>4 byte 0x09 SBPRPAR (Sound Parameter)
13577: >>>4 byte 0x0A SARRPAR (Performance Parameter)
13578: >>>4 byte 0x0B SINSPAR (Instrument/External Parameter)
13579: >>>4 byte 0x0F SBULK (Bulk Switch on/off)
13580:
13581: # Japanese Group
13582: >1 byte 0x40 Kawai
13583: >>3 byte 0x20 K1
13584: >>3 byte 0x22 K4
13585:
13586: >1 byte 0x41 Roland
13587: >>3 byte 0x14 D-50
13588: >>3 byte 0x2b U-220
13589: >>3 byte 0x02 TR-707
13590:
13591: >1 byte 0x42 Korg
13592: >>3 byte 0x19 M1
13593:
13594: >1 byte 0x43 Yamaha
13595: >1 byte 0x44 Casio
13596: >1 byte 0x46 Kamiya
13597: >1 byte 0x47 Akai
13598: >1 byte 0x48 Victor
13599: >1 byte 0x49 Mesosha
13600: >1 byte 0x4b Fujitsu
13601: >1 byte 0x4c Sony
13602: >1 byte 0x4e Teac
13603: >1 byte 0x50 Matsushita
13604: >1 byte 0x51 Fostex
13605: >1 byte 0x52 Zoom
13606: >1 byte 0x54 Matsushita
13607: >1 byte 0x57 Acoustic tech. lab.
13608:
13609: >1 belong&0xffffff00 0x00007400 Ta Horng
13610: >1 belong&0xffffff00 0x00007500 e-Tek
13611: >1 belong&0xffffff00 0x00007600 E-Voice
13612: >1 belong&0xffffff00 0x00007700 Midisoft
13613: >1 belong&0xffffff00 0x00007800 Q-Sound
13614: >1 belong&0xffffff00 0x00007900 Westrex
13615: >1 belong&0xffffff00 0x00007a00 Nvidia*
13616: >1 belong&0xffffff00 0x00007b00 ESS
13617: >1 belong&0xffffff00 0x00007c00 Mediatrix
13618: >1 belong&0xffffff00 0x00007d00 Brooktree
13619: >1 belong&0xffffff00 0x00007e00 Otari
13620: >1 belong&0xffffff00 0x00007f00 Key Electronics
13621: >1 belong&0xffffff00 0x00010000 Shure
13622: >1 belong&0xffffff00 0x00010100 AuraSound
13623: >1 belong&0xffffff00 0x00010200 Crystal
13624: >1 belong&0xffffff00 0x00010300 Rockwell
13625: >1 belong&0xffffff00 0x00010400 Silicon Graphics
13626: >1 belong&0xffffff00 0x00010500 Midiman
13627: >1 belong&0xffffff00 0x00010600 PreSonus
13628: >1 belong&0xffffff00 0x00010800 Topaz
13629: >1 belong&0xffffff00 0x00010900 Cast Lightning
13630: >1 belong&0xffffff00 0x00010a00 Microsoft
13631: >1 belong&0xffffff00 0x00010b00 Sonic Foundry
13632: >1 belong&0xffffff00 0x00010c00 Line 6
13633: >1 belong&0xffffff00 0x00010d00 Beatnik Inc.
13634: >1 belong&0xffffff00 0x00010e00 Van Koerving
13635: >1 belong&0xffffff00 0x00010f00 Altech Systems
13636: >1 belong&0xffffff00 0x00011000 S & S Research
13637: >1 belong&0xffffff00 0x00011100 VLSI Technology
13638: >1 belong&0xffffff00 0x00011200 Chromatic
13639: >1 belong&0xffffff00 0x00011300 Sapphire
13640: >1 belong&0xffffff00 0x00011400 IDRC
13641: >1 belong&0xffffff00 0x00011500 Justonic Tuning
13642: >1 belong&0xffffff00 0x00011600 TorComp
13643: >1 belong&0xffffff00 0x00011700 Newtek Inc.
13644: >1 belong&0xffffff00 0x00011800 Sound Sculpture
13645: >1 belong&0xffffff00 0x00011900 Walker Technical
13646: >1 belong&0xffffff00 0x00011a00 Digital Harmony
13647: >1 belong&0xffffff00 0x00011b00 InVision
13648: >1 belong&0xffffff00 0x00011c00 T-Square
13649: >1 belong&0xffffff00 0x00011d00 Nemesys
13650: >1 belong&0xffffff00 0x00011e00 DBX
13651: >1 belong&0xffffff00 0x00011f00 Syndyne
13652: >1 belong&0xffffff00 0x00012000 Bitheadz
13653: >1 belong&0xffffff00 0x00012100 Cakewalk
13654: >1 belong&0xffffff00 0x00012200 Staccato
13655: >1 belong&0xffffff00 0x00012300 National Semicon.
13656: >1 belong&0xffffff00 0x00012400 Boom Theory
13657: >1 belong&0xffffff00 0x00012500 Virtual DSP Corp
13658: >1 belong&0xffffff00 0x00012600 Antares
13659: >1 belong&0xffffff00 0x00012700 Angel Software
13660: >1 belong&0xffffff00 0x00012800 St Louis Music
13661: >1 belong&0xffffff00 0x00012900 Lyrrus dba G-VOX
13662: >1 belong&0xffffff00 0x00012a00 Ashley Audio
13663: >1 belong&0xffffff00 0x00012b00 Vari-Lite
13664: >1 belong&0xffffff00 0x00012c00 Summit Audio
13665: >1 belong&0xffffff00 0x00012d00 Aureal Semicon.
13666: >1 belong&0xffffff00 0x00012e00 SeaSound
13667: >1 belong&0xffffff00 0x00012f00 U.S. Robotics
13668: >1 belong&0xffffff00 0x00013000 Aurisis
13669: >1 belong&0xffffff00 0x00013100 Nearfield Multimedia
13670: >1 belong&0xffffff00 0x00013200 FM7 Inc.
13671: >1 belong&0xffffff00 0x00013300 Swivel Systems
13672: >1 belong&0xffffff00 0x00013400 Hyperactive
13673: >1 belong&0xffffff00 0x00013500 MidiLite
13674: >1 belong&0xffffff00 0x00013600 Radical
13675: >1 belong&0xffffff00 0x00013700 Roger Linn
13676: >1 belong&0xffffff00 0x00013800 Helicon
13677: >1 belong&0xffffff00 0x00013900 Event
13678: >1 belong&0xffffff00 0x00013a00 Sonic Network
13679: >1 belong&0xffffff00 0x00013b00 Realtime Music
13680: >1 belong&0xffffff00 0x00013c00 Apogee Digital
13681:
13682: >1 belong&0xffffff00 0x00202b00 Medeli Electronics
13683: >1 belong&0xffffff00 0x00202c00 Charlie Lab
13684: >1 belong&0xffffff00 0x00202d00 Blue Chip Music
13685: >1 belong&0xffffff00 0x00202e00 BEE OH Corp
13686: >1 belong&0xffffff00 0x00202f00 LG Semicon America
13687: >1 belong&0xffffff00 0x00203000 TESI
13688: >1 belong&0xffffff00 0x00203100 EMAGIC
13689: >1 belong&0xffffff00 0x00203200 Behringer
13690: >1 belong&0xffffff00 0x00203300 Access Music
13691: >1 belong&0xffffff00 0x00203400 Synoptic
13692: >1 belong&0xffffff00 0x00203500 Hanmesoft Corp
13693: >1 belong&0xffffff00 0x00203600 Terratec
13694: >1 belong&0xffffff00 0x00203700 Proel SpA
13695: >1 belong&0xffffff00 0x00203800 IBK MIDI
13696: >1 belong&0xffffff00 0x00203900 IRCAM
13697: >1 belong&0xffffff00 0x00203a00 Propellerhead Software
13698: >1 belong&0xffffff00 0x00203b00 Red Sound Systems
13699: >1 belong&0xffffff00 0x00203c00 Electron ESI AB
13700: >1 belong&0xffffff00 0x00203d00 Sintefex Audio
13701: >1 belong&0xffffff00 0x00203e00 Music and More
13702: >1 belong&0xffffff00 0x00203f00 Amsaro
13703: >1 belong&0xffffff00 0x00204000 CDS Advanced Technology
13704: >1 belong&0xffffff00 0x00204100 Touched by Sound
13705: >1 belong&0xffffff00 0x00204200 DSP Arts
13706: >1 belong&0xffffff00 0x00204300 Phil Rees Music
13707: >1 belong&0xffffff00 0x00204400 Stamer Musikanlagen GmbH
13708: >1 belong&0xffffff00 0x00204500 Soundart
13709: >1 belong&0xffffff00 0x00204600 C-Mexx Software
13710: >1 belong&0xffffff00 0x00204700 Klavis Tech.
13711: >1 belong&0xffffff00 0x00204800 Noteheads AB
13712:
13713: 0 string T707 Roland TR-707 Data
13714: #------------------------------------------------------------------------------
13715: # teapot: file(1) magic for "teapot" spreadsheet
13716: #
13717: 0 string #!teapot\012xdr teapot work sheet (XDR format)
13718:
13719: #------------------------------------------------------------------------------
13720: # terminfo: file(1) magic for terminfo
13721: #
13722: # XXX - byte order for screen images?
13723: #
13724: 0 string \032\001 Compiled terminfo entry
13725: 0 short 0433 Curses screen image
13726: 0 short 0434 Curses screen image
13727: #------------------------------------------------------------------------------
13728: # tex: file(1) magic for TeX files
13729: #
13730: # XXX - needs byte-endian stuff (big-endian and little-endian DVI?)
13731: #
13732: # From <conklin@talisman.kaleida.com>
13733:
13734: # Although we may know the offset of certain text fields in TeX DVI
13735: # and font files, we can't use them reliably because they are not
13736: # zero terminated. [but we do anyway, christos]
13737: 0 string \367\002 TeX DVI file
13738: !:mime application/x-dvi
13739: >16 string >\0 (%s)
13740: 0 string \367\203 TeX generic font data
13741: 0 string \367\131 TeX packed font data
13742: >3 string >\0 (%s)
13743: 0 string \367\312 TeX virtual font data
13744: 0 search/1 This\ is\ TeX, TeX transcript text
13745: 0 search/1 This\ is\ METAFONT, METAFONT transcript text
13746:
13747: # There is no way to detect TeX Font Metric (*.tfm) files without
13748: # breaking them apart and reading the data. The following patterns
13749: # match most *.tfm files generated by METAFONT or afm2tfm.
13750: 2 string \000\021 TeX font metric data
13751: !:mime application/x-tex-tfm
13752: >33 string >\0 (%s)
13753: 2 string \000\022 TeX font metric data
13754: !:mime application/x-tex-tfm
13755: >33 string >\0 (%s)
13756:
13757: # Texinfo and GNU Info, from Daniel Quinlan (quinlan@yggdrasil.com)
13758: 0 search/1 \\input\ texinfo Texinfo source text
13759: !:mime text/x-texinfo
13760: 0 search/1 This\ is\ Info\ file GNU Info text
13761: !:mime text/x-info
13762:
13763: # TeX documents, from Daniel Quinlan (quinlan@yggdrasil.com)
13764: 0 search/400 \\input TeX document text
13765: !:mime text/x-tex
13766: 0 search/400 \\section LaTeX document text
13767: !:mime text/x-tex
13768: 0 search/400 \\setlength LaTeX document text
13769: !:mime text/x-tex
13770: 0 search/400 \\documentstyle LaTeX document text
13771: !:mime text/x-tex
13772: 0 search/400 \\chapter LaTeX document text
13773: !:mime text/x-tex
13774: 0 search/400 \\documentclass LaTeX 2e document text
13775: !:mime text/x-tex
13776: 0 search/400 \\relax LaTeX auxiliary file
13777: !:mime text/x-tex
13778: 0 search/400 \\contentsline LaTeX table of contents
13779: !:mime text/x-tex
13780: 0 search/400 %\ -*-latex-*- LaTeX document text
13781: !:mime text/x-tex
13782:
13783: # Tex document, from Hendrik Scholz <hendrik@scholz.net>
13784: 0 search/1 \\ifx TeX document text
13785:
13786: # Index and glossary files
13787: 0 search/400 \\indexentry LaTeX raw index file
13788: 0 search/400 \\begin{theindex} LaTeX sorted index
13789: 0 search/400 \\glossaryentry LaTeX raw glossary
13790: 0 search/400 \\begin{theglossary} LaTeX sorted glossary
13791: 0 search/400 This\ is\ makeindex Makeindex log file
13792:
13793: # End of TeX
13794:
13795: #------------------------------------------------------------------------------
13796: # file(1) magic for BibTex text files
13797: # From Hendrik Scholz <hendrik@scholz.net>
13798:
13799: 0 search/1/c @article{ BibTeX text file
13800: 0 search/1/c @book{ BibTeX text file
13801: 0 search/1/c @inbook{ BibTeX text file
13802: 0 search/1/c @incollection{ BibTeX text file
13803: 0 search/1/c @inproceedings{ BibTeX text file
13804: 0 search/1/c @manual{ BibTeX text file
13805: 0 search/1/c @misc{ BibTeX text file
13806: 0 search/1/c @preamble{ BibTeX text file
13807: 0 search/1/c @phdthesis{ BibTeX text file
13808: 0 search/1/c @techreport{ BibTeX text file
13809: 0 search/1/c @unpublished{ BibTeX text file
13810:
13811: 73 search/1 %%%\ \ BibTeX-file{ BibTex text file (with full header)
13812:
13813: 73 search/1 %%%\ \ @BibTeX-style-file{ BibTeX style text file (with full header)
13814:
13815: 0 search/1 %\ BibTeX\ standard\ bibliography\ BibTeX standard bibliography style text file
13816:
13817: 0 search/1 %\ BibTeX\ ` BibTeX custom bibliography style text file
13818:
13819: 0 search/1 @c\ @mapfile{ TeX font aliases text file
13820: #------------------------------------------------------------------------------
13821: # file(1) magic for tgif(1) files
13822: # From Hendrik Scholz <hendrik@scholz.net>
13823:
13824: 0 string %TGIF\ x Tgif file version %s
13825:
13826: # ------------------------------------------------------------------------
13827: # ti-8x: file(1) magic for the TI-8x and TI-9x Graphing Calculators.
13828: #
13829: # From: Ryan McGuire (rmcguire@freenet.columbus.oh.us).
13830: #
13831: # Update: Romain Lievin (roms@lpg.ticalc.org).
13832: #
13833: # NOTE: This list is not complete.
13834: # Files for the TI-80 and TI-81 are pretty rare. I'm not going to put the
13835: # program/group magic numbers in here because I cannot find any.
13836: 0 string **TI80** TI-80 Graphing Calculator File.
13837: 0 string **TI81** TI-81 Graphing Calculator File.
13838: #
13839: # Magic Numbers for the TI-73
13840: #
13841: 0 string **TI73** TI-73 Graphing Calculator
13842: >0x00003B byte 0x00 (real number)
13843: >0x00003B byte 0x01 (list)
13844: >0x00003B byte 0x02 (matrix)
13845: >0x00003B byte 0x03 (equation)
13846: >0x00003B byte 0x04 (string)
13847: >0x00003B byte 0x05 (program)
13848: >0x00003B byte 0x06 (assembly program)
13849: >0x00003B byte 0x07 (picture)
13850: >0x00003B byte 0x08 (gdb)
13851: >0x00003B byte 0x0C (complex number)
13852: >0x00003B byte 0x0F (window settings)
13853: >0x00003B byte 0x10 (zoom)
13854: >0x00003B byte 0x11 (table setup)
13855: >0x00003B byte 0x13 (backup)
13856:
13857: # Magic Numbers for the TI-82
13858: #
13859: 0 string **TI82** TI-82 Graphing Calculator
13860: >0x00003B byte 0x00 (real)
13861: >0x00003B byte 0x01 (list)
13862: >0x00003B byte 0x02 (matrix)
13863: >0x00003B byte 0x03 (Y-variable)
13864: >0x00003B byte 0x05 (program)
13865: >0x00003B byte 0x06 (protected prgm)
13866: >0x00003B byte 0x07 (picture)
13867: >0x00003B byte 0x08 (gdb)
13868: >0x00003B byte 0x0B (window settings)
13869: >0x00003B byte 0x0C (window settings)
13870: >0x00003B byte 0x0D (table setup)
13871: >0x00003B byte 0x0E (screenshot)
13872: >0x00003B byte 0x0F (backup)
13873: #
13874: # Magic Numbers for the TI-83
13875: #
13876: 0 string **TI83** TI-83 Graphing Calculator
13877: >0x00003B byte 0x00 (real)
13878: >0x00003B byte 0x01 (list)
13879: >0x00003B byte 0x02 (matrix)
13880: >0x00003B byte 0x03 (Y-variable)
13881: >0x00003B byte 0x04 (string)
13882: >0x00003B byte 0x05 (program)
13883: >0x00003B byte 0x06 (protected prgm)
13884: >0x00003B byte 0x07 (picture)
13885: >0x00003B byte 0x08 (gdb)
13886: >0x00003B byte 0x0B (window settings)
13887: >0x00003B byte 0x0C (window settings)
13888: >0x00003B byte 0x0D (table setup)
13889: >0x00003B byte 0x0E (screenshot)
13890: >0x00003B byte 0x13 (backup)
13891: #
13892: # Magic Numbers for the TI-83+
13893: #
13894: 0 string **TI83F* TI-83+ Graphing Calculator
13895: >0x00003B byte 0x00 (real number)
13896: >0x00003B byte 0x01 (list)
13897: >0x00003B byte 0x02 (matrix)
13898: >0x00003B byte 0x03 (equation)
13899: >0x00003B byte 0x04 (string)
13900: >0x00003B byte 0x05 (program)
13901: >0x00003B byte 0x06 (assembly program)
13902: >0x00003B byte 0x07 (picture)
13903: >0x00003B byte 0x08 (gdb)
13904: >0x00003B byte 0x0C (complex number)
13905: >0x00003B byte 0x0F (window settings)
13906: >0x00003B byte 0x10 (zoom)
13907: >0x00003B byte 0x11 (table setup)
13908: >0x00003B byte 0x13 (backup)
13909: >0x00003B byte 0x15 (application variable)
13910: >0x00003B byte 0x17 (group of variable)
13911:
13912: #
13913: # Magic Numbers for the TI-85
13914: #
13915: 0 string **TI85** TI-85 Graphing Calculator
13916: >0x00003B byte 0x00 (real number)
13917: >0x00003B byte 0x01 (complex number)
13918: >0x00003B byte 0x02 (real vector)
13919: >0x00003B byte 0x03 (complex vector)
13920: >0x00003B byte 0x04 (real list)
13921: >0x00003B byte 0x05 (complex list)
13922: >0x00003B byte 0x06 (real matrix)
13923: >0x00003B byte 0x07 (complex matrix)
13924: >0x00003B byte 0x08 (real constant)
13925: >0x00003B byte 0x09 (complex constant)
13926: >0x00003B byte 0x0A (equation)
13927: >0x00003B byte 0x0C (string)
13928: >0x00003B byte 0x0D (function GDB)
13929: >0x00003B byte 0x0E (polar GDB)
13930: >0x00003B byte 0x0F (parametric GDB)
13931: >0x00003B byte 0x10 (diffeq GDB)
13932: >0x00003B byte 0x11 (picture)
13933: >0x00003B byte 0x12 (program)
13934: >0x00003B byte 0x13 (range)
13935: >0x00003B byte 0x17 (window settings)
13936: >0x00003B byte 0x18 (window settings)
13937: >0x00003B byte 0x19 (window settings)
13938: >0x00003B byte 0x1A (window settings)
13939: >0x00003B byte 0x1B (zoom)
13940: >0x00003B byte 0x1D (backup)
13941: >0x00003B byte 0x1E (unknown)
13942: >0x00003B byte 0x2A (equation)
13943: >0x000032 string ZS4 - ZShell Version 4 File.
13944: >0x000032 string ZS3 - ZShell Version 3 File.
13945: #
13946: # Magic Numbers for the TI-86
13947: #
13948: 0 string **TI86** TI-86 Graphing Calculator
13949: >0x00003B byte 0x00 (real number)
13950: >0x00003B byte 0x01 (complex number)
13951: >0x00003B byte 0x02 (real vector)
13952: >0x00003B byte 0x03 (complex vector)
13953: >0x00003B byte 0x04 (real list)
13954: >0x00003B byte 0x05 (complex list)
13955: >0x00003B byte 0x06 (real matrix)
13956: >0x00003B byte 0x07 (complex matrix)
13957: >0x00003B byte 0x08 (real constant)
13958: >0x00003B byte 0x09 (complex constant)
13959: >0x00003B byte 0x0A (equation)
13960: >0x00003B byte 0x0C (string)
13961: >0x00003B byte 0x0D (function GDB)
13962: >0x00003B byte 0x0E (polar GDB)
13963: >0x00003B byte 0x0F (parametric GDB)
13964: >0x00003B byte 0x10 (diffeq GDB)
13965: >0x00003B byte 0x11 (picture)
13966: >0x00003B byte 0x12 (program)
13967: >0x00003B byte 0x13 (range)
13968: >0x00003B byte 0x17 (window settings)
13969: >0x00003B byte 0x18 (window settings)
13970: >0x00003B byte 0x19 (window settings)
13971: >0x00003B byte 0x1A (window settings)
13972: >0x00003B byte 0x1B (zoom)
13973: >0x00003B byte 0x1D (backup)
13974: >0x00003B byte 0x1E (unknown)
13975: >0x00003B byte 0x2A (equation)
13976: #
13977: # Magic Numbers for the TI-89
13978: #
13979: 0 string **TI89** TI-89 Graphing Calculator
13980: >0x000048 byte 0x00 (expression)
13981: >0x000048 byte 0x04 (list)
13982: >0x000048 byte 0x06 (matrix)
13983: >0x000048 byte 0x0A (data)
13984: >0x000048 byte 0x0B (text)
13985: >0x000048 byte 0x0C (string)
13986: >0x000048 byte 0x0D (graphic data base)
13987: >0x000048 byte 0x0E (figure)
13988: >0x000048 byte 0x10 (picture)
13989: >0x000048 byte 0x12 (program)
13990: >0x000048 byte 0x13 (function)
13991: >0x000048 byte 0x14 (macro)
13992: >0x000048 byte 0x1C (zipped)
13993: >0x000048 byte 0x21 (assembler)
13994: #
13995: # Magic Numbers for the TI-92
13996: #
13997: 0 string **TI92** TI-92 Graphing Calculator
13998: >0x000048 byte 0x00 (expression)
13999: >0x000048 byte 0x04 (list)
14000: >0x000048 byte 0x06 (matrix)
14001: >0x000048 byte 0x0A (data)
14002: >0x000048 byte 0x0B (text)
14003: >0x000048 byte 0x0C (string)
14004: >0x000048 byte 0x0D (graphic data base)
14005: >0x000048 byte 0x0E (figure)
14006: >0x000048 byte 0x10 (picture)
14007: >0x000048 byte 0x12 (program)
14008: >0x000048 byte 0x13 (function)
14009: >0x000048 byte 0x14 (macro)
14010: >0x000048 byte 0x1D (backup)
14011: #
14012: # Magic Numbers for the TI-92+/V200
14013: #
14014: 0 string **TI92P* TI-92+/V200 Graphing Calculator
14015: >0x000048 byte 0x00 (expression)
14016: >0x000048 byte 0x04 (list)
14017: >0x000048 byte 0x06 (matrix)
14018: >0x000048 byte 0x0A (data)
14019: >0x000048 byte 0x0B (text)
14020: >0x000048 byte 0x0C (string)
14021: >0x000048 byte 0x0D (graphic data base)
14022: >0x000048 byte 0x0E (figure)
14023: >0x000048 byte 0x10 (picture)
14024: >0x000048 byte 0x12 (program)
14025: >0x000048 byte 0x13 (function)
14026: >0x000048 byte 0x14 (macro)
14027: >0x000048 byte 0x1C (zipped)
14028: >0x000048 byte 0x21 (assembler)
14029: #
14030: # Magic Numbers for the TI-73/83+/89/92+/V200 FLASH upgrades
14031: #
14032: 0x0000016 string Advanced TI-XX Graphing Calculator (FLASH)
14033: 0 string **TIFL** TI-XX Graphing Calculator (FLASH)
14034: >8 byte >0 - Revision %d
14035: >>9 byte x \b.%d,
14036: >12 byte >0 Revision date %02x
14037: >>13 byte x \b/%02x
14038: >>14 beshort x \b/%04x,
14039: >17 string >/0 name: '%s',
14040: >48 byte 0x74 device: TI-73,
14041: >48 byte 0x73 device: TI-83+,
14042: >48 byte 0x98 device: TI-89,
14043: >48 byte 0x88 device: TI-92+,
14044: >49 byte 0x23 type: OS upgrade,
14045: >49 byte 0x24 type: application,
14046: >49 byte 0x25 type: certificate,
14047: >49 byte 0x3e type: license,
14048: >74 lelong >0 size: %ld bytes
14049:
14050: # VTi & TiEmu skins (TI Graphing Calculators).
14051: # From: Romain Lievin (roms@lpg.ticalc.org).
14052: # Magic Numbers for the VTi skins
14053: 0 string VTI Virtual TI skin
14054: >3 string v - Version
14055: >>4 byte >0 \b %c
14056: >>6 byte x \b.%c
14057: # Magic Numbers for the TiEmu skins
14058: 0 string TiEmu TiEmu skin
14059: >6 string v - Version
14060: >>7 byte >0 \b %c
14061: >>9 byte x \b.%c
14062: >>10 byte x \b%c
14063:
14064: #------------------------------------------------------------------------------
14065: # timezone: file(1) magic for timezone data
14066: #
14067: # from Daniel Quinlan (quinlan@yggdrasil.com)
14068: # this should work on Linux, SunOS, and maybe others
14069: # Added new official magic number for recent versions of the Olson code
14070: 0 string TZif timezone data
14071: 0 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0 old timezone data
14072: 0 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0 old timezone data
14073: 0 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0 old timezone data
14074: 0 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\4\0 old timezone data
14075: 0 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\5\0 old timezone data
14076: 0 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\6\0 old timezone data
14077: #------------------------------------------------------------------------------
14078: # troff: file(1) magic for *roff
14079: #
14080: # updated by Daniel Quinlan (quinlan@yggdrasil.com)
14081:
14082: # troff input
14083: 0 search/1 .\\" troff or preprocessor input text
14084: !:mime text/troff
14085: 0 search/1 '\\" troff or preprocessor input text
14086: !:mime text/troff
14087: 0 search/1 '.\\" troff or preprocessor input text
14088: !:mime text/troff
14089: 0 search/1 \\" troff or preprocessor input text
14090: !:mime text/troff
14091: 0 search/1 ''' troff or preprocessor input text
14092: !:mime text/troff
14093:
14094: # ditroff intermediate output text
14095: 0 search/1 x\ T ditroff output text
14096: >4 search/1 cat for the C/A/T phototypesetter
14097: >4 search/1 ps for PostScript
14098: >4 search/1 dvi for DVI
14099: >4 search/1 ascii for ASCII
14100: >4 search/1 lj4 for LaserJet 4
14101: >4 search/1 latin1 for ISO 8859-1 (Latin 1)
14102: >4 search/1 X75 for xditview at 75dpi
14103: >>7 search/1 -12 (12pt)
14104: >4 search/1 X100 for xditview at 100dpi
14105: >>8 search/1 -12 (12pt)
14106:
14107: # output data formats
14108: 0 string \100\357 very old (C/A/T) troff output data
14109: #
14110: #------------------------------------------------------------------------------
14111: # tuxedo: file(1) magic for BEA TUXEDO data files
14112: #
14113: # from Ian Springer <ispringer@hotmail.com>
14114: #
14115: 0 string \0\0\1\236\0\0\0\0\0\0\0\0\0\0\0\0 BEA TUXEDO DES mask data
14116:
14117: #------------------------------------------------------------------------------
14118: # typeset: file(1) magic for other typesetting
14119: #
14120: 0 string Interpress/Xerox Xerox InterPress data
14121: >16 string / (version
14122: >>17 string >\0 %s)
14123: #---------------------------------------------------------------------------
14124: # Unicode: BOM prefixed text files - Adrian Havill <havill@turbolinux.co.jp>
14125: # GRR: These types should be recognised in file_ascmagic so these
14126: # encodings can be treated by text patterns.
14127: # Missing types are already dealt with internally.
14128: #
14129: 0 string +/v8 Unicode text, UTF-7
14130: 0 string +/v9 Unicode text, UTF-7
14131: 0 string +/v+ Unicode text, UTF-7
14132: 0 string +/v/ Unicode text, UTF-7
14133: 0 string \335\163\146\163 Unicode text, UTF-8-EBCDIC
14134: 0 string \376\377\000\000 Unicode text, UTF-32, big-endian
14135: 0 string \377\376\000\000 Unicode text, UTF-32, little-endian
14136: 0 string \016\376\377 Unicode text, SCSU (Standard Compression Scheme for Unicode)
14137:
14138: #------------------------------------------------------------------------------
14139: # unknown: file(1) magic for unknown machines
14140: #
14141: # XXX - this probably should be pruned, as it'll match PDP-11 and
14142: # VAX image formats.
14143: #
14144: # 0x107 is 0407; 0x108 is 0410; both are PDP-11 (executable and pure,
14145: # respectively).
14146: #
14147: # 0x109 is 0411; that's PDP-11 split I&D, but the PDP-11 version doesn't
14148: # have the "version %ld", which may be a bogus COFFism (I don't think
14149: # there ever was COFF for the PDP-11).
14150: #
14151: # 0x10B is 0413; that's VAX demand-paged, but this is a short, not a
14152: # long, as it would be on a VAX.
14153: #
14154: # 0x10C is 0414 and 0x10E is 416; those *are* unknown.
14155: #
14156: 0 short 0x107 unknown machine executable
14157: >8 short >0 not stripped
14158: >15 byte >0 - version %ld
14159: 0 short 0x108 unknown pure executable
14160: >8 short >0 not stripped
14161: >15 byte >0 - version %ld
14162: 0 short 0x109 PDP-11 separate I&D
14163: >8 short >0 not stripped
14164: >15 byte >0 - version %ld
14165: 0 short 0x10b unknown pure executable
14166: >8 short >0 not stripped
14167: >15 byte >0 - version %ld
14168: 0 long 0x10c unknown demand paged pure executable
14169: >16 long >0 not stripped
14170: 0 long 0x10e unknown readable demand paged pure executable
14171: #------------------------------------------------------------------------------
14172: # uuencode: file(1) magic for ASCII-encoded files
14173: #
14174:
14175: # GRR: the first line of xxencoded files is identical to that in uuencoded
14176: # files, but the first character in most subsequent lines is 'h' instead of
14177: # 'M'. (xxencoding uses lowercase letters in place of most of uuencode's
14178: # punctuation and survives BITNET gateways better.) If regular expressions
14179: # were supported, this entry could possibly be split into two with
14180: # "begin\040\.\*\012M" or "begin\040\.\*\012h" (where \. and \* are REs).
14181: 0 search/1 begin\ uuencoded or xxencoded text
14182:
14183: # btoa(1) is an alternative to uuencode that requires less space.
14184: 0 search/1 xbtoa\ Begin btoa'd text
14185:
14186: # ship(1) is another, much cooler alternative to uuencode.
14187: # Greg Roelofs, newt@uchicago.edu
14188: 0 search/1 $\012ship ship'd binary text
14189:
14190: # bencode(8) is used to encode compressed news batches (Bnews/Cnews only?)
14191: # Greg Roelofs, newt@uchicago.edu
14192: 0 search/1 Decode\ the\ following\ with\ bdeco bencoded News text
14193:
14194: # BinHex is the Macintosh ASCII-encoded file format (see also "apple")
14195: # Daniel Quinlan, quinlan@yggdrasil.com
14196: 11 search/1 must\ be\ converted\ with\ BinHex BinHex binary text
14197: >41 search/1 x \b, version %.3s
14198:
14199: # GRR: handle BASE64
14200:
14201: #------------------------------------------------------------------------------
14202: # varied.out: file(1) magic for various USG systems
14203: #
14204: # Herewith many of the object file formats used by USG systems.
14205: # Most have been moved to files for a particular processor,
14206: # and deleted if they duplicate other entries.
14207: #
14208: 0 short 0610 Perkin-Elmer executable
14209: # AMD 29K
14210: 0 beshort 0572 amd 29k coff noprebar executable
14211: 0 beshort 01572 amd 29k coff prebar executable
14212: 0 beshort 0160007 amd 29k coff archive
14213: # Cray
14214: 6 beshort 0407 unicos (cray) executable
14215: # Ultrix 4.3
14216: 596 string \130\337\377\377 Ultrix core file
14217: >600 string >\0 from '%s'
14218: # BeOS and MAcOS PEF executables
14219: # From: hplus@zilker.net (Jon Watte)
14220: 0 string Joy!peffpwpc header for PowerPC PEF executable
14221: #
14222: # ava assembler/linker Uros Platise <uros.platise@ijs.si>
14223: 0 string avaobj AVR assembler object code
14224: >7 string >\0 version '%s'
14225: # gnu gmon magic From: Eugen Dedu <dedu@ese-metz.fr>
14226: 0 string gmon GNU prof performance data
14227: >4 long x - version %ld
14228: # From: Dave Pearson <davep@davep.org>
14229: # Harbour <URL:http://www.harbour-project.org/> HRB files.
14230: 0 string \xc0HRB Harbour HRB file
14231: >4 short x version %d
14232:
14233: # From: Alex Beregszaszi <alex@fsn.hu>
14234: # 0 string exec BugOS executable
14235: # 0 string pack BugOS archive
14236:
14237: # From: Jason Spence <jspence@lightconsulting.com>
14238: # Generated by the "examples" in STM's ST40 devkit, and derived code.
14239: 0 lelong 0x13a9f17e ST40 component image format
14240: >4 string >\0 \b, name '%s'
14241:
14242: #------------------------------------------------------------------------------
14243: # varied.script: file(1) magic for various interpreter scripts
14244:
14245: 0 string #!\ / a
14246: >3 string >\0 %s script text executable
14247: 0 string #!\t/ a
14248: >3 string >\0 %s script text executable
14249: 0 string #!/ a
14250: >2 string >\0 %s script text executable
14251: 0 string #!\ script text executable
14252: >3 string >\0 for %s
14253:
14254: # From: arno <arenevier@fdn.fr>
14255: # mozilla xpconnect typelib
14256: # see http://www.mozilla.org/scriptable/typelib_file.html
14257: 0 string XPCOM\nTypeLib\r\n\032 XPConnect Typelib
14258: >0x10 byte x version %d
14259: >>0x11 byte x \b.%d
14260:
14261: #------------------------------------------------------------------------------
14262: # vax: file(1) magic for VAX executable/object and APL workspace
14263: #
14264: 0 lelong 0101557 VAX single precision APL workspace
14265: 0 lelong 0101556 VAX double precision APL workspace
14266:
14267: #
14268: # VAX a.out (32V, BSD)
14269: #
14270: 0 lelong 0407 VAX executable
14271: >16 lelong >0 not stripped
14272:
14273: 0 lelong 0410 VAX pure executable
14274: >16 lelong >0 not stripped
14275:
14276: 0 lelong 0413 VAX demand paged pure executable
14277: >16 lelong >0 not stripped
14278:
14279: 0 lelong 0420 VAX demand paged (first page unmapped) pure executable
14280: >16 lelong >0 not stripped
14281:
14282: #
14283: # VAX COFF
14284: #
14285: # The `versions' should be un-commented if they work for you.
14286: # (Was the problem just one of endianness?)
14287: #
14288: 0 leshort 0570 VAX COFF executable
14289: >12 lelong >0 not stripped
14290: >22 leshort >0 - version %ld
14291: 0 leshort 0575 VAX COFF pure executable
14292: >12 lelong >0 not stripped
14293: >22 leshort >0 - version %ld
14294:
14295: #------------------------------------------------------------------------------
14296: # vicar: file(1) magic for VICAR files.
14297: #
14298: # From: Ossama Othman <othman@astrosun.tn.cornell.edu
14299: # VICAR is JPL's in-house spacecraft image processing program
14300: # VICAR image
14301: 0 string LBLSIZE= VICAR image data
14302: >32 string BYTE \b, 8 bits = VAX byte
14303: >32 string HALF \b, 16 bits = VAX word = Fortran INTEGER*2
14304: >32 string FULL \b, 32 bits = VAX longword = Fortran INTEGER*4
14305: >32 string REAL \b, 32 bits = VAX longword = Fortran REAL*4
14306: >32 string DOUB \b, 64 bits = VAX quadword = Fortran REAL*8
14307: >32 string COMPLEX \b, 64 bits = VAX quadword = Fortran COMPLEX*8
14308: # VICAR label file
14309: 43 string SFDU_LABEL VICAR label file
14310: #------------------------------------------------------------------------------
14311: # Virtutech Compressed Random Access File Format
14312: #
14313: # From <gustav@virtutech.com>
14314: 0 string \211\277\036\203 Virtutech CRAFF
14315: >4 belong x v%d
14316: >20 belong 0 uncompressed
14317: >20 belong 1 bzipp2ed
14318: >20 belong 2 gzipped
14319: >24 belong 0 not clean
14320:
14321: #------------------------------------------------------------------------------
14322: # visx: file(1) magic for Visx format files
14323: #
14324: 0 short 0x5555 VISX image file
14325: >2 byte 0 (zero)
14326: >2 byte 1 (unsigned char)
14327: >2 byte 2 (short integer)
14328: >2 byte 3 (float 32)
14329: >2 byte 4 (float 64)
14330: >2 byte 5 (signed char)
14331: >2 byte 6 (bit-plane)
14332: >2 byte 7 (classes)
14333: >2 byte 8 (statistics)
14334: >2 byte 10 (ascii text)
14335: >2 byte 15 (image segments)
14336: >2 byte 100 (image set)
14337: >2 byte 101 (unsigned char vector)
14338: >2 byte 102 (short integer vector)
14339: >2 byte 103 (float 32 vector)
14340: >2 byte 104 (float 64 vector)
14341: >2 byte 105 (signed char vector)
14342: >2 byte 106 (bit plane vector)
14343: >2 byte 121 (feature vector)
14344: >2 byte 122 (feature vector library)
14345: >2 byte 124 (chain code)
14346: >2 byte 126 (bit vector)
14347: >2 byte 130 (graph)
14348: >2 byte 131 (adjacency graph)
14349: >2 byte 132 (adjacency graph library)
14350: >2 string .VISIX (ascii text)
14351:
14352: #------------------------------------------------------------------------------
14353: # vms: file(1) magic for VMS executables (experimental)
14354: #
14355: # VMS .exe formats, both VAX and AXP (Greg Roelofs, newt@uchicago.edu)
14356:
14357: # GRR 950122: I'm just guessing on these, based on inspection of the headers
14358: # of three executables each for Alpha and VAX architectures. The VAX files
14359: # all had headers similar to this:
14360: #
14361: # 00000 b0 00 30 00 44 00 60 00 00 00 00 00 30 32 30 35 ..0.D.`.....0205
14362: # 00010 01 01 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 ................
14363: #
14364: 0 string \xb0\0\x30\0 VMS VAX executable
14365: >44032 string PK\003\004 \b, Info-ZIP SFX archive v5.12 w/decryption
14366: #
14367: # The AXP files all looked like this, except that the byte at offset 0x22
14368: # was 06 in some of them and 07 in others:
14369: #
14370: # 00000 03 00 00 00 00 00 00 00 ec 02 00 00 10 01 00 00 ................
14371: # 00010 68 00 00 00 98 00 00 00 b8 00 00 00 00 00 00 00 h...............
14372: # 00020 00 00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
14373: # 00030 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 ................
14374: # 00040 00 00 00 00 ff ff ff ff ff ff ff ff 02 00 00 00 ................
14375: #
14376: 0 belong 0x03000000 VMS Alpha executable
14377: >75264 string PK\003\004 \b, Info-ZIP SFX archive v5.12 w/decryption
14378:
14379: # -----------------------------------------------------------
14380: # VMware specific files (deducted from version 1.1 and log file entries)
14381: # Anthon van der Neut (anthon@mnt.org)
14382: 0 belong 0x4d52564e VMware nvram
14383:
14384: #------------------------------------------------------------------------------
14385: # vorbis: file(1) magic for Ogg/Vorbis files
14386: #
14387: # From Felix von Leitner <leitner@fefe.de>
14388: # Extended by Beni Cherniavsky <cben@crosswinds.net>
14389: # Further extended by Greg Wooledge <greg@wooledge.org>
14390: #
14391: # Most (everything but the number of channels and bitrate) is commented
14392: # out with `##' as it's not interesting to the average user. The most
14393: # probable things advanced users would want to uncomment are probably
14394: # the number of comments and the encoder version.
14395: #
14396: # FIXME: The first match has been made a search, so that it can skip
14397: # over prepended ID3 tags. This will work for MIME type detection, but
14398: # won't work for detecting other properties of the file (they all need
14399: # to be made relative to the search). In any case, if the file has ID3
14400: # tags, the ID3 information will be printed, not the Ogg information,
14401: # so until that's fixed, this doesn't matter.
14402: # FIXME[2]: Disable the above for now, since search assumes text mode.
14403: #
14404: # --- Ogg Framing ---
14405: #0 search/1000 OggS Ogg data
14406: 0 string OggS Ogg data
14407: !:mime application/ogg
14408: >4 byte !0 UNKNOWN REVISION %u
14409: ##>4 byte 0 revision 0
14410: >4 byte 0
14411: ##>>14 lelong x (Serial %lX)
14412: # non-Vorbis content: FLAC (Free Lossless Audio Codec, http://flac.sourceforge.net)
14413: >>28 string \x7fFLAC \b, FLAC audio
14414: # non-Vorbis content: Theora
14415: >>28 string \x80theora \b, Theora video
14416: # non-Vorbis content: Kate
14417: >>28 string \x80kate\0\0\0\0 \b, Kate
14418: >>>37 ubyte x v%u
14419: >>>38 ubyte x \b.%u,
14420: >>>40 byte 0 utf8 encoding,
14421: >>>40 byte !0 unknown character encoding,
14422: >>>60 string >\0 language %s,
14423: >>>60 string \0 no language set,
14424: >>>76 string >\0 category %s
14425: >>>76 string \0 no category set
14426: # non-Vorbis content: Skeleton
14427: >>28 string fishead\0 \b, Skeleton
14428: >>>36 short x v%u
14429: >>>40 short x \b.%u
14430: # non-Vorbis content: Speex
14431: >>28 string Speex\ \ \ \b, Speex audio
14432: # non-Vorbis content: OGM
14433: >>28 string \x01video\0\0\0 \b, OGM video
14434: >>>37 string/c div3 (DivX 3)
14435: >>>37 string/c divx (DivX 4)
14436: >>>37 string/c dx50 (DivX 5)
14437: >>>37 string/c xvid (XviD)
14438: # --- First vorbis packet - general header ---
14439: >>28 string \x01vorbis \b, Vorbis audio,
14440: >>>35 lelong !0 UNKNOWN VERSION %lu,
14441: ##>>>35 lelong 0 version 0,
14442: >>>35 lelong 0
14443: >>>>39 ubyte 1 mono,
14444: >>>>39 ubyte 2 stereo,
14445: >>>>39 ubyte >2 %u channels,
14446: >>>>40 lelong x %lu Hz
14447: # Minimal, nominal and maximal bitrates specified when encoding
14448: >>>>48 string <\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff \b,
14449: # The above tests if at least one of these is specified:
14450: >>>>>52 lelong !-1
14451: # Vorbis RC2 has a bug which puts -1000 in the min/max bitrate fields
14452: # instead of -1.
14453: # Vorbis 1.0 uses 0 instead of -1.
14454: >>>>>>52 lelong !0
14455: >>>>>>>52 lelong !-1000
14456: >>>>>>>>52 lelong x <%lu
14457: >>>>>48 lelong !-1
14458: >>>>>>48 lelong x ~%lu
14459: >>>>>44 lelong !-1
14460: >>>>>>44 lelong !-1000
14461: >>>>>>>44 lelong !0
14462: >>>>>>>>44 lelong x >%lu
14463: >>>>>48 string <\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff bps
14464: # -- Second vorbis header packet - the comments
14465: # A kludge to read the vendor string. It's a counted string, not a
14466: # zero-terminated one, so file(1) can't read it in a generic way.
14467: # libVorbis is the only one existing currently, so I detect specifically
14468: # it. The interesting value is the cvs date (8 digits decimal).
14469: # Post-RC1 Ogg files have the second header packet (and thus the version)
14470: # in a different place, so we must use an indirect offset.
14471: >>>(84.b+85) string \x03vorbis
14472: >>>>(84.b+96) string/c Xiphophorus\ libVorbis\ I \b, created by: Xiphophorus libVorbis I
14473: >>>>>(84.b+120) string >00000000
14474: # Map to beta version numbers:
14475: >>>>>>(84.b+120) string <20000508 (<beta1, prepublic)
14476: >>>>>>(84.b+120) string 20000508 (1.0 beta 1 or beta 2)
14477: >>>>>>(84.b+120) string >20000508
14478: >>>>>>>(84.b+120) string <20001031 (beta2-3)
14479: >>>>>>(84.b+120) string 20001031 (1.0 beta 3)
14480: >>>>>>(84.b+120) string >20001031
14481: >>>>>>>(84.b+120) string <20010225 (beta3-4)
14482: >>>>>>(84.b+120) string 20010225 (1.0 beta 4)
14483: >>>>>>(84.b+120) string >20010225
14484: >>>>>>>(84.b+120) string <20010615 (beta4-RC1)
14485: >>>>>>(84.b+120) string 20010615 (1.0 RC1)
14486: >>>>>>(84.b+120) string 20010813 (1.0 RC2)
14487: >>>>>>(84.b+120) string 20010816 (RC2 - Garf tuned v1)
14488: >>>>>>(84.b+120) string 20011014 (RC2 - Garf tuned v2)
14489: >>>>>>(84.b+120) string 20011217 (1.0 RC3)
14490: >>>>>>(84.b+120) string 20011231 (1.0 RC3)
14491: # Some pre-1.0 CVS snapshots still had "Xiphphorus"...
14492: >>>>>>(84.b+120) string >20011231 (pre-1.0 CVS)
14493: # For the 1.0 release, Xiphophorus is replaced by Xiph.Org
14494: >>>>(84.b+96) string/c Xiph.Org\ libVorbis\ I \b, created by: Xiph.Org libVorbis I
14495: >>>>>(84.b+117) string >00000000
14496: >>>>>>(84.b+117) string <20020717 (pre-1.0 CVS)
14497: >>>>>>(84.b+117) string 20020717 (1.0)
14498: >>>>>>(84.b+117) string 20030909 (1.0.1)
14499: >>>>>>(84.b+117) string 20040629 (1.1.0 RC1)
14500:
14501: #------------------------------------------------------------------------------
14502: # VXL: file(1) magic for VXL binary IO data files
14503: #
14504: # from Ian Scott <scottim@sf.net>
14505: #
14506: # VXL is a collection of C++ libraries for Computer Vision.
14507: # See the vsl chapter in the VXL Book for more info
14508: # http://www.isbe.man.ac.uk/public_vxl_doc/books/vxl/book.html
14509: # http:/vxl.sf.net
14510:
14511: 2 lelong 0x472b2c4e VXL data file,
14512: >0 leshort >0 schema version no %d
14513:
14514: #------------------------------------------------------------------------------
14515: # warc: file(1) magic for WARC files
14516:
14517: 0 string WARC/ WARC Archive
14518: >5 string x version %.4s
14519: #------------------------------------------------------------------------------
14520: # weak: file(1) magic for very weak magic entries, disabled by default
14521: #
14522: # These entries are so weak that they might interfere identification of
14523: # other formats. Example include:
14524: # - Only identify for 1 or 2 bytes
14525: # - Match against very wide range of values
14526: # - Match against generic word in some spoken languages (e.g. English)
14527:
14528: # Summary: Computer Graphics Metafile
14529: # Extension: .cgm
14530: #0 beshort&0xffe0 0x0020 binary Computer Graphics Metafile
14531: #0 beshort 0x3020 character Computer Graphics Metafile
14532:
14533: #0 string =!! Bennet Yee's "face" format
14534:
14535: #------------------------------------------------------------------------------
14536: # windows: file(1) magic for Microsoft Windows
14537: #
14538: # This file is mainly reserved for files where programs
14539: # using them are run almost always on MS Windows 3.x or
14540: # above, or files only used exclusively in Windows OS,
14541: # where there is no better category to allocate for.
14542: # For example, even though WinZIP almost run on Windows
14543: # only, it is better to treat them as "archive" instead.
14544: # For format usable in DOS, such as generic executable
14545: # format, please specify under "msdos" file.
14546: #
14547:
14548:
14549: # Summary: Outlook Express DBX file
14550: # Extension: .dbx
14551: # Created by: Christophe Monniez
14552: 0 string \xCF\xAD\x12\xFE MS Outlook Express DBX file
14553: >4 byte =0xC5 \b, message database
14554: >4 byte =0xC6 \b, folder database
14555: >4 byte =0xC7 \b, account information
14556: >4 byte =0x30 \b, offline database
14557:
14558:
14559: # Summary: Windows crash dump
14560: # Extension: .dmp
14561: # Created by: Andreas Schuster (http://computer.forensikblog.de/)
14562: # Reference (1): http://computer.forensikblog.de/en/2008/02/64bit_magic.html
14563: # Modified by (1): Abel Cheung (Avoid match with first 4 bytes only)
14564: 0 string PAGE
14565: >4 string DUMP MS Windows 32bit crash dump
14566: >>0x05c byte 0 \b, no PAE
14567: >>0x05c byte 1 \b, PAE
14568: >>0xf88 lelong 1 \b, full dump
14569: >>0xf88 lelong 2 \b, kernel dump
14570: >>0xf88 lelong 3 \b, small dump
14571: >>0x068 lelong x \b, %ld pages
14572: >4 string DU64 MS Windows 64bit crash dump
14573: >>0xf98 lelong 1 \b, full dump
14574: >>0xf98 lelong 2 \b, kernel dump
14575: >>0xf98 lelong 3 \b, small dump
14576: >>0x090 lequad x \b, %lld pages
14577:
14578:
14579: # Summary: Vista Event Log
14580: # Extension: .evtx
14581: # Created by: Andreas Schuster (http://computer.forensikblog.de/)
14582: # Reference (1): http://computer.forensikblog.de/en/2007/05/some_magic.html
14583: 0 string ElfFile\0 MS Windows Vista Event Log
14584: >0x2a leshort x \b, %d chunks
14585: >>0x10 lelong x \b (no. %d in use)
14586: >0x18 lelong >1 \b, next record no. %d
14587: >0x18 lelong =1 \b, empty
14588: >0x78 lelong &1 \b, DIRTY
14589: >0x78 lelong &2 \b, FULL
14590:
14591:
14592: # Summary: Windows 3.1 group files
14593: # Extension: .grp
14594: # Created by: unknown
14595: 0 string \120\115\103\103 MS Windows 3.1 group files
14596:
14597:
14598: # Summary: Old format help files
14599: # Extension: .hlp
14600: # Created by: Dirk Jagdmann <doj@cubic.org>
14601: 0 lelong 0x00035f3f MS Windows 3.x help file
14602:
14603:
14604: # Summary: Hyper terminal
14605: # Extension: .ht
14606: # Created by: unknown
14607: 0 string HyperTerminal\
14608: >15 string 1.0\ --\ HyperTerminal\ data\ file MS Windows HyperTerminal profile
14609:
14610:
14611: # Summary: Windows shortcut
14612: # Extension: .lnk
14613: # Created by: unknown
14614: 0 string \114\0\0\0\001\024\002\0\0\0\0\0\300\0\0\0\0\0\0\106 MS Windows shortcut
14615:
14616:
14617: # Summary: Outlook Personal Folders
14618: # Created by: unknown
14619: 0 lelong 0x4E444221 Microsoft Outlook email folder
14620: >10 leshort 0x0e (<=2002)
14621: >10 leshort 0x17 (>=2003)
14622:
14623:
14624: # Summary: Windows help cache
14625: # Created by: unknown
14626: 0 string \164\146\115\122\012\000\000\000\001\000\000\000 MS Windows help cache
14627:
14628:
14629: # Summary: IE cache file
14630: # Created by: Christophe Monniez
14631: 0 string Client\ UrlCache\ MMF Internet Explorer cache file
14632: >20 string >\0 version %s
14633:
14634:
14635: # Summary: Registry files
14636: # Created by: unknown
14637: # Modified by (1): Joerg Jenderek
14638: 0 string regf MS Windows registry file, NT/2000 or above
14639: 0 string CREG MS Windows 95/98/ME registry file
14640: 0 string SHCC3 MS Windows 3.1 registry file
14641:
14642:
14643: # Summary: Windows Registry text
14644: # Extension: .reg
14645: # Submitted by: Abel Cheung <abelcheung@gmail.com>
14646: 0 string REGEDIT4\r\n\r\n Windows Registry text (Win95 or above)
14647: 0 string Windows\ Registry\ Editor\
14648: >&0 string Version\ 5.00\r\n\r\n Windows Registry text (Win2K or above)
14649: #------------------------------------------------------------------------------
14650: # wordprocessors: file(1) magic fo word processors.
14651: #
14652: ####### PWP file format used on Smith Corona Personal Word Processors:
14653: 2 string \040\040\040\040\040\040\040\040\040\040\040ML4D\040'92 Smith Corona PWP
14654: >24 byte 2 \b, single spaced
14655: >24 byte 3 \b, 1.5 spaced
14656: >24 byte 4 \b, double spaced
14657: >25 byte 0x42 \b, letter
14658: >25 byte 0x54 \b, legal
14659: >26 byte 0x46 \b, A4
14660:
14661: #WordPerfect type files Version 1.6 - PLEASE DO NOT REMOVE THIS LINE
14662: 0 string \377WPC\020\000\000\000\022\012\001\001\000\000\000\000 (WP) loadable file
14663: >15 byte 0 Optimized for Intel
14664: >15 byte 1 Optimized for Non-Intel
14665: 1 string WPC (Corel/WP)
14666: >8 short 257 WordPerfect macro
14667: >8 short 258 WordPerfect help file
14668: >8 short 259 WordPerfect keyboard file
14669: >8 short 266 WordPerfect document
14670: >8 short 267 WordPerfect dictionary
14671: >8 short 268 WordPerfect thesaurus
14672: >8 short 269 WordPerfect block
14673: >8 short 270 WordPerfect rectangular block
14674: >8 short 271 WordPerfect column block
14675: >8 short 272 WordPerfect printer data
14676: >8 short 275 WordPerfect printer data
14677: >8 short 276 WordPerfect driver resource data
14678: >8 short 279 WordPerfect hyphenation code
14679: >8 short 280 WordPerfect hyphenation data
14680: >8 short 281 WordPerfect macro resource data
14681: >8 short 283 WordPerfect hyphenation lex
14682: >8 short 285 WordPerfect wordlist
14683: >8 short 286 WordPerfect equation resource data
14684: >8 short 289 WordPerfect spell rules
14685: >8 short 290 WordPerfect dictionary rules
14686: >8 short 295 WordPerfect spell rules (Microlytics)
14687: >8 short 299 WordPerfect settings file
14688: >8 short 301 WordPerfect 4.2 document
14689: >8 short 325 WordPerfect dialog file
14690: >8 short 332 WordPerfect button bar
14691: >8 short 513 Shell macro
14692: >8 short 522 Shell definition
14693: >8 short 769 Notebook macro
14694: >8 short 770 Notebook help file
14695: >8 short 771 Notebook keyboard file
14696: >8 short 778 Notebook definition
14697: >8 short 1026 Calculator help file
14698: >8 short 1538 Calendar help file
14699: >8 short 1546 Calendar data file
14700: >8 short 1793 Editor macro
14701: >8 short 1794 Editor help file
14702: >8 short 1795 Editor keyboard file
14703: >8 short 1817 Editor macro resource file
14704: >8 short 2049 Macro editor macro
14705: >8 short 2050 Macro editor help file
14706: >8 short 2051 Macro editor keyboard file
14707: >8 short 2305 PlanPerfect macro
14708: >8 short 2306 PlanPerfect help file
14709: >8 short 2307 PlanPerfect keyboard file
14710: >8 short 2314 PlanPerfect worksheet
14711: >8 short 2319 PlanPerfect printer definition
14712: >8 short 2322 PlanPerfect graphic definition
14713: >8 short 2323 PlanPerfect data
14714: >8 short 2324 PlanPerfect temporary printer
14715: >8 short 2329 PlanPerfect macro resource data
14716: >8 byte 11 Mail
14717: >8 short 2818 help file
14718: >8 short 2821 distribution list
14719: >8 short 2826 out box
14720: >8 short 2827 in box
14721: >8 short 2836 users archived mailbox
14722: >8 short 2837 archived message database
14723: >8 short 2838 archived attachments
14724: >8 short 3083 Printer temporary file
14725: >8 short 3330 Scheduler help file
14726: >8 short 3338 Scheduler in file
14727: >8 short 3339 Scheduler out file
14728: >8 short 3594 GroupWise settings file
14729: >8 short 3601 GroupWise directory services
14730: >8 short 3627 GroupWise settings file
14731: >8 short 4362 Terminal resource data
14732: >8 short 4363 Terminal resource data
14733: >8 short 4395 Terminal resource data
14734: >8 short 4619 GUI loadable text
14735: >8 short 4620 graphics resource data
14736: >8 short 4621 printer settings file
14737: >8 short 4622 port definition file
14738: >8 short 4623 print queue parameters
14739: >8 short 4624 compressed file
14740: >8 short 5130 Network service msg file
14741: >8 short 5131 Network service msg file
14742: >8 short 5132 Async gateway login msg
14743: >8 short 5134 GroupWise message file
14744: >8 short 7956 GroupWise admin domain database
14745: >8 short 7957 GroupWise admin host database
14746: >8 short 7959 GroupWise admin remote host database
14747: >8 short 7960 GroupWise admin ADS deferment data file
14748: >8 short 8458 IntelliTAG (SGML) compiled DTD
14749: >8 long 18219264 WordPerfect graphic image (1.0)
14750: >8 long 18219520 WordPerfect graphic image (2.0)
14751: #end of WordPerfect type files Version 1.6 - PLEASE DO NOT REMOVE THIS LINE
14752:
14753: # Hangul (Korean) Word Processor File
14754: 0 string HWP\ Document\ File Hangul (Korean) Word Processor File 3.0
14755: # From: Won-Kyu Park <wkpark@kldp.org>
14756: 512 string R\0o\0o\0t\0 Hangul (Korean) Word Processor File 2000
14757: !:mime application/x-hwp
14758:
14759: # CosmicBook, from Benoît Rouits
14760: 0 string CSBK Ted Neslson's CosmicBook hypertext file
14761:
14762: 2 string EYWR AmigaWriter file
14763:
14764: # chi: file(1) magic for ChiWriter files
14765: 0 string \\1cw\ ChiWriter file
14766: >5 string >\0 version %s
14767: 0 string \\1cw ChiWriter file
14768:
14769: # Quark Express from http://www.garykessler.net/library/file_sigs.html
14770: 2 string IIXPR3 Intel Quark Express Document (English)
14771: 2 string IIXPRa Intel Quark Express Document (Korean)
14772: 2 string MMXPR3 Motorola Quark Express Document (English)
14773: !:mime application/x-quark-xpress-3
14774: 2 string MMXPRa Motorola Quark Express Document (Korean)
14775:
14776: # adobe indesign (document, whatever...) from querkan
14777: 0 belong 0x0606edf5 Adobe InDesign
14778: >16 string DOCUMENT Document
14779:
14780: #------------------------------------------------------------------------------
14781: # ichitaro456: file(1) magic for Just System Word Processor Ichitaro
14782: #
14783: # Contributor kenzo-:
14784: # Reversed-engineered JS Ichitaro magic numbers
14785: #
14786:
14787: 0 string DOC
14788: >43 byte 0x14 Just System Word Processor Ichitaro v4
14789: !:mime application/x-ichitaro4
14790: >144 string JDASH application/x-ichitaro4
14791:
14792: 0 string DOC
14793: >43 byte 0x15 Just System Word Processor Ichitaro v5
14794: !:mime application/x-ichitaro5
14795:
14796: 0 string DOC
14797: >43 byte 0x16 Just System Word Processor Ichitaro v6
14798: !:mime application/x-ichitaro6
14799:
14800: # Type: Freemind mindmap documents
14801: # From: Jamie Thompson <debian-bugs@jamie-thompson.co.uk>
14802: 0 string/cB \<map\ version Freemind document
14803: !:mime application/x-freemind
14804:
14805: # Type: Scribus
14806: # From: Werner Fink <werner@suse.de>
14807: 0 string \<SCRIBUSUTF8\ Version Scribus Document
14808: 0 string \<SCRIBUSUTF8NEW\ Version Scribus Document
14809: !:mime application/x-scribus
14810:
14811: #------------------------------------------------------------------------------
14812: # file(1) magic(5) data for xdelta Josh MacDonald <jmacd@CS.Berkeley.EDU>
14813: #
14814: 0 string %XDELTA% XDelta binary patch file 0.14
14815: 0 string %XDZ000% XDelta binary patch file 0.18
14816: 0 string %XDZ001% XDelta binary patch file 0.20
14817: 0 string %XDZ002% XDelta binary patch file 1.0
14818: 0 string %XDZ003% XDelta binary patch file 1.0.4
14819: 0 string %XDZ004% XDelta binary patch file 1.1
14820:
14821: #------------------------------------------------------------------------------
14822: # xenix: file(1) magic for Microsoft Xenix
14823: #
14824: # "Middle model" stuff, and "Xenix 8086 relocatable or 80286 small
14825: # model" lifted from "magic.xenix", with comment "derived empirically;
14826: # treat as folklore until proven"
14827: #
14828: # "small model", "large model", "huge model" stuff lifted from XXX
14829: #
14830: # XXX - "x.out" collides with PDP-11 archives
14831: #
14832: 0 string core core file (Xenix)
14833: 0 byte 0x80 8086 relocatable (Microsoft)
14834: 0 leshort 0xff65 x.out
14835: >2 string __.SYMDEF randomized
14836: >0 byte x archive
14837: 0 leshort 0x206 Microsoft a.out
14838: >8 leshort 1 Middle model
14839: >0x1e leshort &0x10 overlay
14840: >0x1e leshort &0x2 separate
14841: >0x1e leshort &0x4 pure
14842: >0x1e leshort &0x800 segmented
14843: >0x1e leshort &0x400 standalone
14844: >0x1e leshort &0x8 fixed-stack
14845: >0x1c byte &0x80 byte-swapped
14846: >0x1c byte &0x40 word-swapped
14847: >0x10 lelong >0 not-stripped
14848: >0x1e leshort ^0xc000 pre-SysV
14849: >0x1e leshort &0x4000 V2.3
14850: >0x1e leshort &0x8000 V3.0
14851: >0x1c byte &0x4 86
14852: >0x1c byte &0xb 186
14853: >0x1c byte &0x9 286
14854: >0x1c byte &0xa 386
14855: >0x1f byte <0x040 small model
14856: >0x1f byte =0x048 large model
14857: >0x1f byte =0x049 huge model
14858: >0x1e leshort &0x1 executable
14859: >0x1e leshort ^0x1 object file
14860: >0x1e leshort &0x40 Large Text
14861: >0x1e leshort &0x20 Large Data
14862: >0x1e leshort &0x120 Huge Objects Enabled
14863: >0x10 lelong >0 not stripped
14864:
14865: 0 leshort 0x140 old Microsoft 8086 x.out
14866: >0x3 byte &0x4 separate
14867: >0x3 byte &0x2 pure
14868: >0 byte &0x1 executable
14869: >0 byte ^0x1 relocatable
14870: >0x14 lelong >0 not stripped
14871:
14872: 0 lelong 0x206 b.out
14873: >0x1e leshort &0x10 overlay
14874: >0x1e leshort &0x2 separate
14875: >0x1e leshort &0x4 pure
14876: >0x1e leshort &0x800 segmented
14877: >0x1e leshort &0x400 standalone
14878: >0x1e leshort &0x1 executable
14879: >0x1e leshort ^0x1 object file
14880: >0x1e leshort &0x4000 V2.3
14881: >0x1e leshort &0x8000 V3.0
14882: >0x1c byte &0x4 86
14883: >0x1c byte &0xb 186
14884: >0x1c byte &0x9 286
14885: >0x1c byte &0x29 286
14886: >0x1c byte &0xa 386
14887: >0x1e leshort &0x4 Large Text
14888: >0x1e leshort &0x2 Large Data
14889: >0x1e leshort &0x102 Huge Objects Enabled
14890:
14891: 0 leshort 0x580 XENIX 8086 relocatable or 80286 small model
14892:
14893: #------------------------------------------------------------------------------
14894: # This is Aaron's attempt at a MAGIC file for Xilinx .bit files.
14895: # Xilinx-Magic@RevRagnarok.com
14896: # Got the info from FPGA-FAQ 0026
14897: #
14898: # First there is the sync header and its length
14899: 0 beshort 0x0009
14900: >2 belong =0x0ff00ff0
14901: >>&0 belong =0x0ff00ff0
14902: >>>&0 beshort =0x0000
14903: >>>>&0 pstring a Xilinx BIT data
14904: # Next is a Pascal-style string with the NCD name. We want to capture that.
14905: >>>>0x0F pstring x - from %s
14906: # It is followed by a NUL
14907: >>>>>&1 byte 0x00
14908: # And then 'b'
14909: >>>>>&2 string b
14910: # With the part number:
14911: #>>>>>&5 string 4v (Virtex4)
14912: #>>>>>&5 string 2v (Virtex II
14913: #>>>>>>&0 string !p \b)
14914: #>>>>>>&0 string p Pro)
14915: >>>>>&4 pstring x - for %s
14916: # And then NUL / 'c' / Build Data / NUL / 'd' / Date / NUL / 'e' / Data Length
14917: >>>>>>&1 byte 0x00
14918: >>>>>>&2 string c
14919: >>>>>>&4 pstring x - built %s
14920: >>>>>>>&1 byte 0x00
14921: >>>>>>>&2 string d
14922: >>>>>>>&4 pstring x \b(%s)
14923: >>>>>>>>&1 byte 0x00
14924: >>>>>>>>&2 string e
14925: >>>>>>>>&4 belong x - data length 0x%lx
14926:
14927: #------------------------------------------------------------------------------
14928: # xo65 object files
14929: # From: "Ullrich von Bassewitz" <uz@cc65.org>
14930: #
14931: 0 string \x55\x7A\x6E\x61 xo65 object,
14932: >4 leshort x version %d,
14933: >6 leshort&0x0001 =0x0001 with debug info
14934: >6 leshort&0x0001 =0x0000 no debug info
14935:
14936: # xo65 library files
14937: 0 string \x6E\x61\x55\x7A xo65 library,
14938: >4 leshort x version %d
14939:
14940: # o65 object files
14941: 0 string \x01\x00\x6F\x36\x35 o65
14942: >6 leshort&0x1000 =0x0000 executable,
14943: >6 leshort&0x1000 =0x1000 object,
14944: >5 byte x version %d,
14945: >6 leshort&0x8000 =0x8000 65816,
14946: >6 leshort&0x8000 =0x0000 6502,
14947: >6 leshort&0x2000 =0x2000 32 bit,
14948: >6 leshort&0x2000 =0x0000 16 bit,
14949: >6 leshort&0x4000 =0x4000 page reloc,
14950: >6 leshort&0x4000 =0x0000 byte reloc,
14951: >6 leshort&0x0003 =0x0000 alignment 1
14952: >6 leshort&0x0003 =0x0001 alignment 2
14953: >6 leshort&0x0003 =0x0002 alignment 4
14954: >6 leshort&0x0003 =0x0003 alignment 256
14955:
14956: #------------------------------------------------------------------------------
14957: # xwindows: file(1) magic for various X/Window system file formats.
14958:
14959: # Compiled X Keymap
14960: # XKM (compiled X keymap) files (including version and byte ordering)
14961: 1 string mkx Compiled XKB Keymap: lsb,
14962: >0 byte >0 version %d
14963: >0 byte =0 obsolete
14964: 0 string xkm Compiled XKB Keymap: msb,
14965: >3 byte >0 version %d
14966: >0 byte =0 obsolete
14967:
14968: # xfsdump archive
14969: 0 string xFSdump0 xfsdump archive
14970: >8 belong x (version %d)
14971:
14972: # Jaleo XFS files
14973: 0 long 395726 Jaleo XFS file
14974: >4 long x - version %ld
14975: >8 long x - [%ld -
14976: >20 long x %ldx
14977: >24 long x %ldx
14978: >28 long 1008 YUV422]
14979: >28 long 1000 RGB24]
14980:
14981: #------------------------------------------------------------------------------
14982: # zilog: file(1) magic for Zilog Z8000.
14983: #
14984: # Was it big-endian or little-endian? My Product Specification doesn't
14985: # say.
14986: #
14987: 0 long 0xe807 object file (z8000 a.out)
14988: 0 long 0xe808 pure object file (z8000 a.out)
14989: 0 long 0xe809 separate object file (z8000 a.out)
14990: 0 long 0xe805 overlay object file (z8000 a.out)
14991:
14992: #------------------------------------------------------------------------------
14993: # zyxel: file(1) magic for ZyXEL modems
14994: #
14995: # From <rob@pe1chl.ampr.org>
14996: # These are the /etc/magic entries to decode datafiles as used for the
14997: # ZyXEL U-1496E DATA/FAX/VOICE modems. (This header conforms to a
14998: # ZyXEL-defined standard)
14999:
15000: 0 string ZyXEL\002 ZyXEL voice data
15001: >10 byte 0 - CELP encoding
15002: >10 byte&0x0B 1 - ADPCM2 encoding
15003: >10 byte&0x0B 2 - ADPCM3 encoding
15004: >10 byte&0x0B 3 - ADPCM4 encoding
15005: >10 byte&0x0B 8 - New ADPCM3 encoding
15006: >10 byte&0x04 4 with resync
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>