Annotation of embedaddon/php/ext/fileinfo/tests/magic, revision 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>