1# Magic data for file(1) command. 2# Format is described in magic(files), where: 3# files is 5 on V7 and BSD, 4 on SV, and ?? on SVID. 4# Don't edit this file, edit /etc/magic or send your magic improvements 5# to the maintainers, at file@mx.gw.com 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#------------------------------------------------------------------------------ 15# $File: acorn,v 1.5 2009/09/19 16:28:07 christos Exp $ 16# acorn: file(1) magic for files found on Acorn systems 17# 18 19# RISC OS Chunk File Format 20# From RISC OS Programmer's Reference Manual, Appendix D 21# We guess the file type from the type of the first chunk. 220 lelong 0xc3cbc6c5 RISC OS Chunk data 23>12 string OBJ_ \b, AOF object 24>12 string LIB_ \b, ALF library 25 26# RISC OS AIF, contains "SWI OS_Exit" at offset 16. 2716 lelong 0xef000011 RISC OS AIF executable 28 29# RISC OS Draw files 30# From RISC OS Programmer's Reference Manual, Appendix E 310 string Draw RISC OS Draw file data 32 33# RISC OS new format font files 34# From RISC OS Programmer's Reference Manual, Appendix E 350 string FONT\0 RISC OS outline font data, 36>5 byte x version %d 370 string FONT\1 RISC OS 1bpp font data, 38>5 byte x version %d 390 string FONT\4 RISC OS 4bpp font data 40>5 byte x version %d 41 42# RISC OS Music files 43# From RISC OS Programmer's Reference Manual, Appendix E 440 string Maestro\r RISC OS music file 45>8 byte x version %d 46 47>8 byte x type %d 48 49# Digital Symphony data files 50# From: Bernard Jungen (bern8817@euphonynet.be) 510 string \x02\x01\x13\x13\x13\x01\x0d\x10 Digital Symphony sound sample (RISC OS), 52>8 byte x version %d, 53>9 pstring x named "%s", 54>(9.b+19) byte =0 8-bit logarithmic 55>(9.b+19) byte =1 LZW-compressed linear 56>(9.b+19) byte =2 8-bit linear signed 57>(9.b+19) byte =3 16-bit linear signed 58>(9.b+19) byte =4 SigmaDelta-compressed linear 59>(9.b+19) byte =5 SigmaDelta-compressed logarithmic 60>(9.b+19) byte >5 unknown format 61 620 string \x02\x01\x13\x13\x14\x12\x01\x0b Digital Symphony song (RISC OS), 63>8 byte x version %d, 64>9 byte =1 1 voice, 65>9 byte !1 %d voices, 66>10 leshort =1 1 track, 67>10 leshort !1 %d tracks, 68>12 leshort =1 1 pattern 69>12 leshort !1 %d patterns 70 710 string \x02\x01\x13\x13\x10\x14\x12\x0e 72>9 byte =0 Digital Symphony sequence (RISC OS), 73>>8 byte x version %d, 74>>10 byte =1 1 line, 75>>10 byte !1 %d lines, 76>>11 leshort =1 1 position 77>>11 leshort !1 %d positions 78>9 byte =1 Digital Symphony pattern data (RISC OS), 79>>8 byte x version %d, 80>>10 leshort =1 1 pattern 81>>10 leshort !1 %d patterns 82 83#------------------------------------------------------------------------------ 84# $File: adi,v 1.4 2009/09/19 16:28:07 christos Exp $ 85# adi: file(1) magic for ADi's objects 86# From Gregory McGarry <g.mcgarry@ieee.org> 87# 880 leshort 0x521c COFF DSP21k 89>18 lelong &02 executable, 90>18 lelong ^02 91>>18 lelong &01 static object, 92>>18 lelong ^01 relocatable object, 93>18 lelong &010 stripped 94>18 lelong ^010 not stripped 95 96#------------------------------------------------------------------------------ 97# $File: adventure,v 1.14 2012/06/21 01:32:26 christos Exp $ 98# adventure: file(1) magic for Adventure game files 99# 100# from Allen Garvin <earendil@faeryland.tamu-commerce.edu> 101# Edited by Dave Chapeskie <dchapes@ddm.on.ca> Jun 28, 1998 102# Edited by Chris Chittleborough <cchittleborough@yahoo.com.au>, March 2002 103# 104# ALAN 105# I assume there are other, lower versions, but these are the only ones I 106# saw in the archive. 1070 beshort 0x0206 ALAN game data 108>2 byte <10 version 2.6%d 109 110 111# Infocom (see z-machine) 112#------------------------------------------------------------------------------ 113# Z-machine: file(1) magic for Z-machine binaries. 114# Updated by Adam Buchbinder <adam.buchbinder@gmail.com> 115# 116#http://www.gnelson.demon.co.uk/zspec/sect11.html 117#http://www.jczorkmid.net/~jpenney/ZSpec11-latest.txt 118#http://en.wikipedia.org/wiki/Z-machine 119# The first byte is the Z-machine revision; it is always between 1 and 8. We 120# had false matches (for instance, inbig5.ocp from the Omega TeX extension as 121# well as an occasional MP3 file), so we sanity-check the version number. 122# 123# It might be possible to sanity-check the release number as well, as it seems 124# (at least in classic Infocom games) to always be a relatively small number, 125# always under 150 or so, but as this isn't rigorous, we'll wait on that until 126# it becomes clear that it's needed. 127# 1280 ubyte >0 129>0 ubyte <9 130>>16 belong&0xfe00f0f0 0x3030 131>>>0 ubyte < 10 132>>>>2 ubeshort < 10 133>>>>>18 regex [0-9][0-9][0-9][0-9][0-9][0-9] 134>>>>>>0 ubyte < 10 Infocom (Z-machine %d, 135>>>>>>>2 ubeshort < 10 Release %d / 136>>>>>>>>18 string >\0 Serial %.6s) 137!:strength + 40 138 139#------------------------------------------------------------------------------ 140# Glulx: file(1) magic for Glulx binaries. 141# 142# I haven't checked for false matches yet. 143# 1440 string Glul Glulx game data 145>4 beshort x (Version %d 146>>6 byte x \b.%d 147>>8 byte x \b.%d) 148>36 string Info Compiled by Inform 149 150 151 152# For Quetzal and blorb magic see iff 153 154 155# TADS (Text Adventure Development System) version 2 156# All files are machine-independent (games compile to byte-code) and are tagged 157# with a version string of the form "V2.<digit>.<digit>\0". 158# Game files start with "TADS2 bin\n\r\032\0" then the compiler version. 1590 string TADS2\ bin TADS 160>9 belong !0x0A0D1A00 game data, CORRUPTED 161>9 belong 0x0A0D1A00 162>>13 string >\0 %s game data 163# Resource files start with "TADS2 rsc\n\r\032\0" then the compiler version. 1640 string TADS2\ rsc TADS 165>9 belong !0x0A0D1A00 resource data, CORRUPTED 166>9 belong 0x0A0D1A00 167>>13 string >\0 %s resource data 168# Some saved game files start with "TADS2 save/g\n\r\032\0", a little-endian 169# 2-byte length N, the N-char name of the game file *without* a NUL (darn!), 170# "TADS2 save\n\r\032\0" and the interpreter version. 1710 string TADS2\ save/g TADS 172>12 belong !0x0A0D1A00 saved game data, CORRUPTED 173>12 belong 0x0A0D1A00 174>>(16.s+32) string >\0 %s saved game data 175# Other saved game files start with "TADS2 save\n\r\032\0" and the interpreter 176# version. 1770 string TADS2\ save TADS 178>10 belong !0x0A0D1A00 saved game data, CORRUPTED 179>10 belong 0x0A0D1A00 180>>14 string >\0 %s saved game data 181 182# TADS (Text Adventure Development System) version 3 183# Game files start with "T3-image\015\012\032" 1840 string T3-image\015\012\032 185>11 leshort x TADS 3 game data (format version %d) 186# Saved game files start with "T3-state-v####\015\012\032" 187# where #### is a format version number 1880 string T3-state-v 189>14 string \015\012\032 TADS 3 saved game data (format version 190>>10 byte x %c 191>>11 byte x \b%c 192>>12 byte x \b%c 193>>13 byte x \b%c) 194 195# Danny Milosavljevic <danny.milo@gmx.net> 196# this are adrift (adventure game standard) game files, extension .taf 197# depending on version magic continues with 0x93453E6139FA (V 4.0) 198# 0x9445376139FA (V 3.90) 199# 0x9445366139FA (V 3.80) 200# this is from source (http://www.adrift.org.uk/) and I have some taf 201# files, and checked them. 202#0 belong 0x3C423FC9 203#>4 belong 0x6A87C2CF Adrift game file 204#!:mime application/x-adrift 205 206#------------------------------------------------------------------------------ 207# $File: allegro,v 1.4 2009/09/19 16:28:07 christos Exp $ 208# allegro: file(1) magic for Allegro datafiles 209# Toby Deshane <hac@shoelace.digivill.net> 210# 2110 belong 0x736C6821 Allegro datafile (packed) 2120 belong 0x736C682E Allegro datafile (not packed/autodetect) 2130 belong 0x736C682B Allegro datafile (appended exe data) 214 215#------------------------------------------------------------------------------ 216# $File: alliant,v 1.7 2009/09/19 16:28:07 christos Exp $ 217# alliant: file(1) magic for Alliant FX series a.out files 218# 219# If the FX series is the one that had a processor with a 68K-derived 220# instruction set, the "short" should probably become "beshort" and the 221# "long" should probably become "belong". 222# If it's the i860-based one, they should probably become either the 223# big-endian or little-endian versions, depending on the mode they ran 224# the 860 in.... 225# 2260 short 0420 0420 Alliant virtual executable 227>2 short &0x0020 common library 228>16 long >0 not stripped 2290 short 0421 0421 Alliant compact executable 230>2 short &0x0020 common library 231>16 long >0 not stripped 232 233#------------------------------------------------------------------------------ 234# $File: amanda,v 1.5 2009/09/19 16:28:07 christos Exp $ 235# amanda: file(1) magic for amanda file format 236# 2370 string AMANDA:\ AMANDA 238>8 string TAPESTART\ DATE tape header file, 239>>23 string X 240>>>25 string >\ Unused %s 241>>23 string >\ DATE %s 242>8 string FILE\ dump file, 243>>13 string >\ DATE %s 244 245#------------------------------------------------------------------------------ 246# $File: amigaos,v 1.15 2012/06/21 01:13:59 christos Exp $ 247# amigaos: file(1) magic for AmigaOS binary formats: 248 249# 250# From ignatios@cs.uni-bonn.de (Ignatios Souvatzis) 251# 2520 belong 0x000003fa AmigaOS shared library 2530 belong 0x000003f3 AmigaOS loadseg()ble executable/binary 2540 belong 0x000003e7 AmigaOS object/library data 255# 2560 beshort 0xe310 Amiga Workbench 257>2 beshort 1 258>>48 byte 1 disk icon 259>>48 byte 2 drawer icon 260>>48 byte 3 tool icon 261>>48 byte 4 project icon 262>>48 byte 5 garbage icon 263>>48 byte 6 device icon 264>>48 byte 7 kickstart icon 265>>48 byte 8 workbench application icon 266>2 beshort >1 icon, vers. %d 267# 268# various sound formats from the Amiga 269# G=F6tz Waschk <waschk@informatik.uni-rostock.de> 270# 2710 string FC14 Future Composer 1.4 Module sound file 2720 string SMOD Future Composer 1.3 Module sound file 2730 string AON4artofnoise Art Of Noise Module sound file 2741 string MUGICIAN/SOFTEYES Mugician Module sound file 27558 string SIDMON\ II\ -\ THE Sidmon 2.0 Module sound file 2760 string Synth4.0 Synthesis Module sound file 2770 string ARP. The Holy Noise Module sound file 2780 string BeEp\0 JamCracker Module sound file 2790 string COSO\0 Hippel-COSO Module sound file 280# Too simple (short, pure ASCII, deep), MPi 281#26 string V.3 Brian Postma's Soundmon Module sound file v3 282#26 string BPSM Brian Postma's Soundmon Module sound file v3 283#26 string V.2 Brian Postma's Soundmon Module sound file v2 284 285# The following are from: "Stefan A. Haubenthal" <polluks@web.de> 2860 beshort 0x0f00 AmigaOS bitmap font 2870 beshort 0x0f03 AmigaOS outline font 2880 belong 0x80001001 AmigaOS outline tag 2890 string ##\ version catalog translation 2900 string EMOD\0 Amiga E module 2918 string ECXM\0 ECX module 2920 string/c @database AmigaGuide file 293 294# Amiga disk types 295# 2960 string RDSK Rigid Disk Block 297>160 string x on %.24s 2980 string DOS\0 Amiga DOS disk 2990 string DOS\1 Amiga FFS disk 3000 string DOS\2 Amiga Inter DOS disk 3010 string DOS\3 Amiga Inter FFS disk 3020 string DOS\4 Amiga Fastdir DOS disk 3030 string DOS\5 Amiga Fastdir FFS disk 3040 string KICK Kickstart disk 305 306# From: Alex Beregszaszi <alex@fsn.hu> 3070 string LZX LZX compressed archive (Amiga) 308 309# From: Przemek Kramarczyk <pkramarczyk@gmail.com> 3100 string .KEY AmigaDOS script 3110 string .key AmigaDOS script 312 313#------------------------------------------------------------ 314# $File: android,v 1.3 2013/11/08 01:24:22 christos Exp $ 315# Various android related magic entries 316#------------------------------------------------------------ 317 318# Dalvik .dex format. http://retrodev.com/android/dexformat.html 319# From <mkf@google.com> "Mike Fleming" 320# Fixed to avoid regexec 17 errors on some dex files 321# From <diff@lookout.com> "Tim Strazzere" 3220 string dex\n 323>0 regex dex\n[0-9]{2}\0 Dalvik dex file 324>4 string >000 version %s 3250 string dey\n 326>0 regex dey\n[0-9]{2}\0 Dalvik dex file (optimized for host) 327>4 string >000 version %s 328 329# http://android.stackexchange.com/questions/23357/\ 330# is-there-a-way-to-look-inside-and-modify-an-adb-backup-created-file/\ 331# 23608#23608 3320 string ANDROID\040BACKUP\n Android Backup 333>15 string 1\n \b, version 1 334>17 string 0\n \b, uncompressed 335>17 string 1\n \b, compressed 336>19 string none\n \b, unencrypted 337>19 string AES-256\n \b, encrypted AES-256 338 339# Android bootimg format 340# From https://android.googlesource.com/\ 341# platform/system/core/+/master/mkbootimg/bootimg.h 3420 string ANDROID! Android bootimg 343>8 lelong >0 \b, kernel 344>>12 lelong >0 \b (0x%x) 345>16 lelong >0 \b, ramdisk 346>>20 lelong >0 \b (0x%x) 347>24 lelong >0 \b, second stage 348>>28 lelong >0 \b (0x%x) 349>36 lelong >0 \b, page size: %d 350>38 string >0 \b, name: %s 351>64 string >0 \b, cmdline (%s) 352# Dalvik .dex format. http://retrodev.com/android/dexformat.html 353# From <mkf@google.com> "Mike Fleming" 354# Fixed to avoid regexec 17 errors on some dex files 355# From <diff@lookout.com> "Tim Strazzere" 3560 string dex\n 357>0 regex dex\n[0-9]{2}\0 Dalvik dex file 358>4 string >000 version %s 3590 string dey\n 360>0 regex dey\n[0-9]{2}\0 Dalvik dex file (optimized for host) 361>4 string >000 version %s 362 363# http://android.stackexchange.com/questions/23357/\ 364# is-there-a-way-to-look-inside-and-modify-an-adb-backup-created-file/\ 365# 23608#23608 3660 string ANDROID\040BACKUP\n Android Backup 367>15 string 1\n \b, version 1 368>17 string 0\n \b, uncompressed 369>17 string 1\n \b, compressed 370>19 string none\n \b, unencrypted 371>19 string AES-256\n \b, encrypted AES-256 372 373# Android bootimg format 374# From https://android.googlesource.com/\ 375# platform/system/core/+/master/mkbootimg/bootimg.h 3760 string ANDROID! Android bootimg 377>8 lelong >0 \b, kernel 378>>12 lelong >0 \b (0x%x) 379>16 lelong >0 \b, ramdisk 380>>20 lelong >0 \b (0x%x) 381>24 lelong >0 \b, second stage 382>>28 lelong >0 \b (0x%x) 383>36 lelong >0 \b, page size: %d 384>38 string >0 \b, name: %s 385>64 string >0 \b, cmdline (%s) 386 387# Android Backup archive 388# From: Ariel Shkedi 389# File extension: .ab 390# No mime-type defined 391# URL: https://github.com/android/platform_frameworks_base/blob/\ 392# 0bacfd2ba68d21a68a3df345b830bc2a1e515b5a/services/java/com/\ 393# android/server/BackupManagerService.java#L2367 394# After the header comes a tar file 395# If compressed, the entire tar file is compressed with JAVA deflate 396# 397# Include the version number hardcoded with the magic string to avoid 398# false positives 3990 string/b ANDROID\ BACKUP\n1\n Android Backup 400>17 string 0\n \b, Not-Compressed 401>17 string 1\n \b, Compressed 402# any string as long as it's not the word none (which is matched below) 403>>19 regex/1 \^([^n\n]|n[^o]|no[^n]|non[^e]|none.+).* \b, Encrypted (%s) 404>>19 string none\n \b, Not-Encrypted 405# Commented out because they don't seem useful to print 406# (but they are part of the header - the tar file comes after them): 407#>>>&1 regex/1 .* \b, Password salt: %s 408#>>>>&1 regex/1 .* \b, Master salt: %s 409#>>>>>&1 regex/1 .* \b, PBKDF2 rounds: %s 410#>>>>>>&1 regex/1 .* \b, IV: %s 411#>>>>>>>&1 regex/1 .* \b, Key: %s 412 413#------------------------------------------------------------------------------ 414# $File: animation,v 1.49 2013/08/15 13:15:11 christos Exp $ 415# animation: file(1) magic for animation/movie formats 416# 417# animation formats 418# MPEG, FLI, DL originally from vax@ccwf.cc.utexas.edu (VaX#n8) 419# FLC, SGI, Apple originally from Daniel Quinlan (quinlan@yggdrasil.com) 420 421# SGI and Apple formats 4220 string MOVI Silicon Graphics movie file 423!:mime video/x-sgi-movie 4244 string moov Apple QuickTime 425!:mime video/quicktime 426>12 string mvhd \b movie (fast start) 427>12 string mdra \b URL 428>12 string cmov \b movie (fast start, compressed header) 429>12 string rmra \b multiple URLs 4304 string mdat Apple QuickTime movie (unoptimized) 431!:mime video/quicktime 432#4 string wide Apple QuickTime movie (unoptimized) 433#!:mime video/quicktime 434#4 string skip Apple QuickTime movie (modified) 435#!:mime video/quicktime 436#4 string free Apple QuickTime movie (modified) 437#!:mime video/quicktime 4384 string idsc Apple QuickTime image (fast start) 439!:mime image/x-quicktime 440#4 string idat Apple QuickTime image (unoptimized) 441#!:mime image/x-quicktime 4424 string pckg Apple QuickTime compressed archive 443!:mime application/x-quicktime-player 4444 string/W jP JPEG 2000 image 445!:mime image/jp2 4464 string ftyp ISO Media 447>8 string isom \b, MPEG v4 system, version 1 448!:mime video/mp4 449>8 string iso2 \b, MPEG v4 system, part 12 revision 450>8 string mp41 \b, MPEG v4 system, version 1 451!:mime video/mp4 452>8 string mp42 \b, MPEG v4 system, version 2 453!:mime video/mp4 454>8 string mp7t \b, MPEG v4 system, MPEG v7 XML 455>8 string mp7b \b, MPEG v4 system, MPEG v7 binary XML 456>8 string/W jp2 \b, JPEG 2000 457!:mime image/jp2 458>8 string 3ge \b, MPEG v4 system, 3GPP 459!:mime video/3gpp 460>8 string 3gg \b, MPEG v4 system, 3GPP 461!:mime video/3gpp 462>8 string 3gp \b, MPEG v4 system, 3GPP 463!:mime video/3gpp 464>8 string 3gs \b, MPEG v4 system, 3GPP 465!:mime video/3gpp 466>8 string 3g2 \b, MPEG v4 system, 3GPP2 467!:mime video/3gpp2 468>>11 byte 4 \b v4 (H.263/AMR GSM 6.10) 469>>11 byte 5 \b v5 (H.263/AMR GSM 6.10) 470>>11 byte 6 \b v6 (ITU H.264/AMR GSM 6.10) 471>8 string mmp4 \b, MPEG v4 system, 3GPP Mobile 472!:mime video/mp4 473>8 string avc1 \b, MPEG v4 system, 3GPP JVT AVC 474!:mime video/3gpp 475>8 string/W M4A \b, MPEG v4 system, iTunes AAC-LC 476!:mime audio/mp4 477>8 string/W M4V \b, MPEG v4 system, iTunes AVC-LC 478!:mime video/mp4 479>8 string/W M4P \b, MPEG v4 system, iTunes AES encrypted 480>8 string/W M4B \b, MPEG v4 system, iTunes bookmarked 481>8 string/W qt \b, Apple QuickTime movie 482!:mime video/quicktime 483 484# MPEG sequences 485# Scans for all common MPEG header start codes 4860 belong 0x00000001 487>4 byte&0x1F 0x07 JVT NAL sequence, H.264 video 488>>5 byte 66 \b, baseline 489>>5 byte 77 \b, main 490>>5 byte 88 \b, extended 491>>7 byte x \b @ L %u 4920 belong&0xFFFFFF00 0x00000100 493>3 byte 0xBA MPEG sequence 494!:mime video/mpeg 495>>4 byte &0x40 \b, v2, program multiplex 496>>4 byte ^0x40 \b, v1, system multiplex 497>3 byte 0xBB MPEG sequence, v1/2, multiplex (missing pack header) 498>3 byte&0x1F 0x07 MPEG sequence, H.264 video 499>>4 byte 66 \b, baseline 500>>4 byte 77 \b, main 501>>4 byte 88 \b, extended 502>>6 byte x \b @ L %u 503# GRR too general as it catches also FoxPro Memo example NG.FPT 504>3 byte 0xB0 MPEG sequence, v4 505# TODO: maybe this extra line exclude FoxPro Memo example NG.FPT starting with 000001b0 00000100 00000000 506#>>4 byte !0 MPEG sequence, v4 507!:mime video/mpeg4-generic 508>>5 belong 0x000001B5 509>>>9 byte &0x80 510>>>>10 byte&0xF0 16 \b, video 511>>>>10 byte&0xF0 32 \b, still texture 512>>>>10 byte&0xF0 48 \b, mesh 513>>>>10 byte&0xF0 64 \b, face 514>>>9 byte&0xF8 8 \b, video 515>>>9 byte&0xF8 16 \b, still texture 516>>>9 byte&0xF8 24 \b, mesh 517>>>9 byte&0xF8 32 \b, face 518>>4 byte 1 \b, simple @ L1 519>>4 byte 2 \b, simple @ L2 520>>4 byte 3 \b, simple @ L3 521>>4 byte 4 \b, simple @ L0 522>>4 byte 17 \b, simple scalable @ L1 523>>4 byte 18 \b, simple scalable @ L2 524>>4 byte 33 \b, core @ L1 525>>4 byte 34 \b, core @ L2 526>>4 byte 50 \b, main @ L2 527>>4 byte 51 \b, main @ L3 528>>4 byte 53 \b, main @ L4 529>>4 byte 66 \b, n-bit @ L2 530>>4 byte 81 \b, scalable texture @ L1 531>>4 byte 97 \b, simple face animation @ L1 532>>4 byte 98 \b, simple face animation @ L2 533>>4 byte 99 \b, simple face basic animation @ L1 534>>4 byte 100 \b, simple face basic animation @ L2 535>>4 byte 113 \b, basic animation text @ L1 536>>4 byte 114 \b, basic animation text @ L2 537>>4 byte 129 \b, hybrid @ L1 538>>4 byte 130 \b, hybrid @ L2 539>>4 byte 145 \b, advanced RT simple @ L! 540>>4 byte 146 \b, advanced RT simple @ L2 541>>4 byte 147 \b, advanced RT simple @ L3 542>>4 byte 148 \b, advanced RT simple @ L4 543>>4 byte 161 \b, core scalable @ L1 544>>4 byte 162 \b, core scalable @ L2 545>>4 byte 163 \b, core scalable @ L3 546>>4 byte 177 \b, advanced coding efficiency @ L1 547>>4 byte 178 \b, advanced coding efficiency @ L2 548>>4 byte 179 \b, advanced coding efficiency @ L3 549>>4 byte 180 \b, advanced coding efficiency @ L4 550>>4 byte 193 \b, advanced core @ L1 551>>4 byte 194 \b, advanced core @ L2 552>>4 byte 209 \b, advanced scalable texture @ L1 553>>4 byte 210 \b, advanced scalable texture @ L2 554>>4 byte 211 \b, advanced scalable texture @ L3 555>>4 byte 225 \b, simple studio @ L1 556>>4 byte 226 \b, simple studio @ L2 557>>4 byte 227 \b, simple studio @ L3 558>>4 byte 228 \b, simple studio @ L4 559>>4 byte 229 \b, core studio @ L1 560>>4 byte 230 \b, core studio @ L2 561>>4 byte 231 \b, core studio @ L3 562>>4 byte 232 \b, core studio @ L4 563>>4 byte 240 \b, advanced simple @ L0 564>>4 byte 241 \b, advanced simple @ L1 565>>4 byte 242 \b, advanced simple @ L2 566>>4 byte 243 \b, advanced simple @ L3 567>>4 byte 244 \b, advanced simple @ L4 568>>4 byte 245 \b, advanced simple @ L5 569>>4 byte 247 \b, advanced simple @ L3b 570>>4 byte 248 \b, FGS @ L0 571>>4 byte 249 \b, FGS @ L1 572>>4 byte 250 \b, FGS @ L2 573>>4 byte 251 \b, FGS @ L3 574>>4 byte 252 \b, FGS @ L4 575>>4 byte 253 \b, FGS @ L5 576>3 byte 0xB5 MPEG sequence, v4 577!:mime video/mpeg4-generic 578>>4 byte &0x80 579>>>5 byte&0xF0 16 \b, video (missing profile header) 580>>>5 byte&0xF0 32 \b, still texture (missing profile header) 581>>>5 byte&0xF0 48 \b, mesh (missing profile header) 582>>>5 byte&0xF0 64 \b, face (missing profile header) 583>>4 byte&0xF8 8 \b, video (missing profile header) 584>>4 byte&0xF8 16 \b, still texture (missing profile header) 585>>4 byte&0xF8 24 \b, mesh (missing profile header) 586>>4 byte&0xF8 32 \b, face (missing profile header) 587>3 byte 0xB3 MPEG sequence 588!:mime video/mpeg 589>>12 belong 0x000001B8 \b, v1, progressive Y'CbCr 4:2:0 video 590>>12 belong 0x000001B2 \b, v1, progressive Y'CbCr 4:2:0 video 591>>12 belong 0x000001B5 \b, v2, 592>>>16 byte&0x0F 1 \b HP 593>>>16 byte&0x0F 2 \b Spt 594>>>16 byte&0x0F 3 \b SNR 595>>>16 byte&0x0F 4 \b MP 596>>>16 byte&0x0F 5 \b SP 597>>>17 byte&0xF0 64 \b@HL 598>>>17 byte&0xF0 96 \b@H-14 599>>>17 byte&0xF0 128 \b@ML 600>>>17 byte&0xF0 160 \b@LL 601>>>17 byte &0x08 \b progressive 602>>>17 byte ^0x08 \b interlaced 603>>>17 byte&0x06 2 \b Y'CbCr 4:2:0 video 604>>>17 byte&0x06 4 \b Y'CbCr 4:2:2 video 605>>>17 byte&0x06 6 \b Y'CbCr 4:4:4 video 606>>11 byte &0x02 607>>>75 byte &0x01 608>>>>140 belong 0x000001B8 \b, v1, progressive Y'CbCr 4:2:0 video 609>>>>140 belong 0x000001B2 \b, v1, progressive Y'CbCr 4:2:0 video 610>>>>140 belong 0x000001B5 \b, v2, 611>>>>>144 byte&0x0F 1 \b HP 612>>>>>144 byte&0x0F 2 \b Spt 613>>>>>144 byte&0x0F 3 \b SNR 614>>>>>144 byte&0x0F 4 \b MP 615>>>>>144 byte&0x0F 5 \b SP 616>>>>>145 byte&0xF0 64 \b@HL 617>>>>>145 byte&0xF0 96 \b@H-14 618>>>>>145 byte&0xF0 128 \b@ML 619>>>>>145 byte&0xF0 160 \b@LL 620>>>>>145 byte &0x08 \b progressive 621>>>>>145 byte ^0x08 \b interlaced 622>>>>>145 byte&0x06 2 \b Y'CbCr 4:2:0 video 623>>>>>145 byte&0x06 4 \b Y'CbCr 4:2:2 video 624>>>>>145 byte&0x06 6 \b Y'CbCr 4:4:4 video 625>>76 belong 0x000001B8 \b, v1, progressive Y'CbCr 4:2:0 video 626>>76 belong 0x000001B2 \b, v1, progressive Y'CbCr 4:2:0 video 627>>76 belong 0x000001B5 \b, v2, 628>>>80 byte&0x0F 1 \b HP 629>>>80 byte&0x0F 2 \b Spt 630>>>80 byte&0x0F 3 \b SNR 631>>>80 byte&0x0F 4 \b MP 632>>>80 byte&0x0F 5 \b SP 633>>>81 byte&0xF0 64 \b@HL 634>>>81 byte&0xF0 96 \b@H-14 635>>>81 byte&0xF0 128 \b@ML 636>>>81 byte&0xF0 160 \b@LL 637>>>81 byte &0x08 \b progressive 638>>>81 byte ^0x08 \b interlaced 639>>>81 byte&0x06 2 \b Y'CbCr 4:2:0 video 640>>>81 byte&0x06 4 \b Y'CbCr 4:2:2 video 641>>>81 byte&0x06 6 \b Y'CbCr 4:4:4 video 642>>4 belong&0xFFFFFF00 0x78043800 \b, HD-TV 1920P 643>>>7 byte&0xF0 0x10 \b, 16:9 644>>4 belong&0xFFFFFF00 0x50002D00 \b, SD-TV 1280I 645>>>7 byte&0xF0 0x10 \b, 16:9 646>>4 belong&0xFFFFFF00 0x30024000 \b, PAL Capture 647>>>7 byte&0xF0 0x10 \b, 4:3 648>>4 beshort&0xFFF0 0x2C00 \b, 4CIF 649>>>5 beshort&0x0FFF 0x01E0 \b NTSC 650>>>5 beshort&0x0FFF 0x0240 \b PAL 651>>>7 byte&0xF0 0x20 \b, 4:3 652>>>7 byte&0xF0 0x30 \b, 16:9 653>>>7 byte&0xF0 0x40 \b, 11:5 654>>>7 byte&0xF0 0x80 \b, PAL 4:3 655>>>7 byte&0xF0 0xC0 \b, NTSC 4:3 656>>4 belong&0xFFFFFF00 0x2801E000 \b, LD-TV 640P 657>>>7 byte&0xF0 0x10 \b, 4:3 658>>4 belong&0xFFFFFF00 0x1400F000 \b, 320x240 659>>>7 byte&0xF0 0x10 \b, 4:3 660>>4 belong&0xFFFFFF00 0x0F00A000 \b, 240x160 661>>>7 byte&0xF0 0x10 \b, 4:3 662>>4 belong&0xFFFFFF00 0x0A007800 \b, 160x120 663>>>7 byte&0xF0 0x10 \b, 4:3 664>>4 beshort&0xFFF0 0x1600 \b, CIF 665>>>5 beshort&0x0FFF 0x00F0 \b NTSC 666>>>5 beshort&0x0FFF 0x0120 \b PAL 667>>>7 byte&0xF0 0x20 \b, 4:3 668>>>7 byte&0xF0 0x30 \b, 16:9 669>>>7 byte&0xF0 0x40 \b, 11:5 670>>>7 byte&0xF0 0x80 \b, PAL 4:3 671>>>7 byte&0xF0 0xC0 \b, NTSC 4:3 672>>>5 beshort&0x0FFF 0x0240 \b PAL 625 673>>>>7 byte&0xF0 0x20 \b, 4:3 674>>>>7 byte&0xF0 0x30 \b, 16:9 675>>>>7 byte&0xF0 0x40 \b, 11:5 676>>4 beshort&0xFFF0 0x2D00 \b, CCIR/ITU 677>>>5 beshort&0x0FFF 0x01E0 \b NTSC 525 678>>>5 beshort&0x0FFF 0x0240 \b PAL 625 679>>>7 byte&0xF0 0x20 \b, 4:3 680>>>7 byte&0xF0 0x30 \b, 16:9 681>>>7 byte&0xF0 0x40 \b, 11:5 682>>4 beshort&0xFFF0 0x1E00 \b, SVCD 683>>>5 beshort&0x0FFF 0x01E0 \b NTSC 525 684>>>5 beshort&0x0FFF 0x0240 \b PAL 625 685>>>7 byte&0xF0 0x20 \b, 4:3 686>>>7 byte&0xF0 0x30 \b, 16:9 687>>>7 byte&0xF0 0x40 \b, 11:5 688>>7 byte&0x0F 1 \b, 23.976 fps 689>>7 byte&0x0F 2 \b, 24 fps 690>>7 byte&0x0F 3 \b, 25 fps 691>>7 byte&0x0F 4 \b, 29.97 fps 692>>7 byte&0x0F 5 \b, 30 fps 693>>7 byte&0x0F 6 \b, 50 fps 694>>7 byte&0x0F 7 \b, 59.94 fps 695>>7 byte&0x0F 8 \b, 60 fps 696>>11 byte &0x04 \b, Constrained 697 698# MPEG ADTS Audio (*.mpx/mxa/aac) 699# from dreesen@math.fu-berlin.de 700# modified to fully support MPEG ADTS 701 702# MP3, M1A 703# modified by Joerg Jenderek 704# GRR the original test are too common for many DOS files 705# so don't accept as MP3 until we've tested the rate 7060 beshort&0xFFFE 0xFFFA 707# rates 708>2 byte&0xF0 0x10 MPEG ADTS, layer III, v1, 32 kbps 709!:mime audio/mpeg 710>2 byte&0xF0 0x20 MPEG ADTS, layer III, v1, 40 kbps 711!:mime audio/mpeg 712>2 byte&0xF0 0x30 MPEG ADTS, layer III, v1, 48 kbps 713!:mime audio/mpeg 714>2 byte&0xF0 0x40 MPEG ADTS, layer III, v1, 56 kbps 715!:mime audio/mpeg 716>2 byte&0xF0 0x50 MPEG ADTS, layer III, v1, 64 kbps 717!:mime audio/mpeg 718>2 byte&0xF0 0x60 MPEG ADTS, layer III, v1, 80 kbps 719!:mime audio/mpeg 720>2 byte&0xF0 0x70 MPEG ADTS, layer III, v1, 96 kbps 721!:mime audio/mpeg 722>2 byte&0xF0 0x80 MPEG ADTS, layer III, v1, 112 kbps 723!:mime audio/mpeg 724>2 byte&0xF0 0x90 MPEG ADTS, layer III, v1, 128 kbps 725!:mime audio/mpeg 726>2 byte&0xF0 0xA0 MPEG ADTS, layer III, v1, 160 kbps 727!:mime audio/mpeg 728>2 byte&0xF0 0xB0 MPEG ADTS, layer III, v1, 192 kbps 729!:mime audio/mpeg 730>2 byte&0xF0 0xC0 MPEG ADTS, layer III, v1, 224 kbps 731!:mime audio/mpeg 732>2 byte&0xF0 0xD0 MPEG ADTS, layer III, v1, 256 kbps 733!:mime audio/mpeg 734>2 byte&0xF0 0xE0 MPEG ADTS, layer III, v1, 320 kbps 735!:mime audio/mpeg 736# timing 737>2 byte&0x0C 0x00 \b, 44.1 kHz 738>2 byte&0x0C 0x04 \b, 48 kHz 739>2 byte&0x0C 0x08 \b, 32 kHz 740# channels/options 741>3 byte&0xC0 0x00 \b, Stereo 742>3 byte&0xC0 0x40 \b, JntStereo 743>3 byte&0xC0 0x80 \b, 2x Monaural 744>3 byte&0xC0 0xC0 \b, Monaural 745#>1 byte ^0x01 \b, Data Verify 746#>2 byte &0x02 \b, Packet Pad 747#>2 byte &0x01 \b, Custom Flag 748#>3 byte &0x08 \b, Copyrighted 749#>3 byte &0x04 \b, Original Source 750#>3 byte&0x03 1 \b, NR: 50/15 ms 751#>3 byte&0x03 3 \b, NR: CCIT J.17 752 753# MP2, M1A 7540 beshort&0xFFFE 0xFFFC MPEG ADTS, layer II, v1 755!:mime audio/mpeg 756# rates 757>2 byte&0xF0 0x10 \b, 32 kbps 758>2 byte&0xF0 0x20 \b, 48 kbps 759>2 byte&0xF0 0x30 \b, 56 kbps 760>2 byte&0xF0 0x40 \b, 64 kbps 761>2 byte&0xF0 0x50 \b, 80 kbps 762>2 byte&0xF0 0x60 \b, 96 kbps 763>2 byte&0xF0 0x70 \b, 112 kbps 764>2 byte&0xF0 0x80 \b, 128 kbps 765>2 byte&0xF0 0x90 \b, 160 kbps 766>2 byte&0xF0 0xA0 \b, 192 kbps 767>2 byte&0xF0 0xB0 \b, 224 kbps 768>2 byte&0xF0 0xC0 \b, 256 kbps 769>2 byte&0xF0 0xD0 \b, 320 kbps 770>2 byte&0xF0 0xE0 \b, 384 kbps 771# timing 772>2 byte&0x0C 0x00 \b, 44.1 kHz 773>2 byte&0x0C 0x04 \b, 48 kHz 774>2 byte&0x0C 0x08 \b, 32 kHz 775# channels/options 776>3 byte&0xC0 0x00 \b, Stereo 777>3 byte&0xC0 0x40 \b, JntStereo 778>3 byte&0xC0 0x80 \b, 2x Monaural 779>3 byte&0xC0 0xC0 \b, Monaural 780#>1 byte ^0x01 \b, Data Verify 781#>2 byte &0x02 \b, Packet Pad 782#>2 byte &0x01 \b, Custom Flag 783#>3 byte &0x08 \b, Copyrighted 784#>3 byte &0x04 \b, Original Source 785#>3 byte&0x03 1 \b, NR: 50/15 ms 786#>3 byte&0x03 3 \b, NR: CCIT J.17 787 788# MPA, M1A 789# updated by Joerg Jenderek 790# GRR the original test are too common for many DOS files, so test 32 <= kbits <= 448 791# GRR this test is still too general as it catches a BOM of UTF-16 files (0xFFFE) 792# FIXME: Almost all little endian UTF-16 text with BOM are clobbered by these entries 793#0 beshort&0xFFFE 0xFFFE 794#>2 ubyte&0xF0 >0x0F 795#>>2 ubyte&0xF0 <0xE1 MPEG ADTS, layer I, v1 796## rate 797#>>>2 byte&0xF0 0x10 \b, 32 kbps 798#>>>2 byte&0xF0 0x20 \b, 64 kbps 799#>>>2 byte&0xF0 0x30 \b, 96 kbps 800#>>>2 byte&0xF0 0x40 \b, 128 kbps 801#>>>2 byte&0xF0 0x50 \b, 160 kbps 802#>>>2 byte&0xF0 0x60 \b, 192 kbps 803#>>>2 byte&0xF0 0x70 \b, 224 kbps 804#>>>2 byte&0xF0 0x80 \b, 256 kbps 805#>>>2 byte&0xF0 0x90 \b, 288 kbps 806#>>>2 byte&0xF0 0xA0 \b, 320 kbps 807#>>>2 byte&0xF0 0xB0 \b, 352 kbps 808#>>>2 byte&0xF0 0xC0 \b, 384 kbps 809#>>>2 byte&0xF0 0xD0 \b, 416 kbps 810#>>>2 byte&0xF0 0xE0 \b, 448 kbps 811## timing 812#>>>2 byte&0x0C 0x00 \b, 44.1 kHz 813#>>>2 byte&0x0C 0x04 \b, 48 kHz 814#>>>2 byte&0x0C 0x08 \b, 32 kHz 815## channels/options 816#>>>3 byte&0xC0 0x00 \b, Stereo 817#>>>3 byte&0xC0 0x40 \b, JntStereo 818#>>>3 byte&0xC0 0x80 \b, 2x Monaural 819#>>>3 byte&0xC0 0xC0 \b, Monaural 820##>1 byte ^0x01 \b, Data Verify 821##>2 byte &0x02 \b, Packet Pad 822##>2 byte &0x01 \b, Custom Flag 823##>3 byte &0x08 \b, Copyrighted 824##>3 byte &0x04 \b, Original Source 825##>3 byte&0x03 1 \b, NR: 50/15 ms 826##>3 byte&0x03 3 \b, NR: CCIT J.17 827 828# MP3, M2A 8290 beshort&0xFFFE 0xFFF2 MPEG ADTS, layer III, v2 830!:mime audio/mpeg 831# rate 832>2 byte&0xF0 0x10 \b, 8 kbps 833>2 byte&0xF0 0x20 \b, 16 kbps 834>2 byte&0xF0 0x30 \b, 24 kbps 835>2 byte&0xF0 0x40 \b, 32 kbps 836>2 byte&0xF0 0x50 \b, 40 kbps 837>2 byte&0xF0 0x60 \b, 48 kbps 838>2 byte&0xF0 0x70 \b, 56 kbps 839>2 byte&0xF0 0x80 \b, 64 kbps 840>2 byte&0xF0 0x90 \b, 80 kbps 841>2 byte&0xF0 0xA0 \b, 96 kbps 842>2 byte&0xF0 0xB0 \b, 112 kbps 843>2 byte&0xF0 0xC0 \b, 128 kbps 844>2 byte&0xF0 0xD0 \b, 144 kbps 845>2 byte&0xF0 0xE0 \b, 160 kbps 846# timing 847>2 byte&0x0C 0x00 \b, 22.05 kHz 848>2 byte&0x0C 0x04 \b, 24 kHz 849>2 byte&0x0C 0x08 \b, 16 kHz 850# channels/options 851>3 byte&0xC0 0x00 \b, Stereo 852>3 byte&0xC0 0x40 \b, JntStereo 853>3 byte&0xC0 0x80 \b, 2x Monaural 854>3 byte&0xC0 0xC0 \b, Monaural 855#>1 byte ^0x01 \b, Data Verify 856#>2 byte &0x02 \b, Packet Pad 857#>2 byte &0x01 \b, Custom Flag 858#>3 byte &0x08 \b, Copyrighted 859#>3 byte &0x04 \b, Original Source 860#>3 byte&0x03 1 \b, NR: 50/15 ms 861#>3 byte&0x03 3 \b, NR: CCIT J.17 862 863# MP2, M2A 8640 beshort&0xFFFE 0xFFF4 MPEG ADTS, layer II, v2 865# rate 866>2 byte&0xF0 0x10 \b, 8 kbps 867>2 byte&0xF0 0x20 \b, 16 kbps 868>2 byte&0xF0 0x30 \b, 24 kbps 869>2 byte&0xF0 0x40 \b, 32 kbps 870>2 byte&0xF0 0x50 \b, 40 kbps 871>2 byte&0xF0 0x60 \b, 48 kbps 872>2 byte&0xF0 0x70 \b, 56 kbps 873>2 byte&0xF0 0x80 \b, 64 kbps 874>2 byte&0xF0 0x90 \b, 80 kbps 875>2 byte&0xF0 0xA0 \b, 96 kbps 876>2 byte&0xF0 0xB0 \b, 112 kbps 877>2 byte&0xF0 0xC0 \b, 128 kbps 878>2 byte&0xF0 0xD0 \b, 144 kbps 879>2 byte&0xF0 0xE0 \b, 160 kbps 880# timing 881>2 byte&0x0C 0x00 \b, 22.05 kHz 882>2 byte&0x0C 0x04 \b, 24 kHz 883>2 byte&0x0C 0x08 \b, 16 kHz 884# channels/options 885>3 byte&0xC0 0x00 \b, Stereo 886>3 byte&0xC0 0x40 \b, JntStereo 887>3 byte&0xC0 0x80 \b, 2x Monaural 888>3 byte&0xC0 0xC0 \b, Monaural 889#>1 byte ^0x01 \b, Data Verify 890#>2 byte &0x02 \b, Packet Pad 891#>2 byte &0x01 \b, Custom Flag 892#>3 byte &0x08 \b, Copyrighted 893#>3 byte &0x04 \b, Original Source 894#>3 byte&0x03 1 \b, NR: 50/15 ms 895#>3 byte&0x03 3 \b, NR: CCIT J.17 896 897# MPA, M2A 8980 beshort&0xFFFE 0xFFF6 MPEG ADTS, layer I, v2 899!:mime audio/mpeg 900# rate 901>2 byte&0xF0 0x10 \b, 32 kbps 902>2 byte&0xF0 0x20 \b, 48 kbps 903>2 byte&0xF0 0x30 \b, 56 kbps 904>2 byte&0xF0 0x40 \b, 64 kbps 905>2 byte&0xF0 0x50 \b, 80 kbps 906>2 byte&0xF0 0x60 \b, 96 kbps 907>2 byte&0xF0 0x70 \b, 112 kbps 908>2 byte&0xF0 0x80 \b, 128 kbps 909>2 byte&0xF0 0x90 \b, 144 kbps 910>2 byte&0xF0 0xA0 \b, 160 kbps 911>2 byte&0xF0 0xB0 \b, 176 kbps 912>2 byte&0xF0 0xC0 \b, 192 kbps 913>2 byte&0xF0 0xD0 \b, 224 kbps 914>2 byte&0xF0 0xE0 \b, 256 kbps 915# timing 916>2 byte&0x0C 0x00 \b, 22.05 kHz 917>2 byte&0x0C 0x04 \b, 24 kHz 918>2 byte&0x0C 0x08 \b, 16 kHz 919# channels/options 920>3 byte&0xC0 0x00 \b, Stereo 921>3 byte&0xC0 0x40 \b, JntStereo 922>3 byte&0xC0 0x80 \b, 2x Monaural 923>3 byte&0xC0 0xC0 \b, Monaural 924#>1 byte ^0x01 \b, Data Verify 925#>2 byte &0x02 \b, Packet Pad 926#>2 byte &0x01 \b, Custom Flag 927#>3 byte &0x08 \b, Copyrighted 928#>3 byte &0x04 \b, Original Source 929#>3 byte&0x03 1 \b, NR: 50/15 ms 930#>3 byte&0x03 3 \b, NR: CCIT J.17 931 932# MP3, M25A 9330 beshort&0xFFFE 0xFFE2 MPEG ADTS, layer III, v2.5 934!:mime audio/mpeg 935# rate 936>2 byte&0xF0 0x10 \b, 8 kbps 937>2 byte&0xF0 0x20 \b, 16 kbps 938>2 byte&0xF0 0x30 \b, 24 kbps 939>2 byte&0xF0 0x40 \b, 32 kbps 940>2 byte&0xF0 0x50 \b, 40 kbps 941>2 byte&0xF0 0x60 \b, 48 kbps 942>2 byte&0xF0 0x70 \b, 56 kbps 943>2 byte&0xF0 0x80 \b, 64 kbps 944>2 byte&0xF0 0x90 \b, 80 kbps 945>2 byte&0xF0 0xA0 \b, 96 kbps 946>2 byte&0xF0 0xB0 \b, 112 kbps 947>2 byte&0xF0 0xC0 \b, 128 kbps 948>2 byte&0xF0 0xD0 \b, 144 kbps 949>2 byte&0xF0 0xE0 \b, 160 kbps 950# timing 951>2 byte&0x0C 0x00 \b, 11.025 kHz 952>2 byte&0x0C 0x04 \b, 12 kHz 953>2 byte&0x0C 0x08 \b, 8 kHz 954# channels/options 955>3 byte&0xC0 0x00 \b, Stereo 956>3 byte&0xC0 0x40 \b, JntStereo 957>3 byte&0xC0 0x80 \b, 2x Monaural 958>3 byte&0xC0 0xC0 \b, Monaural 959#>1 byte ^0x01 \b, Data Verify 960#>2 byte &0x02 \b, Packet Pad 961#>2 byte &0x01 \b, Custom Flag 962#>3 byte &0x08 \b, Copyrighted 963#>3 byte &0x04 \b, Original Source 964#>3 byte&0x03 1 \b, NR: 50/15 ms 965#>3 byte&0x03 3 \b, NR: CCIT J.17 966 967# AAC (aka MPEG-2 NBC audio) and MPEG-4 audio 968 969# Stored AAC streams (instead of the MP4 format) 9700 string ADIF MPEG ADIF, AAC 971!:mime audio/x-hx-aac-adif 972>4 byte &0x80 973>>13 byte &0x10 \b, VBR 974>>13 byte ^0x10 \b, CBR 975>>16 byte&0x1E 0x02 \b, single stream 976>>16 byte&0x1E 0x04 \b, 2 streams 977>>16 byte&0x1E 0x06 \b, 3 streams 978>>16 byte &0x08 \b, 4 or more streams 979>>16 byte &0x10 \b, 8 or more streams 980>>4 byte &0x80 \b, Copyrighted 981>>13 byte &0x40 \b, Original Source 982>>13 byte &0x20 \b, Home Flag 983>4 byte ^0x80 984>>4 byte &0x10 \b, VBR 985>>4 byte ^0x10 \b, CBR 986>>7 byte&0x1E 0x02 \b, single stream 987>>7 byte&0x1E 0x04 \b, 2 streams 988>>7 byte&0x1E 0x06 \b, 3 streams 989>>7 byte &0x08 \b, 4 or more streams 990>>7 byte &0x10 \b, 8 or more streams 991>>4 byte &0x40 \b, Original Stream(s) 992>>4 byte &0x20 \b, Home Source 993 994# Live or stored single AAC stream (used with MPEG-2 systems) 9950 beshort&0xFFF6 0xFFF0 MPEG ADTS, AAC 996!:mime audio/x-hx-aac-adts 997>1 byte &0x08 \b, v2 998>1 byte ^0x08 \b, v4 999# profile 1000>>2 byte &0xC0 \b LTP 1001>2 byte&0xc0 0x00 \b Main 1002>2 byte&0xc0 0x40 \b LC 1003>2 byte&0xc0 0x80 \b SSR 1004# timing 1005>2 byte&0x3c 0x00 \b, 96 kHz 1006>2 byte&0x3c 0x04 \b, 88.2 kHz 1007>2 byte&0x3c 0x08 \b, 64 kHz 1008>2 byte&0x3c 0x0c \b, 48 kHz 1009>2 byte&0x3c 0x10 \b, 44.1 kHz 1010>2 byte&0x3c 0x14 \b, 32 kHz 1011>2 byte&0x3c 0x18 \b, 24 kHz 1012>2 byte&0x3c 0x1c \b, 22.05 kHz 1013>2 byte&0x3c 0x20 \b, 16 kHz 1014>2 byte&0x3c 0x24 \b, 12 kHz 1015>2 byte&0x3c 0x28 \b, 11.025 kHz 1016>2 byte&0x3c 0x2c \b, 8 kHz 1017# channels 1018>2 beshort&0x01c0 0x0040 \b, monaural 1019>2 beshort&0x01c0 0x0080 \b, stereo 1020>2 beshort&0x01c0 0x00c0 \b, stereo + center 1021>2 beshort&0x01c0 0x0100 \b, stereo+center+LFE 1022>2 beshort&0x01c0 0x0140 \b, surround 1023>2 beshort&0x01c0 0x0180 \b, surround + LFE 1024>2 beshort &0x01C0 \b, surround + side 1025#>1 byte ^0x01 \b, Data Verify 1026#>2 byte &0x02 \b, Custom Flag 1027#>3 byte &0x20 \b, Original Stream 1028#>3 byte &0x10 \b, Home Source 1029#>3 byte &0x08 \b, Copyrighted 1030 1031# Live MPEG-4 audio streams (instead of RTP FlexMux) 10320 beshort&0xFFE0 0x56E0 MPEG-4 LOAS 1033!:mime audio/x-mp4a-latm 1034#>1 beshort&0x1FFF x \b, %u byte packet 1035>3 byte&0xE0 0x40 1036>>4 byte&0x3C 0x04 \b, single stream 1037>>4 byte&0x3C 0x08 \b, 2 streams 1038>>4 byte&0x3C 0x0C \b, 3 streams 1039>>4 byte &0x08 \b, 4 or more streams 1040>>4 byte &0x20 \b, 8 or more streams 1041>3 byte&0xC0 0 1042>>4 byte&0x78 0x08 \b, single stream 1043>>4 byte&0x78 0x10 \b, 2 streams 1044>>4 byte&0x78 0x18 \b, 3 streams 1045>>4 byte &0x20 \b, 4 or more streams 1046>>4 byte &0x40 \b, 8 or more streams 1047# This magic isn't strong enough (matches plausible ISO-8859-1 text) 1048#0 beshort 0x4DE1 MPEG-4 LO-EP audio stream 1049#!:mime audio/x-mp4a-latm 1050 1051# Summary: FLI animation format 1052# Created by: Daniel Quinlan <quinlan@yggdrasil.com> 1053# Modified by (1): Abel Cheung <abelcheung@gmail.com> (avoid over-generic detection) 10544 leshort 0xAF11 1055# standard FLI always has 320x200 resolution and 8 bit color 1056>8 leshort 320 1057>>10 leshort 200 1058>>>12 leshort 8 FLI animation, 320x200x8 1059!:mime video/x-fli 1060>>>>6 leshort x \b, %d frames 1061# frame speed is multiple of 1/70s 1062>>>>16 leshort x \b, %d/70s per frame 1063 1064# Summary: FLC animation format 1065# Created by: Daniel Quinlan <quinlan@yggdrasil.com> 1066# Modified by (1): Abel Cheung <abelcheung@gmail.com> (avoid over-generic detection) 10674 leshort 0xAF12 1068# standard FLC always use 8 bit color 1069>12 leshort 8 FLC animation 1070!:mime video/x-flc 1071>>8 leshort x \b, %d 1072>>10 leshort x \bx%dx8 1073>>6 uleshort x \b, %d frames 1074>>16 uleshort x \b, %dms per frame 1075 1076# DL animation format 1077# XXX - collision with most `mips' magic 1078# 1079# I couldn't find a real magic number for these, however, this 1080# -appears- to work. Note that it might catch other files, too, so be 1081# careful! 1082# 1083# Note that title and author appear in the two 20-byte chunks 1084# at decimal offsets 2 and 22, respectively, but they are XOR'ed with 1085# 255 (hex FF)! The DL format is really bad. 1086# 1087#0 byte 1 DL version 1, medium format (160x100, 4 images/screen) 1088#!:mime video/x-unknown 1089#>42 byte x - %d screens, 1090#>43 byte x %d commands 1091#0 byte 2 DL version 2 1092#!:mime video/x-unknown 1093#>1 byte 1 - large format (320x200,1 image/screen), 1094#>1 byte 2 - medium format (160x100,4 images/screen), 1095#>1 byte >2 - unknown format, 1096#>42 byte x %d screens, 1097#>43 byte x %d commands 1098# Based on empirical evidence, DL version 3 have several nulls following the 1099# \003. Most of them start with non-null values at hex offset 0x34 or so. 1100#0 string \3\0\0\0\0\0\0\0\0\0\0\0 DL version 3 1101 1102# iso 13818 transport stream 1103# 1104# from Oskar Schirmer <schirmer@scara.com> Feb 3, 2001 (ISO 13818.1) 1105# syncbyte 8 bit 0x47 1106# error_ind 1 bit - 1107# payload_start 1 bit 1 1108# priority 1 bit - 1109# PID 13 bit 0x0000 1110# scrambling 2 bit - 1111# adaptfld_ctrl 2 bit 1 or 3 1112# conti_count 4 bit - 11130 belong&0xFF5FFF10 0x47400010 1114>188 byte 0x47 MPEG transport stream data 1115 1116# DIF digital video file format <mpruett@sgi.com> 11170 belong&0xffffff00 0x1f070000 DIF 1118>4 byte &0x01 (DVCPRO) movie file 1119>4 byte ^0x01 (DV) movie file 1120>3 byte &0x80 (PAL) 1121>3 byte ^0x80 (NTSC) 1122 1123# Microsoft Advanced Streaming Format (ASF) <mpruett@sgi.com> 11240 belong 0x3026b275 Microsoft ASF 1125!:mime video/x-ms-asf 1126 1127# MNG Video Format, <URL:http://www.libpng.org/pub/mng/spec/> 11280 string \x8aMNG MNG video data, 1129!:mime video/x-mng 1130>4 belong !0x0d0a1a0a CORRUPTED, 1131>4 belong 0x0d0a1a0a 1132>>16 belong x %ld x 1133>>20 belong x %ld 1134 1135# JNG Video Format, <URL:http://www.libpng.org/pub/mng/spec/> 11360 string \x8bJNG JNG video data, 1137!:mime video/x-jng 1138>4 belong !0x0d0a1a0a CORRUPTED, 1139>4 belong 0x0d0a1a0a 1140>>16 belong x %ld x 1141>>20 belong x %ld 1142 1143# Vivo video (Wolfram Kleff) 11443 string \x0D\x0AVersion:Vivo Vivo video data 1145 1146# VRML (Virtual Reality Modelling Language) 11470 string/w #VRML\ V1.0\ ascii VRML 1 file 1148!:mime model/vrml 11490 string/w #VRML\ V2.0\ utf8 ISO/IEC 14772 VRML 97 file 1150!:mime model/vrml 1151 1152# X3D (Extensible 3D) [http://www.web3d.org/specifications/x3d-3.0.dtd] 1153# From Michel Briand <michelbriand@free.fr> 11540 string/t \<?xml\ version=" 1155!:strength +1 1156>20 search/1000/cw \<!DOCTYPE\ X3D X3D (Extensible 3D) model xml text 1157!:mime model/x3d 1158 1159#--------------------------------------------------------------------------- 1160# HVQM4: compressed movie format designed by Hudson for Nintendo GameCube 1161# From Mark Sheppard <msheppard@climax.co.uk>, 2002-10-03 1162# 11630 string HVQM4 %s 1164>6 string >\0 v%s 1165>0 byte x GameCube movie, 1166>0x34 ubeshort x %d x 1167>0x36 ubeshort x %d, 1168>0x26 ubeshort x %dus, 1169>0x42 ubeshort 0 no audio 1170>0x42 ubeshort >0 %dHz audio 1171 1172# From: "Stefan A. Haubenthal" <polluks@web.de> 11730 string DVDVIDEO-VTS Video title set, 1174>0x21 byte x v%x 11750 string DVDVIDEO-VMG Video manager, 1176>0x21 byte x v%x 1177 1178# From: Behan Webster <behanw@websterwood.com> 1179# NuppelVideo used by Mythtv (*.nuv) 1180# Note: there are two identical stanzas here differing only in the 1181# initial string matched. It used to be done with a regex, but we're 1182# trying to get rid of those. 11830 string NuppelVideo MythTV NuppelVideo 1184>12 string x v%s 1185>20 lelong x (%d 1186>24 lelong x \bx%d), 1187>36 string P \bprogressive, 1188>36 string I \binterlaced, 1189>40 ledouble x \baspect:%.2f, 1190>48 ledouble x \bfps:%.2f 11910 string MythTV MythTV NuppelVideo 1192>12 string x v%s 1193>20 lelong x (%d 1194>24 lelong x \bx%d), 1195>36 string P \bprogressive, 1196>36 string I \binterlaced, 1197>40 ledouble x \baspect:%.2f, 1198>48 ledouble x \bfps:%.2f 1199 1200# MPEG file 1201# MPEG sequences 1202# FIXME: This section is from the old magic.mime file and needs integrating with the rest 12030 belong 0x000001BA 1204>4 byte &0x40 1205!:mime video/mp2p 1206>4 byte ^0x40 1207!:mime video/mpeg 12080 belong 0x000001BB 1209!:mime video/mpeg 12100 belong 0x000001B0 1211!:mime video/mp4v-es 12120 belong 0x000001B5 1213!:mime video/mp4v-es 12140 belong 0x000001B3 1215!:mime video/mpv 12160 belong&0xFF5FFF10 0x47400010 1217!:mime video/mp2t 12180 belong 0x00000001 1219>4 byte&0x1F 0x07 1220!:mime video/h264 1221 1222# Type: Bink Video 1223# Extension: .bik 1224# URL: http://wiki.multimedia.cx/index.php?title=Bink_Container 1225# From: <hoehle@users.sourceforge.net> 2008-07-18 12260 string BIK Bink Video 1227>3 regex =[a-z] rev.%s 1228#>4 ulelong x size %d 1229>20 ulelong x \b, %d 1230>24 ulelong x \bx%d 1231>8 ulelong x \b, %d frames 1232>32 ulelong x at rate %d/ 1233>28 ulelong >1 \b%d 1234>40 ulelong =0 \b, no audio 1235>40 ulelong !0 \b, %d audio track 1236>>40 ulelong !1 \bs 1237# follow properties of the first audio track only 1238>>48 uleshort x %dHz 1239>>51 byte&0x20 0 mono 1240>>51 byte&0x20 !0 stereo 1241#>>51 byte&0x10 0 FFT 1242#>>51 byte&0x10 !0 DCT 1243 1244# Type: NUT Container 1245# URL: http://wiki.multimedia.cx/index.php?title=NUT 1246# From: Adam Buchbinder <adam.buchbinder@gmail.com> 12470 string nut/multimedia\ container\0 NUT multimedia container 1248 1249# Type: Nullsoft Video (NSV) 1250# URL: http://wiki.multimedia.cx/index.php?title=Nullsoft_Video 1251# From: Mike Melanson <mike@multimedia.cx> 12520 string NSVf Nullsoft Video 1253 1254# Type: REDCode Video 1255# URL: http://www.red.com/ ; http://wiki.multimedia.cx/index.php?title=REDCode 1256# From: Mike Melanson <mike@multimedia.cx> 12574 string RED1 REDCode Video 1258 1259# Type: MTV Multimedia File 1260# URL: http://wiki.multimedia.cx/index.php?title=MTV 1261# From: Mike Melanson <mike@multimedia.cx> 12620 string AMVS MTV Multimedia File 1263 1264# Type: ARMovie 1265# URL: http://wiki.multimedia.cx/index.php?title=ARMovie 1266# From: Mike Melanson <mike@multimedia.cx> 12670 string ARMovie\012 ARMovie 1268 1269# Type: Interplay MVE Movie 1270# URL: http://wiki.multimedia.cx/index.php?title=Interplay_MVE 1271# From: Mike Melanson <mike@multimedia.cx> 12720 string Interplay\040MVE\040File\032 Interplay MVE Movie 1273 1274# Type: Windows Television DVR File 1275# URL: http://wiki.multimedia.cx/index.php?title=WTV 1276# From: Mike Melanson <mike@mutlimedia.cx> 1277# This takes the form of a Windows-style GUID 12780 bequad 0xB7D800203749DA11 1279>8 bequad 0xA64E0007E95EAD8D Windows Television DVR Media 1280 1281# Type: Sega FILM/CPK Multimedia 1282# URL: http://wiki.multimedia.cx/index.php?title=Sega_FILM 1283# From: Mike Melanson <mike@multimedia.cx> 12840 string FILM Sega FILM/CPK Multimedia, 1285>32 belong x %d x 1286>28 belong x %d 1287 1288# Type: Nintendo THP Multimedia 1289# URL: http://wiki.multimedia.cx/index.php?title=THP 1290# From: Mike Melanson <mike@multimedia.cx> 12910 string THP\0 Nintendo THP Multimedia 1292 1293# Type: BBC Dirac Video 1294# URL: http://wiki.multimedia.cx/index.php?title=Dirac 1295# From: Mike Melanson <mike@multimedia.cx> 12960 string BBCD BBC Dirac Video 1297 1298# Type: RAD Game Tools Smacker Multimedia 1299# URL: http://wiki.multimedia.cx/index.php?title=Smacker 1300# From: Mike Melanson <mike@multimedia.cx> 13010 string SMK RAD Game Tools Smacker Multimedia 1302>3 byte x version %c, 1303>4 lelong x %d x 1304>8 lelong x %d, 1305>12 lelong x %d frames 1306 1307#------------------------------------------------------------------------------ 1308# $File: aout,v 1.1 2013/01/09 22:37:23 christos Exp $ 1309# aout: file(1) magic for a.out executable/object/etc entries that 1310# handle executables on multiple platforms. 1311# 1312 1313# 1314# Little-endian 32-bit-int a.out, merged from bsdi (for BSD/OS, from 1315# BSDI), netbsd, and vax (for UNIX/32V and BSD) 1316# 1317# XXX - is there anything we can look at to distinguish BSD/OS 386 from 1318# NetBSD 386 from various VAX binaries? The BSD/OS shared library flag 1319# works only for binaries using shared libraries. Grabbing the entry 1320# point from the a.out header, using it to find the first code executed 1321# in the program, and looking at that might help. 1322# 13230 lelong 0407 a.out little-endian 32-bit executable 1324>16 lelong >0 not stripped 1325>32 byte 0x6a (uses BSD/OS shared libs) 1326 13270 lelong 0410 a.out little-endian 32-bit pure executable 1328>16 lelong >0 not stripped 1329>32 byte 0x6a (uses BSD/OS shared libs) 1330 13310 lelong 0413 a.out little-endian 32-bit demand paged pure executable 1332>16 lelong >0 not stripped 1333>32 byte 0x6a (uses BSD/OS shared libs) 1334 1335# 1336# Big-endian 32-bit-int a.out, merged from sun (for old 68010 SunOS a.out), 1337# mips (for old 68020(!) SGI a.out), and netbsd (for old big-endian a.out). 1338# 1339# XXX - is there anything we can look at to distinguish old SunOS 68010 1340# from old 68020 IRIX from old NetBSD? Again, I guess we could look at 1341# the first instruction or instructions in the program. 1342# 13430 belong 0407 a.out big-endian 32-bit executable 1344>16 belong >0 not stripped 1345 13460 belong 0410 a.out big-endian 32-bit pure executable 1347>16 belong >0 not stripped 1348 13490 belong 0413 a.out big-endian 32-bit demand paged executable 1350>16 belong >0 not stripped 1351 1352 1353#------------------------------------------------------------------------------ 1354# $File: apl,v 1.6 2009/09/19 16:28:07 christos Exp $ 1355# apl: file(1) magic for APL (see also "pdp" and "vax" for other APL 1356# workspaces) 1357# 13580 long 0100554 APL workspace (Ken's original?) 1359 1360#------------------------------------------------------------------------------ 1361# $File: apple,v 1.27 2013/03/09 22:36:00 christos Exp $ 1362# apple: file(1) magic for Apple file formats 1363# 13640 search/1/t FiLeStArTfIlEsTaRt binscii (apple ][) text 13650 string \x0aGL Binary II (apple ][) data 13660 string \x76\xff Squeezed (apple ][) data 13670 string NuFile NuFile archive (apple ][) data 13680 string N\xf5F\xe9l\xe5 NuFile archive (apple ][) data 13690 belong 0x00051600 AppleSingle encoded Macintosh file 13700 belong 0x00051607 AppleDouble encoded Macintosh file 1371 1372# Type: Apple Emulator 2IMG format 1373# From: Radek Vokal <rvokal@redhat.com> 13740 string 2IMG Apple ][ 2IMG Disk Image 1375>4 string XGS! \b, XGS 1376>4 string CTKG \b, Catakig 1377>4 string ShIm \b, Sheppy's ImageMaker 1378>4 string WOOF \b, Sweet 16 1379>4 string B2TR \b, Bernie ][ the Rescue 1380>4 string !nfc \b, ASIMOV2 1381>4 string x \b, Unknown Format 1382>0xc byte 00 \b, DOS 3.3 sector order 1383>>0x10 byte 00 \b, Volume 254 1384>>0x10 byte&0x7f x \b, Volume %u 1385>0xc byte 01 \b, ProDOS sector order 1386>>0x14 short x \b, %u Blocks 1387>0xc byte 02 \b, NIB data 1388 1389# magic for Newton PDA package formats 1390# from Ruda Moura <ruda@helllabs.org> 13910 string package0 Newton package, NOS 1.x, 1392>12 belong &0x80000000 AutoRemove, 1393>12 belong &0x40000000 CopyProtect, 1394>12 belong &0x10000000 NoCompression, 1395>12 belong &0x04000000 Relocation, 1396>12 belong &0x02000000 UseFasterCompression, 1397>16 belong x version %d 1398 13990 string package1 Newton package, NOS 2.x, 1400>12 belong &0x80000000 AutoRemove, 1401>12 belong &0x40000000 CopyProtect, 1402>12 belong &0x10000000 NoCompression, 1403>12 belong &0x04000000 Relocation, 1404>12 belong &0x02000000 UseFasterCompression, 1405>16 belong x version %d 1406 14070 string package4 Newton package, 1408>8 byte 8 NOS 1.x, 1409>8 byte 9 NOS 2.x, 1410>12 belong &0x80000000 AutoRemove, 1411>12 belong &0x40000000 CopyProtect, 1412>12 belong &0x10000000 NoCompression, 1413 1414# The following entries for the Apple II are for files that have 1415# been transferred as raw binary data from an Apple, without having 1416# been encapsulated by any of the above archivers. 1417# 1418# In general, Apple II formats are hard to identify because Apple DOS 1419# and especially Apple ProDOS have strong typing in the file system and 1420# therefore programmers never felt much need to include type information 1421# in the files themselves. 1422# 1423# Eric Fischer <enf@pobox.com> 1424 1425# AppleWorks word processor: 1426# 1427# This matches the standard tab stops for an AppleWorks file, but if 1428# a file has a tab stop set in the first four columns this will fail. 1429# 1430# The "O" is really the magic number, but that's so common that it's 1431# necessary to check the tab stops that follow it to avoid false positives. 1432 14334 string O==== AppleWorks word processor data 1434>85 byte&0x01 >0 \b, zoomed 1435>90 byte&0x01 >0 \b, paginated 1436>92 byte&0x01 >0 \b, with mail merge 1437#>91 byte x \b, left margin %d 1438 1439# AppleWorks database: 1440# 1441# This isn't really a magic number, but it's the closest thing to one 1442# that I could find. The 1 and 2 really mean "order in which you defined 1443# categories" and "left to right, top to bottom," respectively; the D and R 1444# mean that the cursor should move either down or right when you press Return. 1445 1446#30 string \x01D AppleWorks database data 1447#30 string \x02D AppleWorks database data 1448#30 string \x01R AppleWorks database data 1449#30 string \x02R AppleWorks database data 1450 1451# AppleWorks spreadsheet: 1452# 1453# Likewise, this isn't really meant as a magic number. The R or C means 1454# row- or column-order recalculation; the A or M means automatic or manual 1455# recalculation. 1456 1457#131 string RA AppleWorks spreadsheet data 1458#131 string RM AppleWorks spreadsheet data 1459#131 string CA AppleWorks spreadsheet data 1460#131 string CM AppleWorks spreadsheet data 1461 1462# Applesoft BASIC: 1463# 1464# This is incredibly sloppy, but will be true if the program was 1465# written at its usual memory location of 2048 and its first line 1466# number is less than 256. Yuck. 1467# update by Joerg Jenderek at Feb 2013 1468 1469# GRR: this test is still too general as it catches also Gujin BOOT144.SYS (0xfa080000) 1470#0 belong&0xff00ff 0x80000 Applesoft BASIC program data 14710 belong&0x00ff00ff 0x00080000 1472# assuming that line number must be positive 1473>2 leshort >0 Applesoft BASIC program data, first line number %d 1474#>2 leshort x \b, first line number %d 1475 1476# ORCA/EZ assembler: 1477# 1478# This will not identify ORCA/M source files, since those have 1479# some sort of date code instead of the two zero bytes at 6 and 7 1480# XXX Conflicts with ELF 1481#4 belong&0xff00ffff 0x01000000 ORCA/EZ assembler source data 1482#>5 byte x \b, build number %d 1483 1484# Broderbund Fantavision 1485# 1486# I don't know what these values really mean, but they seem to recur. 1487# Will they cause too many conflicts? 1488 1489# Probably :-) 1490#2 belong&0xFF00FF 0x040008 Fantavision movie data 1491 1492# Some attempts at images. 1493# 1494# These are actually just bit-for-bit dumps of the frame buffer, so 1495# there's really no reasonably way to distinguish them except for their 1496# address (if preserved) -- 8192 or 16384 -- and their length -- 8192 1497# or, occasionally, 8184. 1498# 1499# Nevertheless this will manage to catch a lot of images that happen 1500# to have a solid-colored line at the bottom of the screen. 1501 1502# GRR: Magic too weak 1503#8144 string \x7F\x7F\x7F\x7F\x7F\x7F\x7F\x7F Apple II image with white background 1504#8144 string \x55\x2A\x55\x2A\x55\x2A\x55\x2A Apple II image with purple background 1505#8144 string \x2A\x55\x2A\x55\x2A\x55\x2A\x55 Apple II image with green background 1506#8144 string \xD5\xAA\xD5\xAA\xD5\xAA\xD5\xAA Apple II image with blue background 1507#8144 string \xAA\xD5\xAA\xD5\xAA\xD5\xAA\xD5 Apple II image with orange background 1508 1509# Beagle Bros. Apple Mechanic fonts 1510 15110 belong&0xFF00FFFF 0x6400D000 Apple Mechanic font 1512 1513# Apple Universal Disk Image Format (UDIF) - dmg files. 1514# From Johan Gade. 1515# These entries are disabled for now until we fix the following issues. 1516# 1517# Note there might be some problems with the "VAX COFF executable" 1518# entry. Note this entry should be placed before the mac filesystem section, 1519# particularly the "Apple Partition data" entry. 1520# 1521# The intended meaning of these tests is, that the file is only of the 1522# specified type if both of the lines are correct - i.e. if the first 1523# line matches and the second doesn't then it is not of that type. 1524# 1525#0 long 0x7801730d 1526#>4 long 0x62626060 UDIF read-only zlib-compressed image (UDZO) 1527# 1528# Note that this entry is recognized correctly by the "Apple Partition 1529# data" entry - however since this entry is more specific - this 1530# information seems to be more useful. 1531#0 long 0x45520200 1532#>0x410 string disk\ image UDIF read/write image (UDRW) 1533 1534# From: Toby Peterson <toby@apple.com> 15350 string bplist00 Apple binary property list 1536 1537# Apple binary property list (bplist) 1538# Assumes version bytes are hex. 1539# Provides content hints for version 0 files. Assumes that the root 1540# object is the first object (true for CoreFoundation implementation). 1541# From: David Remahl <dremahl@apple.com> 15420 string bplist 1543>6 byte x \bCoreFoundation binary property list data, version 0x%c 1544>>7 byte x \b%c 1545>6 string 00 \b 1546>>8 byte&0xF0 0x00 \b 1547>>>8 byte&0x0F 0x00 \b, root type: null 1548>>>8 byte&0x0F 0x08 \b, root type: false boolean 1549>>>8 byte&0x0F 0x09 \b, root type: true boolean 1550>>8 byte&0xF0 0x10 \b, root type: integer 1551>>8 byte&0xF0 0x20 \b, root type: real 1552>>8 byte&0xF0 0x30 \b, root type: date 1553>>8 byte&0xF0 0x40 \b, root type: data 1554>>8 byte&0xF0 0x50 \b, root type: ascii string 1555>>8 byte&0xF0 0x60 \b, root type: unicode string 1556>>8 byte&0xF0 0x80 \b, root type: uid (CORRUPT) 1557>>8 byte&0xF0 0xa0 \b, root type: array 1558>>8 byte&0xF0 0xd0 \b, root type: dictionary 1559 1560# Apple/NeXT typedstream data 1561# Serialization format used by NeXT and Apple for various 1562# purposes in YellowStep/Cocoa, including some nib files. 1563# From: David Remahl <dremahl@apple.com> 15642 string typedstream NeXT/Apple typedstream data, big endian 1565>0 byte x \b, version %hhd 1566>0 byte <5 \b 1567>>13 byte 0x81 \b 1568>>>14 ubeshort x \b, system %hd 15692 string streamtyped NeXT/Apple typedstream data, little endian 1570>0 byte x \b, version %hhd 1571>0 byte <5 \b 1572>>13 byte 0x81 \b 1573>>>14 uleshort x \b, system %hd 1574 1575#------------------------------------------------------------------------------ 1576# CAF: Apple CoreAudio File Format 1577# 1578# Container format for high-end audio purposes. 1579# From: David Remahl <dremahl@apple.com> 1580# 15810 string caff CoreAudio Format audio file 1582>4 beshort <10 version %d 1583>6 beshort x 1584 1585 1586#------------------------------------------------------------------------------ 1587# Keychain database files 15880 string kych Mac OS X Keychain File 1589 1590#------------------------------------------------------------------------------ 1591# Code Signing related file types 15920 belong 0xfade0c00 Mac OS X Code Requirement 1593>8 belong 1 (opExpr) 1594>4 belong x - %d bytes 1595 15960 belong 0xfade0c01 Mac OS X Code Requirement Set 1597>8 belong >1 containing %d items 1598>4 belong x - %d bytes 1599 16000 belong 0xfade0c02 Mac OS X Code Directory 1601>8 belong x version %x 1602>12 belong >0 flags 0x%x 1603>4 belong x - %d bytes 1604 16050 belong 0xfade0cc0 Mac OS X Detached Code Signature (non-executable) 1606>4 belong x - %d bytes 1607 16080 belong 0xfade0cc1 Mac OS X Detached Code Signature 1609>8 belong >1 (%d elements) 1610>4 belong x - %d bytes 1611 1612# From: "Nelson A. de Oliveira" <naoliv@gmail.com> 1613# .vdi 16144 string innotek\ VirtualBox\ Disk\ Image %s 1615 1616# Apple disk partition stuff, strengthen the magic using byte 4 16170 beshort 0x4552 1618>4 byte 0 Apple Driver Map 1619>>2 beshort x \b, blocksize %d 1620>>4 belong x \b, blockcount %d 1621>>10 beshort x \b, devtype %d 1622>>12 beshort x \b, devid %d 1623>>20 beshort x \b, descriptors %d 1624# Assume 8 partitions each at a multiple of the sector size. 1625# We could glean this from the partition descriptors, but they are empty!?!? 1626>>(2.S*1) indirect \b, contains[@0x%x]: 1627>>(2.S*2) indirect \b, contains[@0x%x]: 1628>>(2.S*3) indirect \b, contains[@0x%x]: 1629>>(2.S*4) indirect \b, contains[@0x%x]: 1630>>(2.S*5) indirect \b, contains[@0x%x]: 1631>>(2.S*6) indirect \b, contains[@0x%x]: 1632>>(2.S*7) indirect \b, contains[@0x%x]: 1633>>(2.S*8) indirect \b, contains[@0x%x]: 1634 1635# Yes, the 3rd and 4th bytes are reserved, but we use them to make the 1636# magic stronger. 16370 belong 0x504d0000 Apple Partition Map 1638>4 belong x \b, map block count %d 1639>8 belong x \b, start block %d 1640>12 belong x \b, block count %d 1641>16 string >0 \b, name %s 1642>48 string >0 \b, type %s 1643>124 string >0 \b, processor %s 1644>140 string >0 \b, boot arguments %s 1645>92 belong & 1 \b, valid 1646>92 belong & 2 \b, allocated 1647>92 belong & 4 \b, in use 1648>92 belong & 8 \b, has boot info 1649>92 belong & 16 \b, readable 1650>92 belong & 32 \b, writable 1651>92 belong & 64 \b, pic boot code 1652>92 belong & 128 \b, chain compatible driver 1653>92 belong & 256 \b, real driver 1654>92 belong & 512 \b, chain driver 1655>92 belong & 1024 \b, mount at startup 1656>92 belong & 2048 \b, is the startup partition 1657 1658#http://wiki.mozilla.org/DS_Store_File_Format` 1659#http://en.wikipedia.org/wiki/.DS_Store 16600 string \0\0\0\1Bud1\0 Apple Desktop Services Store 1661 1662#------------------------------------------------------------------------------ 1663# $File: applix,v 1.5 2009/09/19 16:28:08 christos Exp $ 1664# applix: file(1) magic for Applixware 1665# From: Peter Soos <sp@osb.hu> 1666# 16670 string *BEGIN Applixware 1668>7 string WORDS Words Document 1669>7 string GRAPHICS Graphic 1670>7 string RASTER Bitmap 1671>7 string SPREADSHEETS Spreadsheet 1672>7 string MACRO Macro 1673>7 string BUILDER Builder Object 1674#------------------------------------------------------------------------------ 1675# $File: archive,v 1.81 2014/01/08 22:27:31 christos Exp $ 1676# archive: file(1) magic for archive formats (see also "msdos" for self- 1677# extracting compressed archives) 1678# 1679# cpio, ar, arc, arj, hpack, lha/lharc, rar, squish, uc2, zip, zoo, etc. 1680# pre-POSIX "tar" archives are handled in the C code. 1681 1682# POSIX tar archives 1683257 string ustar\0 POSIX tar archive 1684!:mime application/x-tar # encoding: posix 1685257 string ustar\040\040\0 GNU tar archive 1686!:mime application/x-tar # encoding: gnu 1687 1688# Incremental snapshot gnu-tar format from: 1689# http://www.gnu.org/software/tar/manual/html_node/Snapshot-Files.html 16900 string GNU\ tar- GNU tar incremental snapshot data 1691>&0 regex [0-9]\.[0-9]+-[0-9]+ version %s 1692 1693# cpio archives 1694# 1695# Yes, the top two "cpio archive" formats *are* supposed to just be "short". 1696# The idea is to indicate archives produced on machines with the same 1697# byte order as the machine running "file" with "cpio archive", and 1698# to indicate archives produced on machines with the opposite byte order 1699# from the machine running "file" with "byte-swapped cpio archive". 1700# 1701# The SVR4 "cpio(4)" hints that there are additional formats, but they 1702# are defined as "short"s; I think all the new formats are 1703# character-header formats and thus are strings, not numbers. 17040 short 070707 cpio archive 1705!:mime application/x-cpio 17060 short 0143561 byte-swapped cpio archive 1707!:mime application/x-cpio # encoding: swapped 17080 string 070707 ASCII cpio archive (pre-SVR4 or odc) 17090 string 070701 ASCII cpio archive (SVR4 with no CRC) 17100 string 070702 ASCII cpio archive (SVR4 with CRC) 1711 1712# 1713# Various archive formats used by various versions of the "ar" 1714# command. 1715# 1716 1717# 1718# Original UNIX archive formats. 1719# They were written with binary values in host byte order, and 1720# the magic number was a host "int", which might have been 16 bits 1721# or 32 bits. We don't say "PDP-11" or "VAX", as there might have 1722# been ports to little-endian 16-bit-int or 32-bit-int platforms 1723# (x86?) using some of those formats; if none existed, feel free 1724# to use "PDP-11" for little-endian 16-bit and "VAX" for little-endian 1725# 32-bit. There might have been big-endian ports of that sort as 1726# well. 1727# 17280 leshort 0177555 very old 16-bit-int little-endian archive 17290 beshort 0177555 very old 16-bit-int big-endian archive 17300 lelong 0177555 very old 32-bit-int little-endian archive 17310 belong 0177555 very old 32-bit-int big-endian archive 1732 17330 leshort 0177545 old 16-bit-int little-endian archive 1734>2 string __.SYMDEF random library 17350 beshort 0177545 old 16-bit-int big-endian archive 1736>2 string __.SYMDEF random library 17370 lelong 0177545 old 32-bit-int little-endian archive 1738>4 string __.SYMDEF random library 17390 belong 0177545 old 32-bit-int big-endian archive 1740>4 string __.SYMDEF random library 1741 1742# 1743# From "pdp" (but why a 4-byte quantity?) 1744# 17450 lelong 0x39bed PDP-11 old archive 17460 lelong 0x39bee PDP-11 4.0 archive 1747 1748# 1749# XXX - what flavor of APL used this, and was it a variant of 1750# some ar archive format? It's similar to, but not the same 1751# as, the APL workspace magic numbers in pdp. 1752# 17530 long 0100554 apl workspace 1754 1755# 1756# System V Release 1 portable(?) archive format. 1757# 17580 string =<ar> System V Release 1 ar archive 1759!:mime application/x-archive 1760 1761# 1762# Debian package; it's in the portable archive format, and needs to go 1763# before the entry for regular portable archives, as it's recognized as 1764# a portable archive whose first member has a name beginning with 1765# "debian". 1766# 17670 string =!<arch>\ndebian 1768!:mime application/x-debian-package 1769>8 string debian-split part of multipart Debian package 1770>8 string debian-binary Debian binary package 1771>8 string !debian 1772>68 string >\0 (format %s) 1773# These next two lines do not work, because a bzip2 Debian archive 1774# still uses gzip for the control.tar (first in the archive). Only 1775# data.tar varies, and the location of its filename varies too. 1776# file/libmagic does not current have support for ascii-string based 1777# (offsets) as of 2005-09-15. 1778#>81 string bz2 \b, uses bzip2 compression 1779#>84 string gz \b, uses gzip compression 1780#>136 ledate x created: %s 1781 1782# 1783# MIPS archive; they're in the portable archive format, and need to go 1784# before the entry for regular portable archives, as it's recognized as 1785# a portable archive whose first member has a name beginning with 1786# "__________E". 1787# 17880 string =!<arch>\n__________E MIPS archive 1789!:mime application/x-archive 1790>20 string U with MIPS Ucode members 1791>21 string L with MIPSEL members 1792>21 string B with MIPSEB members 1793>19 string L and an EL hash table 1794>19 string B and an EB hash table 1795>22 string X -- out of date 1796 17970 search/1 -h- Software Tools format archive text 1798 1799# 1800# BSD/SVR2-and-later portable archive formats. 1801# 18020 string =!<arch> current ar archive 1803!:mime application/x-archive 1804>8 string __.SYMDEF random library 1805>68 string __.SYMDEF\ SORTED random library 1806 1807# 1808# "Thin" archive, as can be produced by GNU ar. 1809# 18100 string =!<thin>\n thin archive with 1811>68 belong 0 no symbol entries 1812>68 belong 1 %d symbol entry 1813>68 belong >1 %d symbol entries 1814 1815# ARC archiver, from Daniel Quinlan (quinlan@yggdrasil.com) 1816# 1817# The first byte is the magic (0x1a), byte 2 is the compression type for 1818# the first file (0x01 through 0x09), and bytes 3 to 15 are the MS-DOS 1819# filename of the first file (null terminated). Since some types collide 1820# we only test some types on basis of frequency: 0x08 (83%), 0x09 (5%), 1821# 0x02 (5%), 0x03 (3%), 0x04 (2%), 0x06 (2%). 0x01 collides with terminfo. 18220 lelong&0x8080ffff 0x0000081a ARC archive data, dynamic LZW 1823!:mime application/x-arc 18240 lelong&0x8080ffff 0x0000091a ARC archive data, squashed 1825!:mime application/x-arc 18260 lelong&0x8080ffff 0x0000021a ARC archive data, uncompressed 1827!:mime application/x-arc 18280 lelong&0x8080ffff 0x0000031a ARC archive data, packed 1829!:mime application/x-arc 18300 lelong&0x8080ffff 0x0000041a ARC archive data, squeezed 1831!:mime application/x-arc 18320 lelong&0x8080ffff 0x0000061a ARC archive data, crunched 1833!:mime application/x-arc 1834# [JW] stuff taken from idarc, obviously ARC successors: 18350 lelong&0x8080ffff 0x00000a1a PAK archive data 1836!:mime application/x-arc 18370 lelong&0x8080ffff 0x0000141a ARC+ archive data 1838!:mime application/x-arc 18390 lelong&0x8080ffff 0x0000481a HYP archive data 1840!:mime application/x-arc 1841 1842# Acorn archive formats (Disaster prone simpleton, m91dps@ecs.ox.ac.uk) 1843# I can't create either SPARK or ArcFS archives so I have not tested this stuff 1844# [GRR: the original entries collide with ARC, above; replaced with combined 1845# version (not tested)] 1846#0 byte 0x1a RISC OS archive (spark format) 18470 string \032archive RISC OS archive (ArcFS format) 18480 string Archive\000 RISC OS archive (ArcFS format) 1849 1850# All these were taken from idarc, many could not be verified. Unfortunately, 1851# there were many low-quality sigs, i.e. easy to trigger false positives. 1852# Please notify me of any real-world fishy/ambiguous signatures and I'll try 1853# to get my hands on the actual archiver and see if I find something better. [JW] 1854# probably many can be enhanced by finding some 0-byte or control char near the start 1855 1856# idarc calls this Crush/Uncompressed... *shrug* 18570 string CRUSH Crush archive data 1858# Squeeze It (.sqz) 18590 string HLSQZ Squeeze It archive data 1860# SQWEZ 18610 string SQWEZ SQWEZ archive data 1862# HPack (.hpk) 18630 string HPAK HPack archive data 1864# HAP 18650 string \x91\x33HF HAP archive data 1866# MD/MDCD 18670 string MDmd MDCD archive data 1868# LIM 18690 string LIM\x1a LIM archive data 1870# SAR 18713 string LH5 SAR archive data 1872# BSArc/BS2 18730 string \212\3SB\020\0 BSArc/BS2 archive data 1874# Bethesda Softworks Archive (Oblivion) 18750 string BSA\0 BSArc archive data 1876>4 lelong x version %d 1877# MAR 18782 string =-ah MAR archive data 1879# ACB 1880#0 belong&0x00f800ff 0x00800000 ACB archive data 1881# CPZ 1882# TODO, this is what idarc says: 0 string \0\0\0 CPZ archive data 1883# JRC 18840 string JRchive JRC archive data 1885# Quantum 18860 string DS\0 Quantum archive data 1887# ReSOF 18880 string PK\3\6 ReSOF archive data 1889# QuArk 18900 string 7\4 QuArk archive data 1891# YAC 189214 string YC YAC archive data 1893# X1 18940 string X1 X1 archive data 18950 string XhDr X1 archive data 1896# CDC Codec (.dqt) 18970 belong&0xffffe000 0x76ff2000 CDC Codec archive data 1898# AMGC 18990 string \xad6" AMGC archive data 1900# NuLIB 19010 string N\xc3\xb5F\xc3\xa9lx\xc3\xa5 NuLIB archive data 1902# PakLeo 19030 string LEOLZW PAKLeo archive data 1904# ChArc 19050 string SChF ChArc archive data 1906# PSA 19070 string PSA PSA archive data 1908# CrossePAC 19090 string DSIGDCC CrossePAC archive data 1910# Freeze 19110 string \x1f\x9f\x4a\x10\x0a Freeze archive data 1912# KBoom 19130 string \xc2\xa8MP\xc2\xa8 KBoom archive data 1914# NSQ, must go after CDC Codec 19150 string \x76\xff NSQ archive data 1916# DPA 19170 string Dirk\ Paehl DPA archive data 1918# BA 1919# TODO: idarc says "bytes 0-2 == bytes 3-5" 1920# TTComp 19210 string \0\6 TTComp archive data 1922# ESP, could this conflict with Easy Software Products' (e.g.ESP ghostscript) documentation? 19230 string ESP ESP archive data 1924# ZPack 19250 string \1ZPK\1 ZPack archive data 1926# Sky 19270 string \xbc\x40 Sky archive data 1928# UFA 19290 string UFA UFA archive data 1930# Dry 19310 string =-H2O DRY archive data 1932# FoxSQZ 19330 string FOXSQZ FoxSQZ archive data 1934# AR7 19350 string ,AR7 AR7 archive data 1936# PPMZ 19370 string PPMZ PPMZ archive data 1938# MS Compress 19394 string \x88\xf0\x27 MS Compress archive data 1940# updated by Joerg Jenderek 1941>9 string \0 1942>>0 string KWAJ 1943>>>7 string \321\003 MS Compress archive data 1944>>>>14 ulong >0 \b, original size: %ld bytes 1945>>>>18 ubyte >0x65 1946>>>>>18 string x \b, was %.8s 1947>>>>>(10.b-4) string x \b.%.3s 1948# MP3 (archiver, not lossy audio compression) 19490 string MP3\x1a MP3-Archiver archive data 1950# ZET 19510 string OZ\xc3\x9d ZET archive data 1952# TSComp 19530 string \x65\x5d\x13\x8c\x08\x01\x03\x00 TSComp archive data 1954# ARQ 19550 string gW\4\1 ARQ archive data 1956# Squash 19573 string OctSqu Squash archive data 1958# Terse 19590 string \5\1\1\0 Terse archive data 1960# PUCrunch 19610 string \x01\x08\x0b\x08\xef\x00\x9e\x32\x30\x36\x31 PUCrunch archive data 1962# UHarc 19630 string UHA UHarc archive data 1964# ABComp 19650 string \2AB ABComp archive data 19660 string \3AB2 ABComp archive data 1967# CMP 19680 string CO\0 CMP archive data 1969# Splint 19700 string \x93\xb9\x06 Splint archive data 1971# InstallShield 19720 string \x13\x5d\x65\x8c InstallShield Z archive Data 1973# Gather 19741 string GTH Gather archive data 1975# BOA 19760 string BOA BOA archive data 1977# RAX 19780 string ULEB\xa RAX archive data 1979# Xtreme 19800 string ULEB\0 Xtreme archive data 1981# Pack Magic 19820 string @\xc3\xa2\1\0 Pack Magic archive data 1983# BTS 19840 belong&0xfeffffff 0x1a034465 BTS archive data 1985# ELI 5750 19860 string Ora\ ELI 5750 archive data 1987# QFC 19880 string \x1aFC\x1a QFC archive data 19890 string \x1aQF\x1a QFC archive data 1990# PRO-PACK 19910 string RNC PRO-PACK archive data 1992# 777 19930 string 777 777 archive data 1994# LZS221 19950 string sTaC LZS221 archive data 1996# HPA 19970 string HPA HPA archive data 1998# Arhangel 19990 string LG Arhangel archive data 2000# EXP1, uses bzip2 20010 string 0123456789012345BZh EXP1 archive data 2002# IMP 20030 string IMP\xa IMP archive data 2004# NRV 20050 string \x00\x9E\x6E\x72\x76\xFF NRV archive data 2006# Squish 20070 string \x73\xb2\x90\xf4 Squish archive data 2008# Par 20090 string PHILIPP Par archive data 20100 string PAR Par archive data 2011# HIT 20120 string UB HIT archive data 2013# SBX 20140 belong&0xfffff000 0x53423000 SBX archive data 2015# NaShrink 20160 string NSK NaShrink archive data 2017# SAPCAR 20180 string #\ CAR\ archive\ header SAPCAR archive data 20190 string CAR\ 2.00RG SAPCAR archive data 2020# Disintegrator 20210 string DST Disintegrator archive data 2022# ASD 20230 string ASD ASD archive data 2024# InstallShield CAB 20250 string ISc( InstallShield CAB 2026# TOP4 20270 string T4\x1a TOP4 archive data 2028# BatComp left out: sig looks like COM executable 2029# so TODO: get real 4dos batcomp file and find sig 2030# BlakHole 20310 string BH\5\7 BlakHole archive data 2032# BIX 20330 string BIX0 BIX archive data 2034# ChiefLZA 20350 string ChfLZ ChiefLZA archive data 2036# Blink 20370 string Blink Blink archive data 2038# Logitech Compress 20390 string \xda\xfa Logitech Compress archive data 2040# ARS-Sfx (FIXME: really a SFX? then goto COM/EXE) 20411 string (C)\ STEPANYUK ARS-Sfx archive data 2042# AKT/AKT32 20430 string AKT32 AKT32 archive data 20440 string AKT AKT archive data 2045# NPack 20460 string MSTSM NPack archive data 2047# PFT 20480 string \0\x50\0\x14 PFT archive data 2049# SemOne 20500 string SEM SemOne archive data 2051# PPMD 20520 string \x8f\xaf\xac\x84 PPMD archive data 2053# FIZ 20540 string FIZ FIZ archive data 2055# MSXiE 20560 belong&0xfffff0f0 0x4d530000 MSXiE archive data 2057# DeepFreezer 20580 belong&0xfffffff0 0x797a3030 DeepFreezer archive data 2059# DC 20600 string =<DC- DC archive data 2061# TPac 20620 string \4TPAC\3 TPac archive data 2063# Ai 20640 string Ai\1\1\0 Ai archive data 20650 string Ai\1\0\0 Ai archive data 2066# Ai32 20670 string Ai\2\0 Ai32 archive data 20680 string Ai\2\1 Ai32 archive data 2069# SBC 20700 string SBC SBC archive data 2071# Ybs 20720 string YBS Ybs archive data 2073# DitPack 20740 string \x9e\0\0 DitPack archive data 2075# DMS 20760 string DMS! DMS archive data 2077# EPC 20780 string \x8f\xaf\xac\x8c EPC archive data 2079# VSARC 20800 string VS\x1a VSARC archive data 2081# PDZ 20820 string PDZ PDZ archive data 2083# ReDuq 20840 string rdqx ReDuq archive data 2085# GCA 20860 string GCAX GCA archive data 2087# PPMN 20880 string pN PPMN archive data 2089# WinImage 20903 string WINIMAGE WinImage archive data 2091# Compressia 20920 string CMP0CMP Compressia archive data 2093# UHBC 20940 string UHB UHBC archive data 2095# WinHKI 20960 string \x61\x5C\x04\x05 WinHKI archive data 2097# WWPack data file 20980 string WWP WWPack archive data 2099# BSN (BSA, PTS-DOS) 21000 string \xffBSG BSN archive data 21011 string \xffBSG BSN archive data 21023 string \xffBSG BSN archive data 21031 string \0\xae\2 BSN archive data 21041 string \0\xae\3 BSN archive data 21051 string \0\xae\7 BSN archive data 2106# AIN 21070 string \x33\x18 AIN archive data 21080 string \x33\x17 AIN archive data 2109# XPA32 21100 string xpa\0\1 XPA32 archive data 2111# SZip (TODO: doesn't catch all versions) 21120 string SZ\x0a\4 SZip archive data 2113# XPack DiskImage 21140 string jm XPack DiskImage archive data 2115# XPack Data 21160 string xpa XPack archive data 2117# XPack Single Data 21180 string \xc3\x8d\ jm XPack single archive data 2119 2120# TODO: missing due to unknown magic/magic at end of file: 2121#DWC 2122#ARG 2123#ZAR 2124#PC/3270 2125#InstallIt 2126#RKive 2127#RK 2128#XPack Diskimage 2129 2130# These were inspired by idarc, but actually verified 2131# Dzip archiver (.dz) 21320 string DZ Dzip archive data 2133>2 byte x \b, version %i 2134>3 byte x \b.%i 2135# ZZip archiver (.zz) 21360 string ZZ\ \0\0 ZZip archive data 21370 string ZZ0 ZZip archive data 2138# PAQ archiver (.paq) 21390 string \xaa\x40\x5f\x77\x1f\xe5\x82\x0d PAQ archive data 21400 string PAQ PAQ archive data 2141>3 byte&0xf0 0x30 2142>>3 byte x (v%c) 2143# JAR archiver (.j), this is the successor to ARJ, not Java's JAR (which is essentially ZIP) 21440xe string \x1aJar\x1b JAR (ARJ Software, Inc.) archive data 21450 string JARCS JAR (ARJ Software, Inc.) archive data 2146 2147# ARJ archiver (jason@jarthur.Claremont.EDU) 21480 leshort 0xea60 ARJ archive data 2149!:mime application/x-arj 2150>5 byte x \b, v%d, 2151>8 byte &0x04 multi-volume, 2152>8 byte &0x10 slash-switched, 2153>8 byte &0x20 backup, 2154>34 string x original name: %s, 2155>7 byte 0 os: MS-DOS 2156>7 byte 1 os: PRIMOS 2157>7 byte 2 os: Unix 2158>7 byte 3 os: Amiga 2159>7 byte 4 os: Macintosh 2160>7 byte 5 os: OS/2 2161>7 byte 6 os: Apple ][ GS 2162>7 byte 7 os: Atari ST 2163>7 byte 8 os: NeXT 2164>7 byte 9 os: VAX/VMS 2165>3 byte >0 %d] 2166# [JW] idarc says this is also possible 21672 leshort 0xea60 ARJ archive data 2168 2169# HA archiver (Greg Roelofs, newt@uchicago.edu) 2170# This is a really bad format. A file containing HAWAII will match this... 2171#0 string HA HA archive data, 2172#>2 leshort =1 1 file, 2173#>2 leshort >1 %u files, 2174#>4 byte&0x0f =0 first is type CPY 2175#>4 byte&0x0f =1 first is type ASC 2176#>4 byte&0x0f =2 first is type HSC 2177#>4 byte&0x0f =0x0e first is type DIR 2178#>4 byte&0x0f =0x0f first is type SPECIAL 2179# suggestion: at least identify small archives (<1024 files) 21800 belong&0xffff00fc 0x48410000 HA archive data 2181>2 leshort =1 1 file, 2182>2 leshort >1 %u files, 2183>4 byte&0x0f =0 first is type CPY 2184>4 byte&0x0f =1 first is type ASC 2185>4 byte&0x0f =2 first is type HSC 2186>4 byte&0x0f =0x0e first is type DIR 2187>4 byte&0x0f =0x0f first is type SPECIAL 2188 2189# HPACK archiver (Peter Gutmann, pgut1@cs.aukuni.ac.nz) 21900 string HPAK HPACK archive data 2191 2192# JAM Archive volume format, by Dmitry.Kohmanyuk@UA.net 21930 string \351,\001JAM\ JAM archive, 2194>7 string >\0 version %.4s 2195>0x26 byte =0x27 - 2196>>0x2b string >\0 label %.11s, 2197>>0x27 lelong x serial %08x, 2198>>0x36 string >\0 fstype %.8s 2199 2200# LHARC/LHA archiver (Greg Roelofs, newt@uchicago.edu) 22012 string -lh0- LHarc 1.x/ARX archive data [lh0] 2202!:mime application/x-lharc 22032 string -lh1- LHarc 1.x/ARX archive data [lh1] 2204!:mime application/x-lharc 22052 string -lz4- LHarc 1.x archive data [lz4] 2206!:mime application/x-lharc 22072 string -lz5- LHarc 1.x archive data [lz5] 2208!:mime application/x-lharc 2209# [never seen any but the last; -lh4- reported in comp.compression:] 22102 string -lzs- LHa/LZS archive data [lzs] 2211!:mime application/x-lha 22122 string -lh\40- LHa 2.x? archive data [lh ] 2213!:mime application/x-lha 22142 string -lhd- LHa 2.x? archive data [lhd] 2215!:mime application/x-lha 22162 string -lh2- LHa 2.x? archive data [lh2] 2217!:mime application/x-lha 22182 string -lh3- LHa 2.x? archive data [lh3] 2219!:mime application/x-lha 22202 string -lh4- LHa (2.x) archive data [lh4] 2221!:mime application/x-lha 22222 string -lh5- LHa (2.x) archive data [lh5] 2223!:mime application/x-lha 22242 string -lh6- LHa (2.x) archive data [lh6] 2225!:mime application/x-lha 22262 string -lh7- LHa (2.x)/LHark archive data [lh7] 2227!:mime application/x-lha 2228>20 byte x - header level %d 2229# taken from idarc [JW] 22302 string -lZ PUT archive data 22312 string -lz LZS archive data 22322 string -sw1- Swag archive data 2233 2234# RAR archiver (Greg Roelofs, newt@uchicago.edu) 22350 string Rar! RAR archive data, 2236!:mime application/x-rar 2237>44 byte x v%0x, 2238>10 byte >0 flags: 2239>>10 byte &0x01 Archive volume, 2240>>10 byte &0x02 Commented, 2241>>10 byte &0x04 Locked, 2242>>10 byte &0x08 Solid, 2243>>10 byte &0x20 Authenticated, 2244>35 byte 0 os: MS-DOS 2245>35 byte 1 os: OS/2 2246>35 byte 2 os: Win32 2247>35 byte 3 os: Unix 2248# some old version? idarc says: 22490 string RE\x7e\x5e RAR archive data 2250 2251# SQUISH archiver (Greg Roelofs, newt@uchicago.edu) 22520 string SQSH squished archive data (Acorn RISCOS) 2253 2254# UC2 archiver (Greg Roelofs, newt@uchicago.edu) 2255# [JW] see exe section for self-extracting version 22560 string UC2\x1a UC2 archive data 2257 2258# PKZIP multi-volume archive 22590 string PK\x07\x08PK\x03\x04 Zip multi-volume archive data, at least PKZIP v2.50 to extract 2260!:mime application/zip 2261 2262# Zip archives (Greg Roelofs, c/o zip-bugs@wkuvx1.wku.edu) 22630 string PK\005\006 Zip archive data (empty) 22640 string PK\003\004 2265 2266# Specialised zip formats which start with a member named 'mimetype' 2267# (stored uncompressed, with no 'extra field') containing the file's MIME type. 2268# Check for have 8-byte name, 0-byte extra field, name "mimetype", and 2269# contents starting with "application/": 2270>26 string \x8\0\0\0mimetypeapplication/ 2271 2272# KOffice / OpenOffice & StarOffice / OpenDocument formats 2273# From: Abel Cheung <abel@oaka.org> 2274 2275# KOffice (1.2 or above) formats 2276# (mimetype contains "application/vnd.kde.<SUBTYPE>") 2277>>50 string vnd.kde. KOffice (>=1.2) 2278>>>58 string karbon Karbon document 2279>>>58 string kchart KChart document 2280>>>58 string kformula KFormula document 2281>>>58 string kivio Kivio document 2282>>>58 string kontour Kontour document 2283>>>58 string kpresenter KPresenter document 2284>>>58 string kspread KSpread document 2285>>>58 string kword KWord document 2286 2287# OpenOffice formats (for OpenOffice 1.x / StarOffice 6/7) 2288# (mimetype contains "application/vnd.sun.xml.<SUBTYPE>") 2289>>50 string vnd.sun.xml. OpenOffice.org 1.x 2290>>>62 string writer Writer 2291>>>>68 byte !0x2e document 2292>>>>68 string .template template 2293>>>>68 string .global global document 2294>>>62 string calc Calc 2295>>>>66 byte !0x2e spreadsheet 2296>>>>66 string .template template 2297>>>62 string draw Draw 2298>>>>66 byte !0x2e document 2299>>>>66 string .template template 2300>>>62 string impress Impress 2301>>>>69 byte !0x2e presentation 2302>>>>69 string .template template 2303>>>62 string math Math document 2304>>>62 string base Database file 2305 2306# OpenDocument formats (for OpenOffice 2.x / StarOffice >= 8) 2307# http://lists.oasis-open.org/archives/office/200505/msg00006.html 2308# (mimetype contains "application/vnd.oasis.opendocument.<SUBTYPE>") 2309>>50 string vnd.oasis.opendocument. OpenDocument 2310>>>73 string text 2311>>>>77 byte !0x2d Text 2312!:mime application/vnd.oasis.opendocument.text 2313>>>>77 string -template Text Template 2314!:mime application/vnd.oasis.opendocument.text-template 2315>>>>77 string -web HTML Document Template 2316!:mime application/vnd.oasis.opendocument.text-web 2317>>>>77 string -master Master Document 2318!:mime application/vnd.oasis.opendocument.text-master 2319>>>73 string graphics 2320>>>>81 byte !0x2d Drawing 2321!:mime application/vnd.oasis.opendocument.graphics 2322>>>>81 string -template Template 2323!:mime application/vnd.oasis.opendocument.graphics-template 2324>>>73 string presentation 2325>>>>85 byte !0x2d Presentation 2326!:mime application/vnd.oasis.opendocument.presentation 2327>>>>85 string -template Template 2328!:mime application/vnd.oasis.opendocument.presentation-template 2329>>>73 string spreadsheet 2330>>>>84 byte !0x2d Spreadsheet 2331!:mime application/vnd.oasis.opendocument.spreadsheet 2332>>>>84 string -template Template 2333!:mime application/vnd.oasis.opendocument.spreadsheet-template 2334>>>73 string chart 2335>>>>78 byte !0x2d Chart 2336!:mime application/vnd.oasis.opendocument.chart 2337>>>>78 string -template Template 2338!:mime application/vnd.oasis.opendocument.chart-template 2339>>>73 string formula 2340>>>>80 byte !0x2d Formula 2341!:mime application/vnd.oasis.opendocument.formula 2342>>>>80 string -template Template 2343!:mime application/vnd.oasis.opendocument.formula-template 2344>>>73 string database Database 2345!:mime application/vnd.oasis.opendocument.database 2346>>>73 string image 2347>>>>78 byte !0x2d Image 2348!:mime application/vnd.oasis.opendocument.image 2349>>>>78 string -template Template 2350!:mime application/vnd.oasis.opendocument.image-template 2351 2352# EPUB (OEBPS) books using OCF (OEBPS Container Format) 2353# http://www.idpf.org/ocf/ocf1.0/download/ocf10.htm, section 4. 2354# From: Ralf Brown <ralf.brown@gmail.com> 2355>>50 string epub+zip EPUB document 2356!:mime application/epub+zip 2357 2358# Catch other ZIP-with-mimetype formats 2359# In a ZIP file, the bytes immediately after a member's contents are 2360# always "PK". The 2 regex rules here print the "mimetype" member's 2361# contents up to the first 'P'. Luckily, most MIME types don't contain 2362# any capital 'P's. This is a kludge. 2363# (mimetype contains "application/<OTHER>") 2364>>50 string !epub+zip 2365>>>50 string !vnd.oasis.opendocument. 2366>>>>50 string !vnd.sun.xml. 2367>>>>>50 string !vnd.kde. 2368>>>>>>38 regex [!-OQ-~]+ Zip data (MIME type "%s"?) 2369!:mime application/zip 2370# (mimetype contents other than "application/*") 2371>26 string \x8\0\0\0mimetype 2372>>38 string !application/ 2373>>>38 regex [!-OQ-~]+ Zip data (MIME type "%s"?) 2374!:mime application/zip 2375 2376# Java Jar files 2377>(26.s+30) leshort 0xcafe Java archive data (JAR) 2378!:mime application/java-archive 2379 2380# Generic zip archives (Greg Roelofs, c/o zip-bugs@wkuvx1.wku.edu) 2381# Next line excludes specialized formats: 2382>(26.s+30) leshort !0xcafe 2383>>26 string !\x8\0\0\0mimetype Zip archive data 2384!:mime application/zip 2385>>>4 byte 0x09 \b, at least v0.9 to extract 2386>>>4 byte 0x0a \b, at least v1.0 to extract 2387>>>4 byte 0x0b \b, at least v1.1 to extract 2388>>>4 byte 0x14 \b, at least v2.0 to extract 2389>>>4 byte 0x2d \b, at least v3.0 to extract 2390>>>0x161 string WINZIP \b, WinZIP self-extracting 2391 2392# StarView Metafile 2393# From Pierre Ducroquet <pinaraf@pinaraf.info> 23940 string VCLMTF StarView MetaFile 2395>6 beshort x \b, version %d 2396>8 belong x \b, size %d 2397 2398# Zoo archiver 239920 lelong 0xfdc4a7dc Zoo archive data 2400!:mime application/x-zoo 2401>4 byte >48 \b, v%c. 2402>>6 byte >47 \b%c 2403>>>7 byte >47 \b%c 2404>32 byte >0 \b, modify: v%d 2405>>33 byte x \b.%d+ 2406>42 lelong 0xfdc4a7dc \b, 2407>>70 byte >0 extract: v%d 2408>>>71 byte x \b.%d+ 2409 2410# Shell archives 241110 string #\ This\ is\ a\ shell\ archive shell archive text 2412!:mime application/octet-stream 2413 2414# 2415# LBR. NB: May conflict with the questionable 2416# "binary Computer Graphics Metafile" format. 2417# 24180 string \0\ \ \ \ \ \ \ \ \ \ \ \0\0 LBR archive data 2419# 2420# PMA (CP/M derivative of LHA) 2421# 24222 string -pm0- PMarc archive data [pm0] 24232 string -pm1- PMarc archive data [pm1] 24242 string -pm2- PMarc archive data [pm2] 24252 string -pms- PMarc SFX archive (CP/M, DOS) 24265 string -pc1- PopCom compressed executable (CP/M) 2427 2428# From Rafael Laboissiere <rafael@laboissiere.net> 2429# The Project Revision Control System (see 2430# http://prcs.sourceforge.net) generates a packaged project 2431# file which is recognized by the following entry: 24320 leshort 0xeb81 PRCS packaged project 2433 2434# Microsoft cabinets 2435# by David Necas (Yeti) <yeti@physics.muni.cz> 2436#0 string MSCF\0\0\0\0 Microsoft cabinet file data, 2437#>25 byte x v%d 2438#>24 byte x \b.%d 2439# MPi: All CABs have version 1.3, so this is pointless. 2440# Better magic in debian-additions. 2441 2442# GTKtalog catalogs 2443# by David Necas (Yeti) <yeti@physics.muni.cz> 24444 string gtktalog\ GTKtalog catalog data, 2445>13 string 3 version 3 2446>>14 beshort 0x677a (gzipped) 2447>>14 beshort !0x677a (not gzipped) 2448>13 string >3 version %s 2449 2450############################################################################ 2451# Parity archive reconstruction file, the 'par' file format now used on Usenet. 24520 string PAR\0 PARity archive data 2453>48 leshort =0 - Index file 2454>48 leshort >0 - file number %d 2455 2456# Felix von Leitner <felix-file@fefe.de> 24570 string d8:announce BitTorrent file 2458!:mime application/x-bittorrent 2459 2460# Atari MSA archive - Teemu Hukkanen <tjhukkan@iki.fi> 24610 beshort 0x0e0f Atari MSA archive data 2462>2 beshort x \b, %d sectors per track 2463>4 beshort 0 \b, 1 sided 2464>4 beshort 1 \b, 2 sided 2465>6 beshort x \b, starting track: %d 2466>8 beshort x \b, ending track: %d 2467 2468# Alternate ZIP string (amc@arwen.cs.berkeley.edu) 24690 string PK00PK\003\004 Zip archive data 2470 2471# ACE archive (from http://www.wotsit.org/download.asp?f=ace) 2472# by Stefan `Sec` Zehl <sec@42.org> 24737 string **ACE** ACE archive data 2474>15 byte >0 version %d 2475>16 byte =0x00 \b, from MS-DOS 2476>16 byte =0x01 \b, from OS/2 2477>16 byte =0x02 \b, from Win/32 2478>16 byte =0x03 \b, from Unix 2479>16 byte =0x04 \b, from MacOS 2480>16 byte =0x05 \b, from WinNT 2481>16 byte =0x06 \b, from Primos 2482>16 byte =0x07 \b, from AppleGS 2483>16 byte =0x08 \b, from Atari 2484>16 byte =0x09 \b, from Vax/VMS 2485>16 byte =0x0A \b, from Amiga 2486>16 byte =0x0B \b, from Next 2487>14 byte x \b, version %d to extract 2488>5 leshort &0x0080 \b, multiple volumes, 2489>>17 byte x \b (part %d), 2490>5 leshort &0x0002 \b, contains comment 2491>5 leshort &0x0200 \b, sfx 2492>5 leshort &0x0400 \b, small dictionary 2493>5 leshort &0x0800 \b, multi-volume 2494>5 leshort &0x1000 \b, contains AV-String 2495>>30 string \x16*UNREGISTERED\x20VERSION* (unregistered) 2496>5 leshort &0x2000 \b, with recovery record 2497>5 leshort &0x4000 \b, locked 2498>5 leshort &0x8000 \b, solid 2499# Date in MS-DOS format (whatever that is) 2500#>18 lelong x Created on 2501 2502# sfArk : compression program for Soundfonts (sf2) by Dirk Jagdmann 2503# <doj@cubic.org> 25040x1A string sfArk sfArk compressed Soundfont 2505>0x15 string 2 2506>>0x1 string >\0 Version %s 2507>>0x2A string >\0 : %s 2508 2509# DR-DOS 7.03 Packed File *.??_ 25100 string Packed\ File\ Personal NetWare Packed File 2511>12 string x \b, was "%.12s" 2512 2513# EET archive 2514# From: Tilman Sauerbeck <tilman@code-monkey.de> 25150 belong 0x1ee7ff00 EET archive 2516!:mime application/x-eet 2517 2518# rzip archives 25190 string RZIP rzip compressed data 2520>4 byte x - version %d 2521>5 byte x \b.%d 2522>6 belong x (%d bytes) 2523 2524# From: "Robert Dale" <robdale@gmail.com> 25250 belong 123 dar archive, 2526>4 belong x label "%.8x 2527>>8 belong x %.8x 2528>>>12 beshort x %.4x" 2529>14 byte 0x54 end slice 2530>14 beshort 0x4e4e multi-part 2531>14 beshort 0x4e53 multi-part, with -S 2532 2533# Symbian installation files 2534# http://www.thouky.co.uk/software/psifs/sis.html 2535# http://developer.symbian.com/main/downloads/papers/SymbianOSv91/softwareinstallsis.pdf 25368 lelong 0x10000419 Symbian installation file 2537!:mime application/vnd.symbian.install 2538>4 lelong 0x1000006D (EPOC release 3/4/5) 2539>4 lelong 0x10003A12 (EPOC release 6) 25400 lelong 0x10201A7A Symbian installation file (Symbian OS 9.x) 2541!:mime x-epoc/x-sisx-app 2542 2543# From "Nelson A. de Oliveira" <naoliv@gmail.com> 25440 string MPQ\032 MoPaQ (MPQ) archive 2545 2546# From: Dirk Jagdmann <doj@cubic.org> 2547# xar archive format: http://code.google.com/p/xar/ 25480 string xar! xar archive 2549>6 beshort x - version %ld 2550 2551# From: "Nelson A. de Oliveira" <naoliv@gmail.com> 2552# .kgb 25530 string KGB_arch KGB Archiver file 2554>10 string x with compression level %.1s 2555 2556# xar (eXtensible ARchiver) archive 2557# From: "David Remahl" <dremahl@apple.com> 25580 string xar! xar archive 2559#>4 beshort x header size %d 2560>6 beshort x version %d, 2561#>8 quad x compressed TOC: %d, 2562#>16 quad x uncompressed TOC: %d, 2563>24 belong 0 no checksum 2564>24 belong 1 SHA-1 checksum 2565>24 belong 2 MD5 checksum 2566 2567# Type: Parity Archive 2568# From: Daniel van Eeden <daniel_e@dds.nl> 25690 string PAR2 Parity Archive Volume Set 2570 2571# Bacula volume format. (Volumes always start with a block header.) 2572# URL: http://bacula.org/3.0.x-manuals/en/developers/developers/Block_Header.html 2573# From: Adam Buchbinder <adam.buchbinder@gmail.com> 257412 string BB02 Bacula volume 2575>20 bedate x \b, started %s 2576 2577# ePub is XHTML + XML inside a ZIP archive. The first member of the 2578# archive must be an uncompressed file called 'mimetype' with contents 2579# 'application/epub+zip' 2580 2581 2582# From: "Michael Gorny" <mgorny@gentoo.org> 2583# ZPAQ: http://mattmahoney.net/dc/zpaq.html 25840 string zPQ ZPAQ stream 2585>3 byte x \b, level %d 2586 2587# BBeB ebook, unencrypted (LRF format) 2588# URL: http://www.sven.de/librie/Librie/LrfFormat 2589# From: Adam Buchbinder <adam.buchbinder@gmail.com> 25900 string L\0R\0F\0\0\0 BBeB ebook data, unencrypted 2591>8 beshort x \b, version %d 2592>36 byte 1 \b, front-to-back 2593>36 byte 16 \b, back-to-front 2594>42 beshort x \b, (%dx, 2595>44 beshort x %d) 2596#------------------------------------------------------------------------------ 2597# $File: assembler,v 1.6 2013/12/11 14:14:20 christos Exp $ 2598# make: file(1) magic for assembler source 2599# 26000 regex \^[\040\t]{0,50}\\.asciiz assembler source text 2601!:mime text/x-asm 26020 regex \^[\040\t]{0,50}\\.byte assembler source text 2603!:mime text/x-asm 26040 regex \^[\040\t]{0,50}\\.even assembler source text 2605!:mime text/x-asm 26060 regex \^[\040\t]{0,50}\\.globl assembler source text 2607!:mime text/x-asm 26080 regex \^[\040\t]{0,50}\\.text assembler source text 2609!:mime text/x-asm 26100 regex \^[\040\t]{0,50}\\.file assembler source text 2611!:mime text/x-asm 26120 regex \^[\040\t]{0,50}\\.type assembler source text 2613!:mime text/x-asm 2614 2615#------------------------------------------------------------------------------ 2616# $File: asterix,v 1.5 2009/09/19 16:28:08 christos Exp $ 2617# asterix: file(1) magic for Aster*x; SunOS 5.5.1 gave the 4-character 2618# strings as "long" - we assume they're just strings: 2619# From: guy@netapp.com (Guy Harris) 2620# 26210 string *STA Aster*x 2622>7 string WORD Words Document 2623>7 string GRAP Graphic 2624>7 string SPRE Spreadsheet 2625>7 string MACR Macro 26260 string 2278 Aster*x Version 2 2627>29 byte 0x36 Words Document 2628>29 byte 0x35 Graphic 2629>29 byte 0x32 Spreadsheet 2630>29 byte 0x38 Macro 2631 2632 2633#------------------------------------------------------------------------------ 2634# $File: att3b,v 1.8 2009/09/19 16:28:08 christos Exp $ 2635# att3b: file(1) magic for AT&T 3B machines 2636# 2637# The `versions' should be un-commented if they work for you. 2638# (Was the problem just one of endianness?) 2639# 2640# 3B20 2641# 2642# The 3B20 conflicts with SCCS. 2643#0 beshort 0550 3b20 COFF executable 2644#>12 belong >0 not stripped 2645#>22 beshort >0 - version %ld 2646#0 beshort 0551 3b20 COFF executable (TV) 2647#>12 belong >0 not stripped 2648#>22 beshort >0 - version %ld 2649# 2650# WE32K 2651# 26520 beshort 0560 WE32000 COFF 2653>18 beshort ^00000020 object 2654>18 beshort &00000020 executable 2655>12 belong >0 not stripped 2656>18 beshort ^00010000 N/A on 3b2/300 w/paging 2657>18 beshort &00020000 32100 required 2658>18 beshort &00040000 and MAU hardware required 2659>20 beshort 0407 (impure) 2660>20 beshort 0410 (pure) 2661>20 beshort 0413 (demand paged) 2662>20 beshort 0443 (target shared library) 2663>22 beshort >0 - version %ld 26640 beshort 0561 WE32000 COFF executable (TV) 2665>12 belong >0 not stripped 2666#>18 beshort &00020000 - 32100 required 2667#>18 beshort &00040000 and MAU hardware required 2668#>22 beshort >0 - version %ld 2669# 2670# core file for 3b2 26710 string \000\004\036\212\200 3b2 core file 2672>364 string >\0 of '%s' 2673 2674#------------------------------------------------------------------------------ 2675# $File: audio,v 1.68 2013/12/02 13:32:26 christos Exp $ 2676# audio: file(1) magic for sound formats (see also "iff") 2677# 2678# Jan Nicolai Langfeldt (janl@ifi.uio.no), Dan Quinlan (quinlan@yggdrasil.com), 2679# and others 2680# 2681 2682# Sun/NeXT audio data 26830 string .snd Sun/NeXT audio data: 2684>12 belong 1 8-bit ISDN mu-law, 2685!:mime audio/basic 2686>12 belong 2 8-bit linear PCM [REF-PCM], 2687!:mime audio/basic 2688>12 belong 3 16-bit linear PCM, 2689!:mime audio/basic 2690>12 belong 4 24-bit linear PCM, 2691!:mime audio/basic 2692>12 belong 5 32-bit linear PCM, 2693!:mime audio/basic 2694>12 belong 6 32-bit IEEE floating point, 2695!:mime audio/basic 2696>12 belong 7 64-bit IEEE floating point, 2697!:mime audio/basic 2698>12 belong 8 Fragmented sample data, 2699>12 belong 10 DSP program, 2700>12 belong 11 8-bit fixed point, 2701>12 belong 12 16-bit fixed point, 2702>12 belong 13 24-bit fixed point, 2703>12 belong 14 32-bit fixed point, 2704>12 belong 18 16-bit linear with emphasis, 2705>12 belong 19 16-bit linear compressed, 2706>12 belong 20 16-bit linear with emphasis and compression, 2707>12 belong 21 Music kit DSP commands, 2708>12 belong 23 8-bit ISDN mu-law compressed (CCITT G.721 ADPCM voice enc.), 2709!:mime audio/x-adpcm 2710>12 belong 24 compressed (8-bit CCITT G.722 ADPCM) 2711>12 belong 25 compressed (3-bit CCITT G.723.3 ADPCM), 2712>12 belong 26 compressed (5-bit CCITT G.723.5 ADPCM), 2713>12 belong 27 8-bit A-law (CCITT G.711), 2714>20 belong 1 mono, 2715>20 belong 2 stereo, 2716>20 belong 4 quad, 2717>16 belong >0 %d Hz 2718 2719# DEC systems (e.g. DECstation 5000) use a variant of the Sun/NeXT format 2720# that uses little-endian encoding and has a different magic number 27210 lelong 0x0064732E DEC audio data: 2722>12 lelong 1 8-bit ISDN mu-law, 2723!:mime audio/x-dec-basic 2724>12 lelong 2 8-bit linear PCM [REF-PCM], 2725!:mime audio/x-dec-basic 2726>12 lelong 3 16-bit linear PCM, 2727!:mime audio/x-dec-basic 2728>12 lelong 4 24-bit linear PCM, 2729!:mime audio/x-dec-basic 2730>12 lelong 5 32-bit linear PCM, 2731!:mime audio/x-dec-basic 2732>12 lelong 6 32-bit IEEE floating point, 2733!:mime audio/x-dec-basic 2734>12 lelong 7 64-bit IEEE floating point, 2735!:mime audio/x-dec-basic 2736>12 belong 8 Fragmented sample data, 2737>12 belong 10 DSP program, 2738>12 belong 11 8-bit fixed point, 2739>12 belong 12 16-bit fixed point, 2740>12 belong 13 24-bit fixed point, 2741>12 belong 14 32-bit fixed point, 2742>12 belong 18 16-bit linear with emphasis, 2743>12 belong 19 16-bit linear compressed, 2744>12 belong 20 16-bit linear with emphasis and compression, 2745>12 belong 21 Music kit DSP commands, 2746>12 lelong 23 8-bit ISDN mu-law compressed (CCITT G.721 ADPCM voice enc.), 2747!:mime audio/x-dec-basic 2748>12 belong 24 compressed (8-bit CCITT G.722 ADPCM) 2749>12 belong 25 compressed (3-bit CCITT G.723.3 ADPCM), 2750>12 belong 26 compressed (5-bit CCITT G.723.5 ADPCM), 2751>12 belong 27 8-bit A-law (CCITT G.711), 2752>20 lelong 1 mono, 2753>20 lelong 2 stereo, 2754>20 lelong 4 quad, 2755>16 lelong >0 %d Hz 2756 2757# Creative Labs AUDIO stuff 27580 string MThd Standard MIDI data 2759!:mime audio/midi 2760>8 beshort x (format %d) 2761>10 beshort x using %d track 2762>10 beshort >1 \bs 2763>12 beshort&0x7fff x at 1/%d 2764>12 beshort&0x8000 >0 SMPTE 2765 27660 string CTMF Creative Music (CMF) data 2767!:mime audio/x-unknown 27680 string SBI SoundBlaster instrument data 2769!:mime audio/x-unknown 27700 string Creative\ Voice\ File Creative Labs voice data 2771!:mime audio/x-unknown 2772# is this next line right? it came this way... 2773>19 byte 0x1A 2774>23 byte >0 - version %d 2775>22 byte >0 \b.%d 2776 2777# first entry is also the string "NTRK" 27780 belong 0x4e54524b MultiTrack sound data 2779>4 belong x - version %ld 2780 2781# Extended MOD format (*.emd) (Greg Roelofs, newt@uchicago.edu); NOT TESTED 2782# [based on posting 940824 by "Dirk/Elastik", husberg@lehtori.cc.tut.fi] 27830 string EMOD Extended MOD sound data, 2784>4 byte&0xf0 x version %d 2785>4 byte&0x0f x \b.%d, 2786>45 byte x %d instruments 2787>83 byte 0 (module) 2788>83 byte 1 (song) 2789 2790# Real Audio (Magic .ra\0375) 27910 belong 0x2e7261fd RealAudio sound file 2792!:mime audio/x-pn-realaudio 27930 string .RMF\0\0\0 RealMedia file 2794!:mime application/vnd.rn-realmedia 2795#video/x-pn-realvideo 2796#video/vnd.rn-realvideo 2797#application/vnd.rn-realmedia 2798# sigh, there are many mimes for that but the above are the most common. 2799 2800# MTM/669/FAR/S3M/ULT/XM format checking [Aaron Eppert, aeppert@dialin.ind.net] 2801# Oct 31, 1995 2802# fixed by <doj@cubic.org> 2003-06-24 2803# Too short... 2804#0 string MTM MultiTracker Module sound file 2805#0 string if Composer 669 Module sound data 2806#0 string JN Composer 669 Module sound data (extended format) 28070 string MAS_U ULT(imate) Module sound data 2808 2809#0 string FAR Module sound data 2810#>4 string >\15 Title: "%s" 2811 28120x2c string SCRM ScreamTracker III Module sound data 2813>0 string >\0 Title: "%s" 2814 2815# Gravis UltraSound patches 2816# From <ache@nagual.ru> 2817 28180 string GF1PATCH110\0ID#000002\0 GUS patch 28190 string GF1PATCH100\0ID#000002\0 Old GUS patch 2820 2821# mime types according to http://www.geocities.com/nevilo/mod.htm: 2822# audio/it .it 2823# audio/x-zipped-it .itz 2824# audio/xm fasttracker modules 2825# audio/x-s3m screamtracker modules 2826# audio/s3m screamtracker modules 2827# audio/x-zipped-mod mdz 2828# audio/mod mod 2829# audio/x-mod All modules (mod, s3m, 669, mtm, med, xm, it, mdz, stm, itz, xmz, s3z) 2830 2831# 2832# Taken from loader code from mikmod version 2.14 2833# by Steve McIntyre (stevem@chiark.greenend.org.uk) 2834# <doj@cubic.org> added title printing on 2003-06-24 28350 string MAS_UTrack_V00 2836>14 string >/0 ultratracker V1.%.1s module sound data 2837!:mime audio/x-mod 2838#audio/x-tracker-module 2839 28400 string UN05 MikMod UNI format module sound data 2841 28420 string Extended\ Module: Fasttracker II module sound data 2843!:mime audio/x-mod 2844#audio/x-tracker-module 2845>17 string >\0 Title: "%s" 2846 284721 string/c =!SCREAM! Screamtracker 2 module sound data 2848!:mime audio/x-mod 2849#audio/x-screamtracker-module 285021 string BMOD2STM Screamtracker 2 module sound data 2851!:mime audio/x-mod 2852#audio/x-screamtracker-module 28531080 string M.K. 4-channel Protracker module sound data 2854!:mime audio/x-mod 2855#audio/x-protracker-module 2856>0 string >\0 Title: "%s" 28571080 string M!K! 4-channel Protracker module sound data 2858!:mime audio/x-mod 2859#audio/x-protracker-module 2860>0 string >\0 Title: "%s" 28611080 string FLT4 4-channel Startracker module sound data 2862!:mime audio/x-mod 2863#audio/x-startracker-module 2864>0 string >\0 Title: "%s" 28651080 string FLT8 8-channel Startracker module sound data 2866!:mime audio/x-mod 2867#audio/x-startracker-module 2868>0 string >\0 Title: "%s" 28691080 string 4CHN 4-channel Fasttracker module sound data 2870!:mime audio/x-mod 2871#audio/x-fasttracker-module 2872>0 string >\0 Title: "%s" 28731080 string 6CHN 6-channel Fasttracker module sound data 2874!:mime audio/x-mod 2875#audio/x-fasttracker-module 2876>0 string >\0 Title: "%s" 28771080 string 8CHN 8-channel Fasttracker module sound data 2878!:mime audio/x-mod 2879#audio/x-fasttracker-module 2880>0 string >\0 Title: "%s" 28811080 string CD81 8-channel Octalyser module sound data 2882!:mime audio/x-mod 2883#audio/x-octalysertracker-module 2884>0 string >\0 Title: "%s" 28851080 string OKTA 8-channel Octalyzer module sound data 2886!:mime audio/x-mod 2887#audio/x-octalysertracker-module 2888>0 string >\0 Title: "%s" 2889# Not good enough. 2890#1082 string CH 2891#>1080 string >/0 %.2s-channel Fasttracker "oktalyzer" module sound data 28921080 string 16CN 16-channel Taketracker module sound data 2893!:mime audio/x-mod 2894#audio/x-taketracker-module 2895>0 string >\0 Title: "%s" 28961080 string 32CN 32-channel Taketracker module sound data 2897!:mime audio/x-mod 2898#audio/x-taketracker-module 2899>0 string >\0 Title: "%s" 2900 2901# TOC sound files -Trevor Johnson <trevor@jpj.net> 2902# 29030 string TOC TOC sound file 2904 2905# sidfiles <pooka@iki.fi> 2906# added name,author,(c) and new RSID type by <doj@cubic.org> 2003-06-24 29070 string SIDPLAY\ INFOFILE Sidplay info file 2908 29090 string PSID PlaySID v2.2+ (AMIGA) sidtune 2910>4 beshort >0 w/ header v%d, 2911>14 beshort =1 single song, 2912>14 beshort >1 %d songs, 2913>16 beshort >0 default song: %d 2914>0x16 string >\0 name: "%s" 2915>0x36 string >\0 author: "%s" 2916>0x56 string >\0 copyright: "%s" 2917 29180 string RSID RSID sidtune PlaySID compatible 2919>4 beshort >0 w/ header v%d, 2920>14 beshort =1 single song, 2921>14 beshort >1 %d songs, 2922>16 beshort >0 default song: %d 2923>0x16 string >\0 name: "%s" 2924>0x36 string >\0 author: "%s" 2925>0x56 string >\0 copyright: "%s" 2926 2927# IRCAM sound files - Michael Pruett <michael@68k.org> 2928# http://www-mmsp.ece.mcgill.ca/documents/AudioFormats/IRCAM/IRCAM.html 29290 belong 0x64a30100 IRCAM file (VAX little-endian) 29300 belong 0x0001a364 IRCAM file (VAX big-endian) 29310 belong 0x64a30200 IRCAM file (Sun big-endian) 29320 belong 0x0002a364 IRCAM file (Sun little-endian) 29330 belong 0x64a30300 IRCAM file (MIPS little-endian) 29340 belong 0x0003a364 IRCAM file (MIPS big-endian) 29350 belong 0x64a30400 IRCAM file (NeXT big-endian) 29360 belong 0x64a30400 IRCAM file (NeXT big-endian) 29370 belong 0x0004a364 IRCAM file (NeXT little-endian) 2938 2939# NIST SPHERE <mpruett@sgi.com> 29400 string NIST_1A\n\ \ \ 1024\n NIST SPHERE file 2941 2942# Sample Vision <mpruett@sgi.com> 29430 string SOUND\ SAMPLE\ DATA\ Sample Vision file 2944 2945# Audio Visual Research <tonigonenstein@users.sourceforge.net> 29460 string 2BIT Audio Visual Research file, 2947>12 beshort =0 mono, 2948>12 beshort =-1 stereo, 2949>14 beshort x %d bits 2950>16 beshort =0 unsigned, 2951>16 beshort =-1 signed, 2952>22 belong&0x00ffffff x %d Hz, 2953>18 beshort =0 no loop, 2954>18 beshort =-1 loop, 2955>21 ubyte <128 note %d, 2956>22 byte =0 replay 5.485 KHz 2957>22 byte =1 replay 8.084 KHz 2958>22 byte =2 replay 10.971 KHz 2959>22 byte =3 replay 16.168 KHz 2960>22 byte =4 replay 21.942 KHz 2961>22 byte =5 replay 32.336 KHz 2962>22 byte =6 replay 43.885 KHz 2963>22 byte =7 replay 47.261 KHz 2964 2965# SGI SoundTrack <mpruett@sgi.com> 29660 string _SGI_SoundTrack SGI SoundTrack project file 2967# ID3 version 2 tags <waschk@informatik.uni-rostock.de> 29680 string ID3 Audio file with ID3 version 2 2969>3 byte x \b.%d 2970>4 byte x \b.%d 2971>>5 byte &0x80 \b, unsynchronized frames 2972>>5 byte &0x40 \b, extended header 2973>>5 byte &0x20 \b, experimental 2974>>5 byte &0x10 \b, footer present 2975>(6.I) indirect x \b, contains: 2976 2977# NSF (NES sound file) magic 29780 string NESM\x1a NES Sound File 2979>14 string >\0 ("%s" by 2980>46 string >\0 %s, copyright 2981>78 string >\0 %s), 2982>5 byte x version %d, 2983>6 byte x %d tracks, 2984>122 byte&0x2 =1 dual PAL/NTSC 2985>122 byte&0x1 =1 PAL 2986>122 byte&0x1 =0 NTSC 2987 2988# Type: SNES SPC700 sound files 2989# From: Josh Triplett <josh@freedesktop.org> 29900 string SNES-SPC700\ Sound\ File\ Data\ v SNES SPC700 sound file 2991>&0 string 0.30 \b, version %s 2992>>0x23 byte 0x1B \b, without ID666 tag 2993>>0x23 byte 0x1A \b, with ID666 tag 2994>>>0x2E string >\0 \b, song "%.32s" 2995>>>0x4E string >\0 \b, game "%.32s" 2996 2997# Impulse tracker module (audio/x-it) 29980 string IMPM Impulse Tracker module sound data - 2999!:mime audio/x-mod 3000>4 string >\0 "%s" 3001>40 leshort !0 compatible w/ITv%x 3002>42 leshort !0 created w/ITv%x 3003 3004# Imago Orpheus module (audio/x-imf) 300560 string IM10 Imago Orpheus module sound data - 3006>0 string >\0 "%s" 3007 3008# From <collver1@attbi.com> 3009# These are the /etc/magic entries to decode modules, instruments, and 3010# samples in Impulse Tracker's native format. 3011 30120 string IMPS Impulse Tracker Sample 3013>18 byte &2 16 bit 3014>18 byte ^2 8 bit 3015>18 byte &4 stereo 3016>18 byte ^4 mono 30170 string IMPI Impulse Tracker Instrument 3018>28 leshort !0 ITv%x 3019>30 byte !0 %d samples 3020 3021# Yamaha TX Wave: file(1) magic for Yamaha TX Wave audio files 3022# From <collver1@attbi.com> 30230 string LM8953 Yamaha TX Wave 3024>22 byte 0x49 looped 3025>22 byte 0xC9 non-looped 3026>23 byte 1 33kHz 3027>23 byte 2 50kHz 3028>23 byte 3 16kHz 3029 3030# scream tracker: file(1) magic for Scream Tracker sample files 3031# 3032# From <collver1@attbi.com> 303376 string SCRS Scream Tracker Sample 3034>0 byte 1 sample 3035>0 byte 2 adlib melody 3036>0 byte >2 adlib drum 3037>31 byte &2 stereo 3038>31 byte ^2 mono 3039>31 byte &4 16bit little endian 3040>31 byte ^4 8bit 3041>30 byte 0 unpacked 3042>30 byte 1 packed 3043 3044# audio 3045# From: Cory Dikkers <cdikkers@swbell.net> 30460 string MMD0 MED music file, version 0 30470 string MMD1 OctaMED Pro music file, version 1 30480 string MMD3 OctaMED Soundstudio music file, version 3 30490 string OctaMEDCmpr OctaMED Soundstudio compressed file 30500 string MED MED_Song 30510 string SymM Symphonie SymMOD music file 3052# 30530 string THX AHX version 3054>3 byte =0 1 module data 3055>3 byte =1 2 module data 3056# 30570 string OKTASONG Oktalyzer module data 3058# 30590 string DIGI\ Booster\ module\0 %s 3060>20 byte >0 %c 3061>>21 byte >0 \b%c 3062>>>22 byte >0 \b%c 3063>>>>23 byte >0 \b%c 3064>610 string >\0 \b, "%s" 3065# 30660 string DBM0 DIGI Booster Pro Module 3067>4 byte >0 V%X. 3068>>5 byte x \b%02X 3069>16 string >\0 \b, "%s" 3070# 30710 string FTMN FaceTheMusic module 3072>16 string >\0d \b, "%s" 3073 3074# From: <doj@cubic.org> 2003-06-24 30750 string AMShdr\32 Velvet Studio AMS Module v2.2 30760 string Extreme Extreme Tracker AMS Module v1.3 30770 string DDMF Xtracker DMF Module 3078>4 byte x v%i 3079>0xD string >\0 Title: "%s" 3080>0x2B string >\0 Composer: "%s" 30810 string DSM\32 Dynamic Studio Module DSM 30820 string SONG DigiTrekker DTM Module 30830 string DMDL DigiTrakker MDL Module 30840 string PSM\32 Protracker Studio PSM Module 308544 string PTMF Poly Tracker PTM Module 3086>0 string >\32 Title: "%s" 30870 string MT20 MadTracker 2.0 Module MT2 30880 string RAD\40by\40REALiTY!! RAD Adlib Tracker Module RAD 30890 string RTMM RTM Module 30900x426 string MaDoKaN96 XMS Adlib Module 3091>0 string >\0 Composer: "%s" 30920 string AMF AMF Module 3093>4 string >\0 Title: "%s" 30940 string MODINFO1 Open Cubic Player Module Inforation MDZ 30950 string Extended\40Instrument: Fast Tracker II Instrument 3096 3097# From: Takeshi Hamasaki <hma@syd.odn.ne.jp> 3098# NOA Nancy Codec file 30990 string \210NOA\015\012\032 NOA Nancy Codec Movie file 3100# Yamaha SMAF format 31010 string MMMD Yamaha SMAF file 3102# Sharp Jisaku Melody format for PDC 31030 string \001Sharp\040JisakuMelody SHARP Cell-Phone ringing Melody 3104>20 string Ver01.00 Ver. 1.00 3105>>32 byte x , %d tracks 3106 3107# Free lossless audio codec <http://flac.sourceforge.net> 3108# From: Przemyslaw Augustyniak <silvathraec@rpg.pl> 31090 string fLaC FLAC audio bitstream data 3110!:mime audio/x-flac 3111>4 byte&0x7f >0 \b, unknown version 3112>4 byte&0x7f 0 \b 3113# some common bits/sample values 3114>>20 beshort&0x1f0 0x030 \b, 4 bit 3115>>20 beshort&0x1f0 0x050 \b, 6 bit 3116>>20 beshort&0x1f0 0x070 \b, 8 bit 3117>>20 beshort&0x1f0 0x0b0 \b, 12 bit 3118>>20 beshort&0x1f0 0x0f0 \b, 16 bit 3119>>20 beshort&0x1f0 0x170 \b, 24 bit 3120>>20 byte&0xe 0x0 \b, mono 3121>>20 byte&0xe 0x2 \b, stereo 3122>>20 byte&0xe 0x4 \b, 3 channels 3123>>20 byte&0xe 0x6 \b, 4 channels 3124>>20 byte&0xe 0x8 \b, 5 channels 3125>>20 byte&0xe 0xa \b, 6 channels 3126>>20 byte&0xe 0xc \b, 7 channels 3127>>20 byte&0xe 0xe \b, 8 channels 3128# some common sample rates 3129>>17 belong&0xfffff0 0x0ac440 \b, 44.1 kHz 3130>>17 belong&0xfffff0 0x0bb800 \b, 48 kHz 3131>>17 belong&0xfffff0 0x07d000 \b, 32 kHz 3132>>17 belong&0xfffff0 0x056220 \b, 22.05 kHz 3133>>17 belong&0xfffff0 0x05dc00 \b, 24 kHz 3134>>17 belong&0xfffff0 0x03e800 \b, 16 kHz 3135>>17 belong&0xfffff0 0x02b110 \b, 11.025 kHz 3136>>17 belong&0xfffff0 0x02ee00 \b, 12 kHz 3137>>17 belong&0xfffff0 0x01f400 \b, 8 kHz 3138>>17 belong&0xfffff0 0x177000 \b, 96 kHz 3139>>17 belong&0xfffff0 0x0fa000 \b, 64 kHz 3140>>21 byte&0xf >0 \b, >4G samples 3141>>21 byte&0xf 0 \b 3142>>>22 belong >0 \b, %u samples 3143>>>22 belong 0 \b, length unknown 3144 3145# (ISDN) VBOX voice message file (Wolfram Kleff) 31460 string VBOX VBOX voice message data 3147 3148# ReBorn Song Files (.rbs) 3149# David J. Singer <doc@deadvirgins.org.uk> 31508 string RB40 RBS Song file 3151>29 string ReBorn created by ReBorn 3152>37 string Propellerhead created by ReBirth 3153 3154# Synthesizer Generator and Kimwitu share their file format 31550 string A#S#C#S#S#L#V#3 Synthesizer Generator or Kimwitu data 3156# Kimwitu++ uses a slightly different magic 31570 string A#S#C#S#S#L#HUB Kimwitu++ data 3158 3159# From "Simon Hosie 31600 string TFMX-SONG TFMX module sound data 3161 3162# Monkey's Audio compressed audio format (.ape) 3163# From danny.milo@gmx.net (Danny Milosavljevic) 3164# New version from Abel Cheung <abel (@) oaka.org> 31650 string MAC\040 Monkey's Audio compressed format 3166!:mime audio/x-ape 3167>4 uleshort >0x0F8B version %d 3168>>(0x08.l) uleshort =1000 with fast compression 3169>>(0x08.l) uleshort =2000 with normal compression 3170>>(0x08.l) uleshort =3000 with high compression 3171>>(0x08.l) uleshort =4000 with extra high compression 3172>>(0x08.l) uleshort =5000 with insane compression 3173>>(0x08.l+18) uleshort =1 \b, mono 3174>>(0x08.l+18) uleshort =2 \b, stereo 3175>>(0x08.l+20) ulelong x \b, sample rate %d 3176>4 uleshort <0x0F8C version %d 3177>>6 uleshort =1000 with fast compression 3178>>6 uleshort =2000 with normal compression 3179>>6 uleshort =3000 with high compression 3180>>6 uleshort =4000 with extra high compression 3181>>6 uleshort =5000 with insane compression 3182>>10 uleshort =1 \b, mono 3183>>10 uleshort =2 \b, stereo 3184>>12 ulelong x \b, sample rate %d 3185 3186# adlib sound files 3187# From Gurkan Sengun <gurkan@linuks.mine.nu>, http://www.linuks.mine.nu 31880 string RAWADATA RdosPlay RAW 3189 31901068 string RoR AMUSIC Adlib Tracker 3191 31920 string JCH EdLib 3193 31940 string mpu401tr MPU-401 Trakker 3195 31960 string SAdT Surprise! Adlib Tracker 3197>4 byte x Version %d 3198 31990 string XAD! eXotic ADlib 3200 32010 string ofTAZ! eXtra Simple Music 3202 3203# Spectrum 128 tunes (.ay files). 3204# From: Emanuel Haupt <ehaupt@critical.ch> 32050 string ZXAYEMUL Spectrum 128 tune 3206 32070 string \0BONK BONK, 3208#>5 byte x version %d 3209>14 byte x %d channel(s), 3210>15 byte =1 lossless, 3211>15 byte =0 lossy, 3212>16 byte x mid-side 3213 3214384 string LockStream LockStream Embedded file (mostly MP3 on old Nokia phones) 3215 3216# format VQF (proprietary codec for sound) 3217# some infos on the header file available at : 3218# http://www.twinvq.org/english/technology_format.html 32190 string TWIN97012000 VQF data 3220>27 short 0 \b, Mono 3221>27 short 1 \b, Stereo 3222>31 short >0 \b, %d kbit/s 3223>35 short >0 \b, %d kHz 3224 3225# Nelson A. de Oliveira (naoliv@gmail.com) 3226# .eqf 32270 string Winamp\ EQ\ library\ file %s 3228# it will match only versions like v<digit>.<digit> 3229# Since I saw only eqf files with version v1.1 I think that it's OK 3230>23 string x \b%.4s 3231# .preset 32320 string [Equalizer\ preset] XMMS equalizer preset 3233# .m3u 32340 search/1 #EXTM3U M3U playlist text 3235# .pls 32360 search/1 [playlist] PLS playlist text 3237# licq.conf 32381 string [licq] LICQ configuration file 3239 3240# Atari ST audio files by Dirk Jagdmann <doj@cubic.org> 32410 string ICE! SNDH Atari ST music 32420 string SC68\ Music-file\ /\ (c)\ (BeN)jami sc68 Atari ST music 3243 3244# musepak support From: "Jiri Pejchal" <jiri.pejchal@gmail.com> 32450 string MP+ Musepack audio 3246!:mime audio/x-musepack 3247>3 byte 255 \b, SV pre8 3248>3 byte&0xF 0x6 \b, SV 6 3249>3 byte&0xF 0x8 \b, SV 8 3250>3 byte&0xF 0x7 \b, SV 7 3251>>3 byte&0xF0 0x0 \b.0 3252>>3 byte&0xF0 0x10 \b.1 3253>>3 byte&0xF0 240 \b.15 3254>>10 byte&0xF0 0x0 \b, no profile 3255>>10 byte&0xF0 0x10 \b, profile 'Unstable/Experimental' 3256>>10 byte&0xF0 0x50 \b, quality 0 3257>>10 byte&0xF0 0x60 \b, quality 1 3258>>10 byte&0xF0 0x70 \b, quality 2 (Telephone) 3259>>10 byte&0xF0 0x80 \b, quality 3 (Thumb) 3260>>10 byte&0xF0 0x90 \b, quality 4 (Radio) 3261>>10 byte&0xF0 0xA0 \b, quality 5 (Standard) 3262>>10 byte&0xF0 0xB0 \b, quality 6 (Xtreme) 3263>>10 byte&0xF0 0xC0 \b, quality 7 (Insane) 3264>>10 byte&0xF0 0xD0 \b, quality 8 (BrainDead) 3265>>10 byte&0xF0 0xE0 \b, quality 9 3266>>10 byte&0xF0 0xF0 \b, quality 10 3267>>27 byte 0x0 \b, Buschmann 1.7.0-9, Klemm 0.90-1.05 3268>>27 byte 102 \b, Beta 1.02 3269>>27 byte 104 \b, Beta 1.04 3270>>27 byte 105 \b, Alpha 1.05 3271>>27 byte 106 \b, Beta 1.06 3272>>27 byte 110 \b, Release 1.1 3273>>27 byte 111 \b, Alpha 1.11 3274>>27 byte 112 \b, Beta 1.12 3275>>27 byte 113 \b, Alpha 1.13 3276>>27 byte 114 \b, Beta 1.14 3277>>27 byte 115 \b, Alpha 1.15 3278 3279# IMY 3280# from http://filext.com/detaillist.php?extdetail=IMY 3281# http://cellphones.about.com/od/cellularfaqs/f/rf_imelody.htm 3282# http://download.ncl.ie/doc/api/ie/ncl/media/music/IMelody.html 3283# http://www.wx800.com/msg/download/irda/iMelody.pdf 32840 string BEGIN:IMELODY iMelody Ringtone Format 3285 3286# From: "Mateus Caruccio" <mateus@caruccio.com> 3287# guitar pro v3,4,5 from http://filext.com/file-extension/gp3 32880 string \030FICHIER\ GUITAR\ PRO\ v3. Guitar Pro Ver. 3 Tablature 3289 3290# From: "Leslie P. Polzer" <leslie.polzer@gmx.net> 329160 string SONG SoundFX Module sound file 3292 3293# Type: Adaptive Multi-Rate Codec 3294# URL: http://filext.com/detaillist.php?extdetail=AMR 3295# From: Russell Coker <russell@coker.com.au> 32960 string #!AMR Adaptive Multi-Rate Codec (GSM telephony) 3297 3298# Type: SuperCollider 3 Synth Definition File Format 3299# From: Mario Lang <mlang@debian.org> 33000 string SCgf SuperCollider3 Synth Definition file, 3301>4 belong x version %d 3302 3303# Type: True Audio Lossless Audio 3304# URL: http://wiki.multimedia.cx/index.php?title=True_Audio 3305# From: Mike Melanson <mike@multimedia.cx> 33060 string TTA1 True Audio Lossless Audio 3307 3308# Type: WavPack Lossless Audio 3309# URL: http://wiki.multimedia.cx/index.php?title=WavPack 3310# From: Mike Melanson <mike@multimedia.cx> 33110 string wvpk WavPack Lossless Audio 3312 3313# From Fábio R. Schmidlin <frs@pop.com.br> 3314# VGM music file 33150 string Vgm\ 3316>9 ubyte >0 VGM Video Game Music dump v 3317>>9 ubyte/16 >0 \b%d 3318>>9 ubyte&0x0F x \b%d 3319>>8 ubyte/16 x \b.%d 3320>>8 ubyte&0x0F >0 \b%d 3321#Get soundchips 3322>>8 ubyte x \b, soundchip(s)= 3323>>0x0C ulelong >0 SN76489, 3324>>0x10 ulelong >0 YM2413, 3325>>0x2C ulelong >0 YM2612, 3326>>0x30 ulelong >0 YM2151, 3327>>0x38 ulelong >0 Sega PCM, 3328>>0x34 ulelong >0xC 3329>>>0x40 ulelong >0 RF5C68, 3330>>0x34 ulelong >0x10 3331>>>0x44 ulelong >0 YM2203, 3332>>0x34 ulelong >0x14 3333>>>0x48 ulelong >0 YM2608, 3334>>0x34 ulelong >0x18 3335>>>0x4C lelong >0 YM2610, 3336>>>0x4C lelong <0 YM2610B, 3337>>0x34 ulelong >0x1C 3338>>>0x50 ulelong >0 YM3812, 3339>>0x34 ulelong >0x20 3340>>>0x54 ulelong >0 YM3526, 3341>>0x34 ulelong >0x24 3342>>>0x58 ulelong >0 Y8950, 3343>>0x34 ulelong >0x28 3344>>>0x5C ulelong >0 YMF262, 3345>>0x34 ulelong >0x2C 3346>>>0x60 ulelong >0 YMF278B, 3347>>0x34 ulelong >0x30 3348>>>0x64 ulelong >0 YMF271, 3349>>0x34 ulelong >0x34 3350>>>0x68 ulelong >0 YMZ280B, 3351>>0x34 ulelong >0x38 3352>>>0x6C ulelong >0 RF5C164, 3353>>0x34 ulelong >0x3C 3354>>>0x70 ulelong >0 PWM, 3355>>0x34 ulelong >0x40 3356>>>0x74 ulelong >0 3357>>>>0x78 ubyte 0x00 AY-3-8910, 3358>>>>0x78 ubyte 0x01 AY-3-8912, 3359>>>>0x78 ubyte 0x02 AY-3-8913, 3360>>>>0x78 ubyte 0x03 AY-3-8930, 3361>>>>0x78 ubyte 0x10 YM2149, 3362>>>>0x78 ubyte 0x11 YM3439, 3363 3364# GVOX Encore file format 3365# Since this is a proprietary file format and there is no publicly available 3366# format specification, this is just based on induction 3367# 33680 string SCOW 3369>4 byte 0xc4 GVOX Encore music, version 5.0 or above 3370>4 byte 0xc2 GVOX Encore music, version < 5.0 3371 33720 string ZBOT 3373>4 byte 0xc5 GVOX Encore music, version < 5.0 3374 3375 3376#---------------------------------------------------------------- 3377# $File: basis,v 1.4 2009/09/19 16:28:08 christos Exp $ 3378# basis: file(1) magic for BBx/Pro5-files 3379# Oliver Dammer <dammer@olida.de> 2005/11/07 3380# http://www.basis.com business-basic-files. 3381# 33820 string \074\074bbx\076\076 BBx 3383>7 string \000 indexed file 3384>7 string \001 serial file 3385>7 string \002 keyed file 3386>>13 short 0 (sort) 3387>7 string \004 program 3388>>18 byte x (LEVEL %d) 3389>>>23 string >\000 psaved 3390>7 string \006 mkeyed file 3391>>13 short 0 (sort) 3392>>8 string \000 (mkey) 3393 3394#------------------------------------------------------------------------------ 3395# $File: bflt,v 1.4 2009/09/19 16:28:08 christos Exp $ 3396# bFLT: file(1) magic for BFLT uclinux binary files 3397# 3398# From Philippe De Muyter <phdm@macqel.be> 3399# 34000 string bFLT BFLT executable 3401>4 belong x - version %ld 3402>4 belong 4 3403>>36 belong&0x1 0x1 ram 3404>>36 belong&0x2 0x2 gotpic 3405>>36 belong&0x4 0x4 gzip 3406>>36 belong&0x8 0x8 gzdata 3407 3408#------------------------------------------------------------------------------ 3409# $File: blackberry,v 1.1 2014/01/31 01:51:32 christos Exp $ 3410# blackberry: file(1) magic for BlackBerry file formats 3411# 34125 belong 0 3413>8 belong 010010010 BlackBerry RIM ETP file 3414>>22 string x \b for %s 3415# Berkeley Lab Checkpoint Restart (BLCR) checkpoint context files 3416# http://ftg.lbl.gov/checkpoint 34170 string C\0\0\0R\0\0\0 BLCR 3418>16 lelong 1 x86 3419>16 lelong 3 alpha 3420>16 lelong 5 x86-64 3421>16 lelong 7 ARM 3422>8 lelong x context data (little endian, version %d) 3423# Uncomment the following only of your "file" program supports "search" 3424#>0 search/1024 VMA\06 for kernel 3425#>>&1 byte x %d. 3426#>>&2 byte x %d. 3427#>>&3 byte x %d 34280 string \0\0\0C\0\0\0R BLCR 3429>16 belong 2 SPARC 3430>16 belong 4 ppc 3431>16 belong 6 ppc64 3432>16 belong 7 ARMEB 3433>16 belong 8 SPARC64 3434>8 belong x context data (big endian, version %d) 3435# Uncomment the following only of your "file" program supports "search" 3436#>0 search/1024 VMA\06 for kernel 3437#>>&1 byte x %d. 3438#>>&2 byte x \b%d. 3439#>>&3 byte x \b%d 3440 3441#------------------------------------------------------------------------------ 3442# $File: blender,v 1.5 2009/09/19 16:28:08 christos Exp $ 3443# blender: file(1) magic for Blender 3D related files 3444# 3445# Native format rule v1.2. For questions use the developers list 3446# http://lists.blender.org/mailman/listinfo/bf-committers 3447# GLOB chunk was moved near start and provides subversion info since 2.42 3448 34490 string =BLENDER Blender3D, 3450>7 string =_ saved as 32-bits 3451>>8 string =v little endian 3452>>>9 byte x with version %c. 3453>>>10 byte x \b%c 3454>>>11 byte x \b%c 3455>>>0x40 string =GLOB \b. 3456>>>>0x58 leshort x \b%.4d 3457>>8 string =V big endian 3458>>>9 byte x with version %c. 3459>>>10 byte x \b%c 3460>>>11 byte x \b%c 3461>>>0x40 string =GLOB \b. 3462>>>>0x58 beshort x \b%.4d 3463>7 string =- saved as 64-bits 3464>>8 string =v little endian 3465>>9 byte x with version %c. 3466>>10 byte x \b%c 3467>>11 byte x \b%c 3468>>0x44 string =GLOB \b. 3469>>>0x60 leshort x \b%.4d 3470>>8 string =V big endian 3471>>>9 byte x with version %c. 3472>>>10 byte x \b%c 3473>>>11 byte x \b%c 3474>>>0x44 string =GLOB \b. 3475>>>>0x60 beshort x \b%.4d 3476 3477# Scripts that run in the embeded Python interpreter 34780 string #!BPY Blender3D BPython script 3479 3480#------------------------------------------------------------------------------ 3481# $File: blit,v 1.8 2009/09/19 16:28:08 christos Exp $ 3482# blit: file(1) magic for 68K Blit stuff as seen from 680x0 machine 3483# 3484# Note that this 0407 conflicts with several other a.out formats... 3485# 3486# XXX - should this be redone with "be" and "le", so that it works on 3487# little-endian machines as well? If so, what's the deal with 3488# "VAX-order" and "VAX-order2"? 3489# 3490#0 long 0407 68K Blit (standalone) executable 3491#0 short 0407 VAX-order2 68K Blit (standalone) executable 34920 short 03401 VAX-order 68K Blit (standalone) executable 34930 long 0406 68k Blit mpx/mux executable 34940 short 0406 VAX-order2 68k Blit mpx/mux executable 34950 short 03001 VAX-order 68k Blit mpx/mux executable 3496# Need more values for WE32 DMD executables. 3497# Note that 0520 is the same as COFF 3498#0 short 0520 tty630 layers executable 3499 3500#------------------------------------------------------------------------------ 3501# $File: bout,v 1.5 2009/09/19 16:28:08 christos Exp $ 3502# i80960 b.out objects and archives 3503# 35040 long 0x10d i960 b.out relocatable object 3505>16 long >0 not stripped 3506# 3507# b.out archive (hp-rt on i960) 35080 string =!<bout> b.out archive 3509>8 string __.SYMDEF random library 3510 3511#------------------------------------------------------------------------------ 3512# $File: bsdi,v 1.6 2013/01/09 22:37:24 christos Exp $ 3513# bsdi: file(1) magic for BSD/OS (from BSDI) objects 3514# Some object/executable formats use the same magic numbers as are used 3515# in other OSes; those are handled by entries in aout. 3516# 3517 35180 lelong 0314 386 compact demand paged pure executable 3519>16 lelong >0 not stripped 3520>32 byte 0x6a (uses shared libs) 3521 3522# same as in SunOS 4.x, except for static shared libraries 35230 belong&077777777 0600413 sparc demand paged 3524>0 byte &0x80 3525>>20 belong <4096 shared library 3526>>20 belong =4096 dynamically linked executable 3527>>20 belong >4096 dynamically linked executable 3528>0 byte ^0x80 executable 3529>16 belong >0 not stripped 3530>36 belong 0xb4100001 (uses shared libs) 3531 35320 belong&077777777 0600410 sparc pure 3533>0 byte &0x80 dynamically linked executable 3534>0 byte ^0x80 executable 3535>16 belong >0 not stripped 3536>36 belong 0xb4100001 (uses shared libs) 3537 35380 belong&077777777 0600407 sparc 3539>0 byte &0x80 dynamically linked executable 3540>0 byte ^0x80 executable 3541>16 belong >0 not stripped 3542>36 belong 0xb4100001 (uses shared libs) 3543# Chiasmus is a encryption standard developed by the German Federal 3544# Office for Information Security (Bundesamt fuer Sicherheit in der 3545# Informationstechnik). 3546 3547# Extension: .xia 35480 string XIA1 Chiasmus encrypted data 3549 3550# Extension: .xis 35510 string XIS Chiasmus key 3552 3553#------------------------------------------------------------------------------ 3554# $File: btsnoop,v 1.5 2009/09/19 16:28:08 christos Exp $ 3555# BTSnoop: file(1) magic for BTSnoop files 3556# 3557# From <marcel@holtmann.org> 35580 string btsnoop\0 BTSnoop 3559>8 belong x version %d, 3560>12 belong 1001 Unencapsulated HCI 3561>12 belong 1002 HCI UART (H4) 3562>12 belong 1003 HCI BCSP 3563>12 belong 1004 HCI Serial (H5) 3564>>12 belong x type %d 3565 3566#------------------------------------------------------------------------------ 3567# $File: c64,v 1.5 2009/09/19 16:28:08 christos Exp $ 3568# c64: file(1) magic for various commodore 64 related files 3569# 3570# From: Dirk Jagdmann <doj@cubic.org> 3571 35720x16500 belong 0x12014100 D64 Image 35730x16500 belong 0x12014180 D71 Image 35740x61800 belong 0x28034400 D81 Image 35750 string C64\40CARTRIDGE CCS C64 Emultar Cartridge Image 35760 belong 0x43154164 X64 Image 3577 35780 string GCR-1541 GCR Image 3579>8 byte x version: %i 3580>9 byte x tracks: %i 3581 35829 string PSUR ARC archive (c64) 35832 string -LH1- LHA archive (c64) 3584 35850 string C64File PC64 Emulator file 3586>8 string >\0 "%s" 35870 string C64Image PC64 Freezer Image 3588 35890 beshort 0x38CD C64 PCLink Image 35900 string CBM\144\0\0 Power 64 C64 Emulator Snapshot 3591 35920 belong 0xFF424CFF WRAptor packer (c64) 3593 35940 string C64S\x20tape\x20file T64 tape Image 3595>32 leshort x Version:0x%x 3596>36 leshort !0 Entries:%i 3597>40 string x Name:%.24s 3598 35990 string C64\x20tape\x20image\x20file\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0 T64 tape Image 3600>32 leshort x Version:0x%x 3601>36 leshort !0 Entries:%i 3602>40 string x Name:%.24s 3603 36040 string C64S\x20tape\x20image\x20file\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0 T64 tape Image 3605>32 leshort x Version:0x%x 3606>36 leshort !0 Entries:%i 3607>40 string x Name:%.24s 3608 3609#------------------------------------------------------------------------------ 3610# $File: cad,v 1.12 2013/07/04 15:24:37 christos Exp $ 3611# autocad: file(1) magic for cad files 3612# 3613 3614# Microstation DGN/CIT Files (www.bentley.com) 3615# Last updated July 29, 2005 by Lester Hightower 3616# DGN is the default file extension of Microstation/Intergraph CAD files. 3617# CIT is the proprietary raster format (similar to TIFF) used to attach 3618# raster underlays to Microstation DGN (vector) drawings. 3619# 3620# http://www.wotsit.org/search.asp 3621# http://filext.com/detaillist.php?extdetail=DGN 3622# http://filext.com/detaillist.php?extdetail=CIT 3623# 3624# http://www.bentley.com/products/default.cfm?objectid=97F351F5-9C35-4E5E-89C2 3625# 3F86C928&method=display&p_objectid=97F351F5-9C35-4E5E-89C280A93F86C928 3626# http://www.bentley.com/products/default.cfm?objectid=A5C2FD43-3AC9-4C71-B682 3627# 721C479F&method=display&p_objectid=A5C2FD43-3AC9-4C71-B682C7BE721C479F 36280 string \010\011\376 Microstation 3629>3 string \002 3630>>30 string \026\105 DGNFile 3631>>30 string \034\105 DGNFile 3632>>30 string \073\107 DGNFile 3633>>30 string \073\110 DGNFile 3634>>30 string \106\107 DGNFile 3635>>30 string \110\103 DGNFile 3636>>30 string \120\104 DGNFile 3637>>30 string \172\104 DGNFile 3638>>30 string \172\105 DGNFile 3639>>30 string \172\106 DGNFile 3640>>30 string \234\106 DGNFile 3641>>30 string \273\105 DGNFile 3642>>30 string \306\106 DGNFile 3643>>30 string \310\104 DGNFile 3644>>30 string \341\104 DGNFile 3645>>30 string \372\103 DGNFile 3646>>30 string \372\104 DGNFile 3647>>30 string \372\106 DGNFile 3648>>30 string \376\103 DGNFile 3649>4 string \030\000\000 CITFile 3650>4 string \030\000\003 CITFile 3651 3652# AutoCAD 3653# Merge of the different contributions and updates from http://en.wikipedia.org/wiki/Dwg 3654# and http://www.iana.org/assignments/media-types/image/vnd.dwg 36550 string MC0.0 DWG AutoDesk AutoCAD Release 1.0 3656!:mime image/vnd.dwg 36570 string AC1.2 DWG AutoDesk AutoCAD Release 1.2 3658!:mime image/vnd.dwg 36590 string AC1.3 DWG AutoDesk AutoCAD Release 1.3 3660!:mime image/vnd.dwg 36610 string AC1.40 DWG AutoDesk AutoCAD Release 1.40 3662!:mime image/vnd.dwg 36630 string AC1.50 DWG AutoDesk AutoCAD Release 2.05 3664!:mime image/vnd.dwg 36650 string AC2.10 DWG AutoDesk AutoCAD Release 2.10 3666!:mime image/vnd.dwg 36670 string AC2.21 DWG AutoDesk AutoCAD Release 2.21 3668!:mime image/vnd.dwg 36690 string AC2.22 DWG AutoDesk AutoCAD Release 2.22 3670!:mime image/vnd.dwg 36710 string AC1001 DWG AutoDesk AutoCAD Release 2.22 3672!:mime image/vnd.dwg 36730 string AC1002 DWG AutoDesk AutoCAD Release 2.50 3674!:mime image/vnd.dwg 36750 string AC1003 DWG AutoDesk AutoCAD Release 2.60 3676!:mime image/vnd.dwg 36770 string AC1004 DWG AutoDesk AutoCAD Release 9 3678!:mime image/vnd.dwg 36790 string AC1006 DWG AutoDesk AutoCAD Release 10 3680!:mime image/vnd.dwg 36810 string AC1009 DWG AutoDesk AutoCAD Release 11/12 3682!:mime image/vnd.dwg 3683# AutoCAD DWG versions R13/R14 (www.autodesk.com) 3684# Written December 01, 2003 by Lester Hightower 3685# Based on the DWG File Format Specifications at http://www.opendwg.org/ 3686# AutoCad, from Nahuel Greco 3687# AutoCAD DWG versions R12/R13/R14 (www.autodesk.com) 36880 string AC1012 DWG AutoDesk AutoCAD Release 13 3689!:mime image/vnd.dwg 36900 string AC1014 DWG AutoDesk AutoCAD Release 14 3691!:mime image/vnd.dwg 36920 string AC1015 DWG AutoDesk AutoCAD 2000/2002 3693!:mime image/vnd.dwg 3694 3695# A new version of AutoCAD DWG 3696# Sergey Zaykov (mail_of_sergey@mail.ru, sergey_zaikov@rambler.ru, 3697# ICQ 358572321) 3698# From various sources like: 3699# http://autodesk.blogs.com/between_the_lines/autocad-release-history.html 37000 string AC1018 DWG AutoDesk AutoCAD 2004/2005/2006 3701!:mime image/vnd.dwg 37020 string AC1021 DWG AutoDesk AutoCAD 2007/2008/2009 3703!:mime image/vnd.dwg 37040 string AC1024 DWG AutoDesk AutoCAD 2010/2011/2012 3705!:mime image/vnd.dwg 37060 string AC1027 DWG AutoDesk AutoCAD 2013/2014 3707!:mime image/vnd.dwg 3708 3709# KOMPAS 2D drawing from ASCON 3710# This is KOMPAS 2D drawing or fragment of drawing but is not detailed nor 3711# gathered nor specification 3712# ASCON http://ascon.net/main/ in English, 3713# http://ascon.ru/ main site in Russian 3714# Extension is CDW for drawing and FRW for fragment of drawing 3715# Sergey Zaykov (mail_of_sergey@mail.ru, sergey_zaikov@rambler.ru, 3716# ICQ 358572321, http://vkontakte.ru/id16076543) 3717# From: 3718# http://sd.ascon.ru/otrs/customer.pl?Action=CustomerFAQ&CategoryID=4&ItemID=292 3719# (in russian) and my experiments 37200 string KF 3721>2 belong 0x4E00000C Kompas drawing 12.0 SP1 3722>2 belong 0x4D00000C Kompas drawing 12.0 3723>2 belong 0x3200000B Kompas drawing 11.0 SP1 3724>2 belong 0x3100000B Kompas drawing 11.0 3725>2 belong 0x2310000A Kompas drawing 10.0 SP1 3726>2 belong 0x2110000A Kompas drawing 10.0 3727>2 belong 0x08000009 Kompas drawing 9.0 SP1 3728>2 belong 0x05000009 Kompas drawing 9.0 3729>2 belong 0x33010008 Kompas drawing 8+ 3730>2 belong 0x1A000008 Kompas drawing 8.0 3731>2 belong 0x2C010107 Kompas drawing 7+ 3732>2 belong 0x05000007 Kompas drawing 7.0 3733>2 belong 0x32000006 Kompas drawing 6+ 3734>2 belong 0x09000006 Kompas drawing 6.0 3735>2 belong 0x5C009005 Kompas drawing 5.11R03 3736>2 belong 0x54009005 Kompas drawing 5.11R02 3737>2 belong 0x51009005 Kompas drawing 5.11R01 3738>2 belong 0x22009005 Kompas drawing 5.10R03 3739>2 belong 0x22009005 Kompas drawing 5.10R02 mar 3740>2 belong 0x21009005 Kompas drawing 5.10R02 febr 3741>2 belong 0x19009005 Kompas drawing 5.10R01 3742>2 belong 0xF4008005 Kompas drawing 5.9R01.003 3743>2 belong 0x1C008005 Kompas drawing 5.9R01.002 3744>2 belong 0x11008005 Kompas drawing 5.8R01.003 3745 3746# CAD: file(1) magic for computer aided design files 3747# Phillip Griffith <phillip dot griffith at gmail dot com> 3748# AutoCAD magic taken from the Open Design Alliance's OpenDWG specifications. 3749# 37500 belong 0x08051700 Bentley/Intergraph MicroStation DGN cell library 37510 belong 0x0809fe02 Bentley/Intergraph MicroStation DGN vector CAD 37520 belong 0xc809fe02 Bentley/Intergraph MicroStation DGN vector CAD 37530 beshort 0x0809 Bentley/Intergraph MicroStation 3754>0x02 byte 0xfe 3755>>0x04 beshort 0x1800 CIT raster CAD 3756 3757# 3DS (3d Studio files) Conflicts with diff output 0x3d '=' 3758#16 beshort 0x3d3d image/x-3ds 3759 3760#------------------------------------------------------------------------------ 3761# $File: cafebabe,v 1.14 2013/02/27 16:59:59 christos Exp $ 3762# Cafe Babes unite! 3763# 3764# Since Java bytecode and Mach-O universal binaries have the same magic number, 3765# the test must be performed in the same "magic" sequence to get both right. 3766# The long at offset 4 in a Mach-O universal binary tells the number of 3767# architectures; the short at offset 4 in a Java bytecode file is the JVM minor 3768# version and the short at offset 6 is the JVM major version. Since there are only 3769# only 18 labeled Mach-O architectures at current, and the first released 3770# Java class format was version 43.0, we can safely choose any number 3771# between 18 and 39 to test the number of architectures against 3772# (and use as a hack). Let's not use 18, because the Mach-O people 3773# might add another one or two as time goes by... 3774# 3775### JAVA START ### 37760 belong 0xcafebabe 3777!:mime application/x-java-applet 3778>4 belong >30 compiled Java class data, 3779>>6 beshort x version %d. 3780>>4 beshort x \b%d 3781# Which is which? 3782#>>4 belong 0x032d (Java 1.0) 3783#>>4 belong 0x032d (Java 1.1) 3784>>4 belong 0x002e (Java 1.2) 3785>>4 belong 0x002f (Java 1.3) 3786>>4 belong 0x0030 (Java 1.4) 3787>>4 belong 0x0031 (Java 1.5) 3788>>4 belong 0x0032 (Java 1.6) 3789 37900 belong 0xcafed00d JAR compressed with pack200, 3791>5 byte x version %d. 3792>4 byte x \b%d 3793!:mime application/x-java-pack200 3794 3795 37960 belong 0xcafed00d JAR compressed with pack200, 3797>5 byte x version %d. 3798>4 byte x \b%d 3799!:mime application/x-java-pack200 3800 3801### JAVA END ### 3802### MACH-O START ### 3803 38040 name mach-o \b [ 3805>0 use mach-o-cpu \b 3806>&(8.L) indirect \b: 3807>0 belong x \b] 3808 38090 belong 0xcafebabe 3810>4 belong 1 Mach-O universal binary with 1 architecture: 3811>>8 use mach-o \b 3812>4 belong >1 3813>>4 belong <20 Mach-O universal binary with %ld architectures: 3814>>>8 use mach-o \b 3815>>>28 use mach-o \b 3816>>4 belong >2 3817>>>48 use mach-o \b 3818>>4 belong >3 3819>>>68 use mach-o \b 3820 3821### MACH-O END ### 3822 3823#------------------------------------------------------------------------------ 3824# $File: cddb,v 1.4 2009/09/19 16:28:08 christos Exp $ 3825# CDDB: file(1) magic for CDDB(tm) format CD text data files 3826# 3827# From <steve@gracenote.com> 3828# 3829# This is the /etc/magic entry to decode datafiles as used by 3830# CDDB-enabled CD player applications. 3831# 3832 38330 search/1/w #\040xmcd CDDB(tm) format CD text data 3834 3835#------------------------------------------------------------------------------ 3836# $File: chord,v 1.5 2010/09/20 19:19:16 rrt Exp $ 3837# chord: file(1) magic for Chord music sheet typesetting utility input files 3838# 3839# From Philippe De Muyter <phdm@macqel.be> 3840# File format is actually free, but many distributed files begin with `{title' 3841# 38420 string {title Chord text file 3843 3844# Type: PowerTab file format 3845# URL: http://www.power-tab.net/ 3846# From: Jelmer Vernooij <jelmer@samba.org> 38470 string ptab\003\000 Power-Tab v3 Tablature File 38480 string ptab\004\000 Power-Tab v4 Tablature File 3849 3850#------------------------------------------------------------------------------ 3851# $File: cisco,v 1.4 2009/09/19 16:28:08 christos Exp $ 3852# cisco: file(1) magic for cisco Systems routers 3853# 3854# Most cisco file-formats are covered by the generic elf code 3855# 3856# Microcode files are non-ELF, 0x8501 conflicts with NetBSD/alpha. 38570 belong&0xffffff00 0x85011400 cisco IOS microcode 3858>7 string >\0 for '%s' 38590 belong&0xffffff00 0x8501cb00 cisco IOS experimental microcode 3860>7 string >\0 for '%s' 3861 3862#------------------------------------------------------------------------------ 3863# $File: citrus,v 1.4 2009/09/19 16:28:08 christos Exp $ 3864# citrus locale declaration 3865# 3866 38670 string RuneCT Citrus locale declaration for LC_CTYPE 3868 3869#------------------------------------------------------------------------------ 3870# $File: c-lang,v 1.18 2013/08/14 13:06:43 christos Exp $ 3871# c-lang: file(1) magic for C and related languages programs 3872# 3873 3874# BCPL 38750 search/8192 "libhdr" BCPL source text 3876!:mime text/x-bcpl 38770 search/8192 "LIBHDR" BCPL source text 3878!:mime text/x-bcpl 3879 3880# C 38810 regex \^#include C source text 3882!:mime text/x-c 38830 regex \^char[\ \t\n]+ C source text 3884!:mime text/x-c 38850 regex \^double[\ \t\n]+ C source text 3886!:mime text/x-c 38870 regex \^extern[\ \t\n]+ C source text 3888!:mime text/x-c 38890 regex \^float[\ \t\n]+ C source text 3890!:mime text/x-c 38910 regex \^struct[\ \t\n]+ C source text 3892!:mime text/x-c 38930 regex \^union[\ \t\n]+ C source text 3894!:mime text/x-c 38950 search/8192 main( C source text 3896!:mime text/x-c 3897 3898# C++ 3899# The strength of these rules is increased so they beat the C rules above 39000 regex \^template[\ \t\n]+ C++ source text 3901!:strength + 5 3902!:mime text/x-c++ 39030 regex \^virtual[\ \t\n]+ C++ source text 3904!:strength + 5 3905!:mime text/x-c++ 39060 regex \^class[\ \t\n]+ C++ source text 3907!:strength + 5 3908!:mime text/x-c++ 39090 regex \^public: C++ source text 3910!:strength + 5 3911!:mime text/x-c++ 39120 regex \^private: C++ source text 3913!:strength + 5 3914!:mime text/x-c++ 3915 3916# From: Mikhail Teterin <mi@aldan.algebra.com> 39170 string cscope cscope reference data 3918>7 string x version %.2s 3919# We skip the path here, because it is often long (so file will 3920# truncate it) and mostly redundant. 3921# The inverted index functionality was added some time between 3922# versions 11 and 15, so look for -q if version is above 14: 3923>7 string >14 3924>>10 search/100 \ -q\ with inverted index 3925>10 search/100 \ -c\ text (non-compressed) 3926 3927#------------------------------------------------------------------------------ 3928# $File: clarion,v 1.4 2009/09/19 16:28:08 christos Exp $ 3929# clarion: file(1) magic for # Clarion Personal/Professional Developer 3930# (v2 and above) 3931# From: Julien Blache <jb@jblache.org> 3932 3933# Database files 3934# signature 39350 leshort 0x3343 Clarion Developer (v2 and above) data file 3936# attributes 3937>2 leshort &0x0001 \b, locked 3938>2 leshort &0x0004 \b, encrypted 3939>2 leshort &0x0008 \b, memo file exists 3940>2 leshort &0x0010 \b, compressed 3941>2 leshort &0x0040 \b, read only 3942# number of records 3943>5 lelong x \b, %ld records 3944 3945# Memo files 39460 leshort 0x334d Clarion Developer (v2 and above) memo data 3947 3948# Key/Index files 3949# No magic? :( 3950 3951# Help files 39520 leshort 0x49e0 Clarion Developer (v2 and above) help data 3953 3954#------------------------------------------------------------------------------ 3955# $File: claris,v 1.6 2012/06/20 21:19:05 christos Exp $ 3956# claris: file(1) magic for claris 3957# "H. Nanosecond" <aldomel@ix.netcom.com> 3958# Claris Works a word processor, etc. 3959# Version 3.0 3960 3961# .pct claris works clip art files 3962#0000000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 3963#* 3964#0001000 #010 250 377 377 377 377 000 213 000 230 000 021 002 377 014 000 3965#null to byte 1000 octal 3966514 string \377\377\377\377\000 3967>0 string \0\0\0\0\0\0\0\0\0\0\0\0\0 Claris clip art 3968514 string \377\377\377\377\001 3969>0 string \0\0\0\0\0\0\0\0\0\0\0\0\0 Claris clip art 3970 3971# Claris works files 3972# .cwk 39730 string \002\000\210\003\102\117\102\117\000\001\206 Claris works document 3974# .plt 39750 string \020\341\000\000\010\010 Claris Works palette files .plt 3976 3977# .msp a dictionary file I am not sure about this I have only one .msp file 39780 string \002\271\262\000\040\002\000\164 Claris works dictionary 3979 3980# .usp are user dictionary bits 3981# I am not sure about a magic header: 3982#0000000 001 123 160 146 070 125 104 040 136 123 015 012 160 157 144 151 3983# soh S p f 8 U D sp ^ S cr nl p o d i 3984#0000020 141 164 162 151 163 164 040 136 123 015 012 144 151 166 040 043 3985# a t r i s t sp ^ S cr nl d i v sp # 3986 3987# .mth Thesaurus 3988# starts with \0 but no magic header 3989 3990# .chy Hyphenation file 3991# I am not sure: 000 210 034 000 000 3992 3993# other claris files 3994#./windows/claris/useng.ndx: data 3995#./windows/claris/xtndtran.l32: data 3996#./windows/claris/xtndtran.lst: data 3997#./windows/claris/clworks.lbl: data 3998#./windows/claris/clworks.prf: data 3999#./windows/claris/userd.spl: data 4000 4001#------------------------------------------------------------------------------ 4002# $File: clipper,v 1.6 2009/09/19 16:28:08 christos Exp $ 4003# clipper: file(1) magic for Intergraph (formerly Fairchild) Clipper. 4004# 4005# XXX - what byte order does the Clipper use? 4006# 4007# XXX - what's the "!" stuff: 4008# 4009# >18 short !074000,000000 C1 R1 4010# >18 short !074000,004000 C2 R1 4011# >18 short !074000,010000 C3 R1 4012# >18 short !074000,074000 TEST 4013# 4014# I shall assume it's ANDing the field with the first value and 4015# comparing it with the second, and rewrite it as: 4016# 4017# >18 short&074000 000000 C1 R1 4018# >18 short&074000 004000 C2 R1 4019# >18 short&074000 010000 C3 R1 4020# >18 short&074000 074000 TEST 4021# 4022# as SVR3.1's "file" doesn't support anything of the "!074000,000000" 4023# sort, nor does SunOS 4.x, so either it's something Intergraph added 4024# in CLIX, or something AT&T added in SVR3.2 or later, or something 4025# somebody else thought was a good idea; it's not documented in the 4026# man page for this version of "magic", nor does it appear to be 4027# implemented (at least not after I blew off the bogus code to turn 4028# old-style "&"s into new-style "&"s, which just didn't work at all). 4029# 40300 short 0575 CLIPPER COFF executable (VAX #) 4031>20 short 0407 (impure) 4032>20 short 0410 (5.2 compatible) 4033>20 short 0411 (pure) 4034>20 short 0413 (demand paged) 4035>20 short 0443 (target shared library) 4036>12 long >0 not stripped 4037>22 short >0 - version %ld 40380 short 0577 CLIPPER COFF executable 4039>18 short&074000 000000 C1 R1 4040>18 short&074000 004000 C2 R1 4041>18 short&074000 010000 C3 R1 4042>18 short&074000 074000 TEST 4043>20 short 0407 (impure) 4044>20 short 0410 (pure) 4045>20 short 0411 (separate I&D) 4046>20 short 0413 (paged) 4047>20 short 0443 (target shared library) 4048>12 long >0 not stripped 4049>22 short >0 - version %ld 4050>48 long&01 01 alignment trap enabled 4051>52 byte 1 -Ctnc 4052>52 byte 2 -Ctsw 4053>52 byte 3 -Ctpw 4054>52 byte 4 -Ctcb 4055>53 byte 1 -Cdnc 4056>53 byte 2 -Cdsw 4057>53 byte 3 -Cdpw 4058>53 byte 4 -Cdcb 4059>54 byte 1 -Csnc 4060>54 byte 2 -Cssw 4061>54 byte 3 -Cspw 4062>54 byte 4 -Cscb 40634 string pipe CLIPPER instruction trace 40644 string prof CLIPPER instruction profile 4065 4066#------------------------------------------------------------------------------ 4067# $File: commands,v 1.46 2013/03/25 14:06:55 christos Exp $ 4068# commands: file(1) magic for various shells and interpreters 4069# 4070#0 string/w : shell archive or script for antique kernel text 40710 string/wt #!\ /bin/sh POSIX shell script text executable 4072!:mime text/x-shellscript 40730 string/wt #!\ /bin/csh C shell script text executable 4074!:mime text/x-shellscript 4075# korn shell magic, sent by George Wu, gwu@clyde.att.com 40760 string/wt #!\ /bin/ksh Korn shell script text executable 4077!:mime text/x-shellscript 40780 string/wt #!\ /bin/tcsh Tenex C shell script text executable 4079!:mime text/x-shellscript 40800 string/wt #!\ /usr/bin/tcsh Tenex C shell script text executable 4081!:mime text/x-shellscript 40820 string/wt #!\ /usr/local/tcsh Tenex C shell script text executable 4083!:mime text/x-shellscript 40840 string/wt #!\ /usr/local/bin/tcsh Tenex C shell script text executable 4085!:mime text/x-shellscript 4086 4087# 4088# zsh/ash/ae/nawk/gawk magic from cameron@cs.unsw.oz.au (Cameron Simpson) 40890 string/wt #!\ /bin/zsh Paul Falstad's zsh script text executable 4090!:mime text/x-shellscript 40910 string/wt #!\ /usr/bin/zsh Paul Falstad's zsh script text executable 4092!:mime text/x-shellscript 40930 string/wt #!\ /usr/local/bin/zsh Paul Falstad's zsh script text executable 4094!:mime text/x-shellscript 40950 string/wt #!\ /usr/local/bin/ash Neil Brown's ash script text executable 4096!:mime text/x-shellscript 40970 string/wt #!\ /usr/local/bin/ae Neil Brown's ae script text executable 4098!:mime text/x-shellscript 40990 string/wt #!\ /bin/nawk new awk script text executable 4100!:mime text/x-nawk 41010 string/wt #!\ /usr/bin/nawk new awk script text executable 4102!:mime text/x-nawk 41030 string/wt #!\ /usr/local/bin/nawk new awk script text executable 4104!:mime text/x-nawk 41050 string/wt #!\ /bin/gawk GNU awk script text executable 4106!:mime text/x-gawk 41070 string/wt #!\ /usr/bin/gawk GNU awk script text executable 4108!:mime text/x-gawk 41090 string/wt #!\ /usr/local/bin/gawk GNU awk script text executable 4110!:mime text/x-gawk 4111# 41120 string/wt #!\ /bin/awk awk script text executable 4113!:mime text/x-awk 41140 string/wt #!\ /usr/bin/awk awk script text executable 4115!:mime text/x-awk 41160 regex =^\\s{0,100}BEGIN\\s{0,100}[{] awk script text 4117 4118# AT&T Bell Labs' Plan 9 shell 41190 string/wt #!\ /bin/rc Plan 9 rc shell script text executable 4120 4121# bash shell magic, from Peter Tobias (tobias@server.et-inf.fho-emden.de) 41220 string/wt #!\ /bin/bash Bourne-Again shell script text executable 4123!:mime text/x-shellscript 41240 string/wt #!\ /usr/bin/bash Bourne-Again shell script text executable 4125!:mime text/x-shellscript 41260 string/wt #!\ /usr/local/bash Bourne-Again shell script text executable 4127!:mime text/x-shellscript 41280 string/wt #!\ /usr/local/bin/bash Bourne-Again shell script text executable 4129!:mime text/x-shellscript 4130 4131# PHP scripts 4132# Ulf Harnhammar <ulfh@update.uu.se> 41330 search/1/c =<?php PHP script text 4134!:strength + 10 4135!:mime text/x-php 41360 search/1 =<?\n PHP script text 4137!:mime text/x-php 41380 search/1 =<?\r PHP script text 4139!:mime text/x-php 41400 search/1/w #!\ /usr/local/bin/php PHP script text executable 4141!:strength + 10 4142!:mime text/x-php 41430 search/1/w #!\ /usr/bin/php PHP script text executable 4144!:strength + 10 4145!:mime text/x-php 4146# Smarty compiled template, http://www.smarty.net/ 4147# Elan Ruusamae <glen@delfi.ee> 41480 string =<?php\ /*\ Smarty\ version Smarty compiled template 4149>24 regex [0-9.]+ \b, version %s 4150!:mime text/x-php 4151 41520 string Zend\x00 PHP script Zend Optimizer data 4153 41540 string/t $! DCL command file 4155 4156# Type: Pdmenu 4157# URL: http://packages.debian.org/pdmenu 4158# From: Edward Betts <edward@debian.org> 41590 string #!/usr/bin/pdmenu Pdmenu configuration file text 4160 4161#---------------------------------------------------------------------------- 4162# $File: communications,v 1.5 2009/09/19 16:28:08 christos Exp $ 4163# communication 4164 4165# TTCN is the Tree and Tabular Combined Notation described in ISO 9646-3. 4166# It is used for conformance testing of communication protocols. 4167# Added by W. Borgert <debacle@debian.org>. 41680 string $Suite TTCN Abstract Test Suite 4169>&1 string $SuiteId 4170>>&1 string >\n %s 4171>&2 string $SuiteId 4172>>&1 string >\n %s 4173>&3 string $SuiteId 4174>>&1 string >\n %s 4175 4176# MSC (message sequence charts) are a formal description technique, 4177# described in ITU-T Z.120, mainly used for communication protocols. 4178# Added by W. Borgert <debacle@debian.org>. 41790 string mscdocument Message Sequence Chart (document) 41800 string msc Message Sequence Chart (chart) 41810 string submsc Message Sequence Chart (subchart) 4182#------------------------------------------------------------------------------ 4183# $File: compress,v 1.53 2014/01/05 15:55:21 christos Exp $ 4184# compress: file(1) magic for pure-compression formats (no archives) 4185# 4186# compress, gzip, pack, compact, huf, squeeze, crunch, freeze, yabba, etc. 4187# 4188# Formats for various forms of compressed data 4189# Formats for "compress" proper have been moved into "compress.c", 4190# because it tries to uncompress it to figure out what's inside. 4191 4192# standard unix compress 41930 string \037\235 compress'd data 4194!:mime application/x-compress 4195!:apple LZIVZIVU 4196>2 byte&0x80 >0 block compressed 4197>2 byte&0x1f x %d bits 4198 4199# gzip (GNU zip, not to be confused with Info-ZIP or PKWARE zip archiver) 4200# Edited by Chris Chittleborough <cchittleborough@yahoo.com.au>, March 2002 4201# * Original filename is only at offset 10 if "extra field" absent 4202# * Produce shorter output - notably, only report compression methods 4203# other than 8 ("deflate", the only method defined in RFC 1952). 42040 string \037\213 gzip compressed data 4205!:mime application/x-gzip 4206!:strength * 2 4207>2 byte <8 \b, reserved method 4208>2 byte >8 \b, unknown method 4209>3 byte &0x01 \b, ASCII 4210>3 byte &0x02 \b, has CRC 4211>3 byte &0x04 \b, extra field 4212>3 byte&0xC =0x08 4213>>10 string x \b, was "%s" 4214>3 byte &0x10 \b, has comment 4215>3 byte &0x20 \b, encrypted 4216>4 ledate >0 \b, last modified: %s 4217>8 byte 2 \b, max compression 4218>8 byte 4 \b, max speed 4219>9 byte =0x00 \b, from FAT filesystem (MS-DOS, OS/2, NT) 4220>9 byte =0x01 \b, from Amiga 4221>9 byte =0x02 \b, from VMS 4222>9 byte =0x03 \b, from Unix 4223>9 byte =0x04 \b, from VM/CMS 4224>9 byte =0x05 \b, from Atari 4225>9 byte =0x06 \b, from HPFS filesystem (OS/2, NT) 4226>9 byte =0x07 \b, from MacOS 4227>9 byte =0x08 \b, from Z-System 4228>9 byte =0x09 \b, from CP/M 4229>9 byte =0x0A \b, from TOPS/20 4230>9 byte =0x0B \b, from NTFS filesystem (NT) 4231>9 byte =0x0C \b, from QDOS 4232>9 byte =0x0D \b, from Acorn RISCOS 4233 4234# packed data, Huffman (minimum redundancy) codes on a byte-by-byte basis 42350 string \037\036 packed data 4236!:mime application/octet-stream 4237>2 belong >1 \b, %d characters originally 4238>2 belong =1 \b, %d character originally 4239# 4240# This magic number is byte-order-independent. 42410 short 0x1f1f old packed data 4242!:mime application/octet-stream 4243 4244# XXX - why *two* entries for "compacted data", one of which is 4245# byte-order independent, and one of which is byte-order dependent? 4246# 42470 short 0x1fff compacted data 4248!:mime application/octet-stream 4249# This string is valid for SunOS (BE) and a matching "short" is listed 4250# in the Ultrix (LE) magic file. 42510 string \377\037 compacted data 4252!:mime application/octet-stream 42530 short 0145405 huf output 4254!:mime application/octet-stream 4255 4256# bzip2 42570 string BZh bzip2 compressed data 4258!:mime application/x-bzip2 4259>3 byte >47 \b, block size = %c00k 4260 4261# lzip 42620 string LZIP lzip compressed data 4263!:mime application/x-lzip 4264>4 byte x \b, version: %d 4265 4266# squeeze and crunch 4267# Michael Haardt <michael@cantor.informatik.rwth-aachen.de> 42680 beshort 0x76FF squeezed data, 4269>4 string x original name %s 42700 beshort 0x76FE crunched data, 4271>2 string x original name %s 42720 beshort 0x76FD LZH compressed data, 4273>2 string x original name %s 4274 4275# Freeze 42760 string \037\237 frozen file 2.1 42770 string \037\236 frozen file 1.0 (or gzip 0.5) 4278 4279# SCO compress -H (LZH) 42800 string \037\240 SCO compress -H (LZH) data 4281 4282# European GSM 06.10 is a provisional standard for full-rate speech 4283# transcoding, prI-ETS 300 036, which uses RPE/LTP (residual pulse 4284# excitation/long term prediction) coding at 13 kbit/s. 4285# 4286# There's only a magic nibble (4 bits); that nibble repeats every 33 4287# bytes. This isn't suited for use, but maybe we can use it someday. 4288# 4289# This will cause very short GSM files to be declared as data and 4290# mismatches to be declared as data too! 4291#0 byte&0xF0 0xd0 data 4292#>33 byte&0xF0 0xd0 4293#>66 byte&0xF0 0xd0 4294#>99 byte&0xF0 0xd0 4295#>132 byte&0xF0 0xd0 GSM 06.10 compressed audio 4296 4297# bzip a block-sorting file compressor 4298# by Julian Seward <sewardj@cs.man.ac.uk> and others 4299# 4300#0 string BZ bzip compressed data 4301#>2 byte x \b, version: %c 4302#>3 string =1 \b, compression block size 100k 4303#>3 string =2 \b, compression block size 200k 4304#>3 string =3 \b, compression block size 300k 4305#>3 string =4 \b, compression block size 400k 4306#>3 string =5 \b, compression block size 500k 4307#>3 string =6 \b, compression block size 600k 4308#>3 string =7 \b, compression block size 700k 4309#>3 string =8 \b, compression block size 800k 4310#>3 string =9 \b, compression block size 900k 4311 4312# lzop from <markus.oberhumer@jk.uni-linz.ac.at> 43130 string \x89\x4c\x5a\x4f\x00\x0d\x0a\x1a\x0a lzop compressed data 4314>9 beshort <0x0940 4315>>9 byte&0xf0 =0x00 - version 0. 4316>>9 beshort&0x0fff x \b%03x, 4317>>13 byte 1 LZO1X-1, 4318>>13 byte 2 LZO1X-1(15), 4319>>13 byte 3 LZO1X-999, 4320## >>22 bedate >0 last modified: %s, 4321>>14 byte =0x00 os: MS-DOS 4322>>14 byte =0x01 os: Amiga 4323>>14 byte =0x02 os: VMS 4324>>14 byte =0x03 os: Unix 4325>>14 byte =0x05 os: Atari 4326>>14 byte =0x06 os: OS/2 4327>>14 byte =0x07 os: MacOS 4328>>14 byte =0x0A os: Tops/20 4329>>14 byte =0x0B os: WinNT 4330>>14 byte =0x0E os: Win32 4331>9 beshort >0x0939 4332>>9 byte&0xf0 =0x00 - version 0. 4333>>9 byte&0xf0 =0x10 - version 1. 4334>>9 byte&0xf0 =0x20 - version 2. 4335>>9 beshort&0x0fff x \b%03x, 4336>>15 byte 1 LZO1X-1, 4337>>15 byte 2 LZO1X-1(15), 4338>>15 byte 3 LZO1X-999, 4339## >>25 bedate >0 last modified: %s, 4340>>17 byte =0x00 os: MS-DOS 4341>>17 byte =0x01 os: Amiga 4342>>17 byte =0x02 os: VMS 4343>>17 byte =0x03 os: Unix 4344>>17 byte =0x05 os: Atari 4345>>17 byte =0x06 os: OS/2 4346>>17 byte =0x07 os: MacOS 4347>>17 byte =0x0A os: Tops/20 4348>>17 byte =0x0B os: WinNT 4349>>17 byte =0x0E os: Win32 4350 4351# 4.3BSD-Quasijarus Strong Compression 4352# http://minnie.tuhs.org/Quasijarus/compress.html 43530 string \037\241 Quasijarus strong compressed data 4354 4355# From: Cory Dikkers <cdikkers@swbell.net> 43560 string XPKF Amiga xpkf.library compressed data 43570 string PP11 Power Packer 1.1 compressed data 43580 string PP20 Power Packer 2.0 compressed data, 4359>4 belong 0x09090909 fast compression 4360>4 belong 0x090A0A0A mediocre compression 4361>4 belong 0x090A0B0B good compression 4362>4 belong 0x090A0C0C very good compression 4363>4 belong 0x090A0C0D best compression 4364 4365# 7-zip archiver, from Thomas Klausner (wiz@danbala.tuwien.ac.at) 4366# http://www.7-zip.org or DOC/7zFormat.txt 4367# 43680 string 7z\274\257\047\034 7-zip archive data, 4369>6 byte x version %d 4370>7 byte x \b.%d 4371!:mime application/x-7z-compressed 4372 4373# Type: LZMA 43740 lelong&0xffffff =0x5d 4375!:mime application/x-lzma 4376>12 leshort 0xff LZMA compressed data, 4377>>5 lequad =0xffffffffffffffff streamed 4378>>5 lequad !0xffffffffffffffff non-streamed, size %lld 4379>12 leshort 0 LZMA compressed data, 4380>>5 lequad =0xffffffffffffffff streamed 4381>>5 lequad !0xffffffffffffffff non-streamed, size %lld 4382 4383# http://tukaani.org/xz/xz-file-format.txt 43840 ustring \xFD7zXZ\x00 XZ compressed data 4385!:mime application/x-xz 4386 4387# https://github.com/ckolivas/lrzip/blob/master/doc/magic.header.txt 43880 string LRZI LRZIP compressed data 4389>4 byte x - version %d 4390>5 byte x \b.%d 4391!:mime application/x-lrzip 4392 4393# http://fastcompression.blogspot.fi/2013/04/lz4-streaming-format-final.html 43940 lelong 0x184d2204 LZ4 compressed data 4395!:mime application/x-lz4 43960 lelong 0x184c2102 LZ4 compressed data, legacy format 4397!:mime application/x-lz4 4398 4399# AFX compressed files (Wolfram Kleff) 44002 string -afx- AFX compressed file data 4401 4402# Supplementary magic data for the file(1) command to support 4403# rzip(1). The format is described in magic(5). 4404# 4405# Copyright (C) 2003 by Andrew Tridgell. You may do whatever you want with 4406# this file. 4407# 44080 string RZIP rzip compressed data 4409>4 byte x - version %d 4410>5 byte x \b.%d 4411>6 belong x (%d bytes) 4412 44130 string ArC\x01 FreeArc archive <http://freearc.org> 4414 4415# Type: DACT compressed files 44160 long 0x444354C3 DACT compressed data 4417>4 byte >-1 (version %i. 4418>5 byte >-1 %i. 4419>6 byte >-1 %i) 4420>7 long >0 , original size: %i bytes 4421>15 long >30 , block size: %i bytes 4422 4423# Valve Pack (VPK) files 44240 lelong 0x55aa1234 Valve Pak file 4425>0x4 lelong x \b, version %u 4426>0x8 lelong x \b, %u entries 4427 4428 4429#------------------------------------------------------------------------------ 4430# $File: console,v 1.19 2013/02/06 14:18:52 christos Exp $ 4431# Console game magic 4432# Toby Deshane <hac@shoelace.digivill.net> 4433# ines: file(1) magic for Marat's iNES Nintendo Entertainment System 4434# ROM dump format 4435 44360 string NES\032 iNES ROM dump, 4437>4 byte x %dx16k PRG 4438>5 byte x \b, %dx8k CHR 4439>6 byte&0x01 =0x1 \b, [Vert.] 4440>6 byte&0x01 =0x0 \b, [Horiz.] 4441>6 byte&0x02 =0x2 \b, [SRAM] 4442>6 byte&0x04 =0x4 \b, [Trainer] 4443>6 byte&0x04 =0x8 \b, [4-Scr] 4444 4445#------------------------------------------------------------------------------ 4446# game boy: file(1) magic for the Nintendo (Color) Game Boy raw ROM format 4447# 44480x104 belong 0xCEED6666 Game Boy ROM: 4449>0x134 string >\0 "%.16s" 4450>0x146 byte 0x03 \b,[SGB] 4451>0x147 byte 0x00 \b, [ROM ONLY] 4452>0x147 byte 0x01 \b, [ROM+MBC1] 4453>0x147 byte 0x02 \b, [ROM+MBC1+RAM] 4454>0x147 byte 0x03 \b, [ROM+MBC1+RAM+BATT] 4455>0x147 byte 0x05 \b, [ROM+MBC2] 4456>0x147 byte 0x06 \b, [ROM+MBC2+BATTERY] 4457>0x147 byte 0x08 \b, [ROM+RAM] 4458>0x147 byte 0x09 \b, [ROM+RAM+BATTERY] 4459>0x147 byte 0x0B \b, [ROM+MMM01] 4460>0x147 byte 0x0C \b, [ROM+MMM01+SRAM] 4461>0x147 byte 0x0D \b, [ROM+MMM01+SRAM+BATT] 4462>0x147 byte 0x0F \b, [ROM+MBC3+TIMER+BATT] 4463>0x147 byte 0x10 \b, [ROM+MBC3+TIMER+RAM+BATT] 4464>0x147 byte 0x11 \b, [ROM+MBC3] 4465>0x147 byte 0x12 \b, [ROM+MBC3+RAM] 4466>0x147 byte 0x13 \b, [ROM+MBC3+RAM+BATT] 4467>0x147 byte 0x19 \b, [ROM+MBC5] 4468>0x147 byte 0x1A \b, [ROM+MBC5+RAM] 4469>0x147 byte 0x1B \b, [ROM+MBC5+RAM+BATT] 4470>0x147 byte 0x1C \b, [ROM+MBC5+RUMBLE] 4471>0x147 byte 0x1D \b, [ROM+MBC5+RUMBLE+SRAM] 4472>0x147 byte 0x1E \b, [ROM+MBC5+RUMBLE+SRAM+BATT] 4473>0x147 byte 0x1F \b, [Pocket Camera] 4474>0x147 byte 0xFD \b, [Bandai TAMA5] 4475>0x147 byte 0xFE \b, [Hudson HuC-3] 4476>0x147 byte 0xFF \b, [Hudson HuC-1] 4477 4478>0x148 byte 0 \b, ROM: 256Kbit 4479>0x148 byte 1 \b, ROM: 512Kbit 4480>0x148 byte 2 \b, ROM: 1Mbit 4481>0x148 byte 3 \b, ROM: 2Mbit 4482>0x148 byte 4 \b, ROM: 4Mbit 4483>0x148 byte 5 \b, ROM: 8Mbit 4484>0x148 byte 6 \b, ROM: 16Mbit 4485>0x148 byte 0x52 \b, ROM: 9Mbit 4486>0x148 byte 0x53 \b, ROM: 10Mbit 4487>0x148 byte 0x54 \b, ROM: 12Mbit 4488 4489>0x149 byte 1 \b, RAM: 16Kbit 4490>0x149 byte 2 \b, RAM: 64Kbit 4491>0x149 byte 3 \b, RAM: 128Kbit 4492>0x149 byte 4 \b, RAM: 1Mbit 4493 4494#>0x14e long x \b, CRC: %x 4495 4496#------------------------------------------------------------------------------ 4497# genesis: file(1) magic for the Sega MegaDrive/Genesis raw ROM format 4498# 44990x100 string SEGA Sega MegaDrive/Genesis raw ROM dump 4500>0x120 string >\0 Name: "%.16s" 4501>0x110 string >\0 %.16s 4502>0x1B0 string RA with SRAM 4503 4504#------------------------------------------------------------------------------ 4505# genesis: file(1) magic for the Super MegaDrive ROM dump format 4506# 45070x280 string EAGN Super MagicDrive ROM dump 4508>0 byte x %dx16k blocks 4509>2 byte 0 \b, last in series or standalone 4510>2 byte >0 \b, split ROM 4511>8 byte 0xAA 4512>9 byte 0xBB 4513 4514#------------------------------------------------------------------------------ 4515# genesis: file(1) alternate magic for the Super MegaDrive ROM dump format 4516# 45170x280 string EAMG Super MagicDrive ROM dump 4518>0 byte x %dx16k blocks 4519>2 byte x \b, last in series or standalone 4520>8 byte 0xAA 4521>9 byte 0xBB 4522 4523#------------------------------------------------------------------------------ 4524# smsgg: file(1) magic for Sega Master System and Game Gear ROM dumps 4525# 4526# Does not detect all images. Very preliminary guesswork. Need more data 4527# on format. 4528# 4529# FIXME: need a little more info...;P 4530# 4531#0 byte 0xF3 4532#>1 byte 0xED Sega Master System/Game Gear ROM dump 4533#>1 byte 0x31 Sega Master System/Game Gear ROM dump 4534#>1 byte 0xDB Sega Master System/Game Gear ROM dump 4535#>1 byte 0xAF Sega Master System/Game Gear ROM dump 4536#>1 byte 0xC3 Sega Master System/Game Gear ROM dump 4537 4538#------------------------------------------------------------------------------ 4539# dreamcast: file(1) uncertain magic for the Sega Dreamcast VMU image format 4540# 45410 belong 0x21068028 Sega Dreamcast VMU game image 45420 string LCDi Dream Animator file 4543 4544#------------------------------------------------------------------------------ 4545# v64: file(1) uncertain magic for the V64 format N64 ROM dumps 4546# 45470 belong 0x37804012 V64 Nintendo 64 ROM dump 4548 4549# From: "Nelson A. de Oliveira" <naoliv@gmail.com> 4550# Nintendo .nds 4551192 string \044\377\256Qi\232 Nintendo DS Game ROM Image 4552# Nintendo .gba 45530 string \056\000\000\352$\377\256Qi Nintendo Game Boy Advance ROM Image 4554 4555#------------------------------------------------------------------------------ 4556# msx: file(1) magic for MSX game cartridge dumps 4557# Too simple - MPi 4558#0 beshort 0x4142 MSX game cartridge dump 4559 4560#------------------------------------------------------------------------------ 4561# Sony Playstation executables (Adam Sjoegren <asjo@diku.dk>) : 45620 string PS-X\ EXE Sony Playstation executable 4563# Area: 4564>113 string x (%s) 4565 4566#------------------------------------------------------------------------------ 4567# Microsoft Xbox executables .xbe (Esa Hyytia <ehyytia@cc.hut.fi>) 45680 string XBEH XBE, Microsoft Xbox executable 4569# probabilistic checks whether signed or not 4570>0x0004 ulelong =0x0 4571>>&2 ulelong =0x0 4572>>>&2 ulelong =0x0 \b, not signed 4573>0x0004 ulelong >0 4574>>&2 ulelong >0 4575>>>&2 ulelong >0 \b, signed 4576# expect base address of 0x10000 4577>0x0104 ulelong =0x10000 4578>>(0x0118-0x0FF60) ulelong&0x80000007 0x80000007 \b, all regions 4579>>(0x0118-0x0FF60) ulelong&0x80000007 !0x80000007 4580>>>(0x0118-0x0FF60) ulelong >0 (regions: 4581>>>>(0x0118-0x0FF60) ulelong &0x00000001 NA 4582>>>>(0x0118-0x0FF60) ulelong &0x00000002 Japan 4583>>>>(0x0118-0x0FF60) ulelong &0x00000004 Rest_of_World 4584>>>>(0x0118-0x0FF60) ulelong &0x80000000 Manufacturer 4585>>>(0x0118-0x0FF60) ulelong >0 \b) 4586 4587# -------------------------------- 4588# Microsoft Xbox data file formats 45890 string XIP0 XIP, Microsoft Xbox data 45900 string XTF0 XTF, Microsoft Xbox data 4591 4592# Atari Lynx cartridge dump (EXE/BLL header) 4593# From: "Stefan A. Haubenthal" <polluks@web.de> 4594 4595# Double-check that the image type matches too, 0x8008 conflicts with 4596# 8 character OMF-86 object file headers. 45970 beshort 0x8008 4598>6 string BS93 Lynx homebrew cartridge 4599>>2 beshort x \b, RAM start $%04x 4600>6 string LYNX Lynx cartridge 4601>>2 beshort x \b, RAM start $%04x 4602 4603# Opera file system that is used on the 3DO console 4604# From: Serge van den Boom <svdb@stack.nl> 46050 string \x01ZZZZZ\x01 3DO "Opera" file system 4606 4607# From Gurkan Sengun <gurkan@linuks.mine.nu>, www.linuks.mine.nu 46080 string GBS Nintendo Game Boy Music/Audio Data 460912 string GameBoy\ Music\ Module Nintendo Game Boy Music Module 4610 4611# Playstations Patch Files from: From: Thomas Klausner <tk@giga.or.at> 46120 string PPF30 Playstation Patch File version 3.0 4613>5 byte 0 \b, PPF 1.0 patch 4614>5 byte 1 \b, PPF 2.0 patch 4615>5 byte 2 \b, PPF 3.0 patch 4616>>56 byte 0 \b, Imagetype BIN (any) 4617>>56 byte 1 \b, Imagetype GI (PrimoDVD) 4618>>57 byte 0 \b, Blockcheck disabled 4619>>57 byte 1 \b, Blockcheck enabled 4620>>58 byte 0 \b, Undo data not available 4621>>58 byte 1 \b, Undo data available 4622>6 string x \b, description: %s 4623 46240 string PPF20 Playstation Patch File version 2.0 4625>5 byte 0 \b, PPF 1.0 patch 4626>5 byte 1 \b, PPF 2.0 patch 4627>>56 lelong >0 \b, size of file to patch %d 4628>6 string x \b, description: %s 4629 46300 string PPF10 Playstation Patch File version 1.0 4631>5 byte 0 \b, Simple Encoding 4632>6 string x \b, description: %s 4633 4634# From: Daniel Dawson <ddawson@icehouse.net> 4635# SNES9x .smv "movie" file format. 46360 string SMV\x1A SNES9x input recording 4637>0x4 lelong x \b, version %d 4638# version 4 is latest so far 4639>0x4 lelong <5 4640>>0x8 ledate x \b, recorded at %s 4641>>0xc lelong >0 \b, rerecorded %d times 4642>>0x10 lelong x \b, %d frames long 4643>>0x14 byte >0 \b, data for controller(s): 4644>>>0x14 byte &0x1 #1 4645>>>0x14 byte &0x2 #2 4646>>>0x14 byte &0x4 #3 4647>>>0x14 byte &0x8 #4 4648>>>0x14 byte &0x10 #5 4649>>0x15 byte ^0x1 \b, begins from snapshot 4650>>0x15 byte &0x1 \b, begins from reset 4651>>0x15 byte ^0x2 \b, NTSC standard 4652>>0x15 byte &0x2 \b, PAL standard 4653>>0x17 byte &0x1 \b, settings: 4654# WIP1Timing not used as of version 4 4655>>>0x4 lelong <4 4656>>>>0x17 byte &0x2 WIP1Timing 4657>>>0x17 byte &0x4 Left+Right 4658>>>0x17 byte &0x8 VolumeEnvX 4659>>>0x17 byte &0x10 FakeMute 4660>>>0x17 byte &0x20 SyncSound 4661# New flag as of version 4 4662>>>0x4 lelong >3 4663>>>>0x17 byte &0x80 NoCPUShutdown 4664>>0x4 lelong <4 4665>>>0x18 lelong >0x23 4666>>>>0x20 leshort !0 4667>>>>>0x20 lestring16 x \b, metadata: "%s" 4668>>0x4 lelong >3 4669>>>0x24 byte >0 \b, port 1: 4670>>>>0x24 byte 1 joypad 4671>>>>0x24 byte 2 mouse 4672>>>>0x24 byte 3 SuperScope 4673>>>>0x24 byte 4 Justifier 4674>>>>0x24 byte 5 multitap 4675>>>0x24 byte >0 \b, port 2: 4676>>>>0x25 byte 1 joypad 4677>>>>0x25 byte 2 mouse 4678>>>>0x25 byte 3 SuperScope 4679>>>>0x25 byte 4 Justifier 4680>>>>0x25 byte 5 multitap 4681>>>0x18 lelong >0x43 4682>>>>0x40 leshort !0 4683>>>>>0x40 lestring16 x \b, metadata: "%s" 4684>>0x17 byte &0x40 \b, ROM: 4685>>>(0x18.l-26) lelong x CRC32 0x%08x 4686>>>(0x18.l-23) string x "%s" 4687 4688# Type: scummVM savegame files 4689# From: Sven Hartge <debian@ds9.argh.org> 46900 string SCVM ScummVM savegame 4691>12 string >\0 "%s" 4692 4693#------------------------------------------------------------------------------ 4694# $File: convex,v 1.8 2012/10/03 23:44:43 christos Exp $ 4695# convex: file(1) magic for Convex boxes 4696# 4697# Convexes are big-endian. 4698# 4699# /*\ 4700# * Below are the magic numbers and tests added for Convex. 4701# * Added at beginning, because they are expected to be used most. 4702# \*/ 47030 belong 0507 Convex old-style object 4704>16 belong >0 not stripped 47050 belong 0513 Convex old-style demand paged executable 4706>16 belong >0 not stripped 47070 belong 0515 Convex old-style pre-paged executable 4708>16 belong >0 not stripped 47090 belong 0517 Convex old-style pre-paged, non-swapped executable 4710>16 belong >0 not stripped 47110 belong 0x011257 Core file 4712# 4713# The following are a series of dump format magic numbers. Each one 4714# corresponds to a drastically different dump format. The first on is 4715# the original dump format on a 4.1 BSD or earlier file system. The 4716# second marks the change between the 4.1 file system and the 4.2 file 4717# system. The Third marks the changing of the block size from 1K 4718# to 2K to be compatible with an IDC file system. The fourth indicates 4719# a dump that is dependent on Convex Storage Manager, because data in 4720# secondary storage is not physically contained within the dump. 4721# The restore program uses these number to determine how the data is 4722# to be extracted. 4723# 472424 belong =60013 dump format, 4.2 or 4.3 BSD (IDC compatible) 472524 belong =60014 dump format, Convex Storage Manager by-reference dump 4726# 4727# what follows is a bunch of bit-mask checks on the flags field of the opthdr. 4728# If there is no `=' sign, assume just checking for whether the bit is set? 4729# 47300 belong 0601 Convex SOFF 4731>88 belong&0x000f0000 =0x00000000 c1 4732>88 belong &0x00010000 c2 4733>88 belong &0x00020000 c2mp 4734>88 belong &0x00040000 parallel 4735>88 belong &0x00080000 intrinsic 4736>88 belong &0x00000001 demand paged 4737>88 belong &0x00000002 pre-paged 4738>88 belong &0x00000004 non-swapped 4739>88 belong &0x00000008 POSIX 4740# 4741>84 belong &0x80000000 executable 4742>84 belong &0x40000000 object 4743>84 belong&0x20000000 =0 not stripped 4744>84 belong&0x18000000 =0x00000000 native fpmode 4745>84 belong&0x18000000 =0x10000000 ieee fpmode 4746>84 belong&0x18000000 =0x18000000 undefined fpmode 4747# 47480 belong 0605 Convex SOFF core 4749# 47500 belong 0607 Convex SOFF checkpoint 4751>88 belong&0x000f0000 =0x00000000 c1 4752>88 belong &0x00010000 c2 4753>88 belong &0x00020000 c2mp 4754>88 belong &0x00040000 parallel 4755>88 belong &0x00080000 intrinsic 4756>88 belong &0x00000008 POSIX 4757# 4758>84 belong&0x18000000 =0x00000000 native fpmode 4759>84 belong&0x18000000 =0x10000000 ieee fpmode 4760>84 belong&0x18000000 =0x18000000 undefined fpmode 4761 4762#------------------------------------------------------------------------------ 4763# $File: cracklib,v 1.7 2009/09/19 16:28:08 christos Exp $ 4764# cracklib: file (1) magic for cracklib v2.7 4765 47660 lelong 0x70775631 Cracklib password index, little endian 4767>4 long >0 (%i words) 4768>4 long 0 ("64-bit") 4769>>8 long >-1 (%i words) 47700 belong 0x70775631 Cracklib password index, big endian 4771>4 belong >-1 (%i words) 4772# really bellong 0x0000000070775631 47730 search/1 \0\0\0\0pwV1 Cracklib password index, big endian ("64-bit") 4774>12 belong >0 (%i words) 4775 4776# ---------------------------------------------------------------------------- 4777# $File: ctags,v 1.6 2009/09/19 16:28:08 christos Exp $ 4778# ctags: file (1) magic for Exuberant Ctags files 4779# From: Alexander Mai <mai@migdal.ikp.physik.tu-darmstadt.de> 47800 search/1 =!_TAG Exuberant Ctags tag file text 4781 4782#-------------------------------------------------------------- 4783# ctf: file(1) magic for CTF (Common Trace Format) trace files 4784# 4785# Specs. available here: <http://www.efficios.com/ctf> 4786#-------------------------------------------------------------- 4787 4788# CTF trace data 47890 lelong 0xc1fc1fc1 Common Trace Format (CTF) trace data (LE) 47900 belong 0xc1fc1fc1 Common Trace Format (CTF) trace data (BE) 4791 4792# CTF metadata (packetized) 47930 lelong 0x75d11d57 Common Trace Format (CTF) packetized metadata (LE) 4794>35 byte x \b, v%d 4795>36 byte x \b.%d 47960 belong 0x75d11d57 Common Trace Format (CTF) packetized metadata (BE) 4797>35 byte x \b, v%d 4798>36 byte x \b.%d 4799 4800# CTF metadata (plain text) 48010 string /*\x20CTF\x20 Common Trace Format (CTF) plain text metadata 4802!:strength + 5 # this is to make sure we beat C 4803>&0 regex [0-9]+\.[0-9]+ \b, v%s 4804 4805#------------------------------------------------------------------------------ 4806# $File: cubemap,v 1.1 2012/06/06 13:03:20 christos Exp $ 4807# file(1) magic(5) data for cubemaps Martin Erik Werner <martinerikwerner@gmail.com> 4808# 48090 string ACMP Map file for the AssaultCube FPS game 48100 string CUBE Map file for cube and cube2 engine games 48110 string MAPZ) Map file for the Blood Frontier/Red Eclipse FPS games 4812 4813#------------------------------------------------------------------------------ 4814# $File: cups,v 1.2 2012/11/02 21:50:29 christos Exp $ 4815# Cups: file(1) magic for the cups raster file format 4816# From: Laurent Martelli <martellilaurent@gmail.com> 4817# http://www.cups.org/documentation.php/spec-raster.html 4818# 4819 48200 name cups-be 4821>280 lelong x \b, %d 4822>284 lelong x \bx%d dpi 4823>376 lelong x \b, %dx 4824>380 lelong x \b%d pixels 4825>388 lelong x %d bits/color 4826>392 lelong x %d bits/pixel 4827>400 lelong 0 ColorOrder=Chunky 4828>400 lelong 1 ColorOrder=Banded 4829>400 lelong 2 ColorOrder=Planar 4830>404 lelong 0 ColorSpace=gray 4831>404 lelong 1 ColorSpace=RGB 4832>404 lelong 2 ColorSpace=RGBA 4833>404 lelong 3 ColorSpace=black 4834>404 lelong 4 ColorSpace=CMY 4835>404 lelong 5 ColorSpace=YMC 4836>404 lelong 6 ColorSpace=CMYK 4837>404 lelong 7 ColorSpace=YMCK 4838>404 lelong 8 ColorSpace=KCMY 4839>404 lelong 9 ColorSpace=KCMYcm 4840>404 lelong 10 ColorSpace=GMCK 4841>404 lelong 11 ColorSpace=GMCS 4842>404 lelong 12 ColorSpace=WHITE 4843>404 lelong 13 ColorSpace=GOLD 4844>404 lelong 14 ColorSpace=SILVER 4845>404 lelong 15 ColorSpace=CIE XYZ 4846>404 lelong 16 ColorSpace=CIE Lab 4847>404 lelong 17 ColorSpace=RGBW 4848>404 lelong 18 ColorSpace=sGray 4849>404 lelong 19 ColorSpace=sRGB 4850>404 lelong 20 ColorSpace=AdobeRGB 4851 4852# Cups Raster image format, Big Endian 48530 string RaS 4854>3 string t Cups Raster version 1, Big Endian 4855>3 string 2 Cups Raster version 2, Big Endian 4856>3 string 3 Cups Raster version 3, Big Endian 4857!:mime application/vnd.cups-raster 4858>0 use ^cups-be 4859 4860 4861# Cups Raster image format, Little Endian 48621 string SaR 4863>0 string t Cups Raster version 1, Little Endian 4864>0 string 2 Cups Raster version 2, Little Endian 4865>0 string 3 Cups Raster version 3, Little Endian 4866!:mime application/vnd.cups-raster 4867>0 use \^cups-be 4868 4869#------------------------------------------------------------------------------ 4870# $File: dact,v 1.4 2009/09/19 16:28:08 christos Exp $ 4871# dact: file(1) magic for DACT compressed files 4872# 48730 long 0x444354C3 DACT compressed data 4874>4 byte >-1 (version %i. 4875>5 byte >-1 $BS%i. 4876>6 byte >-1 $BS%i) 4877>7 long >0 $BS, original size: %i bytes 4878>15 long >30 $BS, block size: %i bytes 4879 4880#------------------------------------------------------------------------------ 4881# $File: database,v 1.36 2013/12/09 20:31:53 christos Exp $ 4882# database: file(1) magic for various databases 4883# 4884# extracted from header/code files by Graeme Wilford (eep2gw@ee.surrey.ac.uk) 4885# 4886# 4887# GDBM magic numbers 4888# Will be maintained as part of the GDBM distribution in the future. 4889# <downsj@teeny.org> 48900 belong 0x13579ace GNU dbm 1.x or ndbm database, big endian 4891!:mime application/x-gdbm 48920 lelong 0x13579ace GNU dbm 1.x or ndbm database, little endian 4893!:mime application/x-gdbm 48940 string GDBM GNU dbm 2.x database 4895!:mime application/x-gdbm 4896# 4897# Berkeley DB 4898# 4899# Ian Darwin's file /etc/magic files: big/little-endian version. 4900# 4901# Hash 1.85/1.86 databases store metadata in network byte order. 4902# Btree 1.85/1.86 databases store the metadata in host byte order. 4903# Hash and Btree 2.X and later databases store the metadata in host byte order. 4904 49050 long 0x00061561 Berkeley DB 4906!:mime application/x-dbm 4907>8 belong 4321 4908>>4 belong >2 1.86 4909>>4 belong <3 1.85 4910>>4 belong >0 (Hash, version %d, native byte-order) 4911>8 belong 1234 4912>>4 belong >2 1.86 4913>>4 belong <3 1.85 4914>>4 belong >0 (Hash, version %d, little-endian) 4915 49160 belong 0x00061561 Berkeley DB 4917>8 belong 4321 4918>>4 belong >2 1.86 4919>>4 belong <3 1.85 4920>>4 belong >0 (Hash, version %d, big-endian) 4921>8 belong 1234 4922>>4 belong >2 1.86 4923>>4 belong <3 1.85 4924>>4 belong >0 (Hash, version %d, native byte-order) 4925 49260 long 0x00053162 Berkeley DB 1.85/1.86 4927>4 long >0 (Btree, version %d, native byte-order) 49280 belong 0x00053162 Berkeley DB 1.85/1.86 4929>4 belong >0 (Btree, version %d, big-endian) 49300 lelong 0x00053162 Berkeley DB 1.85/1.86 4931>4 lelong >0 (Btree, version %d, little-endian) 4932 493312 long 0x00061561 Berkeley DB 4934>16 long >0 (Hash, version %d, native byte-order) 493512 belong 0x00061561 Berkeley DB 4936>16 belong >0 (Hash, version %d, big-endian) 493712 lelong 0x00061561 Berkeley DB 4938>16 lelong >0 (Hash, version %d, little-endian) 4939 494012 long 0x00053162 Berkeley DB 4941>16 long >0 (Btree, version %d, native byte-order) 494212 belong 0x00053162 Berkeley DB 4943>16 belong >0 (Btree, version %d, big-endian) 494412 lelong 0x00053162 Berkeley DB 4945>16 lelong >0 (Btree, version %d, little-endian) 4946 494712 long 0x00042253 Berkeley DB 4948>16 long >0 (Queue, version %d, native byte-order) 494912 belong 0x00042253 Berkeley DB 4950>16 belong >0 (Queue, version %d, big-endian) 495112 lelong 0x00042253 Berkeley DB 4952>16 lelong >0 (Queue, version %d, little-endian) 4953 4954# From Max Bowsher. 495512 long 0x00040988 Berkeley DB 4956>16 long >0 (Log, version %d, native byte-order) 495712 belong 0x00040988 Berkeley DB 4958>16 belong >0 (Log, version %d, big-endian) 495912 lelong 0x00040988 Berkeley DB 4960>16 lelong >0 (Log, version %d, little-endian) 4961 4962# 4963# 4964# Round Robin Database Tool by Tobias Oetiker <oetiker@ee.ethz.ch> 49650 string/b RRD\0 RRDTool DB 4966>4 string/b x version %s 4967 4968>>10 short !0 16bit aligned 4969>>>10 bedouble 8.642135e+130 big-endian 4970>>>>18 short x 32bit long (m68k) 4971 4972>>10 short 0 4973>>>12 long !0 32bit aligned 4974>>>>12 bedouble 8.642135e+130 big-endian 4975>>>>>20 long 0 64bit long 4976>>>>>20 long !0 32bit long 4977>>>>12 ledouble 8.642135e+130 little-endian 4978>>>>>24 long 0 64bit long 4979>>>>>24 long !0 32bit long (i386) 4980>>>>12 string \x43\x2b\x1f\x5b\x2f\x25\xc0\xc7 middle-endian 4981>>>>>24 short !0 32bit long (arm) 4982 4983>>8 quad 0 64bit aligned 4984>>>16 bedouble 8.642135e+130 big-endian 4985>>>>24 long 0 64bit long (s390x) 4986>>>>24 long !0 32bit long (hppa/mips/ppc/s390/sparc) 4987>>>16 ledouble 8.642135e+130 little-endian 4988>>>>28 long 0 64bit long (alpha/amd64/ia64) 4989>>>>28 long !0 32bit long (armel/mipsel) 4990 4991#---------------------------------------------------------------------- 4992# ROOT: file(1) magic for ROOT databases 4993# 49940 string root\0 ROOT file 4995>4 belong x Version %d 4996>33 belong x (Compression: %d) 4997 4998# XXX: Weak magic. 4999# Alex Ott <ott@jet.msk.su> 5000## Paradox file formats 5001#2 leshort 0x0800 Paradox 5002#>0x39 byte 3 v. 3.0 5003#>0x39 byte 4 v. 3.5 5004#>0x39 byte 9 v. 4.x 5005#>0x39 byte 10 v. 5.x 5006#>0x39 byte 11 v. 5.x 5007#>0x39 byte 12 v. 7.x 5008#>>0x04 byte 0 indexed .DB data file 5009#>>0x04 byte 1 primary index .PX file 5010#>>0x04 byte 2 non-indexed .DB data file 5011#>>0x04 byte 3 non-incrementing secondary index .Xnn file 5012#>>0x04 byte 4 secondary index .Ynn file 5013#>>0x04 byte 5 incrementing secondary index .Xnn file 5014#>>0x04 byte 6 non-incrementing secondary index .XGn file 5015#>>0x04 byte 7 secondary index .YGn file 5016#>>>0x04 byte 8 incrementing secondary index .XGn file 5017 5018## XBase database files 5019# updated by Joerg Jenderek at Feb 2013 5020# http://www.dbase.com/Knowledgebase/INT/db7_file_fmt.htm 5021# http://www.clicketyclick.dk/databases/xbase/format/dbf.html 5022# http://home.f1.htw-berlin.de/scheibl/db/intern/dBase.htm 5023# inspect VVYYMMDD , where 1<= MM <= 12 and 1<= DD <= 31 50240 ubelong&0x0000FFFF <0x00000C20 5025# skip Infocom game Z-machine 5026>2 ubyte >0 5027# skip Androids *.xml 5028>>3 ubyte >0 5029>>>3 ubyte <32 5030# 1 < version VV 5031>>>>0 ubyte >1 5032# skip HELP.CA3 by test for reserved byte ( NULL ) 5033>>>>>27 ubyte 0 5034# reserved bytes not always 0 ; also found 0x3901 (T4.DBF) ,0x7101 (T5.DBF,T6.DBF) 5035#>>>>>30 ubeshort x 30NULL?%x 5036# possible production flag,tag numbers(<=0x30),tag length(<=0x20), reserved (NULL) 5037>>>>>>24 ubelong&0xffFFFFff >0x01302000 5038# .DBF or .MDX 5039>>>>>>24 ubelong&0xffFFFFff <0x01302001 5040# for Xbase Database file (*.DBF) reserved (NULL) for multi-user 5041>>>>>>>24 ubelong&0xffFFFFff =0 5042# test for 2 reserved NULL bytes,transaction and encryption byte flag 5043>>>>>>>>12 ubelong&0xFFFFfEfE 0 5044# test for MDX flag 5045>>>>>>>>>28 ubyte x 5046>>>>>>>>>28 ubyte&0xf8 0 5047# header size >= 32 5048>>>>>>>>>>8 uleshort >31 5049# skip PIC15736.PCX by test for language driver name or field name 5050>>>>>>>>>>>32 ubyte >0 5051!:mime application/x-dbf 5052#!:mime application/x-dbf; charset=unknown-8bit ?? 5053#!:mime application/x-dbase 5054>>>>>>>>>>>>0 use xbase-type 5055# database file 5056>>>>>>>>>>>>0 ubyte x \b DBF 5057>>>>>>>>>>>>4 lelong 0 \b, no records 5058>>>>>>>>>>>>4 lelong >0 \b, %ld record 5059# plural s appended 5060>>>>>>>>>>>>>4 lelong >1 \bs 5061# http://www.clicketyclick.dk/databases/xbase/format/dbf_check.html#CHECK_DBF 5062# 1 <= record size <= 4000 (dBase 3,4) or 32 * KB (=0x8000) 5063>>>>>>>>>>>>10 uleshort x * %d 5064# file size = records * record size + header size 5065>>>>>>>>>>>>1 ubyte x \b, update-date 5066>>>>>>>>>>>>1 use xbase-date 5067# http://msdn.microsoft.com/de-de/library/cc483186(v=vs.71).aspx 5068#>>>>>>>>>>>>29 ubyte =0 \b, codepage ID=0x%x 5069# 2~cp850 , 3~cp1252 , 0x1b~?? ; what code page is 0x1b ? 5070>>>>>>>>>>>>29 ubyte >0 \b, codepage ID=0x%x 5071#>>>>>>>>>>>>28 ubyte&0x01 0 \b, no index file 5072>>>>>>>>>>>>28 ubyte&0x01 1 \b, with index file .MDX 5073>>>>>>>>>>>>28 ubyte&0x02 2 \b, with memo .FPT 5074>>>>>>>>>>>>28 ubyte&0x04 4 \b, DataBaseContainer 5075# 1st record offset + 1 = header size 5076>>>>>>>>>>>>8 uleshort >0 5077>>>>>>>>>>>>(8.s+1) ubyte >0 5078>>>>>>>>>>>>>8 uleshort >0 \b, at offset %d 5079>>>>>>>>>>>>>(8.s+1) ubyte >0 5080>>>>>>>>>>>>>>&-1 string >\0 1st record "%s" 5081# for multiple index files (*.MDX) Production flag,tag numbers(<=0x30),tag length(<=0x20), reserverd (NULL) 5082>>>>>>>24 ubelong&0x0133f7ff >0 5083# test for reserved NULL byte 5084>>>>>>>>47 ubyte x 5085# test for valid TAG key format (0x10 or 0) 5086>>>>>>>>>559 ubyte&0xeF 0 5087# test MM <= 12 5088>>>>>>>>>45 ubeshort <0x0C20 5089>>>>>>>>>>45 ubyte >0 5090>>>>>>>>>>>46 ubyte <32 5091>>>>>>>>>>>>46 ubyte >0 5092#!:mime application/x-mdx 5093>>>>>>>>>>>>>0 use xbase-type 5094>>>>>>>>>>>>>0 ubyte x \b MDX 5095>>>>>>>>>>>>>1 ubyte x \b, creation-date 5096>>>>>>>>>>>>>1 use xbase-date 5097>>>>>>>>>>>>>44 ubyte x \b, update-date 5098>>>>>>>>>>>>>44 use xbase-date 5099# No.of tags in use (1,2,5,12) 5100>>>>>>>>>>>>>28 uleshort x \b, %d 5101# No. of entries in tag (0x30) 5102>>>>>>>>>>>>>25 ubyte x \b/%d tags 5103# Length of tag 5104>>>>>>>>>>>>>26 ubyte x * %d 5105# 1st tag name_ 5106>>>>>>>>>>>>>548 string x \b, 1st tag "%.11s" 5107# 2nd tag name 5108#>>>>>>>>>>>>(26.b+548) string x \b, 2nd tag "%.11s" 5109# 5110# Print the xBase names of different version variants 51110 name xbase-type 5112>0 ubyte <2 5113# 1 < version 5114>0 ubyte >1 5115>>0 ubyte 0x02 FoxBase 5116# FoxBase+/dBaseIII+, no memo 5117>>0 ubyte 0x03 FoxBase+/dBase III 5118# dBASE IV no memo file 5119>>0 ubyte 0x04 dBase IV 5120# dBASE V no memo file 5121>>0 ubyte 0x05 dBase V 5122>>0 ubyte 0x30 Visual FoxPro 5123>>0 ubyte 0x31 Visual FoxPro, autoincrement 5124# Visual FoxPro, with field type Varchar or Varbinary 5125>>0 ubyte 0x32 Visual FoxPro, with field type Varchar 5126# dBASE IV SQL, no memo;dbv memo var size (Flagship) 5127>>0 ubyte 0x43 dBase IV, with SQL table 5128# http://msdn.microsoft.com/en-US/library/st4a0s68(v=vs.80).aspx 5129#>>0 ubyte 0x62 dBase IV, with SQL table 5130# dBASE IV, with memo!! 5131>>0 ubyte 0x7b dBase IV, with memo 5132# http://msdn.microsoft.com/en-US/library/st4a0s68(v=vs.80).aspx 5133#>>0 ubyte 0x82 dBase IV, with SQL system 5134# FoxBase+/dBaseIII+ with memo .DBT! 5135>>0 ubyte 0x83 FoxBase+/dBase III, with memo .DBT 5136# VISUAL OBJECTS (first 1.0 versions) for the Dbase III files (NTX clipper driver); memo file 5137>>0 ubyte 0x87 VISUAL OBJECTS, with memo file 5138# http://msdn.microsoft.com/en-US/library/st4a0s68(v=vs.80).aspx 5139#>>0 ubyte 0x8A FoxBase+/dBase III, with memo .DBT 5140# dBASE IV with memo! 5141>>0 ubyte 0x8B dBase IV, with memo .DBT 5142# dBase IV with SQL Table,no memo? 5143>>0 ubyte 0x8E dBase IV, with SQL table 5144# .dbv and .dbt memo (Flagship)? 5145>>0 ubyte 0xB3 Flagship 5146# http://msdn.microsoft.com/en-US/library/st4a0s68(v=vs.80).aspx 5147#>>0 ubyte 0xCA dBase IV with memo .DBT 5148# dBASE IV with SQL table, with memo .DBT 5149>>0 ubyte 0xCB dBase IV with SQL table, with memo .DBT 5150# HiPer-Six format;Clipper SIX, with SMT memo file 5151>>0 ubyte 0xE5 Clipper SIX with memo 5152# http://msdn.microsoft.com/en-US/library/st4a0s68(v=vs.80).aspx 5153#>>0 ubyte 0xF4 dBase IV, with SQL table, with memo 5154>>0 ubyte 0xF5 FoxPro with memo 5155# http://msdn.microsoft.com/en-US/library/st4a0s68(v=vs.80).aspx 5156#>>0 ubyte 0xFA FoxPro 2.x, with memo 5157# unkown version (should not happen) 5158>>0 default x xBase 5159>>>0 ubyte x (0x%x) 5160# flags in version byte 5161# DBT flag (with dBASE III memo .DBT)!! 5162# >>0 ubyte&0x80 >0 DBT_FLAG=%x 5163# memo flag ?? 5164# >>0 ubyte&0x08 >0 MEMO_FLAG=%x 5165# SQL flag ?? 5166# >>0 ubyte&0x70 >0 SQL_FLAG=%x 5167# test and print the date of xBase .DBF .MDX 51680 name xbase-date 5169# inspect YYMMDD , where 1<= MM <= 12 and 1<= DD <= 31 5170>0 ubelong x 5171>1 ubyte <13 5172>>1 ubyte >0 5173>>>2 ubyte >0 5174>>>>2 ubyte <32 5175>>>>>0 ubyte x 5176# YY is interpreted as 20YY or 19YY 5177>>>>>>0 ubyte <100 \b %.2d 5178# YY is interpreted 1900+YY; TODO: display yy or 20yy instead 1YY 5179>>>>>>0 ubyte >99 \b %d 5180>>>>>1 ubyte x \b-%d 5181>>>>>2 ubyte x \b-%d 5182 5183# dBase memo files .DBT or .FPT 5184# http://msdn.microsoft.com/en-us/library/8599s21w(v=vs.80).aspx 518516 ubyte <4 5186>16 ubyte !2 5187>>16 ubyte !1 5188# next free block index is positive 5189>>>0 ulelong >0 5190# skip many JPG. ZIP, BZ2 by test for reserved bytes NULL , 0|2 , 0|1 , low byte of block size 5191>>>>17 ubelong&0xFFfdFE00 0x00000000 5192# skip many RAR by test for low byte 0 ,high byte 0|2|even of block size, 0|a|e|d7 , 0|64h 5193>>>>>20 ubelong&0xFF01209B 0x00000000 5194# dBASE III 5195>>>>>>16 ubyte 3 5196# dBASE III DBT 5197>>>>>>>0 use xbase-memo-print 5198# dBASE IV DBT , FoxPro FPT or many PNG , ZIP , DBF garbage 5199>>>>>>16 ubyte 0 5200# dBASE IV DBT with DBF name or DBF garbage 5201>>>>>>>8 ubelong >0x40000000 5202# skip DBF and catch dBASE IV DBT with DBF name and with non big index of next free block 5203>>>>>>>>0 ulelong <0x01010002 5204>>>>>>>>>0 use xbase-memo-print 5205>>>>>>>8 ubelong 0 5206# skip MM*DD*.bin by test for for reserved NULL byte 5207>>>>>>>>508 ubelong 0 5208# real memo files should contain text here 5209>>>>>>>>>520 ubelong >0x20202019 5210>>>>>>>>>>520 ubelong <0xFEFEFEFF 5211>>>>>>>>>>>0 use xbase-memo-print 5212# garbage PCX , ZIP , JAR , XPI 5213>>>>>>>8 default x 5214 5215# Print the information of dBase DBT or FoxPro FPT memo files 52160 name xbase-memo-print 5217>0 ubyte x 5218# test version 5219# memo file 5220>>16 ubyte 3 dBase III DBT 5221>>16 ubyte 0 5222>>>512 ubelong <0x00000003 FoxPro FPT 5223# Size of blocks for FoxPro 5224>>>>6 ubeshort x \b, blocks size %lu 5225# Number of next available block for appending data for FoxPro 5226>>>>0 ubelong =0 \b, next free block index %lu 5227>>>>0 ubelong !0 \b, next free block index %lu 5228>>>512 default x dBase IV DBT 5229# DBF file name without extention 5230>>>>8 string >\0 \b of %-.8s.DBF 5231# size of blocks ; not reliable 0x2020204C 5232#>>>>4 ulelong =0 \b, blocks size %lu 5233>>>>4 ulelong !0 \b, blocks size %lu 5234# Block length found 0 , 512 5235#>>>>20 uleshort =0 \b, block length %u 5236>>>>20 uleshort !0 \b, block length %u 5237# Number of next available block for appending data 5238>>>>0 ulelong =0 \b, next free block index %lu 5239>>>>0 ulelong !0 \b, next free block index %lu 5240>>512 ubelong x 5241>>>512 ubelong =0xFFFF0800 5242>>>>520 string >\0 \b, 1st used item "%s" 5243# FoxPro 5244>>>512 ubelong <3 5245# FoxPro memo 5246>>>>512 ubelong =1 5247>>>>520 string >\0 \b, 1st used item "%s" 5248>>>512 default x 5249# may be deleted memo field 5250>>>>512 string >\0 \b, 1st item "%s" 5251 5252# TODO: 5253# DBASE index file *.NDX 5254# DBASE Compound Index file *.CDX 5255# dBASE IV Printer Driver *.PRF 5256## End of XBase database stuff 5257 5258# MS Access database 52594 string Standard\ Jet\ DB Microsoft Access Database 5260!:mime application/x-msaccess 52614 string Standard\ ACE\ DB Microsoft Access Database 5262!:mime application/x-msaccess 5263 5264# TDB database from Samba et al - Martin Pool <mbp@samba.org> 52650 string TDB\ file TDB database 5266>32 lelong 0x2601196D version 6, little-endian 5267>>36 lelong x hash size %d bytes 5268 5269# SE Linux policy database 52700 lelong 0xf97cff8c SE Linux policy 5271>16 lelong x v%d 5272>20 lelong 1 MLS 5273>24 lelong x %d symbols 5274>28 lelong x %d ocons 5275 5276# ICE authority file data (Wolfram Kleff) 52772 string ICE ICE authority data 5278 5279# X11 Xauthority file (Wolfram Kleff) 528010 string MIT-MAGIC-COOKIE-1 X11 Xauthority data 528111 string MIT-MAGIC-COOKIE-1 X11 Xauthority data 528212 string MIT-MAGIC-COOKIE-1 X11 Xauthority data 528313 string MIT-MAGIC-COOKIE-1 X11 Xauthority data 528414 string MIT-MAGIC-COOKIE-1 X11 Xauthority data 528515 string MIT-MAGIC-COOKIE-1 X11 Xauthority data 528616 string MIT-MAGIC-COOKIE-1 X11 Xauthority data 528717 string MIT-MAGIC-COOKIE-1 X11 Xauthority data 528818 string MIT-MAGIC-COOKIE-1 X11 Xauthority data 5289 5290# From: Maxime Henrion <mux@FreeBSD.org> 5291# PostgreSQL's custom dump format, Maxime Henrion <mux@FreeBSD.org> 52920 string PGDMP PostgreSQL custom database dump 5293>5 byte x - v%d 5294>6 byte x \b.%d 5295>5 beshort <0x101 \b-0 5296>5 beshort >0x100 5297>>7 byte x \b-%d 5298 5299# Type: Advanced Data Format (ADF) database 5300# URL: http://www.grc.nasa.gov/WWW/cgns/adf/ 5301# From: Nicolas Chauvat <nicolas.chauvat@logilab.fr> 53020 string @(#)ADF\ Database CGNS Advanced Data Format 5303 5304# Tokyo Cabinet magic data 5305# http://tokyocabinet.sourceforge.net/index.html 53060 string ToKyO\ CaBiNeT\n Tokyo Cabinet 5307>14 string x \b (%s) 5308>32 byte 0 \b, Hash 5309!:mime application/x-tokyocabinet-hash 5310>32 byte 1 \b, B+ tree 5311!:mime application/x-tokyocabinet-btree 5312>32 byte 2 \b, Fixed-length 5313!:mime application/x-tokyocabinet-fixed 5314>32 byte 3 \b, Table 5315!:mime application/x-tokyocabinet-table 5316>33 byte &1 \b, [open] 5317>33 byte &2 \b, [fatal] 5318>34 byte x \b, apow=%d 5319>35 byte x \b, fpow=%d 5320>36 byte &0x01 \b, [large] 5321>36 byte &0x02 \b, [deflate] 5322>36 byte &0x04 \b, [bzip] 5323>36 byte &0x08 \b, [tcbs] 5324>36 byte &0x10 \b, [excodec] 5325>40 lequad x \b, bnum=%lld 5326>48 lequad x \b, rnum=%lld 5327>56 lequad x \b, fsiz=%lld 5328 5329# Type: QDBM Quick Database Manager 5330# From: Benoit Sibaud <bsibaud@april.org> 53310 string \\[depot\\]\n\f Quick Database Manager, little endian 53320 string \\[DEPOT\\]\n\f Quick Database Manager, big endian 5333 5334# Type: TokyoCabinet database 5335# URL: http://tokyocabinet.sourceforge.net/ 5336# From: Benoit Sibaud <bsibaud@april.org> 53370 string ToKyO\ CaBiNeT\n TokyoCabinet database 5338>14 string x (version %s) 5339 5340# From: Stephane Blondon http://www.yaal.fr 5341# Database file for Zope (done by FileStorage) 53420 string FS21 Zope Object Database File Storage (data) 5343# Cache file for the database of Zope (done by ClientStorage) 53440 string ZEC3 Zope Object Database Client Cache File (data) 5345 5346# IDA (Interactive Disassembler) database 53470 string IDA1 IDA (Interactive Disassembler) database 5348 5349#------------------------------------------------------------------------------ 5350# $File: diamond,v 1.7 2009/09/19 16:28:08 christos Exp $ 5351# diamond: file(1) magic for Diamond system 5352# 5353# ... diamond is a multi-media mail and electronic conferencing system.... 5354# 5355# XXX - I think it was either renamed Slate, or replaced by Slate.... 5356# 5357# The full deal is too long... 5358#0 string <list>\n<protocol\ bbn-multimedia-format> Diamond Multimedia Document 53590 string =<list>\n<protocol\ bbn-m Diamond Multimedia Document 5360 5361#------------------------------------------------------------------------------ 5362# $File: diff,v 1.14 2012/09/16 23:08:54 christos Exp $ 5363# diff: file(1) magic for diff(1) output 5364# 53650 search/1 diff\ diff output text 5366!:mime text/x-diff 53670 search/1 ***\ diff output text 5368!:mime text/x-diff 53690 search/1 Only\ in\ diff output text 5370!:mime text/x-diff 53710 search/1 Common\ subdirectories:\ diff output text 5372!:mime text/x-diff 5373 53740 search/1 Index: RCS/CVS diff output text 5375!:mime text/x-diff 5376 5377# bsdiff: file(1) magic for bsdiff(1) output 53780 string/b BSDIFF40 bsdiff(1) patch file 5379 5380 5381# unified diff 53820 search/4096 ---\ 5383>&0 search/1024 \n 5384>>&0 search/1 +++\ 5385>>>&0 search/1024 \n 5386>>>>&0 search/1 @@ unified diff output text 5387!:mime text/x-diff 5388!:strength + 90 5389 5390# librsync -- the library for network deltas 5391# 5392# Copyright (C) 2001 by Martin Pool. You may do whatever you want with 5393# this file. 5394# 53950 belong 0x72730236 rdiff network-delta data 5396 53970 belong 0x72730136 rdiff network-delta signature data 5398>4 belong x (block length=%d, 5399>8 belong x signature strength=%d) 5400 5401#------------------------------------------------------------------------------ 5402# $File: digital,v 1.11 2013/01/11 16:45:23 christos Exp $ 5403# Digital UNIX - Info 5404# 54050 string =!<arch>\n________64E Alpha archive 5406>22 string X -- out of date 5407# 5408 54090 leshort 0603 5410>24 leshort 0410 COFF format alpha pure 5411>24 leshort 0413 COFF format alpha demand paged 5412>>22 leshort&030000 !020000 executable 5413>>22 leshort&020000 !0 dynamically linked 5414>>16 lelong !0 not stripped 5415>>16 lelong 0 stripped 5416>>27 byte x - version %d 5417>>26 byte x \b.%d 5418>>28 byte x \b-%d 5419>24 leshort 0407 COFF format alpha object 5420>>22 leshort&030000 020000 shared library 5421>>27 byte x - version %d 5422>>26 byte x \b.%d 5423>>28 byte x \b-%d 5424 5425# Basic recognition of Digital UNIX core dumps - Mike Bremford <mike@opac.bl.uk> 5426# 5427# The actual magic number is just "Core", followed by a 2-byte version 5428# number; however, treating any file that begins with "Core" as a Digital 5429# UNIX core dump file may produce too many false hits, so we include one 5430# byte of the version number as well; DU 5.0 appears only to be up to 5431# version 2. 5432# 54330 string Core\001 Alpha COFF format core dump (Digital UNIX) 5434>24 string >\0 \b, from '%s' 54350 string Core\002 Alpha COFF format core dump (Digital UNIX) 5436>24 string >\0 \b, from '%s' 5437# 5438# The next is incomplete, we could tell more about this format, 5439# but its not worth it. 54400 leshort 0x188 Alpha compressed COFF 54410 leshort 0x18f Alpha u-code object 5442# 5443# 5444# Some other interesting Digital formats, 54450 string \377\377\177 ddis/ddif 54460 string \377\377\174 ddis/dots archive 54470 string \377\377\176 ddis/dtif table data 54480 string \033c\033 LN03 output 54490 long 04553207 X image 5450# 54510 string =!<PDF>!\n profiling data file 5452# 5453# Locale data tables (MIPS and Alpha). 5454# 54550 short 0x0501 locale data table 5456>6 short 0x24 for MIPS 5457>6 short 0x40 for Alpha 5458 5459#------------------------------------------------------------------------------ 5460# $File: dolby,v 1.7 2014/01/08 22:37:23 christos Exp $ 5461# ATSC A/53 aka AC-3 aka Dolby Digital <ashitaka@gmx.at> 5462# from http://www.atsc.org/standards/a_52a.pdf 5463# corrections, additions, etc. are always welcome! 5464# 5465# syncword 54660 beshort 0x0b77 ATSC A/52 aka AC-3 aka Dolby Digital stream, 5467# Proposed audio/ac3 RFC/4184 5468!:mime audio/vnd.dolby.dd-raw 5469# fscod 5470>4 byte&0xc0 = 0x00 48 kHz, 5471>4 byte&0xc0 = 0x40 44.1 kHz, 5472>4 byte&0xc0 = 0x80 32 kHz, 5473# is this one used for 96 kHz? 5474>4 byte&0xc0 = 0xc0 reserved frequency, 5475# 5476>5 byte&0x07 = 0x00 \b, complete main (CM) 5477>5 byte&0x07 = 0x01 \b, music and effects (ME) 5478>5 byte&0x07 = 0x02 \b, visually impaired (VI) 5479>5 byte&0x07 = 0x03 \b, hearing impaired (HI) 5480>5 byte&0x07 = 0x04 \b, dialogue (D) 5481>5 byte&0x07 = 0x05 \b, commentary (C) 5482>5 byte&0x07 = 0x06 \b, emergency (E) 5483>5 beshort&0x07e0 0x0720 \b, voiceover (VO) 5484>5 beshort&0x07e0 >0x0720 \b, karaoke 5485# acmod 5486>6 byte&0xe0 = 0x00 1+1 front, 5487>>6 byte&0x10 = 0x10 LFE on, 5488>6 byte&0xe0 = 0x20 1 front/0 rear, 5489>>6 byte&0x10 = 0x10 LFE on, 5490>6 byte&0xe0 = 0x40 2 front/0 rear, 5491# dsurmod (for stereo only) 5492>>6 byte&0x18 = 0x00 Dolby Surround not indicated 5493>>6 byte&0x18 = 0x08 not Dolby Surround encoded 5494>>6 byte&0x18 = 0x10 Dolby Surround encoded 5495>>6 byte&0x18 = 0x18 reserved Dolby Surround mode 5496>>6 byte&0x04 = 0x04 LFE on, 5497>6 byte&0xe0 = 0x60 3 front/0 rear, 5498>>6 byte&0x04 = 0x04 LFE on, 5499>6 byte&0xe0 = 0x80 2 front/1 rear, 5500>>6 byte&0x04 = 0x04 LFE on, 5501>6 byte&0xe0 = 0xa0 3 front/1 rear, 5502>>6 byte&0x01 = 0x01 LFE on, 5503>6 byte&0xe0 = 0xc0 2 front/2 rear, 5504>>6 byte&0x04 = 0x04 LFE on, 5505>6 byte&0xe0 = 0xe0 3 front/2 rear, 5506>>6 byte&0x01 = 0x01 LFE on, 5507# 5508>4 byte&0x3e = 0x00 \b, 32 kbit/s 5509>4 byte&0x3e = 0x02 \b, 40 kbit/s 5510>4 byte&0x3e = 0x04 \b, 48 kbit/s 5511>4 byte&0x3e = 0x06 \b, 56 kbit/s 5512>4 byte&0x3e = 0x08 \b, 64 kbit/s 5513>4 byte&0x3e = 0x0a \b, 80 kbit/s 5514>4 byte&0x3e = 0x0c \b, 96 kbit/s 5515>4 byte&0x3e = 0x0e \b, 112 kbit/s 5516>4 byte&0x3e = 0x10 \b, 128 kbit/s 5517>4 byte&0x3e = 0x12 \b, 160 kbit/s 5518>4 byte&0x3e = 0x14 \b, 192 kbit/s 5519>4 byte&0x3e = 0x16 \b, 224 kbit/s 5520>4 byte&0x3e = 0x18 \b, 256 kbit/s 5521>4 byte&0x3e = 0x1a \b, 320 kbit/s 5522>4 byte&0x3e = 0x1c \b, 384 kbit/s 5523>4 byte&0x3e = 0x1e \b, 448 kbit/s 5524>4 byte&0x3e = 0x20 \b, 512 kbit/s 5525>4 byte&0x3e = 0x22 \b, 576 kbit/s 5526>4 byte&0x3e = 0x24 \b, 640 kbit/s 5527 5528#------------------------------------------------------------------------------ 5529# $File: dump,v 1.12 2012/11/01 04:26:40 christos Exp $ 5530# dump: file(1) magic for dump file format--for new and old dump filesystems 5531# 5532# We specify both byte orders in order to recognize byte-swapped dumps. 5533# 55340 name new-dump-be 5535>4 bedate x Previous dump %s, 5536>8 bedate x This dump %s, 5537>12 belong >0 Volume %ld, 5538>692 belong 0 Level zero, type: 5539>692 belong >0 Level %d, type: 5540>0 belong 1 tape header, 5541>0 belong 2 beginning of file record, 5542>0 belong 3 map of inodes on tape, 5543>0 belong 4 continuation of file record, 5544>0 belong 5 end of volume, 5545>0 belong 6 map of inodes deleted, 5546>0 belong 7 end of medium (for floppy), 5547>676 string >\0 Label %s, 5548>696 string >\0 Filesystem %s, 5549>760 string >\0 Device %s, 5550>824 string >\0 Host %s, 5551>888 belong >0 Flags %x 5552 55530 name old-dump-be 5554#>4 bedate x Previous dump %s, 5555#>8 bedate x This dump %s, 5556>12 belong >0 Volume %ld, 5557>692 belong 0 Level zero, type: 5558>692 belong >0 Level %d, type: 5559>0 belong 1 tape header, 5560>0 belong 2 beginning of file record, 5561>0 belong 3 map of inodes on tape, 5562>0 belong 4 continuation of file record, 5563>0 belong 5 end of volume, 5564>0 belong 6 map of inodes deleted, 5565>0 belong 7 end of medium (for floppy), 5566>676 string >\0 Label %s, 5567>696 string >\0 Filesystem %s, 5568>760 string >\0 Device %s, 5569>824 string >\0 Host %s, 5570>888 belong >0 Flags %x 5571 55720 name ufs2-dump-be 5573>896 beqdate x Previous dump %s, 5574>904 beqdate x This dump %s, 5575>12 belong >0 Volume %ld, 5576>692 belong 0 Level zero, type: 5577>692 belong >0 Level %d, type: 5578>0 belong 1 tape header, 5579>0 belong 2 beginning of file record, 5580>0 belong 3 map of inodes on tape, 5581>0 belong 4 continuation of file record, 5582>0 belong 5 end of volume, 5583>0 belong 6 map of inodes deleted, 5584>0 belong 7 end of medium (for floppy), 5585>676 string >\0 Label %s, 5586>696 string >\0 Filesystem %s, 5587>760 string >\0 Device %s, 5588>824 string >\0 Host %s, 5589>888 belong >0 Flags %x 5590 559124 belong 60012 new-fs dump file (big endian), 5592>0 use new-dump-be 5593 559424 belong 60011 old-fs dump file (big endian), 5595>0 use old-dump-be 5596 559724 lelong 60012 new-fs dump file (little endian), 5598>0 use \^new-dump-be 5599 560024 lelong 60011 old-fs dump file (little endian), 5601>0 use \^old-dump-be 5602 5603 560424 belong 0x19540119 new-fs dump file (ufs2, big endian), 5605>0 use ufs2-dump-be 5606 560724 lelong 0x19540119 new-fs dump file (ufs2, little endian), 5608>0 use \^ufs2-dump-be 5609 561018 leshort 60011 old-fs dump file (16-bit, assuming PDP-11 endianness), 5611>2 medate x Previous dump %s, 5612>6 medate x This dump %s, 5613>10 leshort >0 Volume %ld, 5614>0 leshort 1 tape header. 5615>0 leshort 2 beginning of file record. 5616>0 leshort 3 map of inodes on tape. 5617>0 leshort 4 continuation of file record. 5618>0 leshort 5 end of volume. 5619>0 leshort 6 map of inodes deleted. 5620>0 leshort 7 end of medium (for floppy). 5621 5622#------------------------------------------------------------------------------ 5623# $File: dyadic,v 1.5 2010/09/20 18:55:20 rrt Exp $ 5624# Dyadic: file(1) magic for Dyalog APL. 5625# 56260 byte 0xaa 5627>1 byte <4 Dyalog APL 5628>>1 byte 0x00 incomplete workspace 5629>>1 byte 0x01 component file 5630>>1 byte 0x02 external variable 5631>>1 byte 0x03 workspace 5632>>2 byte x version %d 5633>>3 byte x .%d 5634 56350 beshort 0xaa03 Dyalog APL 5636>2 byte x workspace type %d 5637>3 byte x subtype %d 5638>7 byte&0x28 0x00 32-bit 5639>7 byte&0x28 0x20 64-bit 5640>7 byte&0x0c 0x00 classic 5641>7 byte&0x0c 0x04 unicode 5642>7 byte&0x88 0x00 big-endian 5643>7 byte&0x88 0x80 little-endian 5644 56450 byte 0xaa Dyalog APL 5646>1 byte 0x00 aplcore 5647>1 byte 0x01 component file 32-bit non-journaled non-checksummed 5648>1 byte 0x02 external variable exclusive 5649>1 byte 0x06 external variable shared 5650>1 byte 0x07 session 5651>1 byte 0x08 mapped file 32-bit 5652>1 byte 0x09 component file 64-bit non-journaled non-checksummed 5653>1 byte 0x0a mapped file 64-bit 5654>1 byte 0x0b component file 32-bit level 1 journaled non-checksummed 5655>1 byte 0x0c component file 64-bit level 1 journaled non-checksummed 5656>1 byte 0x0d component file 32-bit level 1 journaled checksummed 5657>1 byte 0x0e component file 64-bit level 1 journaled checksummed 5658>1 byte 0x0f component file 32-bit level 2 journaled checksummed 5659>1 byte 0x10 component file 64-bit level 2 journaled checksummed 5660>1 byte 0x11 component file 32-bit level 3 journaled checksummed 5661>1 byte 0x12 component file 64-bit level 3 journaled checksummed 5662>1 byte 0x13 component file 32-bit non-journaled checksummed 5663>1 byte 0x14 component file 64-bit non-journaled checksummed 5664>1 byte 0x80 DDB 5665 56660 short 0x6060 Dyalog APL transfer 5667 5668#------------------------------------------------------------------------------ 5669# $File: ebml,v 1.1 2010/07/02 00:07:03 christos Exp $ 5670# ebml: file(1) magic for various Extensible Binary Meta Language 5671# http://www.matroska.org/technical/specs/index.html#track 56720 belong 0x1a45dfa3 EBML file 5673>4 search/b/100 \102\202 5674>>&1 string x \b, creator %.8s 5675 5676#------------------------------------------------------------------------------ 5677# $File: editors,v 1.8 2009/09/19 16:28:09 christos Exp $ 5678# T602 editor documents 5679# by David Necas <yeti@physics.muni.cz> 56800 string @CT\ T602 document data, 5681>4 string 0 Kamenicky 5682>4 string 1 CP 852 5683>4 string 2 KOI8-CS 5684>4 string >2 unknown encoding 5685 5686# Vi IMproved Encrypted file 5687# by David Necas <yeti@physics.muni.cz> 56880 string VimCrypt~ Vim encrypted file data 5689# Vi IMproved Swap file 5690# by Sven Wegener <swegener@gentoo.org> 56910 string b0VIM\ Vim swap file 5692>&0 string >\0 \b, version %s 5693 5694#------------------------------------------------------------------------------ 5695# $File: efi,v 1.4 2009/09/19 16:28:09 christos Exp $ 5696# efi: file(1) magic for Universal EFI binaries 5697 56980 lelong 0x0ef1fab9 5699>4 lelong 1 Universal EFI binary with 1 architecture 5700>>&0 lelong 7 \b, i386 5701>>&0 lelong 0x01000007 \b, x86_64 5702>4 lelong 2 Universal EFI binary with 2 architectures 5703>>&0 lelong 7 \b, i386 5704>>&0 lelong 0x01000007 \b, x86_64 5705>>&20 lelong 7 \b, i386 5706>>&20 lelong 0x01000007 \b, x86_64 5707>4 lelong >2 Universal EFI binary with %ld architectures 5708 5709#------------------------------------------------------------------------------ 5710# $File: elf,v 1.64 2013/08/04 09:31:47 christos Exp $ 5711# elf: file(1) magic for ELF executables 5712# 5713# We have to check the byte order flag to see what byte order all the 5714# other stuff in the header is in. 5715# 5716# What're the correct byte orders for the nCUBE and the Fujitsu VPP500? 5717# 5718# Created by: unknown 5719# Modified by (1): Daniel Quinlan <quinlan@yggdrasil.com> 5720# Modified by (2): Peter Tobias <tobias@server.et-inf.fho-emden.de> (core support) 5721# Modified by (3): Christian 'Dr. Disk' Hechelmann <drdisk@ds9.au.s.shuttle.de> (fix of core support) 5722# Modified by (4): <gerardo.cacciari@gmail.com> (VMS Itanium) 5723# Modified by (5): Matthias Urlichs <smurf@debian.org> (Listing of many architectures) 5724 57250 name elf-le 5726>16 leshort 0 no file type, 5727!:mime application/octet-stream 5728>16 leshort 1 relocatable, 5729!:mime application/x-object 5730>16 leshort 2 executable, 5731!:mime application/x-executable 5732>16 leshort 3 shared object, 5733!:mime application/x-sharedlib 5734>16 leshort 4 core file 5735!:mime application/x-coredump 5736# Core file detection is not reliable. 5737#>>>(0x38+0xcc) string >\0 of '%s' 5738#>>>(0x38+0x10) lelong >0 (signal %d), 5739>16 leshort &0xff00 processor-specific, 5740>18 clear x 5741>18 leshort 0 no machine, 5742>18 leshort 1 AT&T WE32100 5743>18 leshort 2 SPARC 5744>18 leshort 3 Intel 80386, 5745>18 leshort 4 Motorola 5746>>4 byte 1 5747>>>36 lelong &0x01000000 68000, 5748>>>36 lelong &0x00810000 CPU32, 5749>>>36 lelong 0 68020, 5750>18 leshort 5 Motorola 88000, 5751>18 leshort 6 Intel 80486, 5752>18 leshort 7 Intel 80860, 5753# The official e_machine number for MIPS is now #8, regardless of endianness. 5754# The second number (#10) will be deprecated later. For now, we still 5755# say something if #10 is encountered, but only gory details for #8. 5756>18 leshort 8 MIPS, 5757>>4 byte 1 5758>>>36 lelong &0x20 N32 5759>18 leshort 10 MIPS, 5760>>4 byte 1 5761>>>36 lelong &0x20 N32 5762>18 leshort 8 5763# only for 32-bit 5764>>4 byte 1 5765>>>36 lelong&0xf0000000 0x00000000 MIPS-I 5766>>>36 lelong&0xf0000000 0x10000000 MIPS-II 5767>>>36 lelong&0xf0000000 0x20000000 MIPS-III 5768>>>36 lelong&0xf0000000 0x30000000 MIPS-IV 5769>>>36 lelong&0xf0000000 0x40000000 MIPS-V 5770>>>36 lelong&0xf0000000 0x50000000 MIPS32 5771>>>36 lelong&0xf0000000 0x60000000 MIPS64 5772>>>36 lelong&0xf0000000 0x70000000 MIPS32 rel2 5773>>>36 lelong&0xf0000000 0x80000000 MIPS64 rel2 5774# only for 64-bit 5775>>4 byte 2 5776>>>48 lelong&0xf0000000 0x00000000 MIPS-I 5777>>>48 lelong&0xf0000000 0x10000000 MIPS-II 5778>>>48 lelong&0xf0000000 0x20000000 MIPS-III 5779>>>48 lelong&0xf0000000 0x30000000 MIPS-IV 5780>>>48 lelong&0xf0000000 0x40000000 MIPS-V 5781>>>48 lelong&0xf0000000 0x50000000 MIPS32 5782>>>48 lelong&0xf0000000 0x60000000 MIPS64 5783>>>48 lelong&0xf0000000 0x70000000 MIPS32 rel2 5784>>>48 lelong&0xf0000000 0x80000000 MIPS64 rel2 5785>18 leshort 9 Amdahl, 5786>18 leshort 10 MIPS (deprecated), 5787>18 leshort 11 RS6000, 5788>18 leshort 15 PA-RISC, 5789# only for 32-bit 5790>>4 byte 1 5791>>>38 leshort 0x0214 2.0 5792>>>36 leshort &0x0008 (LP64) 5793# only for 64-bit 5794>>4 byte 2 5795>>>50 leshort 0x0214 2.0 5796>>>48 leshort &0x0008 (LP64) 5797>18 leshort 16 nCUBE, 5798>18 leshort 17 Fujitsu VPP500, 5799>18 leshort 18 SPARC32PLUS, 5800# only for 32-bit 5801>>4 byte 1 5802>>>36 lelong&0xffff00 0x000100 V8+ Required, 5803>>>36 lelong&0xffff00 0x000200 Sun UltraSPARC1 Extensions Required, 5804>>>36 lelong&0xffff00 0x000400 HaL R1 Extensions Required, 5805>>>36 lelong&0xffff00 0x000800 Sun UltraSPARC3 Extensions Required, 5806>18 leshort 20 PowerPC or cisco 4500, 5807>18 leshort 21 64-bit PowerPC or cisco 7500, 5808>18 leshort 22 IBM S/390, 5809>18 leshort 23 Cell SPU, 5810>18 leshort 24 cisco SVIP, 5811>18 leshort 25 cisco 7200, 5812>18 leshort 36 NEC V800 or cisco 12000, 5813>18 leshort 37 Fujitsu FR20, 5814>18 leshort 38 TRW RH-32, 5815>18 leshort 39 Motorola RCE, 5816>18 leshort 40 ARM, 5817>>4 byte 1 5818>>>36 lelong&0xff000000 0x04000000 EABI4 5819>>>36 lelong&0xff000000 0x05000000 EABI5 5820>>>36 lelong &0x00800000 BE8 5821>>>36 lelong &0x00400000 LE8 5822>18 leshort 41 Alpha, 5823>18 leshort 0xa390 IBM S/390 (obsolete), 5824>18 leshort 42 Renesas SH, 5825>18 leshort 43 SPARC V9, 5826>>4 byte 2 5827>>>48 lelong&0xffff00 0x000200 Sun UltraSPARC1 Extensions Required, 5828>>>48 lelong&0xffff00 0x000400 HaL R1 Extensions Required, 5829>>>48 lelong&0xffff00 0x000800 Sun UltraSPARC3 Extensions Required, 5830>>>48 lelong&0x3 0 total store ordering, 5831>>>48 lelong&0x3 1 partial store ordering, 5832>>>48 lelong&0x3 2 relaxed memory ordering, 5833>18 leshort 44 Siemens Tricore Embedded Processor, 5834>18 leshort 45 Argonaut RISC Core, Argonaut Technologies Inc., 5835>18 leshort 46 Renesas H8/300, 5836>18 leshort 47 Renesas H8/300H, 5837>18 leshort 48 Renesas H8S, 5838>18 leshort 49 Renesas H8/500, 5839>18 leshort 50 IA-64, 5840>18 leshort 51 Stanford MIPS-X, 5841>18 leshort 52 Motorola Coldfire, 5842>18 leshort 53 Motorola M68HC12, 5843>18 leshort 54 Fujitsu MMA, 5844>18 leshort 55 Siemens PCP, 5845>18 leshort 56 Sony nCPU, 5846>18 leshort 57 Denso NDR1, 5847>18 leshort 58 Start*Core, 5848>18 leshort 59 Toyota ME16, 5849>18 leshort 60 ST100, 5850>18 leshort 61 Tinyj emb., 5851>18 leshort 62 x86-64, 5852>18 leshort 63 Sony DSP, 5853>18 leshort 66 FX66, 5854>18 leshort 67 ST9+ 8/16 bit, 5855>18 leshort 68 ST7 8 bit, 5856>18 leshort 69 MC68HC16, 5857>18 leshort 70 MC68HC11, 5858>18 leshort 71 MC68HC08, 5859>18 leshort 72 MC68HC05, 5860>18 leshort 73 SGI SVx or Cray NV1, 5861>18 leshort 74 ST19 8 bit, 5862>18 leshort 75 Digital VAX, 5863>18 leshort 76 Axis cris, 5864>18 leshort 77 Infineon 32-bit embedded, 5865>18 leshort 78 Element 14 64-bit DSP, 5866>18 leshort 79 LSI Logic 16-bit DSP, 5867>18 leshort 80 MMIX, 5868>18 leshort 81 Harvard machine-independent, 5869>18 leshort 82 SiTera Prism, 5870>18 leshort 83 Atmel AVR 8-bit, 5871>18 leshort 84 Fujitsu FR30, 5872>18 leshort 85 Mitsubishi D10V, 5873>18 leshort 86 Mitsubishi D30V, 5874>18 leshort 87 NEC v850, 5875>18 leshort 88 Renesas M32R, 5876>18 leshort 89 Matsushita MN10300, 5877>18 leshort 90 Matsushita MN10200, 5878>18 leshort 91 picoJava, 5879>18 leshort 92 OpenRISC, 5880>18 leshort 93 ARC Cores Tangent-A5, 5881>18 leshort 94 Tensilica Xtensa, 5882>18 leshort 97 NatSemi 32k, 5883>18 leshort 106 Analog Devices Blackfin, 5884>18 leshort 113 Altera Nios II, 5885>18 beshort 138 LatticeMico32, 5886>18 leshort 174 META, 5887>18 leshort 183 ARM aarch64, 5888>18 leshort 187 Tilera TILE64, 5889>18 leshort 188 Tilera TILEPro, 5890>18 leshort 191 Tilera TILE-Gx, 5891>18 leshort 0x3426 OpenRISC (obsolete), 5892>18 leshort 0x8472 OpenRISC (obsolete), 5893>18 leshort 0x9026 Alpha (unofficial), 5894>18 default x 5895>>18 leshort x *unknown arch 0x%x* 5896>20 lelong 0 invalid version 5897>20 lelong 1 version 1 5898 58990 string \177ELF ELF 5900!:strength *2 5901>4 byte 0 invalid class 5902>4 byte 1 32-bit 5903>4 byte 2 64-bit 5904>5 byte 0 invalid byte order 5905>5 byte 1 LSB 5906>>0 use elf-le 5907>5 byte 2 MSB 5908>>0 use \^elf-le 5909# Up to now only 0, 1 and 2 are defined; I've seen a file with 0x83, it seemed 5910# like proper ELF, but extracting the string had bad results. 5911>4 byte <0x80 5912>>8 string >\0 (%s) 5913>8 string \0 5914>>7 byte 0 (SYSV) 5915>>7 byte 1 (HP-UX) 5916>>7 byte 2 (NetBSD) 5917>>7 byte 3 (GNU/Linux) 5918>>7 byte 4 (GNU/Hurd) 5919>>7 byte 5 (86Open) 5920>>7 byte 6 (Solaris) 5921>>7 byte 7 (Monterey) 5922>>7 byte 8 (IRIX) 5923>>7 byte 9 (FreeBSD) 5924>>7 byte 10 (Tru64) 5925>>7 byte 11 (Novell Modesto) 5926>>7 byte 12 (OpenBSD) 5927>8 string \2 5928>>7 byte 13 (OpenVMS) 5929>>7 byte 97 (ARM) 5930>>7 byte 255 (embedded) 5931 5932#------------------------------------------------------------------------------ 5933# $File: encore,v 1.6 2009/09/19 16:28:09 christos Exp $ 5934# encore: file(1) magic for Encore machines 5935# 5936# XXX - needs to have the byte order specified (NS32K was little-endian, 5937# dunno whether they run the 88K in little-endian mode or not). 5938# 59390 short 0x154 Encore 5940>20 short 0x107 executable 5941>20 short 0x108 pure executable 5942>20 short 0x10b demand-paged executable 5943>20 short 0x10f unsupported executable 5944>12 long >0 not stripped 5945>22 short >0 - version %ld 5946>22 short 0 - 5947#>4 date x stamp %s 59480 short 0x155 Encore unsupported executable 5949>12 long >0 not stripped 5950>22 short >0 - version %ld 5951>22 short 0 - 5952#>4 date x stamp %s 5953 5954#------------------------------------------------------------------------------ 5955# $File: epoc,v 1.9 2013/12/21 14:28:15 christos Exp $ 5956# EPOC : file(1) magic for EPOC documents [Psion Series 5/Osaris/Geofox 1] 5957# Stefan Praszalowicz <hpicollo@worldnet.fr> and Peter Breitenlohner <peb@mppmu.mpg.de> 5958# Useful information for improving this file can be found at: 5959# http://software.frodo.looijaard.name/psiconv/formats/Index.html 5960#------------------------------------------------------------------------------ 59610 lelong 0x10000037 Psion Series 5 5962>4 lelong 0x10000039 font file 5963>4 lelong 0x1000003A printer driver 5964>4 lelong 0x1000003B clipboard 5965>4 lelong 0x10000042 multi-bitmap image 5966!:mime image/x-epoc-mbm 5967>4 lelong 0x1000006A application information file 5968>4 lelong 0x1000006D 5969>>8 lelong 0x1000007D Sketch image 5970!:mime image/x-epoc-sketch 5971>>8 lelong 0x1000007E voice note 5972>>8 lelong 0x1000007F Word file 5973!:mime application/x-epoc-word 5974>>8 lelong 0x10000085 OPL program (TextEd) 5975!:mime application/x-epoc-opl 5976>>8 lelong 0x10000087 Comms settings 5977>>8 lelong 0x10000088 Sheet file 5978!:mime application/x-epoc-sheet 5979>>8 lelong 0x100001C4 EasyFax initialisation file 5980>4 lelong 0x10000073 OPO module 5981!:mime application/x-epoc-opo 5982>4 lelong 0x10000074 OPL application 5983!:mime application/x-epoc-app 5984>4 lelong 0x1000008A exported multi-bitmap image 5985>4 lelong 0x1000016D 5986>>8 lelong 0x10000087 Comms names 5987 59880 lelong 0x10000041 Psion Series 5 ROM multi-bitmap image 5989 59900 lelong 0x10000050 Psion Series 5 5991>4 lelong 0x1000006D database 5992>>8 lelong 0x10000084 Agenda file 5993!:mime application/x-epoc-agenda 5994>>8 lelong 0x10000086 Data file 5995!:mime application/x-epoc-data 5996>>8 lelong 0x10000CEA Jotter file 5997!:mime application/x-epoc-jotter 5998>4 lelong 0x100000E4 ini file 5999 60000 lelong 0x10000079 Psion Series 5 binary: 6001>4 lelong 0x00000000 DLL 6002>4 lelong 0x10000049 comms hardware library 6003>4 lelong 0x1000004A comms protocol library 6004>4 lelong 0x1000005D OPX 6005>4 lelong 0x1000006C application 6006>4 lelong 0x1000008D DLL 6007>4 lelong 0x100000AC logical device driver 6008>4 lelong 0x100000AD physical device driver 6009>4 lelong 0x100000E5 file transfer protocol 6010>4 lelong 0x100000E5 file transfer protocol 6011>4 lelong 0x10000140 printer definition 6012>4 lelong 0x10000141 printer definition 6013 60140 lelong 0x1000007A Psion Series 5 executable 6015 6016#------------------------------------------------------------------------------ 6017# $File: erlang,v 1.6 2010/09/20 19:19:17 rrt Exp $ 6018# erlang: file(1) magic for Erlang JAM and BEAM files 6019# URL: http://www.erlang.org/faq/x779.html#AEN812 6020 6021# OTP R3-R4 60220 string \0177BEAM! Old Erlang BEAM file 6023>6 short >0 - version %d 6024 6025# OTP R5 and onwards 60260 string FOR1 6027>8 string BEAM Erlang BEAM file 6028 6029# 4.2 version may have a copyright notice! 60304 string Tue\ Jan\ 22\ 14:32:44\ MET\ 1991 Erlang JAM file - version 4.2 603179 string Tue\ Jan\ 22\ 14:32:44\ MET\ 1991 Erlang JAM file - version 4.2 6032 60334 string 1.0\ Fri\ Feb\ 3\ 09:55:56\ MET\ 1995 Erlang JAM file - version 4.3 6034 60350 bequad 0x0000000000ABCDEF Erlang DETS file 6036 6037#------------------------------------------------------------------------------ 6038# $File: esri,v 1.4 2009/09/19 16:28:09 christos Exp $ 6039# ESRI Shapefile format (.shp .shx .dbf=DBaseIII) 6040# Based on info from 6041# <URL:http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf> 60420 belong 9994 ESRI Shapefile 6043>4 belong =0 6044>8 belong =0 6045>12 belong =0 6046>16 belong =0 6047>20 belong =0 6048>28 lelong x version %d 6049>24 belong x length %d 6050>32 lelong =0 type Null Shape 6051>32 lelong =1 type Point 6052>32 lelong =3 type PolyLine 6053>32 lelong =5 type Polygon 6054>32 lelong =8 type MultiPoint 6055>32 lelong =11 type PointZ 6056>32 lelong =13 type PolyLineZ 6057>32 lelong =15 type PolygonZ 6058>32 lelong =18 type MultiPointZ 6059>32 lelong =21 type PointM 6060>32 lelong =23 type PolyLineM 6061>32 lelong =25 type PolygonM 6062>32 lelong =28 type MultiPointM 6063>32 lelong =31 type MultiPatch 6064 6065#------------------------------------------------------------------------------ 6066# $File: fcs,v 1.4 2009/09/19 16:28:09 christos Exp $ 6067# fcs: file(1) magic for FCS (Flow Cytometry Standard) data files 6068# From Roger Leigh <roger@whinlatter.uklinux.net> 60690 string FCS1.0 Flow Cytometry Standard (FCS) data, version 1.0 60700 string FCS2.0 Flow Cytometry Standard (FCS) data, version 2.0 60710 string FCS3.0 Flow Cytometry Standard (FCS) data, version 3.0 6072 6073#------------------------------------------------------------------------------ 6074# $File: filesystems,v 1.85 2013/11/19 23:54:05 christos Exp $ 6075# filesystems: file(1) magic for different filesystems 6076# 60770 name partid 6078>0 ubyte 0x00 Unused 6079>0 ubyte 0x01 12-bit FAT 6080>0 ubyte 0x02 XENIX / 6081>0 ubyte 0x03 XENIX /usr 6082>0 ubyte 0x04 16-bit FAT, less than 32M 6083>0 ubyte 0x05 extended partition 6084>0 ubyte 0x06 16-bit FAT, more than 32M 6085>0 ubyte 0x07 OS/2 HPFS, NTFS, QNX2, Adv. UNIX 6086>0 ubyte 0x08 AIX or os, or etc. 6087>0 ubyte 0x09 AIX boot partition or Coherent 6088>0 ubyte 0x0a O/2 boot manager or Coherent swap 6089>0 ubyte 0x0b 32-bit FAT 6090>0 ubyte 0x0c 32-bit FAT, LBA-mapped 6091>0 ubyte 0x0d 7XXX, LBA-mapped 6092>0 ubyte 0x0e 16-bit FAT, LBA-mapped 6093>0 ubyte 0x0f extended partition, LBA-mapped 6094>0 ubyte 0x10 OPUS 6095>0 ubyte 0x11 OS/2 DOS 12-bit FAT 6096>0 ubyte 0x12 Compaq diagnostics 6097>0 ubyte 0x14 OS/2 DOS 16-bit FAT <32M 6098>0 ubyte 0x16 OS/2 DOS 16-bit FAT >=32M 6099>0 ubyte 0x17 OS/2 hidden IFS 6100>0 ubyte 0x18 AST Windows swapfile 6101>0 ubyte 0x19 Willowtech Photon coS 6102>0 ubyte 0x1b hidden win95 fat 32 6103>0 ubyte 0x1c hidden win95 fat 32 lba 6104>0 ubyte 0x1d hidden win95 fat 16 lba 6105>0 ubyte 0x20 Willowsoft OFS1 6106>0 ubyte 0x21 reserved 6107>0 ubyte 0x23 reserved 6108>0 ubyte 0x24 NEC DOS 6109>0 ubyte 0x26 reserved 6110>0 ubyte 0x31 reserved 6111>0 ubyte 0x32 Alien Internet Services NOS 6112>0 ubyte 0x33 reserved 6113>0 ubyte 0x34 reserved 6114>0 ubyte 0x35 JFS on OS2 6115>0 ubyte 0x36 reserved 6116>0 ubyte 0x38 Theos 6117>0 ubyte 0x39 Plan 9, or Theos spanned 6118>0 ubyte 0x3a Theos ver 4 4gb partition 6119>0 ubyte 0x3b Theos ve 4 extended partition 6120>0 ubyte 0x3c PartitionMagic recovery 6121>0 ubyte 0x3d Hidden Netware 6122>0 ubyte 0x40 VENIX 286 or LynxOS 6123>0 ubyte 0x41 PReP 6124>0 ubyte 0x42 linux swap sharing DRDOS disk 6125>0 ubyte 0x43 linux sharing DRDOS disk 6126>0 ubyte 0x44 GoBack change utility 6127>0 ubyte 0x45 Boot US Boot manager 6128>0 ubyte 0x46 EUMEL/Elan or Ergos 3 6129>0 ubyte 0x47 EUMEL/Elan or Ergos 3 6130>0 ubyte 0x48 EUMEL/Elan or Ergos 3 6131>0 ubyte 0x4a ALFX/THIN filesystem for DOS 6132>0 ubyte 0x4c Oberon partition 6133>0 ubyte 0x4d QNX4.x 6134>0 ubyte 0x4e QNX4.x 2nd part 6135>0 ubyte 0x4f QNX4.x 3rd part 6136>0 ubyte 0x50 DM (disk manager) 6137>0 ubyte 0x51 DM6 Aux1 (or Novell) 6138>0 ubyte 0x52 CP/M or Microport SysV/AT 6139>0 ubyte 0x53 DM6 Aux3 6140>0 ubyte 0x54 DM6 DDO 6141>0 ubyte 0x55 EZ-Drive (disk manager) 6142>0 ubyte 0x56 Golden Bow (disk manager) 6143>0 ubyte 0x57 Drive PRO 6144>0 ubyte 0x5c Priam Edisk (disk manager) 6145>0 ubyte 0x61 SpeedStor 6146>0 ubyte 0x63 GNU HURD or Mach or Sys V/386 6147>0 ubyte 0x64 Novell Netware 2.xx or Speedstore 6148>0 ubyte 0x65 Novell Netware 3.xx 6149>0 ubyte 0x66 Novell 386 Netware 6150>0 ubyte 0x67 Novell 6151>0 ubyte 0x68 Novell 6152>0 ubyte 0x69 Novell 6153>0 ubyte 0x70 DiskSecure Multi-Boot 6154>0 ubyte 0x71 reserved 6155>0 ubyte 0x73 reserved 6156>0 ubyte 0x74 reserved 6157>0 ubyte 0x75 PC/IX 6158>0 ubyte 0x76 reserved 6159>0 ubyte 0x77 M2FS/M2CS partition 6160>0 ubyte 0x78 XOSL boot loader filesystem 6161>0 ubyte 0x80 MINIX until 1.4a 6162>0 ubyte 0x81 MINIX since 1.4b 6163>0 ubyte 0x82 Linux swap or Solaris 6164>0 ubyte 0x83 Linux native 6165>0 ubyte 0x84 OS/2 hidden C: drive 6166>0 ubyte 0x85 Linux extended partition 6167>0 ubyte 0x86 NT FAT volume set 6168>0 ubyte 0x87 NTFS volume set or HPFS mirrored 6169>0 ubyte 0x8a Linux Kernel AiR-BOOT partition 6170>0 ubyte 0x8b Legacy Fault tolerant FAT32 6171>0 ubyte 0x8c Legacy Fault tolerant FAT32 ext 6172>0 ubyte 0x8d Hidden free FDISK FAT12 6173>0 ubyte 0x8e Linux Logical Volume Manager 6174>0 ubyte 0x90 Hidden free FDISK FAT16 6175>0 ubyte 0x91 Hidden free FDISK DOS EXT 6176>0 ubyte 0x92 Hidden free FDISK FAT16 Big 6177>0 ubyte 0x93 Amoeba filesystem 6178>0 ubyte 0x94 Amoeba bad block table 6179>0 ubyte 0x95 MIT EXOPC native partitions 6180>0 ubyte 0x97 Hidden free FDISK FAT32 6181>0 ubyte 0x98 Datalight ROM-DOS Super-Boot 6182>0 ubyte 0x99 Mylex EISA SCSI 6183>0 ubyte 0x9a Hidden free FDISK FAT16 LBA 6184>0 ubyte 0x9b Hidden free FDISK EXT LBA 6185>0 ubyte 0x9f BSDI? 6186>0 ubyte 0xa0 IBM Thinkpad hibernation 6187>0 ubyte 0xa1 HP Volume expansion (SpeedStor) 6188>0 ubyte 0xa3 HP Volume expansion (SpeedStor) 6189>0 ubyte 0xa4 HP Volume expansion (SpeedStor) 6190>0 ubyte 0xa5 386BSD partition type 6191>0 ubyte 0xa6 OpenBSD partition type 6192>0 ubyte 0xa7 NeXTSTEP 486 6193>0 ubyte 0xa8 Apple UFS 6194>0 ubyte 0xa9 NetBSD partition type 6195>0 ubyte 0xaa Olivetty Fat12 1.44MB Service part 6196>0 ubyte 0xab Apple Boot 6197>0 ubyte 0xae SHAG OS filesystem 6198>0 ubyte 0xaf Apple HFS 6199>0 ubyte 0xb0 BootStar Dummy 6200>0 ubyte 0xb1 reserved 6201>0 ubyte 0xb3 reserved 6202>0 ubyte 0xb4 reserved 6203>0 ubyte 0xb6 reserved 6204>0 ubyte 0xb7 BSDI BSD/386 filesystem 6205>0 ubyte 0xb8 BSDI BSD/386 swap 6206>0 ubyte 0xbb Boot Wizard Hidden 6207>0 ubyte 0xbe Solaris 8 partition type 6208>0 ubyte 0xbf Solaris partition type 6209>0 ubyte 0xc0 CTOS 6210>0 ubyte 0xc1 DRDOS/sec (FAT-12) 6211>0 ubyte 0xc2 Hidden Linux 6212>0 ubyte 0xc3 Hidden Linux swap 6213>0 ubyte 0xc4 DRDOS/sec (FAT-16, < 32M) 6214>0 ubyte 0xc5 DRDOS/sec (EXT) 6215>0 ubyte 0xc6 DRDOS/sec (FAT-16, >= 32M) 6216>0 ubyte 0xc7 Syrinx (Cyrnix?) or HPFS disabled 6217>0 ubyte 0xc8 Reserved for DR-DOS 8.0+ 6218>0 ubyte 0xc9 Reserved for DR-DOS 8.0+ 6219>0 ubyte 0xca Reserved for DR-DOS 8.0+ 6220>0 ubyte 0xcb DR-DOS 7.04+ Secured FAT32 CHS 6221>0 ubyte 0xcc DR-DOS 7.04+ Secured FAT32 LBA 6222>0 ubyte 0xcd CTOS Memdump 6223>0 ubyte 0xce DR-DOS 7.04+ FAT16X LBA 6224>0 ubyte 0xcf DR-DOS 7.04+ EXT LBA 6225>0 ubyte 0xd0 REAL/32 secure big partition 6226>0 ubyte 0xd1 Old Multiuser DOS FAT12 6227>0 ubyte 0xd4 Old Multiuser DOS FAT16 Small 6228>0 ubyte 0xd5 Old Multiuser DOS Extended 6229>0 ubyte 0xd6 Old Multiuser DOS FAT16 Big 6230>0 ubyte 0xd8 CP/M 86 6231>0 ubyte 0xdb CP/M or Concurrent CP/M 6232>0 ubyte 0xdd Hidden CTOS Memdump 6233>0 ubyte 0xde Dell PowerEdge Server utilities 6234>0 ubyte 0xdf DG/UX virtual disk manager 6235>0 ubyte 0xe0 STMicroelectronics ST AVFS 6236>0 ubyte 0xe1 DOS access or SpeedStor 12-bit 6237>0 ubyte 0xe3 DOS R/O or Storage Dimensions 6238>0 ubyte 0xe4 SpeedStor 16-bit FAT < 1024 cyl. 6239>0 ubyte 0xe5 reserved 6240>0 ubyte 0xe6 reserved 6241>0 ubyte 0xeb BeOS 6242>0 ubyte 0xee GPT Protective MBR 6243>0 ubyte 0xef EFI system partition 6244>0 ubyte 0xf0 Linux PA-RISC boot loader 6245>0 ubyte 0xf1 SpeedStor or Storage Dimensions 6246>0 ubyte 0xf2 DOS 3.3+ Secondary 6247>0 ubyte 0xf3 reserved 6248>0 ubyte 0xf4 SpeedStor large partition 6249>0 ubyte 0xf5 Prologue multi-volumen partition 6250>0 ubyte 0xf6 reserved 6251>0 ubyte 0xf9 pCache: ext2/ext3 persistent cache 6252>0 ubyte 0xfa Bochs x86 emulator 6253>0 ubyte 0xfb VMware File System 6254>0 ubyte 0xfc VMware Swap 6255>0 ubyte 0xfd Linux RAID partition persistent sb 6256>0 ubyte 0xfe LANstep or IBM PS/2 IML 6257>0 ubyte 0xff Xenix Bad Block Table 6258 62590 string \366\366\366\366 PC formatted floppy with no filesystem 6260# Sun disk labels 6261# From /usr/include/sun/dklabel.h: 62620774 beshort 0xdabe 6263# modified by Joerg Jenderek, because original test 6264# succeeds for Cabinet archive dao360.dl_ with negative blocks 6265>0770 long >0 Sun disk label 6266>>0 string x '%s 6267>>>31 string >\0 \b%s 6268>>>>63 string >\0 \b%s 6269>>>>>95 string >\0 \b%s 6270>>0 string x \b' 6271>>0734 short >0 %d rpm, 6272>>0736 short >0 %d phys cys, 6273>>0740 short >0 %d alts/cyl, 6274>>0746 short >0 %d interleave, 6275>>0750 short >0 %d data cyls, 6276>>0752 short >0 %d alt cyls, 6277>>0754 short >0 %d heads/partition, 6278>>0756 short >0 %d sectors/track, 6279>>0764 long >0 start cyl %ld, 6280>>0770 long x %ld blocks 6281# Is there a boot block written 1 sector in? 6282>512 belong&077777777 0600407 \b, boot block present 6283 6284# Joerg Jenderek: Smart Boot Manager backup file is 25 (MSDOS) or 41 (LINUX) byte header + first sectors of disk 6285# (http://btmgr.sourceforge.net/docs/user-guide-3.html) 62860 string SBMBAKUP_ Smart Boot Manager backup file 6287>9 string x \b, version %-5.5s 6288>>14 string =_ 6289>>>15 string x %-.1s 6290>>>>16 string =_ \b. 6291>>>>>17 string x \b%-.1s 6292>>>>>>18 string =_ \b. 6293>>>>>>>19 string x \b%-.1s 6294>>>22 ubyte 0 6295>>>>21 ubyte x \b, from drive 0x%x 6296>>>22 ubyte >0 6297>>>>21 string x \b, from drive %s 6298>>>535 search/17 \x55\xAA 6299>>>>&-512 indirect x \b; contains 6300 6301# updated by Joerg Jenderek at Nov 2012 6302# DOS Emulator image is 128 byte, null right padded header + harddisc image 63030 string DOSEMU\0 6304>0x27E leshort 0xAA55 6305#offset is 128 6306>>19 ubyte 128 6307>>>(19.b-1) ubyte 0x0 DOS Emulator image 6308>>>>7 ulelong >0 \b, %u heads 6309>>>>11 ulelong >0 \b, %d sectors/track 6310>>>>15 ulelong >0 \b, %d cylinders 6311>>>>128 indirect x \b; contains 6312 6313# added by Joerg Jenderek at Nov 2012 6314# http://www.thenakedpc.com/articles/v04/08/0408-05.html 6315# Symantec (Peter Norton) Image.dat file consists of variable header, bootrecord, part of FAT and root directory data 63160 string PNCIHISK\0 Norton Utilities disc image data 6317# real x86 boot sector with jump instruction 6318>509 search/1026 \x55\xAA\xeb 6319>>&-1 indirect x \b; contains 6320# http://file-extension.net/seeker/file_extension_dat 63210 string PNCIUNDO Norton Disk Doctor UnDo file 6322# 6323 6324# DOS/MBR boot sector updated by Joerg Jenderek at Sep 2007,May 2011 6325# for any allowed sector sizes 632630 search/481 \x55\xAA 6327# to display DOS/MBR boot sector (40) before old one (strength=50+21),Syslinux bootloader (71),SYSLINUX MBR (37+36),NetBSD mbr (110),AdvanceMAME mbr (111) 6328# DOS BPB information (70) and after DOS floppy (120) like in previous file version 6329!:strength +72 6330# for sector sizes < 512 Bytes 6331>11 uleshort <512 6332>>(11.s-2) uleshort 0xAA55 DOS/MBR boot sector 6333# for sector sizes with 512 or more Bytes 6334>0x1FE leshort 0xAA55 DOS/MBR boot sector 6335# keep old DOS/MBR boot sector as dummy for mbr and bootloader displaying 6336# only for sector sizes with 512 or more Bytes 63370x1FE leshort 0xAA55 DOS/MBR boot sector 6338!:strength +72 6339# to display information (50) before DOS BPB (strength=70) and after DOS floppy (120) like in old file version 6340#!:strength +21 6341>2 string OSBS \b, OS/BS MBR 6342# added by Joerg Jenderek at Feb 2013 according to http://thestarman.pcministry.com/asm/mbr/ 6343# and http://en.wikipedia.org/wiki/Master_Boot_Record 6344# test for nearly all MS-DOS Master Boot Record initial program loader (IPL) is now done by 6345# characteristic assembler instructions: xor ax,ax;mov ss,ax;mov sp,7c00 6346>0 search/2 \x33\xc0\x8e\xd0\xbc\x00\x7c MS-MBR 6347# Microsoft Windows 95A and early ( http://thestarman.pcministry.com/asm/mbr/STDMBR.htm ) 6348# assembler instructions: mov si,sp;push ax;pop es;push ax;pop ds;sti;cld 6349>>8 ubequad 0x8bf45007501ffbfc 6350# http://thestarman.pcministry.com/asm/mbr/200MBR.htm 6351>>>0x16 ubyte 0xF3 \b,DOS 2 6352>>>>219 regex Author\ -\ Author: 6353# found "David Litton" , "A Pehrsson " 6354>>>>>&0 string x "%s" 6355>>>0x16 ubyte 0xF2 6356# NEC MS-DOS 3.30 Rev. 3 . See http://thestarman.pcministry.com/asm/mbr/DOS33MBR.htm 6357# assembler instructions: mov di,077c;cmp word ptrl[di],a55a;jnz 6358>>>>0x22 ubequad 0xbf7c07813d5aa575 \b,NEC 3.3 6359# version MS-DOS 3.30 til MS-Windows 95A (WinVer=4.00.1111) 6360>>>>0x22 default x \b,D0S version 3.3-7.0 6361# error messages are printed by assembler instructions: mov si,06nn;...;int 10 (0xBEnn06;...) 6362# where nn is string offset varying for different languages 6363# "Invalid partition table" nn=0x8b for english version 6364>>>>>(0x49.b) string Invalid\ partition\ table english 6365>>>>>(0x49.b) string Ung\201ltige\ Partitionstabelle german 6366>>>>>(0x49.b) string Table\ de\ partition\ invalide french 6367>>>>>(0x49.b) string Tabela\ de\ parti\207ao\ inv\240lida portuguese 6368>>>>>(0x49.b) string Tabla\ de\ partici\242n\ no\ v\240lida spanish 6369>>>>>(0x49.b) string Tavola\ delle\ partizioni\ non\ valida italian 6370>>>>>0x49 ubyte >0 at offset 0x%x 6371>>>>>>(0x49.b) string >\0 "%s" 6372# "Error loading operating system" nn=0xa3 for english version 6373# "Fehler beim Laden des Betriebssystems" nn=0xa7 for german version 6374# "Erreur en chargeant syst\212me d'exploitation" nn=0xa7 for french version 6375# "Erro na inicializa\207ao do sistema operacional" nn=0xa7 for portuguese Brazilian version 6376# "Error al cargar sistema operativo" nn=0xa8 for spanish version 6377# "Errore durante il caricamento del sistema operativo" nn=0xae for italian version 6378>>>>>0x74 ubyte >0 at offset 0x%x 6379>>>>>>(0x74.b) string >\0 "%s" 6380# "Missing operating system" nn=0xc2 for english version 6381# "Betriebssystem fehlt" nn=0xcd for german version 6382# "Syst\212me d'exploitation absent" nn=0xd2 for french version 6383# "Sistema operacional nao encontrado" nn=0xd4 for portuguese Brazilian version 6384# "Falta sistema operativo" nn=0xca for spanish version 6385# "Sistema operativo mancante" nn=0xe2 for italian version 6386>>>>>0x79 ubyte >0 at offset 0x%x 6387>>>>>>(0x79.b) string >\0 "%s" 6388# Microsoft Windows 95B to XP (http://thestarman.pcministry.com/asm/mbr/95BMEMBR.htm) 6389# assembler instructions: push ax;pop es;push ax;pop ds;cld;mov si,7c1b 6390>>8 ubequad 0x5007501ffcbe1b7c 6391# assembler instructions: rep;movsb;retf;mov si,07be;mov cl,04 6392>>>24 ubequad 0xf3a4cbbebe07b104 9M 6393# "Invalid partition table" nn=0x10F for english version 6394# "Ungültige Partitionstabelle" nn=0x10F for german version 6395# "Table de partition erronée" nn=0x10F for french version 6396# "\216\257\245\340\240\346\250\256\255\255\240\357 \341\250\341\342\245\254\240 \255\245 \255\240\251\244\245\255\240" nn=0x10F for russian version 6397>>>>(0x3C.b+0x0FF) string Invalid\ partition\ table english 6398>>>>(0x3C.b+0x0FF) string Ung\201ltige\ Partitionstabelle german 6399>>>>(0x3C.b+0x0FF) string Table\ de\ partition\ erron\202e french 6400>>>>(0x3C.b+0x0FF) string \215\245\257\340\240\242\250\253\354\255\240\357\ \342\240\241\253\250\346\240 russian 6401>>>>0x3C ubyte x at offset 0x%x+0xFF 6402>>>>(0x3C.b+0x0FF) string >\0 "%s" 6403# "Error loading operating system" nn=0x127 for english version 6404# "Fehler beim Laden des Betriebssystems" nn=0x12b for german version 6405# "Erreur lors du chargement du système d'exploitation" nn=0x12a for french version 6406# "\216\350\250\241\252\240 \257\340\250 \247\240\243\340\343\247\252\245 \256\257\245\340\240\346\250\256\255\255\256\251 \341\250\341\342\245\254\353" nn=0x12d for russian version 6407>>>>0xBD ubyte x at offset 0x1%x 6408>>>>(0xBD.b+0x100) string >\0 "%s" 6409# "Missing operating system" nn=0x146 for english version 6410# "Betriebssystem fehlt" nn=0x151 for german version 6411# "Système d'exploitation manquant" nn=0x15e for french version 6412# "\216\257\245\340\240\346\250\256\255\255\240\357 \341\250\341\342\245\254\240 \255\245 \255\240\251\244\245\255\240" nn=0x156 for russian version 6413>>>>0xA9 ubyte x at offset 0x1%x 6414>>>>(0xA9.b+0x100) string >\0 "%s" 6415# http://thestarman.pcministry.com/asm/mbr/Win2kmbr.htm 6416# assembler instructions: rep;movsb;retf;mov BP,07be;mov cl,04 6417>>>24 ubequad 0xf3a4cbbdbe07b104 XP 6418# where xxyyzz are lower bits from offsets of error messages varying for different languages 6419>>>>0x1B4 ubelong&0x00FFFFFF 0x002c4463 english 6420>>>>0x1B4 ubelong&0x00FFFFFF 0x002c486e german 6421# "Invalid partition table" xx=0x12C for english version 6422# "Ungültige Partitionstabelle" xx=0x12C for german version 6423>>>>0x1b5 ubyte >0 at offset 0x1%x 6424>>>>(0x1b5.b+0x100) string >\0 "%s" 6425# "Error loading operating system" yy=0x144 for english version 6426# "Fehler beim Laden des Betriebssystems" yy=0x148 for german version 6427>>>>0x1b6 ubyte >0 at offset 0x1%x 6428>>>>(0x1b6.b+0x100) string >\0 "%s" 6429# "Missing operating system" zz=0x163 for english version 6430# "Betriebssystem nicht vorhanden" zz=0x16e for german version 6431>>>>0x1b7 ubyte >0 at offset 0x1%x 6432>>>>(0x1b7.b+0x100) string >\0 "%s" 6433# Microsoft Windows Vista or 7 6434# assembler instructions: ..;mov ds,ax;mov si,7c00;mov di,..00 6435>>8 ubequad 0xc08ed8be007cbf00 6436# Microsoft Windows Vista (http://thestarman.pcministry.com/asm/mbr/VistaMBR.htm) 6437# assembler instructions: jnz 0729;cmp ebx,"TCPA" 6438>>>0xEC ubequad 0x753b6681fb544350 Vista 6439# where xxyyzz are lower bits from offsets of error messages varying for different languages 6440>>>>0x1B4 ubelong&0x00FFFFFF 0x00627a99 english 6441#>>>>0x1B4 ubelong&0x00FFFFFF ? german 6442# "Invalid partition table" xx=0x162 for english version 6443# "Ungültige Partitionstabelle" xx=0x1?? for german version 6444>>>>0x1b5 ubyte >0 at offset 0x1%x 6445>>>>(0x1b5.b+0x100) string >\0 "%s" 6446# "Error loading operating system" yy=0x17a for english version 6447# "Fehler beim Laden des Betriebssystems" yy= 0x1?? for german version 6448>>>>0x1b6 ubyte >0 at offset 0x1%x 6449>>>>(0x1b6.b+0x100) string >\0 "%s" 6450# "Missing operating system" zz=0x199 for english version 6451# "Betriebssystem nicht vorhanden" zz=0x1?? for german version 6452>>>>0x1b7 ubyte >0 at offset 0x1%x 6453>>>>(0x1b7.b+0x100) string >\0 "%s" 6454# Microsoft Windows 7 (http://thestarman.pcministry.com/asm/mbr/W7MBR.htm) 6455# assembler instructions: cmp ebx,"TCPA";cmp 6456>>>0xEC ubequad 0x6681fb5443504175 Windows 7 6457# where xxyyzz are lower bits from offsets of error messages varying for different languages 6458>>>>0x1B4 ubelong&0x00FFFFFF 0x00637b9a english 6459#>>>>0x1B4 ubelong&0x00FFFFFF ? german 6460# "Invalid partition table" xx=0x163 for english version 6461# "Ungültige Partitionstabelle" xx=0x1?? for german version 6462>>>>0x1b5 ubyte >0 at offset 0x1%x 6463>>>>(0x1b5.b+0x100) string >\0 "%s" 6464# "Error loading operating system" yy=0x17b for english version 6465# "Fehler beim Laden des Betriebssystems" yy=0x1?? for german version 6466>>>>0x1b6 ubyte >0 at offset 0x1%x 6467>>>>(0x1b6.b+0x100) string >\0 "%s" 6468# "Missing operating system" zz=0x19a for english version 6469# "Betriebssystem nicht vorhanden" zz=0x1?? for german version 6470>>>>0x1b7 ubyte >0 at offset 0x1%x 6471>>>>(0x1b7.b+0x100) string >\0 "%s" 6472# http://thestarman.pcministry.com/asm/mbr/Win2kmbr.htm#DiskSigs 6473# http://en.wikipedia.org/wiki/MBR_disk_signature#ID 6474>>0x1b8 ulelong >0 \b, disk signature 0x%-.4x 6475# driveID/timestamp for Win 95B,98,98SE and ME. See http://thestarman.pcministry.com/asm/mbr/mystery.htm 6476>>0xDA uleshort 0 6477>>>0xDC ulelong >0 \b, created 6478# physical drive number (0x80-0xFF) when the Windows wrote that byte to the drive 6479>>>>0xDC ubyte x with driveID 0x%x 6480# hours, minutes and seconds 6481>>>>0xDf ubyte x at %x 6482>>>>0xDe ubyte x \b:%x 6483>>>>0xDd ubyte x \b:%x 6484# special case for Microsoft MS-DOS 3.21 spanish 6485# assembler instructions: cli;mov $0x30,%ax;mov %ax,%ss;mov 6486>0 ubequad 0xfab830008ed0bc00 6487# assembler instructions: $0x1f00,%sp;mov $0x80cb,%di;add %cl,(%bx,%si);in (%dx),%ax;mov 6488>>8 ubequad 0x1fbfcb800008ed8 MS-MBR,D0S version 3.21 spanish 6489# Microsoft MBR IPL end 6490 6491# dr-dos with some upper-, lowercase variants 6492>0x9D string Invalid\ partition\ table$ 6493>>181 string No\ Operating\ System$ 6494>>>201 string Operating\ System\ load\ error$ \b, DR-DOS MBR, Version 7.01 to 7.03 6495>0x9D string Invalid\ partition\ table$ 6496>>181 string No\ operating\ system$ 6497>>>201 string Operating\ system\ load\ error$ \b, DR-DOS MBR, Version 7.01 to 7.03 6498>342 string Invalid\ partition\ table$ 6499>>366 string No\ operating\ system$ 6500>>>386 string Operating\ system\ load\ error$ \b, DR-DOS MBR, version 7.01 to 7.03 6501>295 string NEWLDR\0 6502>>302 string Bad\ PT\ $ 6503>>>310 string No\ OS\ $ 6504>>>>317 string OS\ load\ err$ 6505>>>>>329 string Moved\ or\ missing\ IBMBIO.LDR\n\r 6506>>>>>>358 string Press\ any\ key\ to\ continue.\n\r$ 6507>>>>>>>387 string Copyright\ (c)\ 1984,1998 6508>>>>>>>>411 string Caldera\ Inc.\0 \b, DR-DOS MBR (IBMBIO.LDR) 6509# 6510# tests for different MS-DOS Master Boot Records (MBR) moved and merged 6511# 6512#>0x145 string Default:\ F \b, FREE-DOS MBR 6513#>0x14B string Default:\ F \b, FREE-DOS 1.0 MBR 6514>0x145 search/7 Default:\ F \b, FREE-DOS MBR 6515#>>313 string F0\ .\ .\ . 6516#>>>322 string disk\ 1 6517#>>>>382 string FAT3 6518>64 string no\ active\ partition\ found 6519>>96 string read\ error\ while\ reading\ drive \b, FREE-DOS Beta 0.9 MBR 6520# Ranish Partition Manager http://www.ranish.com/part/ 6521>387 search/4 \0\ Error!\r 6522>>378 search/7 Virus! 6523>>>397 search/4 Booting\ 6524>>>>408 search/4 HD1/\0 \b, Ranish MBR ( 6525>>>>>416 string Writing\ changes... \b2.37 6526>>>>>>438 ubyte x \b,0x%x dots 6527>>>>>>440 ubyte >0 \b,virus check 6528>>>>>>441 ubyte >0 \b,partition %c 6529#2.38,2.42,2.44 6530>>>>>416 string !Writing\ changes... \b 6531>>>>>>418 ubyte 1 \bvirus check, 6532>>>>>>419 ubyte x \b0x%x seconds 6533>>>>>>420 ubyte&0x0F >0 \b,partition 6534>>>>>>>420 ubyte&0x0F <5 \b %x 6535>>>>>>>420 ubyte&0x0F 0Xf \b ask 6536>>>>>420 ubyte x \b) 6537# 6538# SYSLINUX MBR moved 6539# http://www.acronis.de/ 6540>362 string MBR\ Error\ \0\r 6541>>376 string ress\ any\ key\ to\ 6542>>>392 string boot\ from\ floppy...\0 \b, Acronis MBR 6543# added by Joerg Jenderek 6544# http://www.visopsys.org/ 6545# http://partitionlogic.org.uk/ 6546>309 string No\ bootable\ partition\ found\r 6547>>339 string I/O\ Error\ reading\ boot\ sector\r \b, Visopsys MBR 6548>349 string No\ bootable\ partition\ found\r 6549>>379 string I/O\ Error\ reading\ boot\ sector\r \b, simple Visopsys MBR 6550# bootloader, bootmanager 6551>0x40 string SBML 6552# label with 11 characters of FAT 12 bit filesystem 6553>>43 string SMART\ BTMGR 6554>>>430 string SBMK\ Bad!\r \b, Smart Boot Manager 6555# OEM-ID not always "SBM" 6556#>>>>3 strings SBM 6557>>>>6 string >\0 \b, version %s 6558>382 string XOSLLOADXCF \b, eXtended Operating System Loader 6559>6 string LILO \b, LInux i386 boot LOader 6560>>120 string LILO \b, version 22.3.4 SuSe 6561>>172 string LILO \b, version 22.5.8 Debian 6562# updated by Joerg Jenderek at Oct 2008 6563# variables according to grub-0.97/stage1/stage1.S or 6564# http://www.gnu.org/software/grub/manual/grub.html#Embedded-data 6565# usual values are marked with comments to get only informations of strange GRUB loaders 6566>342 search/60 \0Geom\0 6567#>0 ulelong x %x=0x009048EB , 0x2a9048EB 0 6568>>0x41 ubyte <2 6569>>>0x3E ubyte >2 \b; GRand Unified Bootloader 6570# 0x3 for 0.5.95,0.93,0.94,0.96 0x4 for 1.90 6571>>>>0x3E ubyte x \b, stage1 version 0x%x 6572#If it is 0xFF, use a drive passed by BIOS 6573>>>>0x40 ubyte <0xFF \b, boot drive 0x%x 6574# in most case 0,1,0x2e for GRUB 0.5.95 6575>>>>0x41 ubyte >0 \b, LBA flag 0x%x 6576>>>>0x42 uleshort <0x8000 \b, stage2 address 0x%x 6577#>>>>0x42 uleshort =0x8000 \b, stage2 address 0x%x (usual) 6578>>>>0x42 uleshort >0x8000 \b, stage2 address 0x%x 6579#>>>>0x44 ulelong =1 \b, 1st sector stage2 0x%x (default) 6580>>>>0x44 ulelong >1 \b, 1st sector stage2 0x%x 6581>>>>0x48 uleshort <0x800 \b, stage2 segment 0x%x 6582#>>>>0x48 uleshort =0x800 \b, stage2 segment 0x%x (usual) 6583>>>>0x48 uleshort >0x800 \b, stage2 segment 0x%x 6584>>>>402 string Geom\0Hard\ Disk\0Read\0\ Error\0 6585>>>>>394 string stage1 \b, GRUB version 0.5.95 6586>>>>382 string Geom\0Hard\ Disk\0Read\0\ Error\0 6587>>>>>376 string GRUB\ \0 \b, GRUB version 0.93 or 1.94 6588>>>>383 string Geom\0Hard\ Disk\0Read\0\ Error\0 6589>>>>>377 string GRUB\ \0 \b, GRUB version 0.94 6590>>>>385 string Geom\0Hard\ Disk\0Read\0\ Error\0 6591>>>>>379 string GRUB\ \0 \b, GRUB version 0.95 or 0.96 6592>>>>391 string Geom\0Hard\ Disk\0Read\0\ Error\0 6593>>>>>385 string GRUB\ \0 \b, GRUB version 0.97 6594#unkown version 6595>>>343 string Geom\0Read\0\ Error\0 6596>>>>321 string Loading\ stage1.5 \b, GRUB version x.y 6597>>>380 string Geom\0Hard\ Disk\0Read\0\ Error\0 6598>>>>374 string GRUB\ \0 \b, GRUB version n.m 6599# SYSLINUX bootloader moved 6600>395 string chksum\0\ ERROR!\0 \b, Gujin bootloader 6601# http://www.bcdwb.de/bcdw/index_e.htm 6602>3 string BCDL 6603>>498 string BCDL\ \ \ \ BIN \b, Bootable CD Loader (1.50Z) 6604# mbr partition table entries updated by Joerg Jenderek at Sep 2013 6605# skip Norton Utilities disc image data 6606>3 string !IHISK 6607# skip Linux style boot sector starting with assember instructions mov 0x7c0,ax; 6608>>0 belong !0xb8c0078e 6609# not Linux kernel 6610>>>514 string !HdrS 6611# not BeOS 6612>>>>422 string !Be\ Boot\ Loader 6613# jump over BPB instruction implies DOS bootsector or AdvanceMAME mbr 6614>>>>>0 ubelong&0xFD000000 =0xE9000000 6615# AdvanceMAME mbr 6616>>>>>>(1.b+2) ubequad 0xfa31c08ed88ec08e 6617>>>>>>>446 use partition-table 6618# mbr, Norton Utilities disc image data, or 2nd,etc. sector of x86 bootloader 6619>>>>>0 ubelong&0xFD000000 !0xE9000000 6620# skip FSInfosector 6621>>>>>>0 string !RRaA 6622# skip 3rd sector of MS x86 bootloader with assember instructions cli;MOVZX EAX,BYTE PTR [BP+10];MOV ECX, 6623# http://thestarman.pcministry.com/asm/mbr/MSWIN41.htm 6624>>>>>>>0 ubequad !0xfa660fb64610668b 6625# skip 13rd sector of MS x86 bootloader 6626>>>>>>>>0 ubequad !0x660fb64610668b4e 6627# skip sector starting with DOS new line 6628>>>>>>>>>0 string !\r\n 6629# allowed active flag 0,80h-FFh 6630>>>>>>>>>>446 ubyte 0 6631>>>>>>>>>>>446 use partition-table 6632>>>>>>>>>>446 ubyte >0x7F 6633>>>>>>>>>>>446 use partition-table 6634# TODO: test for extended bootrecord (ebr) moved and merged with mbr partition table entries 6635# mbr partition table entries end 6636# http://www.acronis.de/ 6637#FAT label=ACRONIS\ SZ 6638#OEM-ID=BOOTWIZ0 6639>442 string Non-system\ disk,\ 6640>>459 string press\ any\ key...\x7\0 \b, Acronis Startup Recovery Loader 6641# updated by Joerg Jenderek at Nov 2012 6642# DOS names like F11.SYS or BOOTWIZ.SYS are 8 right space padded bytes+3 bytes 6643>>>477 ubyte&0xDF >0 6644>>>>477 string x \b %-.3s 6645>>>>>480 ubyte&0xDF >0 6646>>>>>>480 string x \b%-.4s 6647>>>>>>>484 ubyte&0xDF >0 6648>>>>>>>>484 string x \b%-.1s 6649>>>>485 ubyte&0xDF >0 6650>>>>>485 string x \b.%-.3s 6651# 6652>185 string FDBOOT\ Version\ 6653>>204 string \rNo\ Systemdisk.\ 6654>>>220 string Booting\ from\ harddisk.\n\r 6655>>>245 string Cannot\ load\ from\ harddisk.\n\r 6656>>>>273 string Insert\ Systemdisk\ 6657>>>>>291 string and\ press\ any\ key.\n\r \b, FDBOOT harddisk Bootloader 6658>>>>>>200 string >\0 \b, version %-3s 6659>242 string Bootsector\ from\ C.H.\ Hochst\204 6660# http://freecode.com/projects/dosfstools dosfstools-n.m/src/mkdosfs.c 6661# updated by Joerg Jenderek at Nov 2012. Use search directive with offset instead of string 6662# skip name "C.H. Hochstaetter" partly because it is sometimes written without umlaut 6663>242 search/127 Bootsector\ from\ C.H.\ Hochst 6664>>278 search/127 No\ Systemdisk.\ Booting\ from\ harddisk 6665# followed by variants with point,CR-NL or NL-CR 6666>>>208 search/261 Cannot\ load\ from\ harddisk. 6667# followed by variants CR-NL or NL-CR 6668>>>>236 search/235 Insert\ Systemdisk\ and\ press\ any\ key. 6669# followed by variants with point,CR-NL or NL-CR 6670>>>>>180 search/96 Disk\ formatted\ with\ WinImage\ \b, WinImage harddisk Bootloader 6671# followed by string like "6.50 (c) 1993-2004 Gilles Vollant" 6672>>>>>>&0 string x \b, version %-4.4s 6673>(1.b+2) ubyte 0xe 6674>>(1.b+3) ubyte 0x1f 6675>>>(1.b+4) ubyte 0xbe 6676# message offset found at (1.b+5) is 0x77 for FAT32 or 0x5b for others 6677>>>>(1.b+5) ubyte&0xd3 0x53 6678>>>>>(1.b+6) ubyte 0x7c 6679# assembler instructions: lodsb;and al,al;jz 0xb;push si;mov ah, 6680>>>>>>(1.b+7) ubyte 0xac 6681>>>>>>>(1.b+8) ubyte 0x22 6682>>>>>>>>(1.b+9) ubyte 0xc0 6683>>>>>>>>>(1.b+10) ubyte 0x74 6684>>>>>>>>>>(1.b+11) ubyte 0x0b 6685>>>>>>>>>>>(1.b+12) ubyte 0x56 6686>>>>>>>>>>>>(1.b+13) ubyte 0xb4 \b, mkdosfs boot message display 6687# FAT1X version 6688>>>>>>>>>>>>>(1.b+5) ubyte 0x5b 6689>>>>>>>>>>>>>>0x5b string >\0 "%-s" 6690# FAT32 version 6691>>>>>>>>>>>>>(1.b+5) ubyte 0x77 6692>>>>>>>>>>>>>>0x77 string >\0 "%-s" 6693>214 string Please\ try\ to\ install\ FreeDOS\ \b, DOS Emulator boot message display 6694#>>244 string from\ dosemu-freedos-*-bin.tgz\r 6695#>>>170 string Sorry,\ could\ not\ load\ an\ 6696#>>>>195 string operating\ system.\r\n 6697# 6698>103 string This\ is\ not\ a\ bootable\ disk.\ 6699>>132 string Please\ insert\ a\ bootable\ 6700>>>157 string floppy\ and\r\n 6701>>>>169 string press\ any\ key\ to\ try\ again...\r \b, FREE-DOS message display 6702# 6703>66 string Solaris\ Boot\ Sector 6704>>99 string Incomplete\ MDBoot\ load. 6705>>>89 string Version \b, Sun Solaris Bootloader 6706>>>>97 byte x version %c 6707# 6708>408 string OS/2\ !!\ SYS01475\r\0 6709>>429 string OS/2\ !!\ SYS02025\r\0 6710>>>450 string OS/2\ !!\ SYS02027\r\0 6711>>>469 string OS2BOOT\ \ \ \ \b, IBM OS/2 Warp bootloader 6712# 6713>409 string OS/2\ !!\ SYS01475\r\0 6714>>430 string OS/2\ !!\ SYS02025\r\0 6715>>>451 string OS/2\ !!\ SYS02027\r\0 6716>>>470 string OS2BOOT\ \ \ \ \b, IBM OS/2 Warp Bootloader 6717>112 string This\ disk\ is\ not\ bootable\r 6718>>142 string If\ you\ wish\ to\ make\ it\ bootable 6719>>>176 string run\ the\ DOS\ program\ SYS\ 6720>>>200 string after\ the\r 6721>>>>216 string system\ has\ been\ loaded\r\n 6722>>>>>242 string Please\ insert\ a\ DOS\ diskette\ 6723>>>>>271 string into\r\n\ the\ drive\ and\ 6724>>>>>>292 string strike\ any\ key...\0 \b, IBM OS/2 Warp message display 6725# XP 6726>430 string NTLDR\ is\ missing\xFF\r\n 6727>>449 string Disk\ error\xFF\r\n 6728>>>462 string Press\ any\ key\ to\ restart\r \b, Microsoft Windows XP Bootloader 6729# DOS names like NTLDR,CMLDR,$LDR$ are 8 right space padded bytes+3 bytes 6730>>>>417 ubyte&0xDF >0 6731>>>>>417 string x %-.5s 6732>>>>>>422 ubyte&0xDF >0 6733>>>>>>>422 string x \b%-.3s 6734>>>>>425 ubyte&0xDF >0 6735>>>>>>425 string >\ \b.%-.3s 6736# 6737>>>>371 ubyte >0x20 6738>>>>>368 ubyte&0xDF >0 6739>>>>>>368 string x %-.5s 6740>>>>>>>373 ubyte&0xDF >0 6741>>>>>>>>373 string x \b%-.3s 6742>>>>>>376 ubyte&0xDF >0 6743>>>>>>>376 string x \b.%-.3s 6744# 6745>430 string NTLDR\ nicht\ gefunden\xFF\r\n 6746>>453 string Datentr\204gerfehler\xFF\r\n 6747>>>473 string Neustart\ mit\ beliebiger\ Taste\r \b, Microsoft Windows XP Bootloader (german) 6748>>>>417 ubyte&0xDF >0 6749>>>>>417 string x %-.5s 6750>>>>>>422 ubyte&0xDF >0 6751>>>>>>>422 string x \b%-.3s 6752>>>>>425 ubyte&0xDF >0 6753>>>>>>425 string >\ \b.%-.3s 6754# offset variant 6755>>>>379 string \0 6756>>>>>368 ubyte&0xDF >0 6757>>>>>>368 string x %-.5s 6758>>>>>>>373 ubyte&0xDF >0 6759>>>>>>>>373 string x \b%-.3s 6760# 6761>430 string NTLDR\ fehlt\xFF\r\n 6762>>444 string Datentr\204gerfehler\xFF\r\n 6763>>>464 string Neustart\ mit\ beliebiger\ Taste\r \b, Microsoft Windows XP Bootloader (2.german) 6764>>>>417 ubyte&0xDF >0 6765>>>>>417 string x %-.5s 6766>>>>>>422 ubyte&0xDF >0 6767>>>>>>>422 string x \b%-.3s 6768>>>>>425 ubyte&0xDF >0 6769>>>>>>425 string >\ \b.%-.3s 6770# variant 6771>>>>371 ubyte >0x20 6772>>>>>368 ubyte&0xDF >0 6773>>>>>>368 string x %-.5s 6774>>>>>>>373 ubyte&0xDF >0 6775>>>>>>>>373 string x \b%-.3s 6776>>>>>>376 ubyte&0xDF >0 6777>>>>>>>376 string x \b.%-.3s 6778# 6779>430 string NTLDR\ fehlt\xFF\r\n 6780>>444 string Medienfehler\xFF\r\n 6781>>>459 string Neustart:\ Taste\ dr\201cken\r \b, Microsoft Windows XP Bootloader (3.german) 6782>>>>371 ubyte >0x20 6783>>>>>368 ubyte&0xDF >0 6784>>>>>>368 string x %-.5s 6785>>>>>>>373 ubyte&0xDF >0 6786>>>>>>>>373 string x \b%-.3s 6787>>>>>>376 ubyte&0xDF >0 6788>>>>>>>376 string x \b.%-.3s 6789# variant 6790>>>>417 ubyte&0xDF >0 6791>>>>>417 string x %-.5s 6792>>>>>>422 ubyte&0xDF >0 6793>>>>>>>422 string x \b%-.3s 6794>>>>>425 ubyte&0xDF >0 6795>>>>>>425 string >\ \b.%-.3s 6796# 6797>430 string Datentr\204ger\ entfernen\xFF\r\n 6798>>454 string Medienfehler\xFF\r\n 6799>>>469 string Neustart:\ Taste\ dr\201cken\r \b, Microsoft Windows XP Bootloader (4.german) 6800>>>>379 string \0 6801>>>>>368 ubyte&0xDF >0 6802>>>>>>368 string x %-.5s 6803>>>>>>>373 ubyte&0xDF >0 6804>>>>>>>>373 string x \b%-.3s 6805>>>>>>376 ubyte&0xDF >0 6806>>>>>>>376 string x \b.%-.3s 6807# variant 6808>>>>417 ubyte&0xDF >0 6809>>>>>417 string x %-.5s 6810>>>>>>422 ubyte&0xDF >0 6811>>>>>>>422 string x \b%-.3s 6812>>>>>425 ubyte&0xDF >0 6813>>>>>>425 string >\ \b.%-.3s 6814# 6815 6816#>3 string NTFS\ \ \ \ 6817>389 string Fehler\ beim\ Lesen\ 6818>>407 string des\ Datentr\204gers 6819>>>426 string NTLDR\ fehlt 6820>>>>440 string NTLDR\ ist\ komprimiert 6821>>>>>464 string Neustart\ mit\ Strg+Alt+Entf\r \b, Microsoft Windows XP Bootloader NTFS (german) 6822#>3 string NTFS\ \ \ \ 6823>313 string A\ disk\ read\ error\ occurred.\r 6824>>345 string A\ kernel\ file\ is\ missing\ 6825>>>370 string from\ the\ disk.\r 6826>>>>484 string NTLDR\ is\ compressed 6827>>>>>429 string Insert\ a\ system\ diskette\ 6828>>>>>>454 string and\ restart\r\nthe\ system.\r \b, Microsoft Windows XP Bootloader NTFS 6829# DOS loader variants different languages,offsets 6830>472 ubyte&0xDF >0 6831>>389 string Invalid\ system\ disk\xFF\r\n 6832>>>411 string Disk\ I/O\ error 6833>>>>428 string Replace\ the\ disk,\ and\ 6834>>>>>455 string press\ any\ key \b, Microsoft Windows 98 Bootloader 6835#IO.SYS 6836>>>>>>472 ubyte&0xDF >0 6837>>>>>>>472 string x \b %-.2s 6838>>>>>>>>474 ubyte&0xDF >0 6839>>>>>>>>>474 string x \b%-.5s 6840>>>>>>>>>>479 ubyte&0xDF >0 6841>>>>>>>>>>>479 string x \b%-.1s 6842>>>>>>>480 ubyte&0xDF >0 6843>>>>>>>>480 string x \b.%-.3s 6844#MSDOS.SYS 6845>>>>>>>483 ubyte&0xDF >0 \b+ 6846>>>>>>>>483 string x \b%-.5s 6847>>>>>>>>>488 ubyte&0xDF >0 6848>>>>>>>>>>488 string x \b%-.3s 6849>>>>>>>>491 ubyte&0xDF >0 6850>>>>>>>>>491 string x \b.%-.3s 6851# 6852>>390 string Invalid\ system\ disk\xFF\r\n 6853>>>412 string Disk\ I/O\ error\xFF\r\n 6854>>>>429 string Replace\ the\ disk,\ and\ 6855>>>>>451 string then\ press\ any\ key\r \b, Microsoft Windows 98 Bootloader 6856>>388 string Ungueltiges\ System\ \xFF\r\n 6857>>>410 string E/A-Fehler\ \ \ \ \xFF\r\n 6858>>>>427 string Datentraeger\ wechseln\ und\ 6859>>>>>453 string Taste\ druecken\r \b, Microsoft Windows 95/98/ME Bootloader (german) 6860#WINBOOT.SYS only not spaces (0xDF) 6861>>>>>>497 ubyte&0xDF >0 6862>>>>>>>497 string x %-.5s 6863>>>>>>>>502 ubyte&0xDF >0 6864>>>>>>>>>502 string x \b%-.1s 6865>>>>>>>>>>503 ubyte&0xDF >0 6866>>>>>>>>>>>503 string x \b%-.1s 6867>>>>>>>>>>>>504 ubyte&0xDF >0 6868>>>>>>>>>>>>>504 string x \b%-.1s 6869>>>>>>505 ubyte&0xDF >0 6870>>>>>>>505 string x \b.%-.3s 6871#IO.SYS 6872>>>>>>472 ubyte&0xDF >0 or 6873>>>>>>>472 string x \b %-.2s 6874>>>>>>>>474 ubyte&0xDF >0 6875>>>>>>>>>474 string x \b%-.5s 6876>>>>>>>>>>479 ubyte&0xDF >0 6877>>>>>>>>>>>479 string x \b%-.1s 6878>>>>>>>480 ubyte&0xDF >0 6879>>>>>>>>480 string x \b.%-.3s 6880#MSDOS.SYS 6881>>>>>>>483 ubyte&0xDF >0 \b+ 6882>>>>>>>>483 string x \b%-.5s 6883>>>>>>>>>488 ubyte&0xDF >0 6884>>>>>>>>>>488 string x \b%-.3s 6885>>>>>>>>491 ubyte&0xDF >0 6886>>>>>>>>>491 string x \b.%-.3s 6887# 6888>>390 string Ungueltiges\ System\ \xFF\r\n 6889>>>412 string E/A-Fehler\ \ \ \ \xFF\r\n 6890>>>>429 string Datentraeger\ wechseln\ und\ 6891>>>>>455 string Taste\ druecken\r \b, Microsoft Windows 95/98/ME Bootloader (German) 6892#WINBOOT.SYS only not spaces (0xDF) 6893>>>>>>497 ubyte&0xDF >0 6894>>>>>>>497 string x %-.7s 6895>>>>>>>>504 ubyte&0xDF >0 6896>>>>>>>>>504 string x \b%-.1s 6897>>>>>>505 ubyte&0xDF >0 6898>>>>>>>505 string x \b.%-.3s 6899#IO.SYS 6900>>>>>>472 ubyte&0xDF >0 or 6901>>>>>>>472 string x \b %-.2s 6902>>>>>>>>474 ubyte&0xDF >0 6903>>>>>>>>>474 string x \b%-.6s 6904>>>>>>>480 ubyte&0xDF >0 6905>>>>>>>>480 string x \b.%-.3s 6906#MSDOS.SYS 6907>>>>>>>483 ubyte&0xDF >0 \b+ 6908>>>>>>>>483 string x \b%-.5s 6909>>>>>>>>>488 ubyte&0xDF >0 6910>>>>>>>>>>488 string x \b%-.3s 6911>>>>>>>>491 ubyte&0xDF >0 6912>>>>>>>>>491 string x \b.%-.3s 6913# 6914>>389 string Ungueltiges\ System\ \xFF\r\n 6915>>>411 string E/A-Fehler\ \ \ \ \xFF\r\n 6916>>>>428 string Datentraeger\ wechseln\ und\ 6917>>>>>454 string Taste\ druecken\r \b, Microsoft Windows 95/98/ME Bootloader (GERMAN) 6918# DOS names like IO.SYS,WINBOOT.SYS,MSDOS.SYS,WINBOOT.INI are 8 right space padded bytes+3 bytes 6919>>>>>>472 string x %-.2s 6920>>>>>>>474 ubyte&0xDF >0 6921>>>>>>>>474 string x \b%-.5s 6922>>>>>>>>479 ubyte&0xDF >0 6923>>>>>>>>>479 string x \b%-.1s 6924>>>>>>480 ubyte&0xDF >0 6925>>>>>>>480 string x \b.%-.3s 6926>>>>>>483 ubyte&0xDF >0 \b+ 6927>>>>>>>483 string x \b%-.5s 6928>>>>>>>488 ubyte&0xDF >0 6929>>>>>>>>488 string x \b%-.2s 6930>>>>>>>>490 ubyte&0xDF >0 6931>>>>>>>>>490 string x \b%-.1s 6932>>>>>>>491 ubyte&0xDF >0 6933>>>>>>>>491 string x \b.%-.3s 6934>479 ubyte&0xDF >0 6935>>416 string Kein\ System\ oder\ 6936>>>433 string Laufwerksfehler 6937>>>>450 string Wechseln\ und\ Taste\ dr\201cken \b, Microsoft DOS Bootloader (german) 6938#IO.SYS 6939>>>>>479 string x \b %-.2s 6940>>>>>>481 ubyte&0xDF >0 6941>>>>>>>481 string x \b%-.6s 6942>>>>>487 ubyte&0xDF >0 6943>>>>>>487 string x \b.%-.3s 6944#MSDOS.SYS 6945>>>>>>490 ubyte&0xDF >0 \b+ 6946>>>>>>>490 string x \b%-.5s 6947>>>>>>>>495 ubyte&0xDF >0 6948>>>>>>>>>495 string x \b%-.3s 6949>>>>>>>498 ubyte&0xDF >0 6950>>>>>>>>498 string x \b.%-.3s 6951# 6952>376 search/41 Non-System\ disk\ or\ 6953>>395 search/41 disk\ error\r 6954>>>407 search/41 Replace\ and\ 6955>>>>419 search/41 press\ \b, 6956>>>>419 search/41 strike\ \b, old 6957>>>>426 search/41 any\ key\ when\ ready\r MS or PC-DOS bootloader 6958#449 Disk\ Boot\ failure\r MS 3.21 6959#466 Boot\ Failure\r MS 3.30 6960>>>>>468 search/18 \0 6961#IO.SYS,IBMBIO.COM 6962>>>>>>&0 string x \b %-.2s 6963>>>>>>>&-20 ubyte&0xDF >0 6964>>>>>>>>&-1 string x \b%-.4s 6965>>>>>>>>>&-16 ubyte&0xDF >0 6966>>>>>>>>>>&-1 string x \b%-.2s 6967>>>>>>&8 ubyte&0xDF >0 \b. 6968>>>>>>>&-1 string x \b%-.3s 6969#MSDOS.SYS,IBMDOS.COM 6970>>>>>>&11 ubyte&0xDF >0 \b+ 6971>>>>>>>&-1 string x \b%-.5s 6972>>>>>>>>&-6 ubyte&0xDF >0 6973>>>>>>>>>&-1 string x \b%-.1s 6974>>>>>>>>>>&-5 ubyte&0xDF >0 6975>>>>>>>>>>>&-1 string x \b%-.2s 6976>>>>>>>&7 ubyte&0xDF >0 \b. 6977>>>>>>>>&-1 string x \b%-.3s 6978>441 string Cannot\ load\ from\ harddisk.\n\r 6979>>469 string Insert\ Systemdisk\ 6980>>>487 string and\ press\ any\ key.\n\r \b, MS (2.11) DOS bootloader 6981#>43 string \224R-LOADER\ \ SYS =label 6982>54 string SYS 6983>>324 string VASKK 6984>>>495 string NEWLDR\0 \b, DR-DOS Bootloader (LOADER.SYS) 6985# 6986>98 string Press\ a\ key\ to\ retry\0\r 6987>>120 string Cannot\ find\ file\ \0\r 6988>>>139 string Disk\ read\ error\0\r 6989>>>>156 string Loading\ ...\0 \b, DR-DOS (3.41) Bootloader 6990#DRBIOS.SYS 6991>>>>>44 ubyte&0xDF >0 6992>>>>>>44 string x \b %-.6s 6993>>>>>>>50 ubyte&0xDF >0 6994>>>>>>>>50 string x \b%-.2s 6995>>>>>>52 ubyte&0xDF >0 6996>>>>>>>52 string x \b.%-.3s 6997# 6998>70 string IBMBIO\ \ COM 6999>>472 string Cannot\ load\ DOS!\ 7000>>>489 string Any\ key\ to\ retry \b, DR-DOS Bootloader 7001>>471 string Cannot\ load\ DOS\ 7002>>487 string press\ key\ to\ retry \b, Open-DOS Bootloader 7003#?? 7004>444 string KERNEL\ \ SYS 7005>>314 string BOOT\ error! \b, FREE-DOS Bootloader 7006>499 string KERNEL\ \ SYS 7007>>305 string BOOT\ err!\0 \b, Free-DOS Bootloader 7008>449 string KERNEL\ \ SYS 7009>>319 string BOOT\ error! \b, FREE-DOS 0.5 Bootloader 7010# 7011>449 string Loading\ FreeDOS 7012>>0x1AF ulelong >0 \b, FREE-DOS 0.95,1.0 Bootloader 7013>>>497 ubyte&0xDF >0 7014>>>>497 string x \b %-.6s 7015>>>>>503 ubyte&0xDF >0 7016>>>>>>503 string x \b%-.1s 7017>>>>>>>504 ubyte&0xDF >0 7018>>>>>>>>504 string x \b%-.1s 7019>>>>505 ubyte&0xDF >0 7020>>>>>505 string x \b.%-.3s 7021# 7022>331 string Error!.0 \b, FREE-DOS 1.0 bootloader 7023# 7024>125 string Loading\ FreeDOS...\r 7025>>311 string BOOT\ error!\r \b, FREE-DOS bootloader 7026>>>441 ubyte&0xDF >0 7027>>>>441 string x \b %-.6s 7028>>>>>447 ubyte&0xDF >0 7029>>>>>>447 string x \b%-.1s 7030>>>>>>>448 ubyte&0xDF >0 7031>>>>>>>>448 string x \b%-.1s 7032>>>>449 ubyte&0xDF >0 7033>>>>>449 string x \b.%-.3s 7034>124 string FreeDOS\0 7035>>331 string \ err\0 \b, FREE-DOS BETa 0.9 Bootloader 7036# DOS names like KERNEL.SYS,KERNEL16.SYS,KERNEL32.SYS,METAKERN.SYS are 8 right space padded bytes+3 bytes 7037>>>497 ubyte&0xDF >0 7038>>>>497 string x \b %-.6s 7039>>>>>503 ubyte&0xDF >0 7040>>>>>>503 string x \b%-.1s 7041>>>>>>>504 ubyte&0xDF >0 7042>>>>>>>>504 string x \b%-.1s 7043>>>>505 ubyte&0xDF >0 7044>>>>>505 string x \b.%-.3s 7045>>333 string \ err\0 \b, FREE-DOS BEta 0.9 Bootloader 7046>>>497 ubyte&0xDF >0 7047>>>>497 string x \b %-.6s 7048>>>>>503 ubyte&0xDF >0 7049>>>>>>503 string x \b%-.1s 7050>>>>>>>504 ubyte&0xDF >0 7051>>>>>>>>504 string x \b%-.1s 7052>>>>505 ubyte&0xDF >0 7053>>>>>505 string x \b.%-.3s 7054>>334 string \ err\0 \b, FREE-DOS Beta 0.9 Bootloader 7055>>>497 ubyte&0xDF >0 7056>>>>497 string x \b %-.6s 7057>>>>>503 ubyte&0xDF >0 7058>>>>>>503 string x \b%-.1s 7059>>>>>>>504 ubyte&0xDF >0 7060>>>>>>>>504 string x \b%-.1s 7061>>>>505 ubyte&0xDF >0 7062>>>>>505 string x \b.%-.3s 7063>336 string Error!\ 7064>>343 string Hit\ a\ key\ to\ reboot. \b, FREE-DOS Beta 0.9sr1 Bootloader 7065>>>497 ubyte&0xDF >0 7066>>>>497 string x \b %-.6s 7067>>>>>503 ubyte&0xDF >0 7068>>>>>>503 string x \b%-.1s 7069>>>>>>>504 ubyte&0xDF >0 7070>>>>>>>>504 string x \b%-.1s 7071>>>>505 ubyte&0xDF >0 7072>>>>>505 string x \b.%-.3s 7073# added by Joerg Jenderek 7074# http://www.visopsys.org/ 7075# http://partitionlogic.org.uk/ 7076# OEM-ID=Visopsys 7077>478 ulelong 0 7078>>(1.b+326) string I/O\ Error\ reading\ 7079>>>(1.b+344) string Visopsys\ loader\r 7080>>>>(1.b+361) string Press\ any\ key\ to\ continue.\r \b, Visopsys loader 7081# http://alexfru.chat.ru/epm.html#bootprog 7082>494 ubyte >0x4D 7083>>495 string >E 7084>>>495 string <S 7085#OEM-ID is not reliable 7086>>>>3 string BootProg 7087# It just looks for a program file name at the root directory 7088# and loads corresponding file with following execution. 7089# DOS names like STARTUP.BIN,STARTUPC.COM,STARTUPE.EXE are 8 right space padded bytes+3 bytes 7090>>>>499 ubyte&0xDF >0 \b, COM/EXE Bootloader 7091>>>>>499 string x \b %-.1s 7092>>>>>>500 ubyte&0xDF >0 7093>>>>>>>500 string x \b%-.1s 7094>>>>>>>>501 ubyte&0xDF >0 7095>>>>>>>>>501 string x \b%-.1s 7096>>>>>>>>>>502 ubyte&0xDF >0 7097>>>>>>>>>>>502 string x \b%-.1s 7098>>>>>>>>>>>>503 ubyte&0xDF >0 7099>>>>>>>>>>>>>503 string x \b%-.1s 7100>>>>>>>>>>>>>>504 ubyte&0xDF >0 7101>>>>>>>>>>>>>>>504 string x \b%-.1s 7102>>>>>>>>>>>>>>>>505 ubyte&0xDF >0 7103>>>>>>>>>>>>>>>>>505 string x \b%-.1s 7104>>>>>>>>>>>>>>>>>>506 ubyte&0xDF >0 7105>>>>>>>>>>>>>>>>>>>506 string x \b%-.1s 7106#name extension 7107>>>>>507 ubyte&0xDF >0 \b. 7108>>>>>>507 string x \b%-.1s 7109>>>>>>>508 ubyte&0xDF >0 7110>>>>>>>>508 string x \b%-.1s 7111>>>>>>>>>509 ubyte&0xDF >0 7112>>>>>>>>>>509 string x \b%-.1s 7113#If the boot sector fails to read any other sector, 7114#it prints a very short message ("RE") to the screen and hangs the computer. 7115#If the boot sector fails to find needed program in the root directory, 7116#it also hangs with another message ("NF"). 7117>>>>>492 string RENF \b, FAT (12 bit) 7118>>>>>495 string RENF \b, FAT (16 bit) 7119# http://alexfru.chat.ru/epm.html#bootprog 7120>494 ubyte >0x4D 7121>>495 string >E 7122>>>495 string <S 7123#OEM-ID is not reliable 7124>>>>3 string BootProg 7125# It just looks for a program file name at the root directory 7126# and loads corresponding file with following execution. 7127# DOS names like STARTUP.BIN,STARTUPC.COM,STARTUPE.EXE are 8 right space padded bytes+3 bytes 7128>>>>499 ubyte&0xDF >0 \b, COM/EXE Bootloader 7129>>>>>499 string x \b %-.1s 7130>>>>>>500 ubyte&0xDF >0 7131>>>>>>>500 string x \b%-.1s 7132>>>>>>>>501 ubyte&0xDF >0 7133>>>>>>>>>501 string x \b%-.1s 7134>>>>>>>>>>502 ubyte&0xDF >0 7135>>>>>>>>>>>502 string x \b%-.1s 7136>>>>>>>>>>>>503 ubyte&0xDF >0 7137>>>>>>>>>>>>>503 string x \b%-.1s 7138>>>>>>>>>>>>>>504 ubyte&0xDF >0 7139>>>>>>>>>>>>>>>504 string x \b%-.1s 7140>>>>>>>>>>>>>>>>505 ubyte&0xDF >0 7141>>>>>>>>>>>>>>>>>505 string x \b%-.1s 7142>>>>>>>>>>>>>>>>>>506 ubyte&0xDF >0 7143>>>>>>>>>>>>>>>>>>>506 string x \b%-.1s 7144#name extension 7145>>>>>507 ubyte&0xDF >0 \b. 7146>>>>>>507 string x \b%-.1s 7147>>>>>>>508 ubyte&0xDF >0 7148>>>>>>>>508 string x \b%-.1s 7149>>>>>>>>>509 ubyte&0xDF >0 7150>>>>>>>>>>509 string x \b%-.1s 7151#If the boot sector fails to read any other sector, 7152#it prints a very short message ("RE") to the screen and hangs the computer. 7153#If the boot sector fails to find needed program in the root directory, 7154#it also hangs with another message ("NF"). 7155>>>>>492 string RENF \b, FAT (12 bit) 7156>>>>>495 string RENF \b, FAT (16 bit) 7157# x86 bootloader end 7158 7159# by Joerg Jenderek at Apr 2013 7160# Print the DOS filenames from directory entry form with 8 right space padded bytes + 3 bytes for extension 7161# like IO.SYS. MSDOS.SYS , KERNEL.SYS , DRBIO.SYS 71620 name DOS-filename 7163# space=0x20 (00100000b) means empty 7164>0 ubyte&0xDF >0 7165>>0 ubyte x \b%c 7166>>>1 ubyte&0xDF >0 7167>>>>1 ubyte x \b%c 7168>>>>>2 ubyte&0xDF >0 7169>>>>>>2 ubyte x \b%c 7170>>>>>>>3 ubyte&0xDF >0 7171>>>>>>>>3 ubyte x \b%c 7172>>>>>>>>>4 ubyte&0xDF >0 7173>>>>>>>>>>4 ubyte x \b%c 7174>>>>>>>>>>>5 ubyte&0xDF >0 7175>>>>>>>>>>>>5 ubyte x \b%c 7176>>>>>>>>>>>>>6 ubyte&0xDF >0 7177>>>>>>>>>>>>>>6 ubyte x \b%c 7178>>>>>>>>>>>>>>>7 ubyte&0xDF >0 7179>>>>>>>>>>>>>>>>7 ubyte x \b%c 7180# DOS filename extension 7181>>8 ubyte&0xDF >0 \b. 7182>>>8 ubyte x \b%c 7183>>>>9 ubyte&0xDF >0 7184>>>>>9 ubyte x \b%c 7185>>>>>>10 ubyte&0xDF >0 7186>>>>>>>10 ubyte x \b%c 7187# Print 2 following DOS filenames from directory entry form 7188# like IO.SYS+MSDOS.SYS or ibmbio.com+ibmdos.com 71890 name 2xDOS-filename 7190# display 1 space 7191>0 ubyte x \b 7192>0 use DOS-filename 7193>11 ubyte x \b+ 7194>11 use DOS-filename 7195 7196# added by Joerg Jenderek at Feb 2013 according to http://thestarman.pcministry.com/asm/mbr/MSWIN41.htm#FSINFO 7197# and http://en.wikipedia.org/wiki/File_Allocation_Table#FS_Information_Sector 7198>0 string RRaA 7199>>0x1E4 string rrAa \b, FSInfosector 7200#>>0x1FC uleshort =0 SHOULD BE ZERO 7201>>>0x1E8 ulelong <0xffffffff \b, %u free clusters 7202>>>0x1EC ulelong <0xffffffff \b, last allocated cluster %u 7203 7204# updated by Joerg Jenderek at Sep 2007 7205>3 ubyte 0 7206#no active flag 7207>>446 ubyte 0 7208# partition 1 not empty 7209>>>450 ubyte >0 7210# partitions 3,4 empty 7211>>>>482 ubyte 0 7212>>>>>498 ubyte 0 7213# partition 2 ID=0,5,15 7214>>>>>>466 ubyte <0x10 7215>>>>>>>466 ubyte 0x05 \b, extended partition table 7216>>>>>>>466 ubyte 0x0F \b, extended partition table (LBA) 7217>>>>>>>466 ubyte 0x0 \b, extended partition table (last) 7218 7219# DOS x86 sector separated and moved from "DOS/MBR boot sector" by Joerg Jenderek at May 2011 7220 7221>0x200 lelong 0x82564557 \b, BSD disklabel 7222 7223# http://en.wikipedia.org/wiki/Master_boot_record#PTE 7224# display standard partition table 72250 name partition-table 7226#>0 ubyte x PARTITION-TABLE 7227# test and display 1st til 4th partition table entry 7228>0 use partition-entry-test 7229>16 use partition-entry-test 7230>32 use partition-entry-test 7231>48 use partition-entry-test 7232# test for entry of partition table 72330 name partition-entry-test 7234# partition type ID > 0 7235>4 ubyte >0 7236# active flag 0 7237>>0 ubyte 0 7238>>>0 use partition-entry 7239# active flag 0x80, 0x81, ... 7240>>0 ubyte >0x7F 7241>>>0 use partition-entry 7242# Print entry of partition table 72430 name partition-entry 7244# partition type ID > 0 7245>4 ubyte >0 \b; partition 7246>>64 leshort 0xAA55 1 7247>>48 leshort 0xAA55 2 7248>>32 leshort 0xAA55 3 7249>>16 leshort 0xAA55 4 7250>>4 ubyte x : ID=0x%x 7251>>0 ubyte&0x80 0x80 \b, active 7252>>0 ubyte >0x80 0x%x 7253>>1 ubyte x \b, start-CHS ( 7254>>1 use partition-chs 7255>>5 ubyte x \b), end-CHS ( 7256>>5 use partition-chs 7257>>8 ulelong x \b), startsector %u 7258>>12 ulelong x \b, %u sectors 7259# Print cylinder,head,sector (CHS) of partition entry 72600 name partition-chs 7261# cylinder 7262>1 ubyte x \b0x 7263>1 ubyte&0xC0 0x40 \b1 7264>1 ubyte&0xC0 0x80 \b2 7265>1 ubyte&0xC0 0xC0 \b3 7266>2 ubyte x \b%x 7267# head 7268>0 ubyte x \b,%u 7269# sector 7270>1 ubyte&0x3F x \b,%u 7271 7272# FATX 72730 string FATX FATX filesystem data 7274 7275# romfs filesystems - Juan Cespedes <cespedes@debian.org> 72760 string -rom1fs- romfs filesystem, version 1 7277>8 belong x %d bytes, 7278>16 string x named %s. 7279 7280# netboot image - Juan Cespedes <cespedes@debian.org> 72810 lelong 0x1b031336L Netboot image, 7282>4 lelong&0xFFFFFF00 0 7283>>4 lelong&0x100 0x000 mode 2 7284>>4 lelong&0x100 0x100 mode 3 7285>4 lelong&0xFFFFFF00 !0 unknown mode 7286 72870x18b string OS/2 OS/2 Boot Manager 7288 7289# updated by Joerg Jenderek at Oct 2008 and Sep 2012 7290# http://syslinux.zytor.com/iso.php 7291# tested with versions 1.47,1.48,1.49,1.50,1.62,1.76,2.00,2.10;3.00,3.11,3.31,;3.70,3.71,3.73,3.75,3.80,3.82,3.84,3.86,4.01,4.03 and 4.05 7292# assembler instructions: cli;jmp 0:7Cyy (yy=0x40,0x5e,0x6c,0x6e,0x77);nop;nop 72930 ulequad&0x909000007cc0eafa 0x909000007c40eafa 7294>631 search/689 ISOLINUX\ isolinux Loader 7295>>&0 string x (version %-4.4s) 7296# http://syslinux.zytor.com/pxe.php 7297# assembler instructions: jmp 7C05 72980 ulelong 0x007c05ea pxelinux loader (version 2.13 or older) 7299# assembler instructions: pushfd;pushad 73000 ulelong 0x60669c66 pxelinux loader 7301# assembler instructions: jmp 05 73020 ulelong 0xc00005ea pxelinux loader (version 3.70 or newer) 7303# http://syslinux.zytor.com/wiki/index.php/SYSLINUX 73040 string LDLINUX\ SYS\ SYSLINUX loader 7305>12 string x (older version %-4.4s) 73060 string \r\nSYSLINUX\ SYSLINUX loader 7307>11 string x (version %-4.4s) 7308# syslinux updated and separated from "DOS/MBR boot sector" by Joerg Jenderek at Sep 2012 7309# assembler instructions: jmp yy (yy=0x3c,0x58);nop;"SYSLINUX" 73100 ulelong&0x80909bEB 0x009018EB 7311# OEM-ID not always "SYSLINUX" 7312>434 search/47 Boot\ failed 7313# followed by \r\n\0 or :\ 7314>>482 search/132 \0LDLINUX\ SYS Syslinux bootloader (version 2.13 or older) 7315>>1 ubyte 0x58 Syslinux bootloader (version 3.0-3.9) 7316>459 search/30 Boot\ error\r\n\0 7317>>1 ubyte 0x58 Syslinux bootloader (version 3.10 or newer) 7318# SYSLINUX MBR updated and separated from "DOS/MBR boot sector" by Joerg Jenderek at Sep 2012 7319# assembler instructions: mov di,0600h;mov cx,0100h 732016 search/4 \xbf\x00\x06\xb9\x00\x01 7321# to display SYSLINUX MBR (36) before old DOS/MBR boot sector one with partition table (strength=50+21) 7322!:strength +36 7323>94 search/249 Missing\ operating\ system 7324# followed by \r for versions older 3.35 , .\r for versions newer 3.52 and point for other 7325# skip Ranish MBR 7326>>408 search/4 HD1/\0 7327>>408 default x 7328>>>250 search/118 \0Operating\ system\ load SYSLINUX MBR 7329# followed by "ing " or space 7330>>>>292 search/98 error 7331>>>>>&0 string \r (version 3.35 or older) 7332>>>>>&0 string .\r (version 3.52 or newer) 7333>>>>>&0 default x (version 3.36-3.51 ) 7334>368 search/106 \0Disk\ error\ on\ boot\r\n SYSLINUX GPT-MBR 7335>>156 search/10 \0Boot\ partition\ not\ found\r\n 7336>>>270 search/10 \0OS\ not\ bootable\r\n (version 3.86 or older) 7337>>174 search/10 \0Missing\ OS\r\n 7338>>>189 search/10 \0Multiple\ active\ partitions\r\n (version 4.00 or newer) 7339# SYSLINUX END 7340 7341# NetBSD mbr variants (master-boot-code version 1.22) added by Joerg Jenderek at Nov 2012 7342# assembler instructions: xor ax,ax;mov ax,ss;mov sp,0x7c00;mov ax, 73430 ubequad 0x31c08ed0bc007c8e 7344# mbr_bootsel magic before partition table not reliable with small ipl fragments 7345#>444 uleshort 0xb5e1 7346>0004 uleshort x 7347# ERRorTeXT 7348>>181 search/166 Error\ \0\r\n NetBSD mbr 7349# NT Drive Serial Number http://thestarman.pcministry.com/asm/mbr/Win2kmbr.htm#DS 7350>>>0x1B8 ubelong >0 \b,Serial 0x%-.8x 7351# BOOTSEL definitions contains assembler instructions: int 0x13;pop dx;push dx;push dx 7352>>>0xbb search/71 \xcd\x13\x5a\x52\x52 \b,bootselector 7353# BOOT_EXTENDED definitions contains assembler instructions: 7354# xchg ecx,edx;addl ecx,edx;movw lba_info,si;movb 0x42,ah;pop dx;push dx;int 0x13 7355>>>0x96 search/1 \x66\x87\xca\x66\x01\xca\x66\x89\x16\x3a\x07\xbe\x32\x07\xb4\x42\x5a\x52\xcd\x13 \b,boot extended 7356# COM_PORT_VAL definitions contains assembler instructions: outb al,dx;add 5,dl;inb %dx;test 0x40,al 7357>>>0x130 search/55 \xee\x80\xc2\x05\xec\xa8\x40 \b,serial IO 7358# not TERSE_ERROR 7359>>>196 search/106 No\ active\ partition\0 7360>>>>&0 string Disk\ read\ error\0 7361>>>>>&0 string No\ operating\ system\0 \b,verbose 7362# not NO_CHS definitions contains assembler instructions: pop dx;push dx;movb $8,ah;int0x13 7363>>>0x7d search/7 \x5a\x52\xb4\x08\xcd\x13 \b,CHS 7364# not NO_LBA_CHECK definitions contains assembler instructions: movw 0x55aa,bx;movb 0x41,ah;pop dx;push dx;int 0x13 7365>>>0xa4 search/84 \xbb\xaa\x55\xb4\x41\x5a\x52\xcd\x13 \b,LBA-check 7366# assembler instructions: movw nametab,bx 7367>>>0x26 search/21 \xBB\x94\x07 7368# not NO_BANNER definitions contains assembler instructions: mov banner,si;call message_crlf 7369>>>>&-9 ubequad&0xBE00f0E800febb94 0xBE0000E80000bb94 7370>>>>>181 search/166 Error\ \0 7371# "a: disk" , "Fn: diskn" or "NetBSD MBR boot" 7372>>>>>>&3 string x \b,"%s" 7373# Andrea Mazzoleni AdvanceCD mbr loader of http://advancemame.sourceforge.net/boot-readme.html 7374# added by Joerg Jenderek at Nov 2012 for versions 1.3 - 1.4 7375# assembler instructions: jmp short 0x58;nop;ASCII 73760 ubequad&0xeb58908000000000 0xeb58900000000000 7377# assembler instructions: cli;xor ax,ax;mov ds,ax;mov es,ax;mov ss, 7378>(1.b+2) ubequad 0xfa31c08ed88ec08e 7379# Error messages at end of code 7380>>376 string No\ operating\ system\r\n\0 7381>>>398 string Disk\ error\r\n\0FDD\0HDD\0 7382>>>>419 string \ EBIOS\r\n\0 AdvanceMAME mbr 7383 7384# Neil Turton mbr loader variant of http://www.chiark.greenend.org.uk/~neilt/mbr/ 7385# added by Joerg Jenderek at Mar 2011 for versions 1.0.0 - 1.1.11 7386# for 1st version assembler instructions: cld;xor ax,ax;mov DS,ax;MOV ES,AX;mov SI, 7387# or cld;xor ax,ax;mov SS,ax;XOR SP,SP;mov DS, 73880 ulequad&0xcE1b40D48EC031FC 0x8E0000D08EC031FC 7389# pointer to the data starting with Neil Turton signature string 7390>(0x1BC.s) string NDTmbr 7391>>&-14 string 1234F\0 Turton mbr ( 7392# parameters also viewed by install-mbr --list 7393>>>(0x1BC.s+7) ubyte x \b%u<= 7394>>>(0x1BC.s+9) ubyte x \bVersion<=%u 7395#>>>(0x1BC.s+8) ubyte x asm_flag_%x 7396>>>(0x1BC.s+8) ubyte&1 1 \b,Y2K-Fix 7397# variant used by testdisk of http://www.cgsecurity.org/wiki/Menu_MBRCode 7398>>>(0x1BC.s+8) ubyte&2 2 \b,TestDisk 7399#0x1~1,..,0x8~4,0x10~F,0x80~A enabled 7400#>>>(0x1BC.s+10) ubyte x \b,flags 0x%x 7401#0x0~1,0x1~2,...,0x3~4,0x4~F,0x7~D default boot 7402#>>>(0x1BC.s+11) ubyte x \b,cfg_def 0x%x 7403# for older versions 7404>>>(0x1BC.s+9) ubyte <2 7405#>>>>(0x1BC.s+12) ubyte 18 \b,%u/18 seconds 7406>>>>(0x1BC.s+12) ubyte !18 \b,%u/18 seconds 7407# floppy A: or B: 7408>>>>(0x1BC.s+13) ubyte <2 \b,floppy 0x%x 7409>>>>(0x1BC.s+13) ubyte >1 7410# 1st hard disc 7411#>>>>>(0x1BC.s+13) ubyte 0x80 \b,drive 0x%x 7412# not 1st hard disc 7413>>>>>(0x1BC.s+13) ubyte !0x80 \b,drive 0x%x 7414# for version >= 2 maximal timeout can be 65534 7415>>>(0x1BC.s+9) ubyte >1 7416#>>>>(0x1BC.s+12) uleshort 18 \b,%u/18 seconds 7417>>>>(0x1BC.s+12) uleshort !18 \b,%u/18 seconds 7418# floppy A: or B: 7419>>>>(0x1BC.s+14) ubyte <2 \b,floppy 0x%x 7420>>>>(0x1BC.s+14) ubyte >1 7421# 1st hard disc 7422#>>>>>(0x1BC.s+14) ubyte 0x80 \b,drive 0x%x 7423# not 1st hard disc 7424>>>>>(0x1BC.s+14) ubyte !0x80 \b,drive 0x%x 7425>>>0 ubyte x \b) 7426 7427# added by Joerg Jenderek 7428# In the second sector (+0x200) are variables according to grub-0.97/stage2/asm.S or 7429# grub-1.94/kern/i386/pc/startup.S 7430# http://www.gnu.org/software/grub/manual/grub.html#Embedded-data 7431# usual values are marked with comments to get only informations of strange GRUB loaders 74320x200 uleshort 0x70EA 7433# found only version 3.{1,2} 7434>0x206 ubeshort >0x0300 7435# GRUB version (0.5.)95,0.93,0.94,0.96,0.97 > "00" 7436>>0x212 ubyte >0x29 7437>>>0x213 ubyte >0x29 7438# not iso9660_stage1_5 7439#>>>0 ulelong&0x00BE5652 0x00BE5652 7440>>>>0x213 ubyte >0x29 GRand Unified Bootloader 7441# config_file for stage1_5 is 0xffffffff + default "/boot/grub/stage2" 7442>>>>0x217 ubyte 0xFF stage1_5 7443>>>>0x217 ubyte <0xFF stage2 7444>>>>0x206 ubyte x \b version %u 7445>>>>0x207 ubyte x \b.%u 7446# module_size for 1.94 7447>>>>0x208 ulelong <0xffffff \b, installed partition %u 7448#>>>>0x208 ulelong =0xffffff \b, %u (default) 7449>>>>0x208 ulelong >0xffffff \b, installed partition %u 7450# GRUB 0.5.95 unofficial 7451>>>>0x20C ulelong&0x2E300000 0x2E300000 7452# 0=stage2 1=ffs 2=e2fs 3=fat 4=minix 5=reiserfs 7453>>>>>0x20C ubyte x \b, identifier 0x%x 7454#>>>>>0x20D ubyte =0 \b, LBA flag 0x%x (default) 7455>>>>>0x20D ubyte >0 \b, LBA flag 0x%x 7456# GRUB version as string 7457>>>>>0x20E string >\0 \b, GRUB version %-s 7458# for stage1_5 is 0xffffffff + config_file "/boot/grub/stage2" default 7459>>>>>>0x215 ulong 0xffffffff 7460>>>>>>>0x219 string >\0 \b, configuration file %-s 7461>>>>>>0x215 ulong !0xffffffff 7462>>>>>>>0x215 string >\0 \b, configuration file %-s 7463# newer GRUB versions 7464>>>>0x20C ulelong&0x2E300000 !0x2E300000 7465##>>>>>0x20C ulelong =0 \b, saved entry %d (usual) 7466>>>>>0x20C ulelong >0 \b, saved entry %d 7467# for 1.94 contains kernel image size 7468# for 0.93,0.94,0.96,0.97 7469# 0=stage2 1=ffs 2=e2fs 3=fat 4=minix 5=reiserfs 6=vstafs 7=jfs 8=xfs 9=iso9660 a=ufs2 7470>>>>>0x210 ubyte x \b, identifier 0x%x 7471# The flag for LBA forcing is in most cases 0 7472#>>>>>0x211 ubyte =0 \b, LBA flag 0x%x (default) 7473>>>>>0x211 ubyte >0 \b, LBA flag 0x%x 7474# GRUB version as string 7475>>>>>0x212 string >\0 \b, GRUB version %-s 7476# for stage1_5 is 0xffffffff + config_file "/boot/grub/stage2" default 7477>>>>>0x217 ulong 0xffffffff 7478>>>>>>0x21b string >\0 \b, configuration file %-s 7479>>>>>0x217 ulong !0xffffffff 7480>>>>>>0x217 string >\0 \b, configuration file %-s 7481 7482# DOS x86 sector updated and separated from "DOS/MBR boot sector" by Joerg Jenderek at May 2011 7483# JuMP short bootcodeoffset NOP assembler instructions will usually be EB xx 90 7484# over BIOS parameter block (BPB) 7485# http://thestarman.pcministry.com/asm/2bytejumps.htm#FWD 7486# older drives may use Near JuMP instruction E9 xx xx 7487# minimal short forward jump found 0x29 for bootloaders or 0x0 7488# maximal short forward jump is 0x7f 7489# OEM-ID is empty or contain readable bytes 74900 ulelong&0x804000E9 0x000000E9 7491# mtools-3.9.8/msdos.h 7492# usual values are marked with comments to get only informations of strange FAT systems 7493# valid sectorsize must be a power of 2 from 32 to 32768 7494>11 uleshort&0xf001f 0 7495>>11 uleshort <32769 7496>>>11 uleshort >31 7497>>>>21 ubyte&0xf0 0xF0 7498>>>>>0 ubyte 0xEB 7499>>>>>>1 ubyte x \b, code offset 0x%x+2 7500>>>>>0 ubyte 0xE9 7501>>>>>>1 uleshort x \b, code offset 0x%x+2 7502>>>>>3 string >\0 \b, OEM-ID "%-.8s" 7503#http://mirror.href.com/thestarman/asm/debug/debug2.htm#IHC 7504>>>>>>8 string IHC \b cached by Windows 9M 7505>>>>>11 uleshort >512 \b, Bytes/sector %u 7506#>>>>>11 uleshort =512 \b, Bytes/sector %u=512 (usual) 7507>>>>>11 uleshort <512 \b, Bytes/sector %u 7508>>>>>13 ubyte >1 \b, sectors/cluster %u 7509#>>>>>13 ubyte =1 \b, sectors/cluster %u (usual on Floppies) 7510>>>>>82 string FAT32 7511>>>>>>14 uleshort !32 \b, reserved sectors %u 7512#>>>>>>14 uleshort =32 \b, reserved sectors %u (usual Fat32) 7513>>>>>82 string !FAT32 7514>>>>>>14 uleshort >1 \b, reserved sectors %u 7515#>>>>>>14 uleshort =1 \b, reserved sectors %u (usual FAT12,FAT16) 7516#>>>>>>14 uleshort 0 \b, reserved sectors %u (usual NTFS) 7517>>>>>16 ubyte >2 \b, FATs %u 7518#>>>>>16 ubyte =2 \b, FATs %u (usual) 7519>>>>>16 ubyte =1 \b, FAT %u 7520>>>>>16 ubyte >0 7521>>>>>17 uleshort >0 \b, root entries %u 7522#>>>>>17 uleshort =0 \b, root entries %u=0 (usual Fat32) 7523>>>>>19 uleshort >0 \b, sectors %u (volumes <=32 MB) 7524#>>>>>19 uleshort =0 \b, sectors %u=0 (usual Fat32) 7525>>>>>21 ubyte >0xF0 \b, Media descriptor 0x%x 7526#>>>>>21 ubyte =0xF0 \b, Media descriptor 0x%x (usual floppy) 7527>>>>>21 ubyte <0xF0 \b, Media descriptor 0x%x 7528>>>>>22 uleshort >0 \b, sectors/FAT %u 7529#>>>>>22 uleshort =0 \b, sectors/FAT %u=0 (usual Fat32) 7530>>>>>24 uleshort x \b, sectors/track %u 7531>>>>>26 ubyte >2 \b, heads %u 7532#>>>>>26 ubyte =2 \b, heads %u (usual floppy) 7533>>>>>26 ubyte =1 \b, heads %u 7534# valid only for sector sizes with more then 32 Bytes 7535>>>>>11 uleshort >32 7536# skip for Digital Research DOS (version 3.41) 1440 kB Bootdisk 7537>>>>>>38 ubyte !0x70 7538>>>>>>>28 ulelong >0 \b, hidden sectors %u 7539#>>>>>>>28 ulelong =0 \b, hidden sectors %u (usual floppy) 7540>>>>>>>32 ulelong >0 \b, sectors %u (volumes > 32 MB) 7541#>>>>>>>32 ulelong =0 \b, sectors %u (volumes > 32 MB) 7542# FAT<32 bit specific 7543>>>>>>>82 string !FAT32 7544#>>>>>>>>36 ubyte 0x80 \b, physical drive 0x%x=0x80 (usual harddisk) 7545#>>>>>>>>36 ubyte 0 \b, physical drive 0x%x=0 (usual floppy) 7546>>>>>>>>36 ubyte !0x80 7547>>>>>>>>>36 ubyte !0 \b, physical drive 0x%x 7548>>>>>>>>37 ubyte >0 \b, reserved 0x%x 7549#>>>>>>>>37 ubyte =0 \b, reserved 0x%x 7550# value is 0x80 for NTFS 7551>>>>>>>>38 ubyte !0x29 \b, dos < 4.0 BootSector (0x%x) 7552>>>>>>>>38 ubyte =0x29 7553>>>>>>>>>39 ulelong x \b, serial number 0x%x 7554>>>>>>>>>43 string <NO\ NAME \b, label: "%11.11s" 7555>>>>>>>>>43 string >NO\ NAME \b, label: "%11.11s" 7556>>>>>>>>>43 string =NO\ NAME \b, unlabeled 7557# there exist some old floppies without word FAT at offset 54 7558# a word like "FATnm " is only a hint for a FAT size on nm-bits 7559# Normally the number of clusters is calculated by the values of BPP. 7560# if it is small enough FAT is 12 bit, if it is too big enough FAT is 32 bit, 7561# otherwise FAT is 16 bit. 7562# http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/determining-fat-widths.html 7563>>>>>>54 string FAT \b, FAT 7564>>>>>>>54 string FAT12 \b (12 bit) 7565>>>>>>>54 string FAT16 \b (16 bit) 7566# FAT32 bit specific 7567>>>>>82 string FAT32 \b, FAT (32 bit) 7568>>>>>>36 ulelong x \b, sectors/FAT %u 7569# http://technet.microsoft.com/en-us/library/cc977221.aspx 7570>>>>>>40 uleshort >0 \b, extension flags 0x%x 7571#>>>>>>40 uleshort =0 \b, extension flags %u 7572>>>>>>42 uleshort >0 \b, fsVersion %u 7573#>>>>>>42 uleshort =0 \b, fsVersion %u (usual) 7574>>>>>>44 ulelong >2 \b, rootdir cluster %u 7575#>>>>>>44 ulelong =2 \b, rootdir cluster %u 7576#>>>>>>44 ulelong =1 \b, rootdir cluster %u 7577>>>>>>48 uleshort >1 \b, infoSector %u 7578#>>>>>>48 uleshort =1 \b, infoSector %u (usual) 7579>>>>>>48 uleshort <1 \b, infoSector %u 7580>>>>>>50 uleshort >6 \b, Backup boot sector %u 7581#>>>>>>50 uleshort =6 \b, Backup boot sector %u (usual) 7582>>>>>>50 uleshort <6 \b, Backup boot sector %u 7583# corrected by Joerg Jenderek at Feb 2011 according to http://thestarman.pcministry.com/asm/mbr/MSWIN41.htm#FSINFO 7584>>>>>>52 ulelong >0 \b, reserved1 0x%x 7585>>>>>>56 ulelong >0 \b, reserved2 0x%x 7586>>>>>>60 ulelong >0 \b, reserved3 0x%x 7587# same structure as FAT1X 7588#>>>>>>64 ubyte =0x80 \b, physical drive 0x%x=80 (usual harddisk) 7589#>>>>>>64 ubyte =0 \b, physical drive 0x%x=0 (usual floppy) 7590>>>>>>64 ubyte !0x80 7591>>>>>>>64 ubyte >0 \b, physical drive 0x%x 7592# in Windows NT bit 0 is a dirty flag to request chkdsk at boot time. bit 1 requests surface scan too 7593>>>>>>65 ubyte >0 \b, reserved 0x%x 7594>>>>>>66 ubyte !0x29 \b, dos < 4.0 BootSector (0x%x) 7595>>>>>>66 ubyte =0x29 7596>>>>>>>67 ulelong x \b, serial number 0x%x 7597>>>>>>>71 string <NO\ NAME \b, label: "%11.11s" 7598>>>>>>>71 string >NO\ NAME \b, label: "%11.11s" 7599>>>>>>>71 string =NO\ NAME \b, unlabeled 7600# additional tests for floppy image added by Joerg Jenderek 7601# no fixed disk 7602>>>>>21 ubyte !0xF8 7603# floppy media with 12 bit FAT 7604>>>>>>54 string !FAT16 7605# test for FAT after bootsector 7606>>>>>>>(11.s) ulelong&0x00ffffF0 0x00ffffF0 \b, followed by FAT 7607# floppy image 7608!:mime application/x-ima 7609# NTFS specific added by Joerg Jenderek at Mar 2011 according to http://thestarman.pcministry.com/asm/mbr/NTFSBR.htm 7610# and http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/bios-parameter-block.html 7611# 0 FATs 7612>>>>>16 ubyte =0 7613# 0 root entries 7614>>>>>>17 uleshort =0 7615# 0 DOS sectors 7616>>>>>>>19 uleshort =0 7617# 0 sectors/FAT 7618# dos < 4.0 BootSector value found is 0x80 7619#38 ubyte =0x80 \b, dos < 4.0 BootSector (0x%x) 7620>>>>>>>>22 uleshort =0 \b; NTFS 7621>>>>>>>>>24 uleshort >0 \b, sectors/track %u 7622>>>>>>>>>36 ulelong !0x800080 \b, physical drive 0x%x 7623>>>>>>>>>40 ulequad >0 \b, sectors %lld 7624>>>>>>>>>48 ulequad >0 \b, $MFT start cluster %lld 7625>>>>>>>>>56 ulequad >0 \b, $MFTMirror start cluster %lld 7626# Values 0 to 127 represent MFT record sizes of 0 to 127 clusters. 7627# Values 128 to 255 represent MFT record sizes of 2^(256-N) bytes. 7628>>>>>>>>>64 lelong <256 7629>>>>>>>>>>64 lelong <128 \b, clusters/RecordSegment %d 7630>>>>>>>>>>64 ubyte >127 \b, bytes/RecordSegment 2^(-1*%hhi) 7631# Values 0 to 127 represent index block sizes of 0 to 127 clusters. 7632# Values 128 to 255 represent index block sizes of 2^(256-N) byte 7633>>>>>>>>>68 ulelong <256 7634>>>>>>>>>>68 ulelong <128 \b, clusters/index block %d 7635#>>>>>>>>>>68 ulelong >127 \b, bytes/index block 2^(256-%d) 7636>>>>>>>>>>68 ubyte >127 \b, bytes/index block 2^(-1*%hhi) 7637>>>>>>>>>72 ulequad x \b, serial number 0%llx 7638>>>>>>>>>80 ulelong >0 \b, checksum 0x%x 7639#>>>>>>>>>80 ulelong =0 \b, checksum 0x%x=0 (usual) 7640>>>>>>>>>0x258 ulelong&0x00009090 =0x00009090 7641>>>>>>>>>>&-92 indirect x \b; contains 7642# For 2nd NTFS sector added by Joerg Jenderek at Jan 2013 7643# http://thestarman.pcministry.com/asm/mbr/NTFSbrHexEd.htm 7644# unused assembler instructions JMP y2;NOP;NOP 76450x056 ulelong&0xFFFF0FFF 0x909002EB 7646# unicode loadername terminated by CTRL-D 7647>(0.s*2) ulelong&0xFFFFFF00 0x00040000 7648# loadernames are NTLDR,CMLDR,PELDR,$LDR$ or BOOTMGR 7649>>0x002 lestring16 x Microsoft Windows XP/VISTA bootloader %-5.5s 7650>>0x12 string $ 7651>>>0x0c lestring16 x \b%-2.2s 7652### DOS,NTFS boot sectors end 7653 76549564 lelong 0x00011954 Unix Fast File system [v1] (little-endian), 7655>8404 string x last mounted on %s, 7656#>9504 ledate x last checked at %s, 7657>8224 ledate x last written at %s, 7658>8401 byte x clean flag %d, 7659>8228 lelong x number of blocks %d, 7660>8232 lelong x number of data blocks %d, 7661>8236 lelong x number of cylinder groups %d, 7662>8240 lelong x block size %d, 7663>8244 lelong x fragment size %d, 7664>8252 lelong x minimum percentage of free blocks %d, 7665>8256 lelong x rotational delay %dms, 7666>8260 lelong x disk rotational speed %drps, 7667>8320 lelong 0 TIME optimization 7668>8320 lelong 1 SPACE optimization 7669 767042332 lelong 0x19540119 Unix Fast File system [v2] (little-endian) 7671>&-1164 string x last mounted on %s, 7672>&-696 string >\0 volume name %s, 7673>&-304 leqldate x last written at %s, 7674>&-1167 byte x clean flag %d, 7675>&-1168 byte x readonly flag %d, 7676>&-296 lequad x number of blocks %lld, 7677>&-288 lequad x number of data blocks %lld, 7678>&-1332 lelong x number of cylinder groups %d, 7679>&-1328 lelong x block size %d, 7680>&-1324 lelong x fragment size %d, 7681>&-180 lelong x average file size %d, 7682>&-176 lelong x average number of files in dir %d, 7683>&-272 lequad x pending blocks to free %lld, 7684>&-264 lelong x pending inodes to free %ld, 7685>&-664 lequad x system-wide uuid %0llx, 7686>&-1316 lelong x minimum percentage of free blocks %d, 7687>&-1248 lelong 0 TIME optimization 7688>&-1248 lelong 1 SPACE optimization 7689 769066908 lelong 0x19540119 Unix Fast File system [v2] (little-endian) 7691>&-1164 string x last mounted on %s, 7692>&-696 string >\0 volume name %s, 7693>&-304 leqldate x last written at %s, 7694>&-1167 byte x clean flag %d, 7695>&-1168 byte x readonly flag %d, 7696>&-296 lequad x number of blocks %lld, 7697>&-288 lequad x number of data blocks %lld, 7698>&-1332 lelong x number of cylinder groups %d, 7699>&-1328 lelong x block size %d, 7700>&-1324 lelong x fragment size %d, 7701>&-180 lelong x average file size %d, 7702>&-176 lelong x average number of files in dir %d, 7703>&-272 lequad x pending blocks to free %lld, 7704>&-264 lelong x pending inodes to free %ld, 7705>&-664 lequad x system-wide uuid %0llx, 7706>&-1316 lelong x minimum percentage of free blocks %d, 7707>&-1248 lelong 0 TIME optimization 7708>&-1248 lelong 1 SPACE optimization 7709 77109564 belong 0x00011954 Unix Fast File system [v1] (big-endian), 7711>7168 belong 0x4c41424c Apple UFS Volume 7712>>7186 string x named %s, 7713>>7176 belong x volume label version %d, 7714>>7180 bedate x created on %s, 7715>8404 string x last mounted on %s, 7716#>9504 bedate x last checked at %s, 7717>8224 bedate x last written at %s, 7718>8401 byte x clean flag %d, 7719>8228 belong x number of blocks %d, 7720>8232 belong x number of data blocks %d, 7721>8236 belong x number of cylinder groups %d, 7722>8240 belong x block size %d, 7723>8244 belong x fragment size %d, 7724>8252 belong x minimum percentage of free blocks %d, 7725>8256 belong x rotational delay %dms, 7726>8260 belong x disk rotational speed %drps, 7727>8320 belong 0 TIME optimization 7728>8320 belong 1 SPACE optimization 7729 773042332 belong 0x19540119 Unix Fast File system [v2] (big-endian) 7731>&-1164 string x last mounted on %s, 7732>&-696 string >\0 volume name %s, 7733>&-304 beqldate x last written at %s, 7734>&-1167 byte x clean flag %d, 7735>&-1168 byte x readonly flag %d, 7736>&-296 bequad x number of blocks %lld, 7737>&-288 bequad x number of data blocks %lld, 7738>&-1332 belong x number of cylinder groups %d, 7739>&-1328 belong x block size %d, 7740>&-1324 belong x fragment size %d, 7741>&-180 belong x average file size %d, 7742>&-176 belong x average number of files in dir %d, 7743>&-272 bequad x pending blocks to free %lld, 7744>&-264 belong x pending inodes to free %ld, 7745>&-664 bequad x system-wide uuid %0llx, 7746>&-1316 belong x minimum percentage of free blocks %d, 7747>&-1248 belong 0 TIME optimization 7748>&-1248 belong 1 SPACE optimization 7749 775066908 belong 0x19540119 Unix Fast File system [v2] (big-endian) 7751>&-1164 string x last mounted on %s, 7752>&-696 string >\0 volume name %s, 7753>&-304 beqldate x last written at %s, 7754>&-1167 byte x clean flag %d, 7755>&-1168 byte x readonly flag %d, 7756>&-296 bequad x number of blocks %lld, 7757>&-288 bequad x number of data blocks %lld, 7758>&-1332 belong x number of cylinder groups %d, 7759>&-1328 belong x block size %d, 7760>&-1324 belong x fragment size %d, 7761>&-180 belong x average file size %d, 7762>&-176 belong x average number of files in dir %d, 7763>&-272 bequad x pending blocks to free %lld, 7764>&-264 belong x pending inodes to free %ld, 7765>&-664 bequad x system-wide uuid %0llx, 7766>&-1316 belong x minimum percentage of free blocks %d, 7767>&-1248 belong 0 TIME optimization 7768>&-1248 belong 1 SPACE optimization 7769 7770# ext2/ext3 filesystems - Andreas Dilger <adilger@dilger.ca> 7771# ext4 filesystem - Eric Sandeen <sandeen@sandeen.net> 7772# volume label and UUID Russell Coker 7773# http://etbe.coker.com.au/2008/07/08/label-vs-uuid-vs-device/ 77740x438 leshort 0xEF53 Linux 7775>0x44c lelong x rev %d 7776>0x43e leshort x \b.%d 7777# No journal? ext2 7778>0x45c lelong ^0x0000004 ext2 filesystem data 7779>>0x43a leshort ^0x0000001 (mounted or unclean) 7780# Has a journal? ext3 or ext4 7781>0x45c lelong &0x0000004 7782# and small INCOMPAT? 7783>>0x460 lelong <0x0000040 7784# and small RO_COMPAT? 7785>>>0x464 lelong <0x0000008 ext3 filesystem data 7786# else large RO_COMPAT? 7787>>>0x464 lelong >0x0000007 ext4 filesystem data 7788# else large INCOMPAT? 7789>>0x460 lelong >0x000003f ext4 filesystem data 7790>0x468 belong x \b, UUID=%08x 7791>0x46c beshort x \b-%04x 7792>0x46e beshort x \b-%04x 7793>0x470 beshort x \b-%04x 7794>0x472 belong x \b-%08x 7795>0x476 beshort x \b%04x 7796>0x478 string >0 \b, volume name "%s" 7797# General flags for any ext* fs 7798>0x460 lelong &0x0000004 (needs journal recovery) 7799>0x43a leshort &0x0000002 (errors) 7800# INCOMPAT flags 7801>0x460 lelong &0x0000001 (compressed) 7802#>0x460 lelong &0x0000002 (filetype) 7803#>0x460 lelong &0x0000010 (meta bg) 7804>0x460 lelong &0x0000040 (extents) 7805>0x460 lelong &0x0000080 (64bit) 7806#>0x460 lelong &0x0000100 (mmp) 7807#>0x460 lelong &0x0000200 (flex bg) 7808# RO_INCOMPAT flags 7809#>0x464 lelong &0x0000001 (sparse super) 7810>0x464 lelong &0x0000002 (large files) 7811>0x464 lelong &0x0000008 (huge files) 7812#>0x464 lelong &0x0000010 (gdt checksum) 7813#>0x464 lelong &0x0000020 (many subdirs) 7814#>0x463 lelong &0x0000040 (extra isize) 7815 7816# Minix filesystems - Juan Cespedes <cespedes@debian.org> 78170x410 leshort 0x137f 7818!:strength / 2 7819>0x402 beshort < 100 7820>0x402 beshort > -1 Minix filesystem, V1, %d zones 7821>0x1e string minix \b, bootable 78220x410 beshort 0x137f 7823!:strength / 2 7824>0x402 beshort < 100 7825>0x402 beshort > -1 Minix filesystem, V1 (big endian), %d zones 7826>0x1e string minix \b, bootable 78270x410 leshort 0x138f 7828!:strength / 2 7829>0x402 beshort < 100 7830>0x402 beshort > -1 Minix filesystem, V1, 30 char names, %d zones 7831>0x1e string minix \b, bootable 78320x410 beshort 0x138f 7833!:strength / 2 7834>0x402 beshort < 100 7835>0x402 beshort > -1 Minix filesystem, V1, 30 char names (big endian), %d zones 7836>0x1e string minix \b, bootable 78370x410 leshort 0x2468 7838>0x402 beshort < 100 7839>>0x402 beshort > -1 Minix filesystem, V2, %d zones 7840>0x1e string minix \b, bootable 78410x410 beshort 0x2468 7842>0x402 beshort < 100 7843>0x402 beshort > -1 Minix filesystem, V2 (big endian), %d zones 7844>0x1e string minix \b, bootable 7845 78460x410 leshort 0x2478 7847>0x402 beshort < 100 7848>0x402 beshort > -1 Minix filesystem, V2, 30 char names, %d zones 7849>0x1e string minix \b, bootable 78500x410 leshort 0x2478 7851>0x402 beshort < 100 7852>0x402 beshort > -1 Minix filesystem, V2, 30 char names, %d zones 7853>0x1e string minix \b, bootable 78540x410 beshort 0x2478 7855>0x402 beshort !0 Minix filesystem, V2, 30 char names (big endian), %d zones 7856>0x1e string minix \b, bootable 78570x410 leshort 0x4d5a 7858>0x402 beshort !0 Minix filesystem, V3, %d zones 7859>0x1e string minix \b, bootable 7860 7861# SGI disk labels - Nathan Scott <nathans@debian.org> 78620 belong 0x0BE5A941 SGI disk label (volume header) 7863 7864# SGI XFS filesystem - Nathan Scott <nathans@debian.org> 78650 belong 0x58465342 SGI XFS filesystem data 7866>0x4 belong x (blksz %d, 7867>0x68 beshort x inosz %d, 7868>0x64 beshort ^0x2004 v1 dirs) 7869>0x64 beshort &0x2004 v2 dirs) 7870 7871############################################################################ 7872# Minix-ST kernel floppy 78730x800 belong 0x46fc2700 Atari-ST Minix kernel image 7874# http://en.wikipedia.org/wiki/BIOS_parameter_block 7875# floppies with valid BPB and any instruction at beginning 7876>19 string \240\005\371\005\0\011\0\2\0 \b, 720k floppy 7877>19 string \320\002\370\005\0\011\0\1\0 \b, 360k floppy 7878 7879############################################################################ 7880# Hmmm, is this a better way of detecting _standard_ floppy images ? 788119 string \320\002\360\003\0\011\0\1\0 DOS floppy 360k 7882>0x1FE leshort 0xAA55 \b, DOS/MBR hard disk boot sector 788319 string \240\005\371\003\0\011\0\2\0 DOS floppy 720k 7884>0x1FE leshort 0xAA55 \b, DOS/MBR hard disk boot sector 788519 string \100\013\360\011\0\022\0\2\0 DOS floppy 1440k 7886>0x1FE leshort 0xAA55 \b, DOS/MBR hard disk boot sector 7887 788819 string \240\005\371\005\0\011\0\2\0 DOS floppy 720k, IBM 7889>0x1FE leshort 0xAA55 \b, DOS/MBR hard disk boot sector 789019 string \100\013\371\005\0\011\0\2\0 DOS floppy 1440k, mkdosfs 7891>0x1FE leshort 0xAA55 \b, DOS/MBR hard disk boot sector 7892 789319 string \320\002\370\005\0\011\0\1\0 Atari-ST floppy 360k 789419 string \240\005\371\005\0\011\0\2\0 Atari-ST floppy 720k 7895# | | | | | 7896# | | | | heads 7897# | | | sectors/track 7898# | | sectors/FAT 7899# | media descriptor 7900# BPB: sectors 7901 7902# Valid media descriptor bytes for MS-DOS: 7903# 7904# Byte Capacity Media Size and Type 7905# ------------------------------------------------- 7906# 7907# F0 2.88 MB 3.5-inch, 2-sided, 36-sector 7908# F0 1.44 MB 3.5-inch, 2-sided, 18-sector 7909# F9 720K 3.5-inch, 2-sided, 9-sector 7910# F9 1.2 MB 5.25-inch, 2-sided, 15-sector 7911# FD 360K 5.25-inch, 2-sided, 9-sector 7912# FF 320K 5.25-inch, 2-sided, 8-sector 7913# FC 180K 5.25-inch, 1-sided, 9-sector 7914# FE 160K 5.25-inch, 1-sided, 8-sector 7915# FE 250K 8-inch, 1-sided, single-density 7916# FD 500K 8-inch, 2-sided, single-density 7917# FE 1.2 MB 8-inch, 2-sided, double-density 7918# F8 ----- Fixed disk 7919# 7920# FC xxxK Apricot 70x1x9 boot disk. 7921# 7922# Originally a bitmap: 7923# xxxxxxx0 Not two sided 7924# xxxxxxx1 Double sided 7925# xxxxxx0x Not 8 SPT 7926# xxxxxx1x 8 SPT 7927# xxxxx0xx Not Removable drive 7928# xxxxx1xx Removable drive 7929# 11111xxx Must be one. 7930# 7931# But now it's rather random: 7932# 111111xx Low density disk 7933# 00 SS, Not 8 SPT 7934# 01 DS, Not 8 SPT 7935# 10 SS, 8 SPT 7936# 11 DS, 8 SPT 7937# 7938# 11111001 Double density 3 1/2 floppy disk, high density 5 1/4 7939# 11110000 High density 3 1/2 floppy disk 7940# 11111000 Hard disk any format 7941# 7942 7943# all FAT12 (strength=70) floppies with sectorsize 512 added by Joerg Jenderek at Jun 2013 7944# http://en.wikipedia.org/wiki/File_Allocation_Table#Exceptions 7945512 ubelong&0xE0ffff00 0xE0ffff00 7946# without valid Media descriptor in place of BPB, cases with are done at other places 7947>21 ubyte <0xE5 floppy with old FAT filesystem 7948# but valid Media descriptor at begin of FAT 7949#>>512 ubyte =0xed 720k 7950#>>512 ubyte =0xf0 1440k 7951#>>512 ubyte =0xf8 720k 7952#>>512 ubyte =0xf9 1220k 7953#>>512 ubyte =0xfa 320k 7954#>>512 ubyte =0xfb 640k 7955>>512 ubyte =0xfc 180k 7956# look like an an old DOS directory entry 7957>>>0xA0E ubequad 0 7958>>>>0xA00 ubequad !0 7959!:mime application/x-ima 7960>>512 ubyte =0xfd 7961# look for 2nd FAT at different location to distinguish between 360k and 500k 7962>>>0x600 ubelong&0xE0ffff00 0xE0ffff00 360k 7963#>>>0x500 ubelong&0xE0ffff00 0xE0ffff00 500k 7964>>>0xA0E ubequad 0 7965!:mime application/x-ima 7966>>512 ubyte =0xfe 7967>>>0x400 ubelong&0xE0ffff00 0xE0ffff00 160k 7968>>>>0x60E ubequad 0 7969>>>>>0x600 ubequad !0 7970!:mime application/x-ima 7971#>>>0xC00 ubelong&0xE0ffff00 0xE0ffff00 1200k 7972>>512 ubyte =0xff 320k 7973>>>0x60E ubequad 0 7974>>>>0x600 ubequad !0 7975!:mime application/x-ima 7976>>512 ubyte x \b, Media descriptor 0x%x 7977# without x86 jump instruction 7978>>0 ulelong&0x804000E9 !0x000000E9 7979# assembler instructions: CLI;MOV SP,1E7;MOV AX;07c0;MOV 7980>>>0 ubequad 0xfabce701b8c0078e \b, MS-DOS 1.12 bootloader 7981# IOSYS.COM+MSDOS.COM 7982>>>>0xc4 use 2xDOS-filename 7983>>0 ulelong&0x804000E9 =0x000000E9 7984# only x86 short jump instruction found 7985>>>0 ubyte =0xEB 7986>>>>1 ubyte x \b, code offset 0x%x+2 7987# http://thestarman.pcministry.com/DOS/ibm100/Boot.htm 7988# assembler instructions: CLI;MOV AX,CS;MOV DS,AX;MOV DX,0 7989>>>>(1.b+2) ubequad 0xfa8cc88ed8ba0000 \b, PC-DOS 1.0 bootloader 7990# ibmbio.com+ibmdos.com 7991>>>>>0x176 use DOS-filename 7992>>>>>0x181 ubyte x \b+ 7993>>>>>0x182 use DOS-filename 7994# http://thestarman.pcministry.com/DOS/ibm110/Boot.htm 7995# assembler instructions: CLI;MOV AX,CS;MOV DS,AX;XOR DX,DX;MOV 7996>>>>(1.b+2) ubequad 0xfa8cc88ed833d28e \b, PC-DOS 1.1 bootloader 7997# ibmbio.com+ibmdos.com 7998>>>>>0x18b use DOS-filename 7999>>>>>0x196 ubyte x \b+ 8000>>>>>0x197 use DOS-filename 8001# http://en.wikipedia.org/wiki/Zenith_Data_Systems 8002# assembler instructions: MOV BX,07c0;MOV SS,BX;MOV SP,01c6 8003>>>>(1.b+2) ubequad 0xbbc0078ed3bcc601 \b, Zenith Data Systems MS-DOS 1.25 bootloader 8004# IO.SYS+MSDOS.SYS 8005>>>>>0x20 use 2xDOS-filename 8006# http://en.wikipedia.org/wiki/Corona_Data_Systems 8007# assembler instructions: MOV AX,CS;MOV DS,AX;CLI;MOV SS,AX; 8008>>>>(1.b+2) ubequad 0x8cc88ed8fa8ed0bc \b, MS-DOS 1.25 bootloader 8009# IO.SYS+MSDOS.SYS 8010>>>>>0x69 use 2xDOS-filename 8011# assembler instructions: CLI;PUSH CS;POP SS;MOV SP,7c00; 8012>>>>(1.b+2) ubequad 0xfa0e17bc007cb860 \b, MS-DOS 2.11 bootloader 8013# defect IO.SYS+MSDOS.SYS ? 8014#>>>>>0x162 use 2xDOS-filename 8015 8016# CDROM Filesystems 8017# Modified for UDF by gerardo.cacciari@gmail.com 801832769 string CD001 # 8019!:mime application/x-iso9660-image 8020>38913 string !NSR0 ISO 9660 CD-ROM filesystem data 8021>38913 string NSR0 UDF filesystem data 8022>>38917 string 1 (version 1.0) 8023>>38917 string 2 (version 1.5) 8024>>38917 string 3 (version 2.0) 8025>>38917 byte >0x33 (unknown version, ID 0x%X) 8026>>38917 byte <0x31 (unknown version, ID 0x%X) 8027# "application id" which appears to be used as a volume label 8028>32808 string/T >\0 '%s' 8029>34816 string \000CD001\001EL\ TORITO\ SPECIFICATION (bootable) 803037633 string CD001 ISO 9660 CD-ROM filesystem data (raw 2352 byte sectors) 8031!:mime application/x-iso9660-image 803232777 string CDROM High Sierra CD-ROM filesystem data 8033 8034# .cso files 80350 string CISO Compressed ISO CD image 8036 8037# cramfs filesystem - russell@coker.com.au 80380 lelong 0x28cd3d45 Linux Compressed ROM File System data, little endian 8039>4 lelong x size %lu 8040>8 lelong &1 version #2 8041>8 lelong &2 sorted_dirs 8042>8 lelong &4 hole_support 8043>32 lelong x CRC 0x%x, 8044>36 lelong x edition %lu, 8045>40 lelong x %lu blocks, 8046>44 lelong x %lu files 8047 80480 belong 0x28cd3d45 Linux Compressed ROM File System data, big endian 8049>4 belong x size %lu 8050>8 belong &1 version #2 8051>8 belong &2 sorted_dirs 8052>8 belong &4 hole_support 8053>32 belong x CRC 0x%x, 8054>36 belong x edition %lu, 8055>40 belong x %lu blocks, 8056>44 belong x %lu files 8057 8058# reiserfs - russell@coker.com.au 80590x10034 string ReIsErFs ReiserFS V3.5 80600x10034 string ReIsEr2Fs ReiserFS V3.6 80610x10034 string ReIsEr3Fs ReiserFS V3.6.19 8062>0x1002c leshort x block size %d 8063>0x10032 leshort &2 (mounted or unclean) 8064>0x10000 lelong x num blocks %d 8065>0x10040 lelong 1 tea hash 8066>0x10040 lelong 2 yura hash 8067>0x10040 lelong 3 r5 hash 8068 8069# JFFS - russell@coker.com.au 80700 lelong 0x34383931 Linux Journalled Flash File system, little endian 80710 belong 0x34383931 Linux Journalled Flash File system, big endian 8072 8073# EST flat binary format (which isn't, but anyway) 8074# From: Mark Brown <broonie@sirena.org.uk> 80750 string ESTFBINR EST flat binary 8076 8077# Aculab VoIP firmware 8078# From: Mark Brown <broonie@sirena.org.uk> 80790 string VoIP\ Startup\ and Aculab VoIP firmware 8080>35 string x format %s 8081 8082# From: Mark Brown <broonie@sirena.org.uk> [old] 8083# From: Behan Webster <behanw@websterwood.com> 80840 belong 0x27051956 u-boot legacy uImage, 8085>32 string x %s, 8086>28 byte 0 Invalid os/ 8087>28 byte 1 OpenBSD/ 8088>28 byte 2 NetBSD/ 8089>28 byte 3 FreeBSD/ 8090>28 byte 4 4.4BSD/ 8091>28 byte 5 Linux/ 8092>28 byte 6 SVR4/ 8093>28 byte 7 Esix/ 8094>28 byte 8 Solaris/ 8095>28 byte 9 Irix/ 8096>28 byte 10 SCO/ 8097>28 byte 11 Dell/ 8098>28 byte 12 NCR/ 8099>28 byte 13 LynxOS/ 8100>28 byte 14 VxWorks/ 8101>28 byte 15 pSOS/ 8102>28 byte 16 QNX/ 8103>28 byte 17 Firmware/ 8104>28 byte 18 RTEMS/ 8105>28 byte 19 ARTOS/ 8106>28 byte 20 Unity OS/ 8107>28 byte 21 INTEGRITY/ 8108>29 byte 0 \bInvalid CPU, 8109>29 byte 1 \bAlpha, 8110>29 byte 2 \bARM, 8111>29 byte 3 \bIntel x86, 8112>29 byte 4 \bIA64, 8113>29 byte 5 \bMIPS, 8114>29 byte 6 \bMIPS 64-bit, 8115>29 byte 7 \bPowerPC, 8116>29 byte 8 \bIBM S390, 8117>29 byte 9 \bSuperH, 8118>29 byte 10 \bSparc, 8119>29 byte 11 \bSparc 64-bit, 8120>29 byte 12 \bM68K, 8121>29 byte 13 \bNios-32, 8122>29 byte 14 \bMicroBlaze, 8123>29 byte 15 \bNios-II, 8124>29 byte 16 \bBlackfin, 8125>29 byte 17 \bAVR32, 8126>29 byte 18 \bSTMicroelectronics ST200, 8127>30 byte 0 Invalid Image 8128>30 byte 1 Standalone Program 8129>30 byte 2 OS Kernel Image 8130>30 byte 3 RAMDisk Image 8131>30 byte 4 Multi-File Image 8132>30 byte 5 Firmware Image 8133>30 byte 6 Script File 8134>30 byte 7 Filesystem Image (any type) 8135>30 byte 8 Binary Flat Device Tree BLOB 8136>31 byte 0 (Not compressed), 8137>31 byte 1 (gzip), 8138>31 byte 2 (bzip2), 8139>31 byte 3 (lzma), 8140>12 belong x %d bytes, 8141>8 bedate x %s, 8142>16 belong x Load Address: 0x%08X, 8143>20 belong x Entry Point: 0x%08X, 8144>4 belong x Header CRC: 0x%08X, 8145>24 belong x Data CRC: 0x%08X 8146 8147# JFFS2 file system 81480 leshort 0x1984 Linux old jffs2 filesystem data little endian 81490 leshort 0x1985 Linux jffs2 filesystem data little endian 8150 8151# Squashfs 81520 string sqsh Squashfs filesystem, big endian, 8153>28 beshort x version %d. 8154>30 beshort x \b%d, 8155>28 beshort <3 8156>>8 belong x %d bytes, 8157>28 beshort >2 8158>>28 beshort <4 8159>>>63 bequad x %lld bytes, 8160>>28 beshort >3 8161>>>40 bequad x %lld bytes, 8162#>>67 belong x %d bytes, 8163>4 belong x %d inodes, 8164>28 beshort <2 8165>>32 beshort x blocksize: %d bytes, 8166>28 beshort >1 8167>>28 beshort <4 8168>>>51 belong x blocksize: %d bytes, 8169>>28 beshort >3 8170>>>12 belong x blocksize: %d bytes, 8171>28 beshort <4 8172>>39 bedate x created: %s 8173>28 beshort >3 8174>>8 bedate x created: %s 81750 string hsqs Squashfs filesystem, little endian, 8176>28 leshort x version %d. 8177>30 leshort x \b%d, 8178>28 leshort <3 8179>>8 lelong x %d bytes, 8180>28 leshort >2 8181>>28 leshort <4 8182>>>63 lequad x %lld bytes, 8183>>28 leshort >3 8184>>>40 lequad x %lld bytes, 8185#>>63 lelong x %d bytes, 8186>4 lelong x %d inodes, 8187>28 leshort <2 8188>>32 leshort x blocksize: %d bytes, 8189>28 leshort >1 8190>>28 leshort <4 8191>>>51 lelong x blocksize: %d bytes, 8192>>28 leshort >3 8193>>>12 lelong x blocksize: %d bytes, 8194>28 leshort <4 8195>>39 ledate x created: %s 8196>28 leshort >3 8197>>8 ledate x created: %s 8198 8199# AFS Dump Magic 8200# From: Ty Sarna <tsarna@sarna.org> 82010 string \x01\xb3\xa1\x13\x22 AFS Dump 8202>&0 belong x (v%d) 8203>>&0 byte 0x76 8204>>>&0 belong x Vol %d, 8205>>>>&0 byte 0x6e 8206>>>>>&0 string x %s 8207>>>>>>&1 byte 0x74 8208>>>>>>>&0 beshort 2 8209>>>>>>>>&4 bedate x on: %s 8210>>>>>>>>&0 bedate =0 full dump 8211>>>>>>>>&0 bedate !0 incremental since: %s 8212 8213#---------------------------------------------------------- 8214#delta ISO Daniel Novotny (dnovotny@redhat.com) 82150 string DISO Delta ISO data 8216>4 belong x version %d 8217 8218# VMS backup savesets - gerardo.cacciari@gmail.com 8219# 82204 string \x01\x00\x01\x00\x01\x00 8221>(0.s+16) string \x01\x01 8222>>&(&0.b+8) byte 0x42 OpenVMS backup saveset data 8223>>>40 lelong x (block size %d, 8224>>>49 string >\0 original name '%s', 8225>>>2 short 1024 VAX generated) 8226>>>2 short 2048 AXP generated) 8227>>>2 short 4096 I64 generated) 8228 8229# Summary: Oracle Clustered Filesystem 8230# Created by: Aaron Botsis <redhat@digitalmafia.org> 82318 string OracleCFS Oracle Clustered Filesystem, 8232>4 long x rev %d 8233>0 long x \b.%d, 8234>560 string x label: %.64s, 8235>136 string x mountpoint: %.128s 8236 8237# Summary: Oracle ASM tagged volume 8238# Created by: Aaron Botsis <redhat@digitalmafia.org> 823932 string ORCLDISK Oracle ASM Volume, 8240>40 string x Disk Name: %0.12s 824132 string ORCLCLRD Oracle ASM Volume (cleared), 8242>40 string x Disk Name: %0.12s 8243 8244# Oracle Clustered Filesystem - Aaron Botsis <redhat@digitalmafia.org> 82458 string OracleCFS Oracle Clustered Filesystem, 8246>4 long x rev %d 8247>0 long x \b.%d, 8248>560 string x label: %.64s, 8249>136 string x mountpoint: %.128s 8250 8251# Oracle ASM tagged volume - Aaron Botsis <redhat@digitalmafia.org> 825232 string ORCLDISK Oracle ASM Volume, 8253>40 string x Disk Name: %0.12s 825432 string ORCLCLRD Oracle ASM Volume (cleared), 8255>40 string x Disk Name: %0.12s 8256 8257# Compaq/HP RILOE floppy image 8258# From: Dirk Jagdmann <doj@cubic.org> 82590 string CPQRFBLO Compaq/HP RILOE floppy image 8260 8261#------------------------------------------------------------------------------ 8262# Files-11 On-Disk Structure (File system for various RSX-11 and VMS flavours). 8263# These bits come from LBN 1 (home block) of ODS-1, ODS-2 and ODS-5 volumes, 8264# which is mapped to VBN 2 of [000000]INDEXF.SYS;1 - gerardo.cacciari@gmail.com 8265# 82661008 string DECFILE11 Files-11 On-Disk Structure 8267>525 byte x Level %d 8268>525 byte x (ODS-%d); 8269>1017 string A RSX-11, VAX/VMS or OpenVMS VAX file system; 8270>1017 string B 8271>>525 byte 2 VAX/VMS or OpenVMS file system; 8272>>525 byte 5 OpenVMS Alpha or Itanium file system; 8273>984 string x volume label is '%-12.12s' 8274 8275# From: Thomas Klausner <wiz@NetBSD.org> 8276# http://filext.com/file-extension/DAA 8277# describes the daa file format. The magic would be: 82780 string DAA\x0\x0\x0\x0\x0 PowerISO Direct-Access-Archive 8279 8280# From Albert Cahalan <acahalan@gmail.com> 8281# really le32 operation,destination,payloadsize (but quite predictable) 8282# 01 00 00 00 00 00 00 c0 00 02 00 00 82830 string \1\0\0\0\0\0\0\300\0\2\0\0 Marvell Libertas firmware 8284 8285# From Eric Sandeen 8286# GFS2 82870x10000 belong 0x01161970 8288>0x10018 belong 0x0000051d GFS1 Filesystem 8289>>0x10024 belong x (blocksize %d, 8290>>0x10060 string >\0 lockproto %s) 8291>0x10018 belong 0x00000709 GFS2 Filesystem 8292>>0x10024 belong x (blocksize %d, 8293>>0x10060 string >\0 lockproto %s) 8294 8295# BTRFS 82960x10040 string _BHRfS_M BTRFS Filesystem 8297>0x1012b string >\0 (label "%s", 8298>0x10090 lelong x sectorsize %d, 8299>0x10094 lelong x nodesize %d, 8300>0x10098 lelong x leafsize %d) 8301 8302 8303# dvdisaster's .ecc 8304# From: "Nelson A. de Oliveira" <naoliv@gmail.com> 83050 string *dvdisaster* dvdisaster error correction file 8306 8307# xfs metadump image 8308# mb_magic XFSM at 0; superblock magic XFSB at 1 << mb_blocklog 8309# but can we do the << ? For now it's always 512 (0x200) anyway. 83100 string XFSM 8311>0x200 string XFSB XFS filesystem metadump image 8312 8313# Type: CROM filesystem 8314# From: Werner Fink <werner@suse.de> 83150 string CROMFS CROMFS 8316>6 string >\0 \b version %2.2s, 8317>8 ulequad >0 \b block data at %lld, 8318>16 ulequad >0 \b fblock table at %lld, 8319>24 ulequad >0 \b inode table at %lld, 8320>32 ulequad >0 \b root at %lld, 8321>40 ulelong >0 \b fblock size = %ld, 8322>44 ulelong >0 \b block size = %ld, 8323>48 ulequad >0 \b bytes = %lld 8324 8325# Type: xfs metadump image 8326# From: Daniel Novotny <dnovotny@redhat.com> 8327# mb_magic XFSM at 0; superblock magic XFSB at 1 << mb_blocklog 8328# but can we do the << ? For now it's always 512 (0x200) anyway. 83290 string XFSM 8330>0x200 string XFSB XFS filesystem metadump image 8331 8332# Type: delta ISO 8333# From: Daniel Novotny <dnovotny@redhat.com> 83340 string DISO Delta ISO data, 8335>4 belong x version %d 8336 8337# JFS2 (Journaling File System) image. (Old JFS1 has superblock at 0x1000.) 8338# See linux/fs/jfs/jfs_superblock.h for layout; see jfs_filsys.h for flags. 8339# From: Adam Buchbinder <adam.buchbinder@gmail.com> 83400x8000 string JFS1 8341# Because it's text-only magic, check a binary value (version) to be sure. 8342# Should always be 2, but mkfs.jfs writes it as 1. Needs to be 2 or 1 to be 8343# mountable. 8344>&0 lelong <3 JFS2 filesystem image 8345# Label is followed by a UUID; we have to limit string length to avoid 8346# appending the UUID in the case of a 16-byte label. 8347>>&144 regex [\x20-\x7E]{1,16} (label "%s") 8348>>&0 lequad x \b, %lld blocks 8349>>&8 lelong x \b, blocksize %d 8350>>&32 lelong&0x00000006 >0 (dirty) 8351>>&36 lelong >0 (compressed) 8352 8353# LFS 83540 lelong 0x070162 LFS filesystem image 8355>4 lelong 1 version 1, 8356>>8 lelong x \b blocks %u, 8357>>12 lelong x \b blocks per segment %u, 8358>4 lelong 2 version 2, 8359>>8 lelong x \b fragments %u, 8360>>12 lelong x \b bytes per segment %u, 8361>16 lelong x \b disk blocks %u, 8362>20 lelong x \b block size %u, 8363>24 lelong x \b fragment size %u, 8364>28 lelong x \b fragments per block %u, 8365>32 lelong x \b start for free list %u, 8366>36 lelong x \b number of free blocks %d, 8367>40 lelong x \b number of files %u, 8368>44 lelong x \b blocks available for writing %d, 8369>48 lelong x \b inodes in cache %d, 8370>52 lelong x \b inode file disk address 0x%x, 8371>56 lelong x \b inode file inode number %u, 8372>60 lelong x \b address of last segment written 0x%x, 8373>64 lelong x \b address of next segment to write 0x%x, 8374>68 lelong x \b address of current segment written 0x%x 8375 83760 string td\000 floppy image data (TeleDisk, compressed) 83770 string TD\000 floppy image data (TeleDisk) 8378 83790 string CQ\024 floppy image data (CopyQM, 8380>16 leshort x %d sectors, 8381>18 leshort x %d heads.) 8382 83830 string ACT\020Apricot\020disk\020image\032\004 floppy image data (ApriDisk) 8384 83850 beshort 0xAA58 floppy image data (IBM SaveDskF, old) 83860 beshort 0xAA59 floppy image data (IBM SaveDskF) 83870 beshort 0xAA5A floppy image data (IBM SaveDskF, compressed) 8388 83890 string \074CPM_Disk\076 disk image data (YAZE) 8390 8391# ReFS 8392# Richard W.M. Jones <rjones@redhat.com> 83930 string \0\0\0ReFS\0 ReFS filesystem image 8394 8395# EFW encase image file format: 8396# Gregoire Passault 8397# http://www.forensicswiki.org/wiki/Encase_image_file_format 83980 string EVF\x09\x0d\x0a\xff\x00 EWF/Expert Witness/EnCase image file format 8399 8400#------------------------------------------------------------------------------ 8401# $File: flash,v 1.9 2009/11/08 01:30:01 christos Exp $ 8402# flash: file(1) magic for Macromedia Flash file format 8403# 8404# See 8405# 8406# http://www.macromedia.com/software/flash/open/ 8407# 84080 string FWS Macromedia Flash data, 8409>3 byte x version %d 8410!:mime application/x-shockwave-flash 84110 string CWS Macromedia Flash data (compressed), 8412!:mime application/x-shockwave-flash 8413>3 byte x version %d 8414# From: Cal Peake <cp@absolutedigital.net> 84150 string FLV Macromedia Flash Video 8416!:mime video/x-flv 8417 8418# 8419# Yosu Gomez 84200 string AGD2\xbe\xb8\xbb\xcd\x00 Macromedia Freehand 7 Document 84210 string AGD3\xbe\xb8\xbb\xcc\x00 Macromedia Freehand 8 Document 8422# From Dave Wilson 84230 string AGD4\xbe\xb8\xbb\xcb\x00 Macromedia Freehand 9 Document 8424 8425#------------------------------------------------------------------------------ 8426# $File: fonts,v 1.26 2013/03/09 22:36:00 christos Exp $ 8427# fonts: file(1) magic for font data 8428# 84290 search/1 FONT ASCII vfont text 84300 short 0436 Berkeley vfont data 84310 short 017001 byte-swapped Berkeley vfont data 8432 8433# PostScript fonts (must precede "printer" entries), quinlan@yggdrasil.com 84340 string %!PS-AdobeFont-1. PostScript Type 1 font text 8435>20 string >\0 (%s) 84366 string %!PS-AdobeFont-1. PostScript Type 1 font program data 84370 string %!FontType1 PostScript Type 1 font program data 84386 string %!FontType1 PostScript Type 1 font program data 84390 string %!PS-Adobe-3.0\ Resource-Font PostScript Type 1 font text 8440 8441# X11 font files in SNF (Server Natural Format) format 8442# updated by Joerg Jenderek at Feb 2013 8443# http://computer-programming-forum.com/51-perl/8f22fb96d2e34bab.htm 84440 belong 00000004 X11 SNF font data, MSB first 8445#>104 belong 00000004 X11 SNF font data, MSB first 8446!:mime application/x-font-sfn 8447# GRR: line below too general as it catches also Xbase index file t3-CHAR.NDX 84480 lelong 00000004 8449>104 lelong 00000004 X11 SNF font data, LSB first 8450!:mime application/x-font-sfn 8451 8452# X11 Bitmap Distribution Format, from Daniel Quinlan (quinlan@yggdrasil.com) 84530 search/1 STARTFONT\ X11 BDF font text 8454 8455# X11 fonts, from Daniel Quinlan (quinlan@yggdrasil.com) 8456# PCF must come before SGI additions ("MIPSEL MIPS-II COFF" collides) 84570 string \001fcp X11 Portable Compiled Font data 8458>12 byte 0x02 \b, LSB first 8459>12 byte 0x0a \b, MSB first 84600 string D1.0\015 X11 Speedo font data 8461 8462#------------------------------------------------------------------------------ 8463# FIGlet fonts and controlfiles 8464# From figmagic supplied with Figlet version 2.2 8465# "David E. O'Brien" <obrien@FreeBSD.ORG> 84660 string flf FIGlet font 8467>3 string >2a version %-2.2s 84680 string flc FIGlet controlfile 8469>3 string >2a version %-2.2s 8470 8471# libGrx graphics lib fonts, from Albert Cahalan (acahalan@cs.uml.edu) 8472# Used with djgpp (DOS Gnu C++), sometimes Linux or Turbo C++ 84730 belong 0x14025919 libGrx font data, 8474>8 leshort x %dx 8475>10 leshort x \b%d 8476>40 string x %s 8477# Misc. DOS VGA fonts, from Albert Cahalan (acahalan@cs.uml.edu) 84780 belong 0xff464f4e DOS code page font data collection 84797 belong 0x00454741 DOS code page font data 84807 belong 0x00564944 DOS code page font data (from Linux?) 84814098 string DOSFONT DOSFONT2 encrypted font data 8482 8483# downloadable fonts for browser (prints type) anthon@mnt.org 84840 string PFR1 PFR1 font 8485>102 string >0 \b: %s 8486 8487# True Type fonts 84880 string \000\001\000\000\000 TrueType font data 8489!:mime application/x-font-ttf 8490 84910 string \007\001\001\000Copyright\ (c)\ 199 Adobe Multiple Master font 84920 string \012\001\001\000Copyright\ (c)\ 199 Adobe Multiple Master font 8493 8494# TrueType/OpenType font collections (.ttc) 8495# http://www.microsoft.com/typography/otspec/otff.htm 84960 string ttcf TrueType font collection data 8497>4 belong 0x00010000 \b, 1.0 8498>>8 belong >0 \b, %d fonts 8499>4 belong 0x00020000 \b, 2.0 8500>>8 belong >0 \b, %d fonts 8501# 0x44454947 = 'DSIG' 8502>>>16 belong 0x44534947 \b, digitally signed 8503 8504# Opentype font data from Avi Bercovich 85050 string OTTO OpenType font data 8506!:mime application/vnd.ms-opentype 8507 8508# Gurkan Sengun <gurkan@linuks.mine.nu>, www.linuks.mine.nu 85090 string SplineFontDB: Spline Font Database 8510!:mime application/vnd.font-fontforge-sfd 8511>14 string x version %s 8512 8513# EOT 851434 string LP Embedded OpenType (EOT) 8515!:mime application/vnd.ms-fontobject 8516 8517# Web Open Font Format (.woff) 8518# http://www.w3.org/TR/WOFF/ 85190 string wOFF Web Open Font Format 8520>4 belong x \b, flavor %d 8521>8 belong x \b, length %d 8522>20 beshort x \b, version %hd 8523>22 beshort x \b.%hd 8524 8525#------------------------------------------------------------------------------ 8526# $File: fortran,v 1.7 2012/06/21 01:55:02 christos Exp $ 8527# FORTRAN source 85280 regex/100 \^[Cc][\ \t] FORTRAN program 8529!:mime text/x-fortran 8530!:strength - 5 8531 8532#------------------------------------------------------------------------------ 8533# $File: frame,v 1.12 2009/09/19 16:28:09 christos Exp $ 8534# frame: file(1) magic for FrameMaker files 8535# 8536# This stuff came on a FrameMaker demo tape, most of which is 8537# copyright, but this file is "published" as witness the following: 8538# 8539# Note that this is the Framemaker Maker Interchange Format, not the 8540# Normal format which would be application/vnd.framemaker. 8541# 85420 string \<MakerFile FrameMaker document 8543!:mime application/x-mif 8544>11 string 5.5 (5.5 8545>11 string 5.0 (5.0 8546>11 string 4.0 (4.0 8547>11 string 3.0 (3.0 8548>11 string 2.0 (2.0 8549>11 string 1.0 (1.0 8550>14 byte x %c) 85510 string \<MIFFile FrameMaker MIF (ASCII) file 8552!:mime application/x-mif 8553>9 string 4.0 (4.0) 8554>9 string 3.0 (3.0) 8555>9 string 2.0 (2.0) 8556>9 string 1.0 (1.x) 85570 search/1 \<MakerDictionary FrameMaker Dictionary text 8558!:mime application/x-mif 8559>17 string 3.0 (3.0) 8560>17 string 2.0 (2.0) 8561>17 string 1.0 (1.x) 85620 string \<MakerScreenFont FrameMaker Font file 8563!:mime application/x-mif 8564>17 string 1.01 (%s) 85650 string \<MML FrameMaker MML file 8566!:mime application/x-mif 85670 string \<BookFile FrameMaker Book file 8568!:mime application/x-mif 8569>10 string 3.0 (3.0 8570>10 string 2.0 (2.0 8571>10 string 1.0 (1.0 8572>13 byte x %c) 8573# XXX - this book entry should be verified, if you find one, uncomment this 8574#0 string \<Book\ FrameMaker Book (ASCII) file 8575#!:mime application/x-mif 8576#>6 string 3.0 (3.0) 8577#>6 string 2.0 (2.0) 8578#>6 string 1.0 (1.0) 85790 string \<Maker Intermediate Print File FrameMaker IPL file 8580!:mime application/x-mif 8581 8582#------------------------------------------------------------------------------ 8583# $File: freebsd,v 1.7 2009/09/19 16:28:09 christos Exp $ 8584# freebsd: file(1) magic for FreeBSD objects 8585# 8586# All new-style FreeBSD magic numbers are in host byte order (i.e., 8587# little-endian on x86). 8588# 8589# XXX - this comes from the file "freebsd" in a recent FreeBSD version of 8590# "file"; it, and the NetBSD stuff in "netbsd", appear to use different 8591# schemes for distinguishing between executable images, shared libraries, 8592# and object files. 8593# 8594# FreeBSD says: 8595# 8596# Regardless of whether it's pure, demand-paged, or none of the 8597# above: 8598# 8599# if the entry point is < 4096, then it's a shared library if 8600# the "has run-time loader information" bit is set, and is 8601# position-independent if the "is position-independent" bit 8602# is set; 8603# 8604# if the entry point is >= 4096 (or >4095, same thing), then it's 8605# an executable, and is dynamically-linked if the "has run-time 8606# loader information" bit is set. 8607# 8608# On x86, NetBSD says: 8609# 8610# If it's neither pure nor demand-paged: 8611# 8612# if it has the "has run-time loader information" bit set, it's 8613# a dynamically-linked executable; 8614# 8615# if it doesn't have that bit set, then: 8616# 8617# if it has the "is position-independent" bit set, it's 8618# position-independent; 8619# 8620# if the entry point is non-zero, it's an executable, otherwise 8621# it's an object file. 8622# 8623# If it's pure: 8624# 8625# if it has the "has run-time loader information" bit set, it's 8626# a dynamically-linked executable, otherwise it's just an 8627# executable. 8628# 8629# If it's demand-paged: 8630# 8631# if it has the "has run-time loader information" bit set, 8632# then: 8633# 8634# if the entry point is < 4096, it's a shared library; 8635# 8636# if the entry point is = 4096 or > 4096 (i.e., >= 4096), 8637# it's a dynamically-linked executable); 8638# 8639# if it doesn't have the "has run-time loader information" bit 8640# set, then it's just an executable. 8641# 8642# (On non-x86, NetBSD does much the same thing, except that it uses 8643# 8192 on 68K - except for "68k4k", which is presumably "68K with 4K 8644# pages - SPARC, and MIPS, presumably because Sun-3's and Sun-4's 8645# had 8K pages; dunno about MIPS.) 8646# 8647# I suspect the two will differ only in perverse and uninteresting cases 8648# ("shared" libraries that aren't demand-paged and whose pages probably 8649# won't actually be shared, executables with entry points <4096). 8650# 8651# I leave it to those more familiar with FreeBSD and NetBSD to figure out 8652# what the right answer is (although using ">4095", FreeBSD-style, is 8653# probably better than separately checking for "=4096" and ">4096", 8654# NetBSD-style). (The old "netbsd" file analyzed FreeBSD demand paged 8655# executables using the NetBSD technique.) 8656# 86570 lelong&0377777777 041400407 FreeBSD/i386 8658>20 lelong <4096 8659>>3 byte&0xC0 &0x80 shared library 8660>>3 byte&0xC0 0x40 PIC object 8661>>3 byte&0xC0 0x00 object 8662>20 lelong >4095 8663>>3 byte&0x80 0x80 dynamically linked executable 8664>>3 byte&0x80 0x00 executable 8665>16 lelong >0 not stripped 8666 86670 lelong&0377777777 041400410 FreeBSD/i386 pure 8668>20 lelong <4096 8669>>3 byte&0xC0 &0x80 shared library 8670>>3 byte&0xC0 0x40 PIC object 8671>>3 byte&0xC0 0x00 object 8672>20 lelong >4095 8673>>3 byte&0x80 0x80 dynamically linked executable 8674>>3 byte&0x80 0x00 executable 8675>16 lelong >0 not stripped 8676 86770 lelong&0377777777 041400413 FreeBSD/i386 demand paged 8678>20 lelong <4096 8679>>3 byte&0xC0 &0x80 shared library 8680>>3 byte&0xC0 0x40 PIC object 8681>>3 byte&0xC0 0x00 object 8682>20 lelong >4095 8683>>3 byte&0x80 0x80 dynamically linked executable 8684>>3 byte&0x80 0x00 executable 8685>16 lelong >0 not stripped 8686 86870 lelong&0377777777 041400314 FreeBSD/i386 compact demand paged 8688>20 lelong <4096 8689>>3 byte&0xC0 &0x80 shared library 8690>>3 byte&0xC0 0x40 PIC object 8691>>3 byte&0xC0 0x00 object 8692>20 lelong >4095 8693>>3 byte&0x80 0x80 dynamically linked executable 8694>>3 byte&0x80 0x00 executable 8695>16 lelong >0 not stripped 8696 8697# XXX gross hack to identify core files 8698# cores start with a struct tss; we take advantage of the following: 8699# byte 7: highest byte of the kernel stack pointer, always 0xfe 8700# 8/9: kernel (ring 0) ss value, always 0x0010 8701# 10 - 27: ring 1 and 2 ss/esp, unused, thus always 0 8702# 28: low order byte of the current PTD entry, always 0 since the 8703# PTD is page-aligned 8704# 87057 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 8706>1039 string >\0 from '%s' 8707 8708# /var/run/ld.so.hints 8709# What are you laughing about? 87100 lelong 011421044151 ld.so hints file (Little Endian 8711>4 lelong >0 \b, version %d) 8712>4 belong <1 \b) 87130 belong 011421044151 ld.so hints file (Big Endian 8714>4 belong >0 \b, version %d) 8715>4 belong <1 \b) 8716 8717# 8718# Files generated by FreeBSD scrshot(1)/vidcontrol(1) utilities 8719# 87200 string SCRSHOT_ scrshot(1) screenshot, 8721>8 byte x version %d, 8722>9 byte 2 %d bytes in header, 8723>>10 byte x %d chars wide by 8724>>11 byte x %d chars high 8725 8726#------------------------------------------------------------------------------ 8727# $File: fsav,v 1.13 2013/03/25 17:18:47 christos Exp $ 8728# fsav: file(1) magic for datafellows fsav virus definition files 8729# Anthon van der Neut (anthon@mnt.org) 8730 8731# ftp://ftp.f-prot.com/pub/{macrdef2.zip,nomacro.def} 87320 beshort 0x1575 fsav macro virus signatures 8733>8 leshort >0 (%d- 8734>11 byte >0 \b%02d- 8735>10 byte >0 \b%02d) 8736# ftp://ftp.f-prot.com/pub/sign.zip 8737#10 ubyte <12 8738#>9 ubyte <32 8739#>>8 ubyte 0x0a 8740#>>>12 ubyte 0x07 8741#>>>>11 uleshort >0 fsav DOS/Windows virus signatures (%d- 8742#>>>>10 byte 0 \b01- 8743#>>>>10 byte 1 \b02- 8744#>>>>10 byte 2 \b03- 8745#>>>>10 byte 3 \b04- 8746#>>>>10 byte 4 \b05- 8747#>>>>10 byte 5 \b06- 8748#>>>>10 byte 6 \b07- 8749#>>>>10 byte 7 \b08- 8750#>>>>10 byte 8 \b09- 8751#>>>>10 byte 9 \b10- 8752#>>>>10 byte 10 \b11- 8753#>>>>10 byte 11 \b12- 8754#>>>>9 ubyte >0 \b%02d) 8755# ftp://ftp.f-prot.com/pub/sign2.zip 8756#0 ubyte 0x62 8757#>1 ubyte 0xF5 8758#>>2 ubyte 0x1 8759#>>>3 ubyte 0x1 8760#>>>>4 ubyte 0x0e 8761#>>>>>13 ubyte >0 fsav virus signatures 8762#>>>>>>11 ubyte x size 0x%02x 8763#>>>>>>12 ubyte x \b%02x 8764#>>>>>>13 ubyte x \b%02x bytes 8765 8766# Joerg Jenderek: joerg dot jenderek at web dot de 8767# http://www.clamav.net/doc/latest/html/node45.html 8768# .cvd files start with a 512 bytes colon separated header 8769# ClamAV-VDB:buildDate:version:signaturesNumbers:functionalityLevelRequired:MD5:Signature:builder:buildTime 8770# + gzipped tarball files 87710 string ClamAV-VDB: 8772>11 string >\0 Clam AntiVirus database %-.23s 8773>>34 string : 8774>>>35 string !: \b, version 8775>>>>35 string x \b%-.1s 8776>>>>>36 string !: 8777>>>>>>36 string x \b%-.1s 8778>>>>>>>37 string !: 8779>>>>>>>>37 string x \b%-.1s 8780>>>>>>>>>38 string !: 8781>>>>>>>>>>38 string x \b%-.1s 8782>512 string \037\213 \b, gzipped 8783>769 string ustar\0 \b, tarred 8784 8785# Type: Grisoft AVG AntiVirus 8786# From: David Newgas <david@newgas.net> 87870 string AVG7_ANTIVIRUS_VAULT_FILE AVG 7 Antivirus vault file data 8788 87890 string X5O!P%@AP[4\\PZX54(P^)7CC)7}$EICAR 8790>33 string -STANDARD-ANTIVIRUS-TEST-FILE!$H+H* EICAR virus test files 8791 8792#------------------------------------------------------------------------------ 8793# $File: fusecompress,v 1.2 2011/08/08 09:05:55 christos Exp $ 8794# fusecompress: file(1) magic for fusecompress 87950 string \037\135\211 FuseCompress(ed) data 8796>3 byte 0x00 (none format) 8797>3 byte 0x01 (bz2 format) 8798>3 byte 0x02 (gz format) 8799>3 byte 0x03 (lzo format) 8800>3 byte 0x04 (xor format) 8801>3 byte >0x04 (unknown format) 8802>4 long x uncompressed size: %d 8803 8804#------------------------------------------------------------------------------ 8805# $File: games,v 1.13 2012/02/13 22:50:50 christos Exp $ 8806# games: file(1) for games 8807 8808# Fabio Bonelli <fabiobonelli@libero.it> 8809# Quake II - III data files 88100 string IDP2 Quake II 3D Model file, 8811>20 long x %lu skin(s), 8812>8 long x (%lu x 8813>12 long x %lu), 8814>40 long x %lu frame(s), 8815>16 long x Frame size %lu bytes, 8816>24 long x %lu vertices/frame, 8817>28 long x %lu texture coordinates, 8818>32 long x %lu triangles/frame 8819 88200 string IBSP Quake 8821>4 long 0x26 II Map file (BSP) 8822>4 long 0x2E III Map file (BSP) 8823 88240 string IDS2 Quake II SP2 sprite file 8825 8826#--------------------------------------------------------------------------- 8827# Doom and Quake 8828# submitted by Nicolas Patrois 8829 88300 string \xcb\x1dBoom\xe6\xff\x03\x01 Boom or linuxdoom demo 8831# some doom lmp files don't match, I've got one beginning with \x6d\x02\x01\x01 8832 883324 string LxD\ 203 Linuxdoom save 8834>0 string x , name=%s 8835>44 string x , world=%s 8836 8837# Quake 8838 88390 string PACK Quake I or II world or extension 8840>8 lelong >0 \b, %d entries 8841 8842#0 string -1\x0a Quake I demo 8843#>30 string x version %.4s 8844#>61 string x level %s 8845 8846#0 string 5\x0a Quake I save 8847 8848# The levels 8849 8850# Quake 1 8851 88520 string 5\x0aIntroduction Quake I save: start Introduction 88530 string 5\x0athe_Slipgate_Complex Quake I save: e1m1 The slipgate complex 88540 string 5\x0aCastle_of_the_Damned Quake I save: e1m2 Castle of the damned 88550 string 5\x0athe_Necropolis Quake I save: e1m3 The necropolis 88560 string 5\x0athe_Grisly_Grotto Quake I save: e1m4 The grisly grotto 88570 string 5\x0aZiggurat_Vertigo Quake I save: e1m8 Ziggurat vertigo (secret) 88580 string 5\x0aGloom_Keep Quake I save: e1m5 Gloom keep 88590 string 5\x0aThe_Door_To_Chthon Quake I save: e1m6 The door to Chthon 88600 string 5\x0aThe_House_of_Chthon Quake I save: e1m7 The house of Chthon 88610 string 5\x0athe_Installation Quake I save: e2m1 The installation 88620 string 5\x0athe_Ogre_Citadel Quake I save: e2m2 The ogre citadel 88630 string 5\x0athe_Crypt_of_Decay Quake I save: e2m3 The crypt of decay (dopefish lives!) 88640 string 5\x0aUnderearth Quake I save: e2m7 Underearth (secret) 88650 string 5\x0athe_Ebon_Fortress Quake I save: e2m4 The ebon fortress 88660 string 5\x0athe_Wizard's_Manse Quake I save: e2m5 The wizard's manse 88670 string 5\x0athe_Dismal_Oubliette Quake I save: e2m6 The dismal oubliette 88680 string 5\x0aTermination_Central Quake I save: e3m1 Termination central 88690 string 5\x0aVaults_of_Zin Quake I save: e3m2 Vaults of Zin 88700 string 5\x0athe_Tomb_of_Terror Quake I save: e3m3 The tomb of terror 88710 string 5\x0aSatan's_Dark_Delight Quake I save: e3m4 Satan's dark delight 88720 string 5\x0athe_Haunted_Halls Quake I save: e3m7 The haunted halls (secret) 88730 string 5\x0aWind_Tunnels Quake I save: e3m5 Wind tunnels 88740 string 5\x0aChambers_of_Torment Quake I save: e3m6 Chambers of torment 88750 string 5\x0athe_Sewage_System Quake I save: e4m1 The sewage system 88760 string 5\x0aThe_Tower_of_Despair Quake I save: e4m2 The tower of despair 88770 string 5\x0aThe_Elder_God_Shrine Quake I save: e4m3 The elder god shrine 88780 string 5\x0athe_Palace_of_Hate Quake I save: e4m4 The palace of hate 88790 string 5\x0aHell's_Atrium Quake I save: e4m5 Hell's atrium 88800 string 5\x0athe_Nameless_City Quake I save: e4m8 The nameless city (secret) 88810 string 5\x0aThe_Pain_Maze Quake I save: e4m6 The pain maze 88820 string 5\x0aAzure_Agony Quake I save: e4m7 Azure agony 88830 string 5\x0aShub-Niggurath's_Pit Quake I save: end Shub-Niggurath's pit 8884 8885# Quake DeathMatch levels 8886 88870 string 5\x0aPlace_of_Two_Deaths Quake I save: dm1 Place of two deaths 88880 string 5\x0aClaustrophobopolis Quake I save: dm2 Claustrophobopolis 88890 string 5\x0aThe_Abandoned_Base Quake I save: dm3 The abandoned base 88900 string 5\x0aThe_Bad_Place Quake I save: dm4 The bad place 88910 string 5\x0aThe_Cistern Quake I save: dm5 The cistern 88920 string 5\x0aThe_Dark_Zone Quake I save: dm6 The dark zone 8893 8894# Scourge of Armagon 8895 88960 string 5\x0aCommand_HQ Quake I save: start Command HQ 88970 string 5\x0aThe_Pumping_Station Quake I save: hip1m1 The pumping station 88980 string 5\x0aStorage_Facility Quake I save: hip1m2 Storage facility 88990 string 5\x0aMilitary_Complex Quake I save: hip1m5 Military complex (secret) 89000 string 5\x0athe_Lost_Mine Quake I save: hip1m3 The lost mine 89010 string 5\x0aResearch_Facility Quake I save: hip1m4 Research facility 89020 string 5\x0aAncient_Realms Quake I save: hip2m1 Ancient realms 89030 string 5\x0aThe_Gremlin's_Domain Quake I save: hip2m6 The gremlin's domain (secret) 89040 string 5\x0aThe_Black_Cathedral Quake I save: hip2m2 The black cathedral 89050 string 5\x0aThe_Catacombs Quake I save: hip2m3 The catacombs 89060 string 5\x0athe_Crypt__ Quake I save: hip2m4 The crypt 89070 string 5\x0aMortum's_Keep Quake I save: hip2m5 Mortum's keep 89080 string 5\x0aTur_Torment Quake I save: hip3m1 Tur torment 89090 string 5\x0aPandemonium Quake I save: hip3m2 Pandemonium 89100 string 5\x0aLimbo Quake I save: hip3m3 Limbo 89110 string 5\x0athe_Edge_of_Oblivion Quake I save: hipdm1 The edge of oblivion (secret) 89120 string 5\x0aThe_Gauntlet Quake I save: hip3m4 The gauntlet 89130 string 5\x0aArmagon's_Lair Quake I save: hipend Armagon's lair 8914 8915# Malice 8916 89170 string 5\x0aThe_Academy Quake I save: start The academy 89180 string 5\x0aThe_Lab Quake I save: d1 The lab 89190 string 5\x0aArea_33 Quake I save: d1b Area 33 89200 string 5\x0aSECRET_MISSIONS Quake I save: d3b Secret missions 89210 string 5\x0aThe_Hospital Quake I save: d10 The hospital (secret) 89220 string 5\x0aThe_Genetics_Lab Quake I save: d11 The genetics lab (secret) 89230 string 5\x0aBACK_2_MALICE Quake I save: d4b Back to Malice 89240 string 5\x0aArea44 Quake I save: d1c Area 44 89250 string 5\x0aTakahiro_Towers Quake I save: d2 Takahiro towers 89260 string 5\x0aA_Rat's_Life Quake I save: d3 A rat's life 89270 string 5\x0aInto_The_Flood Quake I save: d4 Into the flood 89280 string 5\x0aThe_Flood Quake I save: d5 The flood 89290 string 5\x0aNuclear_Plant Quake I save: d6 Nuclear plant 89300 string 5\x0aThe_Incinerator_Plant Quake I save: d7 The incinerator plant 89310 string 5\x0aThe_Foundry Quake I save: d7b The foundry 89320 string 5\x0aThe_Underwater_Base Quake I save: d8 The underwater base 89330 string 5\x0aTakahiro_Base Quake I save: d9 Takahiro base 89340 string 5\x0aTakahiro_Laboratories Quake I save: d12 Takahiro laboratories 89350 string 5\x0aStayin'_Alive Quake I save: d13 Stayin' alive 89360 string 5\x0aB.O.S.S._HQ Quake I save: d14 B.O.S.S. HQ 89370 string 5\x0aSHOWDOWN! Quake I save: d15 Showdown! 8938 8939# Malice DeathMatch levels 8940 89410 string 5\x0aThe_Seventh_Precinct Quake I save: ddm1 The seventh precinct 89420 string 5\x0aSub_Station Quake I save: ddm2 Sub station 89430 string 5\x0aCrazy_Eights! Quake I save: ddm3 Crazy eights! 89440 string 5\x0aEast_Side_Invertationa Quake I save: ddm4 East side invertationa 89450 string 5\x0aSlaughterhouse Quake I save: ddm5 Slaughterhouse 89460 string 5\x0aDOMINO Quake I save: ddm6 Domino 89470 string 5\x0aSANDRA'S_LADDER Quake I save: ddm7 Sandra's ladder 8948 8949 89500 string MComprHD MAME CHD compressed hard disk image, 8951>12 belong x version %lu 8952 8953# doom - submitted by Jon Dowland 8954 89550 string =IWAD doom main IWAD data 8956>4 lelong x containing %d lumps 89570 string =PWAD doom patch PWAD data 8958>4 lelong x containing %d lumps 8959 8960# Build engine group files (Duke Nukem, Shadow Warrior, ...) 8961# Extension: .grp 8962# Created by: "Ganael Laplanche" <ganael.laplanche@martymac.org> 89630 string KenSilverman Build engine group file 8964>12 lelong x containing %d files 8965 8966# Summary: Warcraft 3 save 8967# Extension: .w3g 8968# Created by: "Nelson A. de Oliveira" <naoliv@gmail.com> 89690 string Warcraft\ III\ recorded\ game %s 8970 8971 8972# Summary: Warcraft 3 map 8973# Extension: .w3m 8974# Created by: "Nelson A. de Oliveira" <naoliv@gmail.com> 89750 string HM3W Warcraft III map file 8976 8977 8978# Summary: SGF Smart Game Format 8979# Extension: .sgf 8980# Reference: http://www.red-bean.com/sgf/ 8981# Created by: Eduardo Sabbatella <eduardo_sabbatella@yahoo.com.ar> 8982# Modified by (1): Abel Cheung (regex, more game format) 8983# FIXME: Some games don't have GM (game type) 89840 regex \\(;.*GM\\[[0-9]{1,2}\\] Smart Game Format 8985>2 search/0x200/b GM[ 8986>>&0 string 1] (Go) 8987>>&0 string 2] (Othello) 8988>>&0 string 3] (chess) 8989>>&0 string 4] (Gomoku+Renju) 8990>>&0 string 5] (Nine Men's Morris) 8991>>&0 string 6] (Backgammon) 8992>>&0 string 7] (Chinese chess) 8993>>&0 string 8] (Shogi) 8994>>&0 string 9] (Lines of Action) 8995>>&0 string 10] (Ataxx) 8996>>&0 string 11] (Hex) 8997>>&0 string 12] (Jungle) 8998>>&0 string 13] (Neutron) 8999>>&0 string 14] (Philosopher's Football) 9000>>&0 string 15] (Quadrature) 9001>>&0 string 16] (Trax) 9002>>&0 string 17] (Tantrix) 9003>>&0 string 18] (Amazons) 9004>>&0 string 19] (Octi) 9005>>&0 string 20] (Gess) 9006>>&0 string 21] (Twixt) 9007>>&0 string 22] (Zertz) 9008>>&0 string 23] (Plateau) 9009>>&0 string 24] (Yinsh) 9010>>&0 string 25] (Punct) 9011>>&0 string 26] (Gobblet) 9012>>&0 string 27] (hive) 9013>>&0 string 28] (Exxit) 9014>>&0 string 29] (Hnefatal) 9015>>&0 string 30] (Kuba) 9016>>&0 string 31] (Tripples) 9017>>&0 string 32] (Chase) 9018>>&0 string 33] (Tumbling Down) 9019>>&0 string 34] (Sahara) 9020>>&0 string 35] (Byte) 9021>>&0 string 36] (Focus) 9022>>&0 string 37] (Dvonn) 9023>>&0 string 38] (Tamsk) 9024>>&0 string 39] (Gipf) 9025>>&0 string 40] (Kropki) 9026 9027############################################## 9028# NetImmerse/Gamebryo game engine entries 9029 9030# Summary: Gamebryo game engine file 9031# Extension: .nif, .kf 9032# Created by: Abel Cheung <abelcheung@gmail.com> 90330 string Gamebryo\ File\ Format,\ Version\ Gamebryo game engine file 9034>&0 regex [0-9a-z.]+ \b, version %s 9035 9036# Summary: Gamebryo game engine file 9037# Extension: .kfm 9038# Created by: Abel Cheung <abelcheung@gmail.com> 90390 string ;Gamebryo\ KFM\ File\ Version\ Gamebryo game engine animation File 9040>&0 regex [0-9a-z.]+ \b, version %s 9041 9042# Summary: NetImmerse game engine file 9043# Extension .nif 9044# Created by: Abel Cheung <abelcheung@gmail.com> 90450 string NetImmerse\ File\ Format,\ Versio 9046>&0 string n\ NetImmerse game engine file 9047>>&0 regex [0-9a-z.]+ \b, version %s 9048 9049# Type: SGF Smart Game Format 9050# URL: http://www.red-bean.com/sgf/ 9051# From: Eduardo Sabbatella <eduardo_sabbatella@yahoo.com.ar> 90522 regex/c \\(;.*GM\\[[0-9]{1,2}\\] Smart Game Format 9053>2 regex/c GM\\[1\\] - Go Game 9054>2 regex/c GM\\[6\\] - BackGammon Game 9055>2 regex/c GM\\[11\\] - Hex Game 9056>2 regex/c GM\\[18\\] - Amazons Game 9057>2 regex/c GM\\[19\\] - Octi Game 9058>2 regex/c GM\\[20\\] - Gess Game 9059>2 regex/c GM\\[21\\] - twix Game 9060 9061# Epic Games/Unreal Engine Package 9062# 90630 lelong 0x9E2A83C1 Unreal Engine Package, 9064>4 leshort x version: %i 9065>12 lelong !0 \b, names: %i 9066>28 lelong !0 \b, imports: %i 9067>20 lelong !0 \b, exports: %i 9068 9069#------------------------------------------------------------------------------ 9070# $File: gcc,v 1.4 2009/09/19 16:28:09 christos Exp $ 9071# gcc: file(1) magic for GCC special files 9072# 90730 string gpch GCC precompiled header 9074 9075# The version field is annoying. It's 3 characters, not zero-terminated. 9076>5 byte x (version %c 9077>6 byte x \b%c 9078>7 byte x \b%c) 9079 9080# 67 = 'C', 111 = 'o', 43 = '+', 79 = 'O' 9081>4 byte 67 for C 9082>4 byte 111 for Objective C 9083>4 byte 43 for C++ 9084>4 byte 79 for Objective C++ 9085 9086#------------------------------------------------------------------------------ 9087# $File: geo,v 1.3 2013/01/04 00:47:02 christos Exp $ 9088# Geo- files from Kurt Schwehr <schwehr@ccom.unh.edu> 9089 9090###################################################################### 9091# 9092# Acoustic Doppler Current Profilers (ADCP) 9093# 9094###################################################################### 9095 90960 beshort 0x7f7f RDI Acoustic Doppler Current Profiler (ADCP) 9097 9098###################################################################### 9099# 9100# Metadata 9101# 9102###################################################################### 9103 91040 string Identification_Information FGDC ASCII metadata 9105 9106###################################################################### 9107# 9108# Seimsic / Subbottom 9109# 9110###################################################################### 9111 9112# Knudsen subbottom chirp profiler - Binary File Format: B9 9113# KEB D409-03167 V1.75 Huffman 91140 string KEB\ Knudsen seismic KEL binary (KEB) - 9115>4 regex [-A-Z0-9]* Software: %s 9116>>&1 regex V[0-9]*\.[0-9]* version %s 9117 9118###################################################################### 9119# 9120# LIDAR - Laser altimetry or bathy 9121# 9122###################################################################### 9123 9124 9125# Caris LIDAR format for LADS comes as two parts... ascii location file and binary waveform data 91260 string HCA LADS Caris Ascii Format (CAF) bathymetric lidar 9127>4 regex [0-9]*\.[0-9]* version %s 9128 91290 string HCB LADS Caris Binary Format (CBF) bathymetric lidar waveform data 9130>3 byte x version %d . 9131>4 byte x %d 9132 9133 9134###################################################################### 9135# 9136# MULTIBEAM SONARS http://www.ldeo.columbia.edu/res/pi/MB-System/formatdoc/ 9137# 9138###################################################################### 9139 9140# GeoAcoustics - GeoSwath Plus 91414 beshort 0x2002 GeoSwath RDF 91420 string Start:- GeoSwatch auf text file 9143 9144# Seabeam 2100 9145# mbsystem code mb41 91460 string SB2100 SeaBeam 2100 multibeam sonar 91470 string SB2100DR SeaBeam 2100 DR multibeam sonar 91480 string SB2100PR SeaBeam 2100 PR multibeam sonar 9149 9150# This corresponds to MB-System format 94, L-3/ELAC/SeaBeam XSE vendor 9151# format. It is the format of our upgraded SeaBeam 2112 on R/V KNORR. 91520 string $HSF XSE multibeam 9153 9154# mb121 http://www.saic.com/maritime/gsf/ 91558 string GSF-v SAIC generic sensor format (GSF) sonar data, 9156>&0 regex [0-9]*\.[0-9]* version %s 9157 9158# MGD77 - http://www.ngdc.noaa.gov/mgg/dat/geodas/docs/mgd77.htm 9159# mb161 91609 string MGD77 MGD77 Header, Marine Geophysical Data Exchange Format 9161 9162# MBSystem processing caches the mbinfo output 91631 string Swath\ Data\ File: mbsystem info cache 9164 9165# Caris John Hughes Clark format 91660 string HDCS Caris multibeam sonar related data 91671 string Start/Stop\ parameter\ header: Caris ASCII project summary 9168 9169###################################################################### 9170# 9171# Visualization and 3D modeling 9172# 9173###################################################################### 9174 9175# IVS - IVS3d.com Tagged Data Represetation 91760 string %%\ TDR\ 2.0 IVS Fledermaus TDR file 9177 9178# http://www.ecma-international.org/publications/standards/Ecma-363.htm 9179# 3D in PDFs 91800 string U3D ECMA-363, Universal 3D 9181 9182###################################################################### 9183# 9184# Support files 9185# 9186###################################################################### 9187 9188# https://midas.psi.ch/elog/ 91890 string $@MID@$ elog journal entry 9190 9191# Geospatial Designs http://www.geospatialdesigns.com/surfer6_format.htm 91920 string DSBB Surfer 6 binary grid file 9193>4 leshort x \b, %d 9194>6 leshort x \bx%d 9195>8 ledouble x \b, minx=%g 9196>16 ledouble x \b, maxx=%g 9197>24 ledouble x \b, miny=%g 9198>32 ledouble x \b, maxy=%g 9199>40 ledouble x \b, minz=%g 9200>48 ledouble x \b, maxz=%g 9201 9202 9203#------------------------------------------------------------------------------ 9204# $File: geos,v 1.4 2009/09/19 16:28:09 christos Exp $ 9205# GEOS files (Vidar Madsen, vidar@gimp.org) 9206# semi-commonly used in embedded and handheld systems. 92070 belong 0xc745c153 GEOS 9208>40 byte 1 executable 9209>40 byte 2 VMFile 9210>40 byte 3 binary 9211>40 byte 4 directory label 9212>40 byte <1 unknown 9213>40 byte >4 unknown 9214>4 string >\0 \b, name "%s" 9215#>44 short x \b, version %d 9216#>46 short x \b.%d 9217#>48 short x \b, rev %d 9218#>50 short x \b.%d 9219#>52 short x \b, proto %d 9220#>54 short x \br%d 9221#>168 string >\0 \b, copyright "%s" 9222 9223#------------------------------------------------------------------------------ 9224# $File: gimp,v 1.8 2013/12/21 14:29:45 christos Exp $ 9225# GIMP Gradient: file(1) magic for the GIMP's gradient data files (.ggr) 9226# by Federico Mena <federico@nuclecu.unam.mx> 9227 92280 string/t GIMP\ Gradient GIMP gradient data 9229 9230# GIMP palette (.gpl) 9231# From: Markus Heidelberg <markus.heidelberg@web.de> 92320 string/t GIMP\ Palette GIMP palette data 9233 9234#------------------------------------------------------------------------------ 9235# XCF: file(1) magic for the XCF image format used in the GIMP (.xcf) developed 9236# by Spencer Kimball and Peter Mattis 9237# ('Bucky' LaDieu, nega@vt.edu) 9238 92390 string gimp\ xcf GIMP XCF image data, 9240!:mime image/x-xcf 9241>9 string file version 0, 9242>9 string v version 9243>>10 string >\0 %s, 9244>14 belong x %lu x 9245>18 belong x %lu, 9246>22 belong 0 RGB Color 9247>22 belong 1 Greyscale 9248>22 belong 2 Indexed Color 9249>22 belong >2 Unknown Image Type. 9250 9251#------------------------------------------------------------------------------ 9252# XCF: file(1) magic for the patterns used in the GIMP (.pat), developed 9253# by Spencer Kimball and Peter Mattis 9254# ('Bucky' LaDieu, nega@vt.edu) 9255 925620 string GPAT GIMP pattern data, 9257>24 string x %s 9258 9259#------------------------------------------------------------------------------ 9260# XCF: file(1) magic for the brushes used in the GIMP (.gbr), developed 9261# by Spencer Kimball and Peter Mattis 9262# ('Bucky' LaDieu, nega@vt.edu) 9263 926420 string GIMP GIMP brush data 9265 9266# GIMP Curves File 9267# From: "Nelson A. de Oliveira" <naoliv@gmail.com> 92680 string #\040GIMP\040Curves\040File GIMP curve file 9269 9270#------------------------------------------------------------------------------ 9271# $File: gnome,v 1.3 2013/02/05 15:20:47 christos Exp $ 9272# GNOME related files 9273 9274# Contributed by Josh Triplett 9275# FIXME: Could be simplified if pstring supported two-byte counts 92760 string GnomeKeyring\n\r\0\n GNOME keyring 9277>&0 ubyte 0 \b, major version 0 9278>>&0 ubyte 0 \b, minor version 0 9279>>>&0 ubyte 0 \b, crypto type 0 (AES) 9280>>>&0 ubyte >0 \b, crypto type %hhu (unknown) 9281>>>&1 ubyte 0 \b, hash type 0 (MD5) 9282>>>&1 ubyte >0 \b, hash type %hhu (unknown) 9283>>>&2 ubelong 0xFFFFFFFF \b, name NULL 9284>>>&2 ubelong !0xFFFFFFFF 9285>>>>&-4 ubelong >255 \b, name too long for file's pstring type 9286>>>>&-4 ubelong <256 9287>>>>>&-1 pstring x \b, name "%s" 9288>>>>>>&0 ubeqdate x \b, last modified %s 9289>>>>>>&8 ubeqdate x \b, created %s 9290>>>>>>&16 ubelong &1 9291>>>>>>>&0 ubelong x \b, locked if idle for %u seconds 9292>>>>>>&16 ubelong ^1 \b, not locked if idle 9293>>>>>>&24 ubelong x \b, hash iterations %u 9294>>>>>>&28 ubequad x \b, salt %llu 9295>>>>>>&52 ubelong x \b, %u item(s) 9296 9297# From: Alex Beregszaszi <alex@fsn.hu> 92984 string gtktalog GNOME Catalogue (gtktalog) 9299>13 string >\0 version %s 9300 9301# Summary: GStreamer binary registry 9302# Extension: .bin 9303# Submitted by: Josh Triplett <josh@joshtriplett.org> 93040 belong 0xc0def00d GStreamer binary registry 9305>4 string x \b, version %s 9306 9307# GVariant Database file 9308# By Elan Ruusamae <glen@delfi.ee> 9309# https://github.com/GNOME/gvdb/blob/master/gvdb-format.h 9310# It's always "GVariant", it's byte swapped on incompatible archs 9311# See https://github.com/GNOME/gvdb/blob/master/gvdb-builder.c 9312# file_builder_serialise() 9313# http://developer.gnome.org/glib/2.34/glib-GVariant.html#GVariant 93140 string GVariant GVariant Database file, 9315# version is never filled. probably future extension 9316>8 lelong x version %d 9317# not sure are these usable, so commented out 9318#>>16 lelong x start %d, 9319#>>>20 lelong x end %d 9320 9321# G-IR database made by gobject-introspect toolset, 9322# http://live.gnome.org/GObjectIntrospection 93230 string GOBJ\nMETADATA\r\n\032 G-IR binary database 9324>16 byte x \b, v%d 9325>17 byte x \b.%d 9326>20 leshort x \b, %d entries 9327>22 leshort x \b/%d local 9328 9329#------------------------------------------------------------------------------ 9330# $File: gnu,v 1.15 2014/02/06 14:21:02 christos Exp $ 9331# gnu: file(1) magic for various GNU tools 9332# 9333# GNU nlsutils message catalog file format 9334# 9335# GNU message catalog (.mo and .gmo files) 9336 93370 string \336\22\4\225 GNU message catalog (little endian), 9338>6 leshort x revision %d. 9339>4 leshort >0 \b%d, 9340>>8 lelong x %d messages, 9341>>36 lelong x %d sysdep messages 9342>4 leshort =0 \b%d, 9343>>8 lelong x %d messages 9344 93450 string \225\4\22\336 GNU message catalog (big endian), 9346>4 beshort x revision %d. 9347>6 beshort >0 \b%d, 9348>>8 belong x %d messages, 9349>>36 belong x %d sysdep messages 9350>6 beshort =0 \b%d, 9351>>8 belong x %d messages 9352 9353 9354# GnuPG 9355# The format is very similar to pgp 93560 string \001gpg GPG key trust database 9357>4 byte x version %d 9358# Note: magic.mime had 0x8501 for the next line instead of 0x8502 93590 beshort 0x8502 GPG encrypted data 9360!:mime text/PGP # encoding: data 9361 9362# This magic is not particularly good, as the keyrings don't have true 9363# magic. Nevertheless, it covers many keyrings. 93640 beshort 0x9901 GPG key public ring 9365!:mime application/x-gnupg-keyring 9366 9367# Symmetric encryption 93680 leshort 0x0d8c 9369>4 leshort 0x0203 9370>>2 leshort 0x0204 GPG symmetrically encrypted data (3DES cipher) 9371>>2 leshort 0x0304 GPG symmetrically encrypted data (CAST5 cipher) 9372>>2 leshort 0x0404 GPG symmetrically encrypted data (BLOWFISH cipher) 9373>>2 leshort 0x0704 GPG symmetrically encrypted data (AES cipher) 9374>>2 leshort 0x0804 GPG symmetrically encrypted data (AES192 cipher) 9375>>2 leshort 0x0904 GPG symmetrically encrypted data (AES256 cipher) 9376>>2 leshort 0x0a04 GPG symmetrically encrypted data (TWOFISH cipher) 9377>>2 leshort 0x0b04 GPG symmetrically encrypted data (CAMELLIA128 cipher) 9378>>2 leshort 0x0c04 GPG symmetrically encrypted data (CAMELLIA192 cipher) 9379>>2 leshort 0x0d04 GPG symmetrically encrypted data (CAMELLIA256 cipher) 9380 9381 9382# GnuPG Keybox file 9383# <http://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=blob;f=kbx/keybox-blob.c;hb=HEAD> 9384# From: Philipp Hahn <hahn@univention.de> 93850 belong 32 9386>4 byte 1 9387>>8 string KBXf GPG keybox database 9388>>>5 byte 1 version %d 9389>>>16 bedate x \b, created-at %s 9390>>>20 bedate x \b, last-maintained %s 9391 9392 9393# Gnumeric spreadsheet 9394# This entry is only semi-helpful, as Gnumeric compresses its files, so 9395# they will ordinarily reported as "compressed", but at least -z helps 939639 string =<gmr:Workbook Gnumeric spreadsheet 9397 9398# From: James Youngman <jay@gnu.org> 9399# gnu find magic 94000 string \0LOCATE GNU findutils locate database data 9401>7 string >\0 \b, format %s 9402>7 string 02 \b (frcode) 9403 9404# Files produced by GNU gettext 94050 long 0xDE120495 GNU-format message catalog data 94060 long 0x950412DE GNU-format message catalog data 9407 9408# gettext message catalogue 94090 regex \^msgid\ GNU gettext message catalogue text 9410!:mime text/x-po 9411 9412#------------------------------------------------------------------------------ 9413# $File: gnumeric,v 1.4 2009/09/19 16:28:09 christos Exp $ 9414# gnumeric: file(1) magic for Gnumeric spreadsheet 9415# This entry is only semi-helpful, as Gnumeric compresses its files, so 9416# they will ordinarily reported as "compressed", but at least -z helps 941739 string =<gmr:Workbook Gnumeric spreadsheet 9418!:mime application/x-gnumeric 9419 9420#------------------------------------------------------------------------------ 9421# $File: gpt,v 1.1 2013/02/18 18:31:09 christos Exp $ 9422# 9423# GPT Partition table patterns. 9424# Author: Rogier Goossens (goossens.rogier@gmail.com) 9425# Note that a GPT-formatted disk must contain an MBR as well. 9426# 9427 9428# The initial segment (up to >>>>>>>>422) was copied from the X86 9429# partition table code (aka MBR). 9430# This is kept separate, so that MBR partitions are not reported as well. 9431# (use -k if you do want them as well) 9432 9433# First, detect the MBR partiton table 9434# If more than one GPT protective MBR partition exists, don't print anything 9435# (the other MBR detection code will then just print the MBR partition table) 94360x1FE leshort 0xAA55 9437>3 string !MS 9438>>3 string !SYSLINUX 9439>>>3 string !MTOOL 9440>>>>3 string !NEWLDR 9441>>>>>5 string !DOS 9442# not FAT (32 bit) 9443>>>>>>82 string !FAT32 9444#not Linux kernel 9445>>>>>>>514 string !HdrS 9446#not BeOS 9447>>>>>>>>422 string !Be\ Boot\ Loader 9448# GPT with protective MBR entry in partition 1 (only) 9449>>>>>>>>>450 ubyte 0xee 9450>>>>>>>>>>466 ubyte !0xee 9451>>>>>>>>>>>482 ubyte !0xee 9452>>>>>>>>>>>>498 ubyte !0xee 9453#>>>>>>>>>>>>>446 use gpt-mbr-partition 9454>>>>>>>>>>>>>(454.l*8192) string EFI\ PART GPT partition table 9455>>>>>>>>>>>>>>0 use gpt-mbr-type 9456>>>>>>>>>>>>>>&-8 use gpt-table 9457>>>>>>>>>>>>>>0 ubyte x of 8192 bytes 9458>>>>>>>>>>>>>(454.l*8192) string !EFI\ PART 9459>>>>>>>>>>>>>>(454.l*4096) string EFI\ PART GPT partition table 9460>>>>>>>>>>>>>>>0 use gpt-mbr-type 9461>>>>>>>>>>>>>>>&-8 use gpt-table 9462>>>>>>>>>>>>>>>0 ubyte x of 4096 bytes 9463>>>>>>>>>>>>>>(454.l*4096) string !EFI\ PART 9464>>>>>>>>>>>>>>>(454.l*2048) string EFI\ PART GPT partition table 9465>>>>>>>>>>>>>>>>0 use gpt-mbr-type 9466>>>>>>>>>>>>>>>>&-8 use gpt-table 9467>>>>>>>>>>>>>>>>0 ubyte x of 2048 bytes 9468>>>>>>>>>>>>>>>(454.l*2048) string !EFI\ PART 9469>>>>>>>>>>>>>>>>(454.l*1024) string EFI\ PART GPT partition table 9470>>>>>>>>>>>>>>>>>0 use gpt-mbr-type 9471>>>>>>>>>>>>>>>>>&-8 use gpt-table 9472>>>>>>>>>>>>>>>>>0 ubyte x of 1024 bytes 9473>>>>>>>>>>>>>>>>(454.l*1024) string !EFI\ PART 9474>>>>>>>>>>>>>>>>>(454.l*512) string EFI\ PART GPT partition table 9475>>>>>>>>>>>>>>>>>>0 use gpt-mbr-type 9476>>>>>>>>>>>>>>>>>>&-8 use gpt-table 9477>>>>>>>>>>>>>>>>>>0 ubyte x of 512 bytes 9478# GPT with protective MBR entry in partition 2 (only) 9479>>>>>>>>>450 ubyte !0xee 9480>>>>>>>>>>466 ubyte 0xee 9481>>>>>>>>>>>482 ubyte !0xee 9482>>>>>>>>>>>>498 ubyte !0xee 9483#>>>>>>>>>>>>>462 use gpt-mbr-partition 9484>>>>>>>>>>>>>(470.l*8192) string EFI\ PART GPT partition table 9485>>>>>>>>>>>>>>0 use gpt-mbr-type 9486>>>>>>>>>>>>>>&-8 use gpt-table 9487>>>>>>>>>>>>>>0 ubyte x of 8192 bytes 9488>>>>>>>>>>>>>(470.l*8192) string !EFI\ PART 9489>>>>>>>>>>>>>>(470.l*4096) string EFI\ PART GPT partition table 9490>>>>>>>>>>>>>>>0 use gpt-mbr-type 9491>>>>>>>>>>>>>>>&-8 use gpt-table 9492>>>>>>>>>>>>>>>0 ubyte x of 4096 bytes 9493>>>>>>>>>>>>>>(470.l*4096) string !EFI\ PART 9494>>>>>>>>>>>>>>>(470.l*2048) string EFI\ PART GPT partition table 9495>>>>>>>>>>>>>>>>0 use gpt-mbr-type 9496>>>>>>>>>>>>>>>>&-8 use gpt-table 9497>>>>>>>>>>>>>>>>0 ubyte x of 2048 bytes 9498>>>>>>>>>>>>>>>(470.l*2048) string !EFI\ PART 9499>>>>>>>>>>>>>>>>(470.l*1024) string EFI\ PART GPT partition table 9500>>>>>>>>>>>>>>>>>0 use gpt-mbr-type 9501>>>>>>>>>>>>>>>>>&-8 use gpt-table 9502>>>>>>>>>>>>>>>>>0 ubyte x of 1024 bytes 9503>>>>>>>>>>>>>>>>(470.l*1024) string !EFI\ PART 9504>>>>>>>>>>>>>>>>>(470.l*512) string EFI\ PART GPT partition table 9505>>>>>>>>>>>>>>>>>>0 use gpt-mbr-type 9506>>>>>>>>>>>>>>>>>>&-8 use gpt-table 9507>>>>>>>>>>>>>>>>>>0 ubyte x of 512 bytes 9508# GPT with protective MBR entry in partition 3 (only) 9509>>>>>>>>>450 ubyte !0xee 9510>>>>>>>>>>466 ubyte !0xee 9511>>>>>>>>>>>482 ubyte 0xee 9512>>>>>>>>>>>>498 ubyte !0xee 9513#>>>>>>>>>>>>>478 use gpt-mbr-partition 9514>>>>>>>>>>>>>(486.l*8192) string EFI\ PART GPT partition table 9515>>>>>>>>>>>>>>0 use gpt-mbr-type 9516>>>>>>>>>>>>>>&-8 use gpt-table 9517>>>>>>>>>>>>>>0 ubyte x of 8192 bytes 9518>>>>>>>>>>>>>(486.l*8192) string !EFI\ PART 9519>>>>>>>>>>>>>>(486.l*4096) string EFI\ PART GPT partition table 9520>>>>>>>>>>>>>>>0 use gpt-mbr-type 9521>>>>>>>>>>>>>>>&-8 use gpt-table 9522>>>>>>>>>>>>>>>0 ubyte x of 4096 bytes 9523>>>>>>>>>>>>>>(486.l*4096) string !EFI\ PART 9524>>>>>>>>>>>>>>>(486.l*2048) string EFI\ PART GPT partition table 9525>>>>>>>>>>>>>>>>0 use gpt-mbr-type 9526>>>>>>>>>>>>>>>>&-8 use gpt-table 9527>>>>>>>>>>>>>>>>0 ubyte x of 2048 bytes 9528>>>>>>>>>>>>>>>(486.l*2048) string !EFI\ PART 9529>>>>>>>>>>>>>>>>(486.l*1024) string EFI\ PART GPT partition table 9530>>>>>>>>>>>>>>>>>0 use gpt-mbr-type 9531>>>>>>>>>>>>>>>>>&-8 use gpt-table 9532>>>>>>>>>>>>>>>>>0 ubyte x of 1024 bytes 9533>>>>>>>>>>>>>>>>(486.l*1024) string !EFI\ PART 9534>>>>>>>>>>>>>>>>>(486.l*512) string EFI\ PART GPT partition table 9535>>>>>>>>>>>>>>>>>>0 use gpt-mbr-type 9536>>>>>>>>>>>>>>>>>>&-8 use gpt-table 9537>>>>>>>>>>>>>>>>>>0 ubyte x of 512 bytes 9538# GPT with protective MBR entry in partition 4 (only) 9539>>>>>>>>>450 ubyte !0xee 9540>>>>>>>>>>466 ubyte !0xee 9541>>>>>>>>>>>482 ubyte !0xee 9542>>>>>>>>>>>>498 ubyte 0xee 9543#>>>>>>>>>>>>>494 use gpt-mbr-partition 9544>>>>>>>>>>>>>(502.l*8192) string EFI\ PART GPT partition table 9545>>>>>>>>>>>>>>0 use gpt-mbr-type 9546>>>>>>>>>>>>>>&-8 use gpt-table 9547>>>>>>>>>>>>>>0 ubyte x of 8192 bytes 9548>>>>>>>>>>>>>(502.l*8192) string !EFI\ PART 9549>>>>>>>>>>>>>>(502.l*4096) string EFI\ PART GPT partition table 9550>>>>>>>>>>>>>>>0 use gpt-mbr-type 9551>>>>>>>>>>>>>>>&-8 use gpt-table 9552>>>>>>>>>>>>>>>0 ubyte x of 4096 bytes 9553>>>>>>>>>>>>>>(502.l*4096) string !EFI\ PART 9554>>>>>>>>>>>>>>>(502.l*2048) string EFI\ PART GPT partition table 9555>>>>>>>>>>>>>>>>0 use gpt-mbr-type 9556>>>>>>>>>>>>>>>>&-8 use gpt-table 9557>>>>>>>>>>>>>>>>0 ubyte x of 2048 bytes 9558>>>>>>>>>>>>>>>(502.l*2048) string !EFI\ PART 9559>>>>>>>>>>>>>>>>(502.l*1024) string EFI\ PART GPT partition table 9560>>>>>>>>>>>>>>>>>0 use gpt-mbr-type 9561>>>>>>>>>>>>>>>>>&-8 use gpt-table 9562>>>>>>>>>>>>>>>>>0 ubyte x of 1024 bytes 9563>>>>>>>>>>>>>>>>(502.l*1024) string !EFI\ PART 9564>>>>>>>>>>>>>>>>>(502.l*512) string EFI\ PART GPT partition table 9565>>>>>>>>>>>>>>>>>>0 use gpt-mbr-type 9566>>>>>>>>>>>>>>>>>>&-8 use gpt-table 9567>>>>>>>>>>>>>>>>>>0 ubyte x of 512 bytes 9568 9569# The following code does GPT detection and processing, including 9570# sector size detection. 9571# It has to be duplicated above because the top-level pattern 9572# (i.e. not called using 'use') must print *something* for file 9573# to count it as a match. Text only printed in named patterns is 9574# not counted, and causes file to continue, and try and match 9575# other patterns. 9576# 9577# Unfortunately, when assuming sector sizes >=16k, if the sector size 9578# happens to be 512 instead, we may find confusing data after the GPT 9579# table... If the GPT table has less than 128 entries, this may even 9580# happen for assumed sector sizes as small as 4k 9581# This could be solved by checking for the presence of the backup GPT 9582# header as well, but that makes the logic extremely complex 9583##0 name gpt-mbr-partition 9584##>(8.l*8192) string EFI\ PART 9585##>>(8.l*8192) use gpt-mbr-type 9586##>>&-8 use gpt-table 9587##>>0 ubyte x of 8192 bytes 9588##>(8.l*8192) string !EFI\ PART 9589##>>(8.l*4096) string EFI\ PART GPT partition table 9590##>>>0 use gpt-mbr-type 9591##>>>&-8 use gpt-table 9592##>>>0 ubyte x of 4096 bytes 9593##>>(8.l*4096) string !EFI\ PART 9594##>>>(8.l*2048) string EFI\ PART GPT partition table 9595##>>>>0 use gpt-mbr-type 9596##>>>>&-8 use gpt-table 9597##>>>>0 ubyte x of 2048 bytes 9598##>>>(8.l*2048) string !EFI\ PART 9599##>>>>(8.l*1024) string EFI\ PART GPT partition table 9600##>>>>>0 use gpt-mbr-type 9601##>>>>>&-8 use gpt-table 9602##>>>>>0 ubyte x of 1024 bytes 9603##>>>>(8.l*1024) string !EFI\ PART 9604##>>>>>(8.l*512) string EFI\ PART GPT partition table 9605##>>>>>>0 use gpt-mbr-type 9606##>>>>>>&-8 use gpt-table 9607##>>>>>>0 ubyte x of 512 bytes 9608 9609# Print details of MBR type for a GPT-disk 9610# Calling code ensures that there is only one 0xee partition. 96110 name gpt-mbr-type 9612# GPT with protective MBR entry in partition 1 9613>450 ubyte 0xee 9614>>454 ulelong 1 9615>>>462 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\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \b (with hybrid MBR) 9616>>454 ulelong !1 \b (nonstandard: not at LBA 1) 9617# GPT with protective MBR entry in partition 2 9618>466 ubyte 0xee 9619>>470 ulelong 1 9620>>>478 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\0\0\0\0\0 9621>>>>446 string !\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \b (with hybrid MBR) 9622>>>478 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\0\0\0\0\0 \b (with hybrid MBR) 9623>>470 ulelong !1 \b (nonstandard: not at LBA 1) 9624# GPT with protective MBR entry in partition 3 9625>482 ubyte 0xee 9626>>486 ulelong 1 9627>>>494 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 9628>>>>446 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\0\0\0\0\0 \b (with hybrid MBR) 9629>>>494 string !\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \b (with hybrid MBR) 9630>>486 ulelong !1 \b (nonstandard: not at LBA 1) 9631# GPT with protective MBR entry in partition 4 9632>498 ubyte 0xee 9633>>502 ulelong 1 9634>>>446 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\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \b (with hybrid MBR) 9635>>502 ulelong !1 \b (nonstandard: not at LBA 1) 9636 9637# Print the information from a GPT partition table structure 96380 name gpt-table 9639>10 uleshort x \b, version %u 9640>8 uleshort x \b.%u 9641# a GUID is just like a UUID, except it's displayed mixed-endian. 9642>56 ulelong x \b, GUID: %08x 9643>60 uleshort x \b-%04x 9644>62 uleshort x \b-%04x 9645>64 ubeshort x \b-%04x 9646>66 ubeshort x \b-%04x 9647>68 ubelong x \b%08x 9648#>80 uleshort x \b, %d partition entries 9649>32 ulequad+1 x \b, disk size: %lld sectors 9650 9651# In case a GPT data-structure is at LBA 0, report it as well 9652# This covers systems which are not GPT-aware, and which show 9653# and allow access to the protective partition. This code will 9654# detect the contents of such a partition. 96550 string EFI\ PART GPT data structure (nonstandard: at LBA 0) 9656>0 use gpt-table 9657>0 ubyte x (sector size unknown) 9658 9659 9660 9661#------------------------------------------------------------------------------ 9662# $File: grace,v 1.4 2009/09/19 16:28:09 christos Exp $ 9663# ACE/gr and Grace type files - PLEASE DO NOT REMOVE THIS LINE 9664# 9665# ACE/gr binary 96660 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 9667>39 byte >0 - version %c 9668# ACE/gr ascii 96690 string #\ xvgr\ parameter\ file ACE/gr ascii file 96700 string #\ xmgr\ parameter\ file ACE/gr ascii file 96710 string #\ ACE/gr\ parameter\ file ACE/gr ascii file 9672# Grace projects 96730 string #\ Grace\ project\ file Grace project file 9674>23 string @version\ (version 9675>>32 byte >0 %c 9676>>33 string >\0 \b.%.2s 9677>>35 string >\0 \b.%.2s) 9678# ACE/gr fit description files 96790 string #\ ACE/gr\ fit\ description\ ACE/gr fit description file 9680# end of ACE/gr and Grace type files - PLEASE DO NOT REMOVE THIS LINE 9681 9682#------------------------------------------------------------------------------ 9683# $File: graphviz,v 1.7 2009/09/19 16:28:09 christos Exp $ 9684# graphviz: file(1) magic for http://www.graphviz.org/ 9685 9686# FIXME: These patterns match too generally. For example, the first 9687# line matches a LaTeX file containing the word "graph" (with a { 9688# following later) and the second line matches this file. 9689#0 regex/100 [\r\n\t\ ]*graph[\r\n\t\ ]+.*\\{ graphviz graph text 9690#!:mime text/vnd.graphviz 9691#0 regex/100 [\r\n\t\ ]*digraph[\r\n\t\ ]+.*\\{ graphviz digraph text 9692#!:mime text/vnd.graphviz 9693 9694#------------------------------------------------------------------------------ 9695# $File: gringotts,v 1.5 2009/09/19 16:28:09 christos Exp $ 9696# gringotts: file(1) magic for Gringotts 9697# http://devel.pluto.linux.it/projects/Gringotts/ 9698# author: Germano Rizzo <mano@pluto.linux.it> 9699#GRG3????Y 97000 string GRG Gringotts data file 9701#file format 1 9702>3 string 1 v.1, MCRYPT S2K, SERPENT crypt, SHA-256 hash, ZLib lvl.9 9703#file format 2 9704>3 string 2 v.2, MCRYPT S2K, 9705>>8 byte&0x70 0x00 RIJNDAEL-128 crypt, 9706>>8 byte&0x70 0x10 SERPENT crypt, 9707>>8 byte&0x70 0x20 TWOFISH crypt, 9708>>8 byte&0x70 0x30 CAST-256 crypt, 9709>>8 byte&0x70 0x40 SAFER+ crypt, 9710>>8 byte&0x70 0x50 LOKI97 crypt, 9711>>8 byte&0x70 0x60 3DES crypt, 9712>>8 byte&0x70 0x70 RIJNDAEL-256 crypt, 9713>>8 byte&0x08 0x00 SHA1 hash, 9714>>8 byte&0x08 0x08 RIPEMD-160 hash, 9715>>8 byte&0x04 0x00 ZLib 9716>>8 byte&0x04 0x04 BZip2 9717>>8 byte&0x03 0x00 lvl.0 9718>>8 byte&0x03 0x01 lvl.3 9719>>8 byte&0x03 0x02 lvl.6 9720>>8 byte&0x03 0x03 lvl.9 9721#file format 3 9722>3 string 3 v.3, OpenPGP S2K, 9723>>8 byte&0x70 0x00 RIJNDAEL-128 crypt, 9724>>8 byte&0x70 0x10 SERPENT crypt, 9725>>8 byte&0x70 0x20 TWOFISH crypt, 9726>>8 byte&0x70 0x30 CAST-256 crypt, 9727>>8 byte&0x70 0x40 SAFER+ crypt, 9728>>8 byte&0x70 0x50 LOKI97 crypt, 9729>>8 byte&0x70 0x60 3DES crypt, 9730>>8 byte&0x70 0x70 RIJNDAEL-256 crypt, 9731>>8 byte&0x08 0x00 SHA1 hash, 9732>>8 byte&0x08 0x08 RIPEMD-160 hash, 9733>>8 byte&0x04 0x00 ZLib 9734>>8 byte&0x04 0x04 BZip2 9735>>8 byte&0x03 0x00 lvl.0 9736>>8 byte&0x03 0x01 lvl.3 9737>>8 byte&0x03 0x02 lvl.6 9738>>8 byte&0x03 0x03 lvl.9 9739#file format >3 9740>3 string >3 v.%.1s (unknown details) 9741 9742#------------------------------------------------------------------------------ 9743# $File: guile,v 1.1 2011/12/16 17:44:33 christos Exp $ 9744# Guile file magic from <dalepsmith@gmail.com> 9745# http://www.gnu.org/s/guile/ 9746# http://git.savannah.gnu.org/gitweb/?p=guile.git;f=libguile/_scm.h;hb=HEAD#l250 9747 97480 string GOOF---- Guile Object 9749>8 string LE \b, little endian 9750>8 string BE \b, big endian 9751>11 string 4 \b, 32bit 9752>11 string 8 \b, 64bit 9753>13 regex .\.. \b, bytecode v%s 9754 9755#------------------------------------------------------------------------------ 9756# $File: hitachi-sh,v 1.6 2013/01/29 19:31:33 christos Exp $ 9757# hitach-sh: file(1) magic for Hitachi Super-H 9758# 9759# Super-H COFF 9760# 9761# below test line conflicts with 2nd NTFS filesystem sector 97620 beshort 0x0500 Hitachi SH big-endian COFF 9763# 2nd NTFS filesystem sector often starts with 0x05004e00 for unicode string 5 NTLDR 9764#0 ubelong&0xFFFFNMPQ 0x0500NMPQ Hitachi SH big-endian COFF 9765>18 beshort&0x0002 =0x0000 object 9766>18 beshort&0x0002 =0x0002 executable 9767>18 beshort&0x0008 =0x0008 \b, stripped 9768>18 beshort&0x0008 =0x0000 \b, not stripped 9769# 97700 leshort 0x0550 Hitachi SH little-endian COFF 9771>18 leshort&0x0002 =0x0000 object 9772>18 leshort&0x0002 =0x0002 executable 9773>18 leshort&0x0008 =0x0008 \b, stripped 9774>18 leshort&0x0008 =0x0000 \b, not stripped 9775 9776 9777#------------------------------------------------------------------------------ 9778# $File: hp,v 1.23 2009/09/19 16:28:09 christos Exp $ 9779# hp: file(1) magic for Hewlett Packard machines (see also "printer") 9780# 9781# XXX - somebody should figure out whether any byte order needs to be 9782# applied to the "TML" stuff; I'm assuming the Apollo stuff is 9783# big-endian as it was mostly 68K-based. 9784# 9785# I think the 500 series was the old stack-based machines, running a 9786# UNIX environment atop the "SUN kernel"; dunno whether it was 9787# big-endian or little-endian. 9788# 9789# Daniel Quinlan (quinlan@yggdrasil.com): hp200 machines are 68010 based; 9790# hp300 are 68020+68881 based; hp400 are also 68k. The following basic 9791# HP magic is useful for reference, but using "long" magic is a better 9792# practice in order to avoid collisions. 9793# 9794# Guy Harris (guy@netapp.com): some additions to this list came from 9795# HP-UX 10.0's "/usr/include/sys/unistd.h" (68030, 68040, PA-RISC 1.1, 9796# 1.2, and 2.0). The 1.2 and 2.0 stuff isn't in the HP-UX 10.0 9797# "/etc/magic", though, except for the "archive file relocatable library" 9798# stuff, and the 68030 and 68040 stuff isn't there at all - are they not 9799# used in executables, or have they just not yet updated "/etc/magic" 9800# completely? 9801# 9802# 0 beshort 200 hp200 (68010) BSD binary 9803# 0 beshort 300 hp300 (68020+68881) BSD binary 9804# 0 beshort 0x20c hp200/300 HP-UX binary 9805# 0 beshort 0x20d hp400 (68030) HP-UX binary 9806# 0 beshort 0x20e hp400 (68040?) HP-UX binary 9807# 0 beshort 0x20b PA-RISC1.0 HP-UX binary 9808# 0 beshort 0x210 PA-RISC1.1 HP-UX binary 9809# 0 beshort 0x211 PA-RISC1.2 HP-UX binary 9810# 0 beshort 0x214 PA-RISC2.0 HP-UX binary 9811 9812# 9813# The "misc" stuff needs a byte order; the archives look suspiciously 9814# like the old 177545 archives (0xff65 = 0177545). 9815# 9816#### Old Apollo stuff 98170 beshort 0627 Apollo m68k COFF executable 9818>18 beshort ^040000 not stripped 9819>22 beshort >0 - version %ld 98200 beshort 0624 apollo a88k COFF executable 9821>18 beshort ^040000 not stripped 9822>22 beshort >0 - version %ld 98230 long 01203604016 TML 0123 byte-order format 98240 long 01702407010 TML 1032 byte-order format 98250 long 01003405017 TML 2301 byte-order format 98260 long 01602007412 TML 3210 byte-order format 9827#### PA-RISC 1.1 98280 belong 0x02100106 PA-RISC1.1 relocatable object 98290 belong 0x02100107 PA-RISC1.1 executable 9830>168 belong &0x00000004 dynamically linked 9831>(144) belong 0x054ef630 dynamically linked 9832>96 belong >0 - not stripped 9833 98340 belong 0x02100108 PA-RISC1.1 shared executable 9835>168 belong&0x4 0x4 dynamically linked 9836>(144) belong 0x054ef630 dynamically linked 9837>96 belong >0 - not stripped 9838 98390 belong 0x0210010b PA-RISC1.1 demand-load executable 9840>168 belong&0x4 0x4 dynamically linked 9841>(144) belong 0x054ef630 dynamically linked 9842>96 belong >0 - not stripped 9843 98440 belong 0x0210010e PA-RISC1.1 shared library 9845>96 belong >0 - not stripped 9846 98470 belong 0x0210010d PA-RISC1.1 dynamic load library 9848>96 belong >0 - not stripped 9849 9850#### PA-RISC 2.0 98510 belong 0x02140106 PA-RISC2.0 relocatable object 9852 98530 belong 0x02140107 PA-RISC2.0 executable 9854>168 belong &0x00000004 dynamically linked 9855>(144) belong 0x054ef630 dynamically linked 9856>96 belong >0 - not stripped 9857 98580 belong 0x02140108 PA-RISC2.0 shared executable 9859>168 belong &0x00000004 dynamically linked 9860>(144) belong 0x054ef630 dynamically linked 9861>96 belong >0 - not stripped 9862 98630 belong 0x0214010b PA-RISC2.0 demand-load executable 9864>168 belong &0x00000004 dynamically linked 9865>(144) belong 0x054ef630 dynamically linked 9866>96 belong >0 - not stripped 9867 98680 belong 0x0214010e PA-RISC2.0 shared library 9869>96 belong >0 - not stripped 9870 98710 belong 0x0214010d PA-RISC2.0 dynamic load library 9872>96 belong >0 - not stripped 9873 9874#### 800 98750 belong 0x020b0106 PA-RISC1.0 relocatable object 9876 98770 belong 0x020b0107 PA-RISC1.0 executable 9878>168 belong&0x4 0x4 dynamically linked 9879>(144) belong 0x054ef630 dynamically linked 9880>96 belong >0 - not stripped 9881 98820 belong 0x020b0108 PA-RISC1.0 shared executable 9883>168 belong&0x4 0x4 dynamically linked 9884>(144) belong 0x054ef630 dynamically linked 9885>96 belong >0 - not stripped 9886 98870 belong 0x020b010b PA-RISC1.0 demand-load executable 9888>168 belong&0x4 0x4 dynamically linked 9889>(144) belong 0x054ef630 dynamically linked 9890>96 belong >0 - not stripped 9891 98920 belong 0x020b010e PA-RISC1.0 shared library 9893>96 belong >0 - not stripped 9894 98950 belong 0x020b010d PA-RISC1.0 dynamic load library 9896>96 belong >0 - not stripped 9897 98980 belong 0x213c6172 archive file 9899>68 belong 0x020b0619 - PA-RISC1.0 relocatable library 9900>68 belong 0x02100619 - PA-RISC1.1 relocatable library 9901>68 belong 0x02110619 - PA-RISC1.2 relocatable library 9902>68 belong 0x02140619 - PA-RISC2.0 relocatable library 9903 9904#### 500 99050 long 0x02080106 HP s500 relocatable executable 9906>16 long >0 - version %ld 9907 99080 long 0x02080107 HP s500 executable 9909>16 long >0 - version %ld 9910 99110 long 0x02080108 HP s500 pure executable 9912>16 long >0 - version %ld 9913 9914#### 200 99150 belong 0x020c0108 HP s200 pure executable 9916>4 beshort >0 - version %ld 9917>8 belong &0x80000000 save fp regs 9918>8 belong &0x40000000 dynamically linked 9919>8 belong &0x20000000 debuggable 9920>36 belong >0 not stripped 9921 99220 belong 0x020c0107 HP s200 executable 9923>4 beshort >0 - version %ld 9924>8 belong &0x80000000 save fp regs 9925>8 belong &0x40000000 dynamically linked 9926>8 belong &0x20000000 debuggable 9927>36 belong >0 not stripped 9928 99290 belong 0x020c010b HP s200 demand-load executable 9930>4 beshort >0 - version %ld 9931>8 belong &0x80000000 save fp regs 9932>8 belong &0x40000000 dynamically linked 9933>8 belong &0x20000000 debuggable 9934>36 belong >0 not stripped 9935 99360 belong 0x020c0106 HP s200 relocatable executable 9937>4 beshort >0 - version %ld 9938>6 beshort >0 - highwater %d 9939>8 belong &0x80000000 save fp regs 9940>8 belong &0x20000000 debuggable 9941>8 belong &0x10000000 PIC 9942 99430 belong 0x020a0108 HP s200 (2.x release) pure executable 9944>4 beshort >0 - version %ld 9945>36 belong >0 not stripped 9946 99470 belong 0x020a0107 HP s200 (2.x release) executable 9948>4 beshort >0 - version %ld 9949>36 belong >0 not stripped 9950 99510 belong 0x020c010e HP s200 shared library 9952>4 beshort >0 - version %ld 9953>6 beshort >0 - highwater %d 9954>36 belong >0 not stripped 9955 99560 belong 0x020c010d HP s200 dynamic load library 9957>4 beshort >0 - version %ld 9958>6 beshort >0 - highwater %d 9959>36 belong >0 not stripped 9960 9961#### MISC 99620 long 0x0000ff65 HP old archive 99630 long 0x020aff65 HP s200 old archive 99640 long 0x020cff65 HP s200 old archive 99650 long 0x0208ff65 HP s500 old archive 9966 99670 long 0x015821a6 HP core file 9968 99690 long 0x4da7eee8 HP-WINDOWS font 9970>8 byte >0 - version %ld 99710 string Bitmapfile HP Bitmapfile 9972 99730 string IMGfile CIS compimg HP Bitmapfile 9974# XXX - see "lif" 9975#0 short 0x8000 lif file 99760 long 0x020c010c compiled Lisp 9977 99780 string msgcat01 HP NLS message catalog, 9979>8 long >0 %d messages 9980 9981# Summary: HP-48/49 calculator 9982# Created by: phk@data.fls.dk 9983# Modified by (1): AMAKAWA Shuhei <sa264@cam.ac.uk> 9984# Modified by (2): Samuel Thibault <samuel.thibault@ens-lyon.org> (HP49 support) 99850 string HPHP HP 9986>4 string 48 48 binary 9987>4 string 49 49 binary 9988>7 byte >64 - Rev %c 9989>8 leshort 0x2911 (ADR) 9990>8 leshort 0x2933 (REAL) 9991>8 leshort 0x2955 (LREAL) 9992>8 leshort 0x2977 (COMPLX) 9993>8 leshort 0x299d (LCOMPLX) 9994>8 leshort 0x29bf (CHAR) 9995>8 leshort 0x29e8 (ARRAY) 9996>8 leshort 0x2a0a (LNKARRAY) 9997>8 leshort 0x2a2c (STRING) 9998>8 leshort 0x2a4e (HXS) 9999>8 leshort 0x2a74 (LIST) 10000>8 leshort 0x2a96 (DIR) 10001>8 leshort 0x2ab8 (ALG) 10002>8 leshort 0x2ada (UNIT) 10003>8 leshort 0x2afc (TAGGED) 10004>8 leshort 0x2b1e (GROB) 10005>8 leshort 0x2b40 (LIB) 10006>8 leshort 0x2b62 (BACKUP) 10007>8 leshort 0x2b88 (LIBDATA) 10008>8 leshort 0x2d9d (PROG) 10009>8 leshort 0x2dcc (CODE) 10010>8 leshort 0x2e48 (GNAME) 10011>8 leshort 0x2e6d (LNAME) 10012>8 leshort 0x2e92 (XLIB) 10013 100140 string %%HP: HP text 10015>6 string T(0) - T(0) 10016>6 string T(1) - T(1) 10017>6 string T(2) - T(2) 10018>6 string T(3) - T(3) 10019>10 string A(D) A(D) 10020>10 string A(R) A(R) 10021>10 string A(G) A(G) 10022>14 string F(.) F(.); 10023>14 string F(,) F(,); 10024 10025 10026# Summary: HP-38/39 calculator 10027# Created by: Samuel Thibault <samuel.thibault@ens-lyon.org> 100280 string HP3 10029>3 string 8 HP 38 10030>3 string 9 HP 39 10031>4 string Bin binary 10032>4 string Asc ASCII 10033>7 string A (Directory List) 10034>7 string B (Zaplet) 10035>7 string C (Note) 10036>7 string D (Program) 10037>7 string E (Variable) 10038>7 string F (List) 10039>7 string G (Matrix) 10040>7 string H (Library) 10041>7 string I (Target List) 10042>7 string J (ASCII Vector specification) 10043>7 string K (wildcard) 10044 10045# Summary: HP-38/39 calculator 10046# Created by: Samuel Thibault <samuel.thibault@ens-lyon.org> 100470 string HP3 10048>3 string 8 HP 38 10049>3 string 9 HP 39 10050>4 string Bin binary 10051>4 string Asc ASCII 10052>7 string A (Directory List) 10053>7 string B (Zaplet) 10054>7 string C (Note) 10055>7 string D (Program) 10056>7 string E (Variable) 10057>7 string F (List) 10058>7 string G (Matrix) 10059>7 string H (Library) 10060>7 string I (Target List) 10061>7 string J (ASCII Vector specification) 10062>7 string K (wildcard) 10063 10064# hpBSD magic numbers 100650 beshort 200 hp200 (68010) BSD 10066>2 beshort 0407 impure binary 10067>2 beshort 0410 read-only binary 10068>2 beshort 0413 demand paged binary 100690 beshort 300 hp300 (68020+68881) BSD 10070>2 beshort 0407 impure binary 10071>2 beshort 0410 read-only binary 10072>2 beshort 0413 demand paged binary 10073# 10074# From David Gero <dgero@nortelnetworks.com> 10075# HP-UX 10.20 core file format from /usr/include/sys/core.h 10076# Unfortunately, HP-UX uses corehead blocks without specifying the order 10077# There are four we care about: 10078# CORE_KERNEL, which starts with the string "HP-UX" 10079# CORE_EXEC, which contains the name of the command 10080# CORE_PROC, which contains the signal number that caused the core dump 10081# CORE_FORMAT, which contains the version of the core file format (== 1) 10082# The only observed order in real core files is KERNEL, EXEC, FORMAT, PROC 10083# but we include all 6 variations of the order of the first 3, and 10084# assume that PROC will always be last 10085# Order 1: KERNEL, EXEC, FORMAT, PROC 100860x10 string HP-UX 10087>0 belong 2 10088>>0xC belong 0x3C 10089>>>0x4C belong 0x100 10090>>>>0x58 belong 0x44 10091>>>>>0xA0 belong 1 10092>>>>>>0xAC belong 4 10093>>>>>>>0xB0 belong 1 10094>>>>>>>>0xB4 belong 4 core file 10095>>>>>>>>>0x90 string >\0 from '%s' 10096>>>>>>>>>0xC4 belong 3 - received SIGQUIT 10097>>>>>>>>>0xC4 belong 4 - received SIGILL 10098>>>>>>>>>0xC4 belong 5 - received SIGTRAP 10099>>>>>>>>>0xC4 belong 6 - received SIGABRT 10100>>>>>>>>>0xC4 belong 7 - received SIGEMT 10101>>>>>>>>>0xC4 belong 8 - received SIGFPE 10102>>>>>>>>>0xC4 belong 10 - received SIGBUS 10103>>>>>>>>>0xC4 belong 11 - received SIGSEGV 10104>>>>>>>>>0xC4 belong 12 - received SIGSYS 10105>>>>>>>>>0xC4 belong 33 - received SIGXCPU 10106>>>>>>>>>0xC4 belong 34 - received SIGXFSZ 10107# Order 2: KERNEL, FORMAT, EXEC, PROC 10108>>>0x4C belong 1 10109>>>>0x58 belong 4 10110>>>>>0x5C belong 1 10111>>>>>>0x60 belong 0x100 10112>>>>>>>0x6C belong 0x44 10113>>>>>>>>0xB4 belong 4 core file 10114>>>>>>>>>0xA4 string >\0 from '%s' 10115>>>>>>>>>0xC4 belong 3 - received SIGQUIT 10116>>>>>>>>>0xC4 belong 4 - received SIGILL 10117>>>>>>>>>0xC4 belong 5 - received SIGTRAP 10118>>>>>>>>>0xC4 belong 6 - received SIGABRT 10119>>>>>>>>>0xC4 belong 7 - received SIGEMT 10120>>>>>>>>>0xC4 belong 8 - received SIGFPE 10121>>>>>>>>>0xC4 belong 10 - received SIGBUS 10122>>>>>>>>>0xC4 belong 11 - received SIGSEGV 10123>>>>>>>>>0xC4 belong 12 - received SIGSYS 10124>>>>>>>>>0xC4 belong 33 - received SIGXCPU 10125>>>>>>>>>0xC4 belong 34 - received SIGXFSZ 10126# Order 3: FORMAT, KERNEL, EXEC, PROC 101270x24 string HP-UX 10128>0 belong 1 10129>>0xC belong 4 10130>>>0x10 belong 1 10131>>>>0x14 belong 2 10132>>>>>0x20 belong 0x3C 10133>>>>>>0x60 belong 0x100 10134>>>>>>>0x6C belong 0x44 10135>>>>>>>>0xB4 belong 4 core file 10136>>>>>>>>>0xA4 string >\0 from '%s' 10137>>>>>>>>>0xC4 belong 3 - received SIGQUIT 10138>>>>>>>>>0xC4 belong 4 - received SIGILL 10139>>>>>>>>>0xC4 belong 5 - received SIGTRAP 10140>>>>>>>>>0xC4 belong 6 - received SIGABRT 10141>>>>>>>>>0xC4 belong 7 - received SIGEMT 10142>>>>>>>>>0xC4 belong 8 - received SIGFPE 10143>>>>>>>>>0xC4 belong 10 - received SIGBUS 10144>>>>>>>>>0xC4 belong 11 - received SIGSEGV 10145>>>>>>>>>0xC4 belong 12 - received SIGSYS 10146>>>>>>>>>0xC4 belong 33 - received SIGXCPU 10147>>>>>>>>>0xC4 belong 34 - received SIGXFSZ 10148# Order 4: EXEC, KERNEL, FORMAT, PROC 101490x64 string HP-UX 10150>0 belong 0x100 10151>>0xC belong 0x44 10152>>>0x54 belong 2 10153>>>>0x60 belong 0x3C 10154>>>>>0xA0 belong 1 10155>>>>>>0xAC belong 4 10156>>>>>>>0xB0 belong 1 10157>>>>>>>>0xB4 belong 4 core file 10158>>>>>>>>>0x44 string >\0 from '%s' 10159>>>>>>>>>0xC4 belong 3 - received SIGQUIT 10160>>>>>>>>>0xC4 belong 4 - received SIGILL 10161>>>>>>>>>0xC4 belong 5 - received SIGTRAP 10162>>>>>>>>>0xC4 belong 6 - received SIGABRT 10163>>>>>>>>>0xC4 belong 7 - received SIGEMT 10164>>>>>>>>>0xC4 belong 8 - received SIGFPE 10165>>>>>>>>>0xC4 belong 10 - received SIGBUS 10166>>>>>>>>>0xC4 belong 11 - received SIGSEGV 10167>>>>>>>>>0xC4 belong 12 - received SIGSYS 10168>>>>>>>>>0xC4 belong 33 - received SIGXCPU 10169>>>>>>>>>0xC4 belong 34 - received SIGXFSZ 10170# Order 5: FORMAT, EXEC, KERNEL, PROC 101710x78 string HP-UX 10172>0 belong 1 10173>>0xC belong 4 10174>>>0x10 belong 1 10175>>>>0x14 belong 0x100 10176>>>>>0x20 belong 0x44 10177>>>>>>0x68 belong 2 10178>>>>>>>0x74 belong 0x3C 10179>>>>>>>>0xB4 belong 4 core file 10180>>>>>>>>>0x58 string >\0 from '%s' 10181>>>>>>>>>0xC4 belong 3 - received SIGQUIT 10182>>>>>>>>>0xC4 belong 4 - received SIGILL 10183>>>>>>>>>0xC4 belong 5 - received SIGTRAP 10184>>>>>>>>>0xC4 belong 6 - received SIGABRT 10185>>>>>>>>>0xC4 belong 7 - received SIGEMT 10186>>>>>>>>>0xC4 belong 8 - received SIGFPE 10187>>>>>>>>>0xC4 belong 10 - received SIGBUS 10188>>>>>>>>>0xC4 belong 11 - received SIGSEGV 10189>>>>>>>>>0xC4 belong 12 - received SIGSYS 10190>>>>>>>>>0xC4 belong 33 - received SIGXCPU 10191>>>>>>>>>0xC4 belong 34 - received SIGXFSZ 10192# Order 6: EXEC, FORMAT, KERNEL, PROC 10193>0 belong 0x100 10194>>0xC belong 0x44 10195>>>0x54 belong 1 10196>>>>0x60 belong 4 10197>>>>>0x64 belong 1 10198>>>>>>0x68 belong 2 10199>>>>>>>0x74 belong 0x2C 10200>>>>>>>>0xB4 belong 4 core file 10201>>>>>>>>>0x44 string >\0 from '%s' 10202>>>>>>>>>0xC4 belong 3 - received SIGQUIT 10203>>>>>>>>>0xC4 belong 4 - received SIGILL 10204>>>>>>>>>0xC4 belong 5 - received SIGTRAP 10205>>>>>>>>>0xC4 belong 6 - received SIGABRT 10206>>>>>>>>>0xC4 belong 7 - received SIGEMT 10207>>>>>>>>>0xC4 belong 8 - received SIGFPE 10208>>>>>>>>>0xC4 belong 10 - received SIGBUS 10209>>>>>>>>>0xC4 belong 11 - received SIGSEGV 10210>>>>>>>>>0xC4 belong 12 - received SIGSYS 10211>>>>>>>>>0xC4 belong 33 - received SIGXCPU 10212>>>>>>>>>0xC4 belong 34 - received SIGXFSZ 10213 10214 10215 10216#------------------------------------------------------------------------------ 10217# $File: human68k,v 1.5 2009/09/19 16:28:09 christos Exp $ 10218# human68k: file(1) magic for Human68k (X680x0 DOS) binary formats 10219# Magic too short! 10220#0 string HU Human68k 10221#>68 string LZX LZX compressed 10222#>>72 string >\0 (version %s) 10223#>(8.L+74) string LZX LZX compressed 10224#>>(8.L+78) string >\0 (version %s) 10225#>60 belong >0 binded 10226#>(8.L+66) string #HUPAIR hupair 10227#>0 string HU X executable 10228#>(8.L+74) string #LIBCV1 - linked PD LIBC ver 1 10229#>4 belong >0 - base address 0x%x 10230#>28 belong >0 not stripped 10231#>32 belong >0 with debug information 10232#0 beshort 0x601a Human68k Z executable 10233#0 beshort 0x6000 Human68k object file 10234#0 belong 0xd1000000 Human68k ar binary archive 10235#0 belong 0xd1010000 Human68k ar ascii archive 10236#0 beshort 0x0068 Human68k lib archive 10237#4 string LZX Human68k LZX compressed 10238#>8 string >\0 (version %s) 10239#>4 string LZX R executable 10240#2 string #HUPAIR Human68k hupair R executable 10241 10242#------------------------------------------------------------------------------ 10243# $File: ibm370,v 1.8 2009/09/19 16:28:09 christos Exp $ 10244# ibm370: file(1) magic for IBM 370 and compatibles. 10245# 10246# "ibm370" said that 0x15d == 0535 was "ibm 370 pure executable". 10247# What the heck *is* "USS/370"? 10248# AIX 4.1's "/etc/magic" has 10249# 10250# 0 short 0535 370 sysV executable 10251# >12 long >0 not stripped 10252# >22 short >0 - version %d 10253# >30 long >0 - 5.2 format 10254# 0 short 0530 370 sysV pure executable 10255# >12 long >0 not stripped 10256# >22 short >0 - version %d 10257# >30 long >0 - 5.2 format 10258# 10259# instead of the "USS/370" versions of the same magic numbers. 10260# 102610 beshort 0537 370 XA sysV executable 10262>12 belong >0 not stripped 10263>22 beshort >0 - version %d 10264>30 belong >0 - 5.2 format 102650 beshort 0532 370 XA sysV pure executable 10266>12 belong >0 not stripped 10267>22 beshort >0 - version %d 10268>30 belong >0 - 5.2 format 102690 beshort 054001 370 sysV pure executable 10270>12 belong >0 not stripped 102710 beshort 055001 370 XA sysV pure executable 10272>12 belong >0 not stripped 102730 beshort 056401 370 sysV executable 10274>12 belong >0 not stripped 102750 beshort 057401 370 XA sysV executable 10276>12 belong >0 not stripped 102770 beshort 0531 SVR2 executable (Amdahl-UTS) 10278>12 belong >0 not stripped 10279>24 belong >0 - version %ld 102800 beshort 0534 SVR2 pure executable (Amdahl-UTS) 10281>12 belong >0 not stripped 10282>24 belong >0 - version %ld 102830 beshort 0530 SVR2 pure executable (USS/370) 10284>12 belong >0 not stripped 10285>24 belong >0 - version %ld 102860 beshort 0535 SVR2 executable (USS/370) 10287>12 belong >0 not stripped 10288>24 belong >0 - version %ld 10289 10290#------------------------------------------------------------------------------ 10291# $File: ibm6000,v 1.12 2013/09/16 15:12:42 christos Exp $ 10292# ibm6000: file(1) magic for RS/6000 and the RT PC. 10293# 102940 beshort 0x01df executable (RISC System/6000 V3.1) or obj module 10295>12 belong >0 not stripped 10296# Breaks sun4 statically linked execs. 10297#0 beshort 0x0103 executable (RT Version 2) or obj module 10298#>2 byte 0x50 pure 10299#>28 belong >0 not stripped 10300#>6 beshort >0 - version %ld 103010 beshort 0x0104 shared library 103020 beshort 0x0105 ctab data 103030 beshort 0xfe04 structured file 103040 string 0xabcdef AIX message catalog 103050 belong 0x000001f9 AIX compiled message catalog 103060 string \<aiaff> archive 103070 string \<bigaf> archive (big format) 10308 103090 beshort 0x01f7 64-bit XCOFF executable or object module 10310>20 belong 0 not stripped 10311# GRR: this test is still too general as it catches also many FATs of DOS filesystems 103124 belong &0x0feeddb0 10313# real core dump could not be 32-bit and 64-bit together 10314>7 byte&0x03 !3 AIX core file 10315>>1 byte &0x01 fulldump 10316>>7 byte &0x01 32-bit 10317>>>0x6e0 string >\0 \b, %s 10318>>7 byte &0x02 64-bit 10319>>>0x524 string >\0 \b, %s 10320 10321#------------------------------------------------------------------------------ 10322# $File: icc,v 1.1 2013/01/08 01:43:18 christos Exp $ 10323# icc: file(1) magic for International Color Consortium file formats 10324 10325# 10326# Color profiles as per the ICC's "Image technology colour management - 10327# Architecture, profile format, and data structure" specification. 10328# See 10329# 10330# http://www.color.org/specification/ICC1v43_2010-12.pdf 10331# 10332# for Specification ICC.1:2010 (Profile version 4.3.0.0). 10333# 10334# Bytes 36 to 39 contain a generic profile file signature of "acsp"; 10335# bytes 40 to 43 "may be used to identify the primary platform/operating 10336# system framework for which the profile was created". 10337# 10338# There are other fields that might be worth dumping as well. 10339# 10340 10341# This appears to be what's used for Apple ColorSync profiles. 10342# Instead of adding that, Apple just changed the generic "acsp" entry 10343# to be for "ColorSync ICC Color Profile" rather than "Kodak Color 10344# Management System, ICC Profile". 10345# Yes, it's "APPL", not "AAPL"; see the spec. 1034636 string acspAPPL ColorSync ICC Profile 10347!:mime application/vnd.iccprofile 10348 10349# Microsoft ICM color profile 1035036 string acspMSFT Microsoft ICM Color Profile 10351!:mime application/vnd.iccprofile 10352 10353# Yes, that's a blank after "SGI". 1035436 string acspSGI\ SGI ICC Profile 10355!:mime application/vnd.iccprofile 10356 10357# XXX - is this what's used for the Sun KCMS or not? The standard file 10358# uses just "acsp" for that, but Apple's file uses it for "ColorSync", 10359# and there *is* an identified "primary platform" value of SUNW. 1036036 string acspSUNW Sun KCMS ICC Profile 10361!:mime application/vnd.iccprofile 10362 10363# Any other profile. 10364# XXX - should we use "acsp\0\0\0\0" for "no primary platform" profiles, 10365# and use "acsp" for everything else and dump the "primary platform" 10366# string in those cases? 1036736 string acsp ICC Profile 10368!:mime application/vnd.iccprofile 10369 10370 10371 10372#------------------------------------------------------------------------------ 10373# $File: iff,v 1.13 2011/09/06 11:00:06 christos Exp $ 10374# iff: file(1) magic for Interchange File Format (see also "audio" & "images") 10375# 10376# Daniel Quinlan (quinlan@yggdrasil.com) -- IFF was designed by Electronic 10377# Arts for file interchange. It has also been used by Apple, SGI, and 10378# especially Commodore-Amiga. 10379# 10380# IFF files begin with an 8 byte FORM header, followed by a 4 character 10381# FORM type, which is followed by the first chunk in the FORM. 10382 103830 string FORM IFF data 10384#>4 belong x \b, FORM is %d bytes long 10385# audio formats 10386>8 string AIFF \b, AIFF audio 10387!:mime audio/x-aiff 10388>8 string AIFC \b, AIFF-C compressed audio 10389!:mime audio/x-aiff 10390>8 string 8SVX \b, 8SVX 8-bit sampled sound voice 10391!:mime audio/x-aiff 10392>8 string 16SV \b, 16SV 16-bit sampled sound voice 10393>8 string SAMP \b, SAMP sampled audio 10394>8 string MAUD \b, MAUD MacroSystem audio 10395>8 string SMUS \b, SMUS simple music 10396>8 string CMUS \b, CMUS complex music 10397# image formats 10398>8 string ILBMBMHD \b, ILBM interleaved image 10399>>20 beshort x \b, %d x 10400>>22 beshort x %d 10401>8 string RGBN \b, RGBN 12-bit RGB image 10402>8 string RGB8 \b, RGB8 24-bit RGB image 10403>8 string DEEP \b, DEEP TVPaint/XiPaint image 10404>8 string DR2D \b, DR2D 2-D object 10405>8 string TDDD \b, TDDD 3-D rendering 10406>8 string LWOB \b, LWOB 3-D object 10407>8 string LWO2 \b, LWO2 3-D object, v2 10408>8 string LWLO \b, LWLO 3-D layered object 10409>8 string REAL \b, REAL Real3D rendering 10410>8 string MC4D \b, MC4D MaxonCinema4D rendering 10411>8 string ANIM \b, ANIM animation 10412>8 string YAFA \b, YAFA animation 10413>8 string SSA\ \b, SSA super smooth animation 10414>8 string ACBM \b, ACBM continuous image 10415>8 string FAXX \b, FAXX fax image 10416# other formats 10417>8 string FTXT \b, FTXT formatted text 10418>8 string CTLG \b, CTLG message catalog 10419>8 string PREF \b, PREF preferences 10420>8 string DTYP \b, DTYP datatype description 10421>8 string PTCH \b, PTCH binary patch 10422>8 string AMFF \b, AMFF AmigaMetaFile format 10423>8 string WZRD \b, WZRD StormWIZARD resource 10424>8 string DOC\ \b, DOC desktop publishing document 10425>8 string WVQA \b, Westwood Studios VQA Multimedia, 10426>>24 leshort x %d video frames, 10427>>26 leshort x %d x 10428>>28 leshort x %d 10429>8 string MOVE \b, Wing Commander III Video 10430>>12 string _PC_ \b, PC version 10431>>12 string 3DO_ \b, 3DO version 10432 10433# These go at the end of the iff rules 10434# 10435# I don't see why these might collide with anything else. 10436# 10437# Interactive Fiction related formats 10438# 10439>8 string IFRS \b, Blorb Interactive Fiction 10440>>24 string Exec with executable chunk 10441>8 string IFZS \b, Z-machine or Glulx saved game file (Quetzal) 10442 10443#------------------------------------------------------------------------------ 10444# $File: images,v 1.87 2013/12/11 14:14:20 christos Exp $ 10445# images: file(1) magic for image formats (see also "iff", and "c-lang" for 10446# XPM bitmaps) 10447# 10448# originally from jef@helios.ee.lbl.gov (Jef Poskanzer), 10449# additions by janl@ifi.uio.no as well as others. Jan also suggested 10450# merging several one- and two-line files into here. 10451# 10452# little magic: PCX (first byte is 0x0a) 10453 10454# Targa - matches `povray', `ppmtotga' and `xv' outputs 10455# by Philippe De Muyter <phdm@macqel.be> 10456# at 2, byte ImgType must be 1, 2, 3, 9, 10 or 11 10457# at 1, byte CoMapType must be 1 if ImgType is 1 or 9, 0 otherwise 10458# at 3, leshort Index is 0 for povray, ppmtotga and xv outputs 10459# `xv' recognizes only a subset of the following (RGB with pixelsize = 24) 10460# `tgatoppm' recognizes a superset (Index may be anything) 104611 belong&0xfff7ffff 0x01010000 Targa image data - Map 10462>2 byte&8 8 - RLE 10463>12 leshort >0 %hd x 10464>14 leshort >0 %hd 104651 belong&0xfff7ffff 0x00020000 Targa image data - RGB 10466>2 byte&8 8 - RLE 10467>12 leshort >0 %hd x 10468>14 leshort >0 %hd 104691 belong&0xfff7ffff 0x00030000 Targa image data - Mono 10470>2 byte&8 8 - RLE 10471>12 leshort >0 %hd x 10472>14 leshort >0 %hd 10473 10474# PBMPLUS images 10475# The next byte following the magic is always whitespace. 10476# strength is changed to try these patterns before "x86 boot sector" 104770 search/1 P1 10478>3 regex =[0-9]{0,50}\ [0-9]{0,50} Netpbm PBM image text 10479>3 regex =[0-9]{1,50}\ \b, size = %sx 10480>>3 regex =\ [0-9]{1,50} \b%s 10481!:strength + 45 10482!:mime image/x-portable-bitmap 104830 search/1 P2 10484>3 regex =[0-9]{0,50}\ [0-9]{0,50} Netpbm PGM image text 10485>3 regex =[0-9]{1,50}\ \b, size = %sx 10486>>3 regex =\ [0-9]{1,50} \b%s 10487!:strength + 45 10488!:mime image/x-portable-greymap 104890 search/1 P3 10490>3 regex =[0-9]{0,50}\ [0-9]{0,50} Netpbm PPM image text 10491>3 regex =[0-9]{1,50}\ \b, size = %sx 10492>>3 regex =\ [0-9]{1,50} \b%s 10493!:strength + 45 10494!:mime image/x-portable-pixmap 104950 string P4 10496>3 regex =[0-9]{0,50}\ [0-9]{0,50} Netpbm PBM "rawbits" image data 10497>3 regex =[0-9]{1,50}\ \b, size = %sx 10498>>3 regex =\ [0-9]{1,50} \b%s 10499!:strength + 45 10500!:mime image/x-portable-bitmap 105010 string P5 10502>3 regex =[0-9]{0,50}\ [0-9]{0,50} Netpbm PGM "rawbits" image data 10503>3 regex =[0-9]{1,50}\ \b, size = %sx 10504>>3 regex =\ [0-9]{1,50} \b%s 10505!:strength + 45 10506!:mime image/x-portable-greymap 105070 string P6 10508>3 regex =[0-9]{0,50}\ [0-9]{0,50} Netpbm PPM "rawbits" image data 10509>3 regex =[0-9]{1,50}\ \b, size = %sx 10510>>3 regex =\ [0-9]{1,50} \b%s 10511!:strength + 45 10512!:mime image/x-portable-pixmap 105130 string P7 Netpbm PAM image file 10514!:mime image/x-portable-pixmap 10515 10516# From: bryanh@giraffe-data.com (Bryan Henderson) 105170 string \117\072 Solitaire Image Recorder format 10518>4 string \013 MGI Type 11 10519>4 string \021 MGI Type 17 105200 string .MDA MicroDesign data 10521>21 byte 48 version 2 10522>21 byte 51 version 3 105230 string .MDP MicroDesign page data 10524>21 byte 48 version 2 10525>21 byte 51 version 3 10526 10527# NIFF (Navy Interchange File Format, a modification of TIFF) images 10528# [GRR: this *must* go before TIFF] 105290 string IIN1 NIFF image data 10530!:mime image/x-niff 10531 10532# Canon RAW version 1 (CRW) files are a type of Canon Image File Format 10533# (CIFF) file. These are apparently all little-endian. 10534# From: Adam Buchbinder <adam.buchbinder@gmail.com> 10535# URL: http://www.sno.phy.queensu.ca/~phil/exiftool/canon_raw.html 105360 string II\x1a\0\0\0HEAPCCDR Canon CIFF raw image data 10537!:mime image/x-canon-crw 10538>16 leshort x \b, version %d. 10539>14 leshort x \b%d 10540 10541# Canon RAW version 2 (CR2) files are a kind of TIFF with an extra magic 10542# number. Put this above the TIFF test to make sure we detect them. 10543# These are apparently all little-endian. 10544# From: Adam Buchbinder <adam.buchbinder@gmail.com> 10545# URL: http://libopenraw.freedesktop.org/wiki/Canon_CR2 105460 string II\x2a\0\x10\0\0\0CR Canon CR2 raw image data 10547!:mime image/x-canon-cr2 10548>10 byte x \b, version %d. 10549>11 byte x \b%d 10550 10551# Tag Image File Format, from Daniel Quinlan (quinlan@yggdrasil.com) 10552# The second word of TIFF files is the TIFF version number, 42, which has 10553# never changed. The TIFF specification recommends testing for it. 105540 string MM\x00\x2a TIFF image data, big-endian 10555!:mime image/tiff 105560 string II\x2a\x00 TIFF image data, little-endian 10557!:mime image/tiff 10558 105590 string MM\x00\x2b Big TIFF image data, big-endian 10560!:mime image/tiff 105610 string II\x2b\x00 Big TIFF image data, little-endian 10562!:mime image/tiff 10563 10564# PNG [Portable Network Graphics, or "PNG's Not GIF"] images 10565# (Greg Roelofs, newt@uchicago.edu) 10566# (Albert Cahalan, acahalan@cs.uml.edu) 10567# 10568# 137 P N G \r \n ^Z \n [4-byte length] H E A D [HEAD data] [HEAD crc] ... 10569# 105700 string \x89PNG\x0d\x0a\x1a\x0a PNG image data 10571!:mime image/png 10572>16 belong x \b, %ld x 10573>20 belong x %ld, 10574>24 byte x %d-bit 10575>25 byte 0 grayscale, 10576>25 byte 2 \b/color RGB, 10577>25 byte 3 colormap, 10578>25 byte 4 gray+alpha, 10579>25 byte 6 \b/color RGBA, 10580#>26 byte 0 deflate/32K, 10581>28 byte 0 non-interlaced 10582>28 byte 1 interlaced 10583 10584# possible GIF replacements; none yet released! 10585# (Greg Roelofs, newt@uchicago.edu) 10586# 10587# GRR 950115: this was mine ("Zip GIF"): 105880 string GIF94z ZIF image (GIF+deflate alpha) 10589!:mime image/x-unknown 10590# 10591# GRR 950115: this is Jeremy Wohl's Free Graphics Format (better): 10592# 105930 string FGF95a FGF image (GIF+deflate beta) 10594!:mime image/x-unknown 10595# 10596# GRR 950115: this is Thomas Boutell's Portable Bitmap Format proposal 10597# (best; not yet implemented): 10598# 105990 string PBF PBF image (deflate compression) 10600!:mime image/x-unknown 10601 10602# GIF 106030 string GIF8 GIF image data 10604!:mime image/gif 10605!:apple 8BIMGIFf 10606>4 string 7a \b, version 8%s, 10607>4 string 9a \b, version 8%s, 10608>6 leshort >0 %hd x 10609>8 leshort >0 %hd 10610#>10 byte &0x80 color mapped, 10611#>10 byte&0x07 =0x00 2 colors 10612#>10 byte&0x07 =0x01 4 colors 10613#>10 byte&0x07 =0x02 8 colors 10614#>10 byte&0x07 =0x03 16 colors 10615#>10 byte&0x07 =0x04 32 colors 10616#>10 byte&0x07 =0x05 64 colors 10617#>10 byte&0x07 =0x06 128 colors 10618#>10 byte&0x07 =0x07 256 colors 10619 10620# ITC (CMU WM) raster files. It is essentially a byte-reversed Sun raster, 10621# 1 plane, no encoding. 106220 string \361\0\100\273 CMU window manager raster image data 10623>4 lelong >0 %d x 10624>8 lelong >0 %d, 10625>12 lelong >0 %d-bit 10626 10627# Magick Image File Format 106280 string id=ImageMagick MIFF image data 10629 10630# Artisan 106310 long 1123028772 Artisan image data 10632>4 long 1 \b, rectangular 24-bit 10633>4 long 2 \b, rectangular 8-bit with colormap 10634>4 long 3 \b, rectangular 32-bit (24-bit with matte) 10635 10636# FIG (Facility for Interactive Generation of figures), an object-based format 106370 search/1 #FIG FIG image text 10638>5 string x \b, version %.3s 10639 10640# PHIGS 106410 string ARF_BEGARF PHIGS clear text archive 106420 string @(#)SunPHIGS SunPHIGS 10643# version number follows, in the form m.n 10644>40 string SunBin binary 10645>32 string archive archive 10646 10647# GKS (Graphics Kernel System) 106480 string GKSM GKS Metafile 10649>24 string SunGKS \b, SunGKS 10650 10651# CGM image files 106520 string BEGMF clear text Computer Graphics Metafile 10653 10654# MGR bitmaps (Michael Haardt, u31b3hs@pool.informatik.rwth-aachen.de) 106550 string yz MGR bitmap, modern format, 8-bit aligned 106560 string zz MGR bitmap, old format, 1-bit deep, 16-bit aligned 106570 string xz MGR bitmap, old format, 1-bit deep, 32-bit aligned 106580 string yx MGR bitmap, modern format, squeezed 10659 10660# Fuzzy Bitmap (FBM) images 106610 string %bitmap\0 FBM image data 10662>30 long 0x31 \b, mono 10663>30 long 0x33 \b, color 10664 10665# facsimile data 106661 string PC\ Research,\ Inc group 3 fax data 10667>29 byte 0 \b, normal resolution (204x98 DPI) 10668>29 byte 1 \b, fine resolution (204x196 DPI) 10669# From: Herbert Rosmanith <herp@wildsau.idv.uni.linz.at> 106700 string Sfff structured fax file 10671 10672# From: Joerg Jenderek <joerg.jen.der.ek@gmx.net> 10673# most files with the extension .EPA and some with .BMP 106740 string \x11\x06 Award BIOS Logo, 136 x 84 10675!:mime image/x-award-bioslogo 106760 string \x11\x09 Award BIOS Logo, 136 x 126 10677!:mime image/x-award-bioslogo 10678#0 string \x07\x1f BIOS Logo corrupted? 10679# http://www.blackfiveservices.co.uk/awbmtools.shtml 10680# http://biosgfx.narod.ru/v3/ 10681# http://biosgfx.narod.ru/abr-2/ 106820 string AWBM 10683>4 leshort <1981 Award BIOS bitmap 10684!:mime image/x-award-bmp 10685# image width is a multiple of 4 10686>>4 leshort&0x0003 0 10687>>>4 leshort x \b, %d 10688>>>6 leshort x x %d 10689>>4 leshort&0x0003 >0 \b, 10690>>>4 leshort&0x0003 =1 10691>>>>4 leshort x %d+3 10692>>>4 leshort&0x0003 =2 10693>>>>4 leshort x %d+2 10694>>>4 leshort&0x0003 =3 10695>>>>4 leshort x %d+1 10696>>>6 leshort x x %d 10697# at offset 8 starts imagedata followed by "RGB " marker 10698 10699# PC bitmaps (OS/2, Windows BMP files) (Greg Roelofs, newt@uchicago.edu) 10700# http://en.wikipedia.org/wiki/BMP_file_format#DIB_header_.\ 10701# 28bitmap_information_header.29 107020 string BM 10703>14 leshort 12 PC bitmap, OS/2 1.x format 10704!:mime image/x-ms-bmp 10705>>18 leshort x \b, %d x 10706>>20 leshort x %d 10707>14 leshort 64 PC bitmap, OS/2 2.x format 10708!:mime image/x-ms-bmp 10709>>18 leshort x \b, %d x 10710>>20 leshort x %d 10711>14 leshort 40 PC bitmap, Windows 3.x format 10712!:mime image/x-ms-bmp 10713>>18 lelong x \b, %d x 10714>>22 lelong x %d x 10715>>28 leshort x %d 10716>14 leshort 124 PC bitmap, Windows 98/2000 and newer format 10717!:mime image/x-ms-bmp 10718>>18 lelong x \b, %d x 10719>>22 lelong x %d x 10720>>28 leshort x %d 10721>14 leshort 108 PC bitmap, Windows 95/NT4 and newer format 10722!:mime image/x-ms-bmp 10723>>18 lelong x \b, %d x 10724>>22 lelong x %d x 10725>>28 leshort x %d 10726>14 leshort 128 PC bitmap, Windows NT/2000 format 10727!:mime image/x-ms-bmp 10728>>18 lelong x \b, %d x 10729>>22 lelong x %d x 10730>>28 leshort x %d 10731# Too simple - MPi 10732#0 string IC PC icon data 10733#0 string PI PC pointer image data 10734#0 string CI PC color icon data 10735#0 string CP PC color pointer image data 10736# Conflicts with other entries [BABYL] 10737#0 string BA PC bitmap array data 10738 10739# XPM icons (Greg Roelofs, newt@uchicago.edu) 107400 search/1 /*\ XPM\ */ X pixmap image text 10741!:mime image/x-xpmi 10742 10743# Utah Raster Toolkit RLE images (janl@ifi.uio.no) 107440 leshort 0xcc52 RLE image data, 10745>6 leshort x %d x 10746>8 leshort x %d 10747>2 leshort >0 \b, lower left corner: %d 10748>4 leshort >0 \b, lower right corner: %d 10749>10 byte&0x1 =0x1 \b, clear first 10750>10 byte&0x2 =0x2 \b, no background 10751>10 byte&0x4 =0x4 \b, alpha channel 10752>10 byte&0x8 =0x8 \b, comment 10753>11 byte >0 \b, %d color channels 10754>12 byte >0 \b, %d bits per pixel 10755>13 byte >0 \b, %d color map channels 10756 10757# image file format (Robert Potter, potter@cs.rochester.edu) 107580 string Imagefile\ version- iff image data 10759# this adds the whole header (inc. version number), informative but longish 10760>10 string >\0 %s 10761 10762# Sun raster images, from Daniel Quinlan (quinlan@yggdrasil.com) 107630 belong 0x59a66a95 Sun raster image data 10764>4 belong >0 \b, %d x 10765>8 belong >0 %d, 10766>12 belong >0 %d-bit, 10767#>16 belong >0 %d bytes long, 10768>20 belong 0 old format, 10769#>20 belong 1 standard, 10770>20 belong 2 compressed, 10771>20 belong 3 RGB, 10772>20 belong 4 TIFF, 10773>20 belong 5 IFF, 10774>20 belong 0xffff reserved for testing, 10775>24 belong 0 no colormap 10776>24 belong 1 RGB colormap 10777>24 belong 2 raw colormap 10778#>28 belong >0 colormap is %d bytes long 10779 10780# SGI image file format, from Daniel Quinlan (quinlan@yggdrasil.com) 10781# 10782# See 10783# http://reality.sgi.com/grafica/sgiimage.html 10784# 107850 beshort 474 SGI image data 10786#>2 byte 0 \b, verbatim 10787>2 byte 1 \b, RLE 10788#>3 byte 1 \b, normal precision 10789>3 byte 2 \b, high precision 10790>4 beshort x \b, %d-D 10791>6 beshort x \b, %d x 10792>8 beshort x %d 10793>10 beshort x \b, %d channel 10794>10 beshort !1 \bs 10795>80 string >0 \b, "%s" 10796 107970 string IT01 FIT image data 10798>4 belong x \b, %d x 10799>8 belong x %d x 10800>12 belong x %d 10801# 108020 string IT02 FIT image data 10803>4 belong x \b, %d x 10804>8 belong x %d x 10805>12 belong x %d 10806# 108072048 string PCD_IPI Kodak Photo CD image pack file 10808>0xe02 byte&0x03 0x00 , landscape mode 10809>0xe02 byte&0x03 0x01 , portrait mode 10810>0xe02 byte&0x03 0x02 , landscape mode 10811>0xe02 byte&0x03 0x03 , portrait mode 108120 string PCD_OPA Kodak Photo CD overview pack file 10813 10814# FITS format. Jeff Uphoff <juphoff@tarsier.cv.nrao.edu> 10815# FITS is the Flexible Image Transport System, the de facto standard for 10816# data and image transfer, storage, etc., for the astronomical community. 10817# (FITS floating point formats are big-endian.) 108180 string SIMPLE\ \ = FITS image data 10819>109 string 8 \b, 8-bit, character or unsigned binary integer 10820>108 string 16 \b, 16-bit, two's complement binary integer 10821>107 string \ 32 \b, 32-bit, two's complement binary integer 10822>107 string -32 \b, 32-bit, floating point, single precision 10823>107 string -64 \b, 64-bit, floating point, double precision 10824 10825# other images 108260 string This\ is\ a\ BitMap\ file Lisp Machine bit-array-file 10827 10828# From SunOS 5.5.1 "/etc/magic" - appeared right before Sun raster image 10829# stuff. 10830# 108310 beshort 0x1010 PEX Binary Archive 10832 10833# DICOM medical imaging data 10834128 string DICM DICOM medical imaging data 10835!:mime application/dicom 10836 10837# XWD - X Window Dump file. 10838# As described in /usr/X11R6/include/X11/XWDFile.h 10839# used by the xwd program. 10840# Bradford Castalia, idaeim, 1/01 10841# updated by Adam Buchbinder, 2/09 10842# The following assumes version 7 of the format; the first long is the length 10843# of the header, which is at least 25 4-byte longs, and the one at offset 8 10844# is a constant which is always either 1 or 2. Offset 12 is the pixmap depth, 10845# which is a maximum of 32. 108460 belong >100 10847>8 belong <3 10848>>12 belong <33 10849>>>4 belong 7 XWD X Window Dump image data 10850!:mime image/x-xwindowdump 10851>>>>100 string >\0 \b, "%s" 10852>>>>16 belong x \b, %dx 10853>>>>20 belong x \b%dx 10854>>>>12 belong x \b%d 10855 10856# PDS - Planetary Data System 10857# These files use Parameter Value Language in the header section. 10858# Unfortunately, there is no certain magic, but the following 10859# strings have been found to be most likely. 108600 string NJPL1I00 PDS (JPL) image data 108612 string NJPL1I PDS (JPL) image data 108620 string CCSD3ZF PDS (CCSD) image data 108632 string CCSD3Z PDS (CCSD) image data 108640 string PDS_ PDS image data 108650 string LBLSIZE= PDS (VICAR) image data 10866 10867# pM8x: ATARI STAD compressed bitmap format 10868# 10869# from Oskar Schirmer <schirmer@scara.com> Feb 2, 2001 10870# p M 8 5/6 xx yy zz data... 10871# Atari ST STAD bitmap is always 640x400, bytewise runlength compressed. 10872# bytes either run horizontally (pM85) or vertically (pM86). yy is the 10873# most frequent byte, xx and zz are runlength escape codes, where xx is 10874# used for runs of yy. 10875# 108760 string pM85 Atari ST STAD bitmap image data (hor) 10877>5 byte 0x00 (white background) 10878>5 byte 0xFF (black background) 108790 string pM86 Atari ST STAD bitmap image data (vert) 10880>5 byte 0x00 (white background) 10881>5 byte 0xFF (black background) 10882 10883# Gurkan Sengun <gurkan@linuks.mine.nu>, www.linuks.mine.nu 10884# http://www.atarimax.com/jindroush.atari.org/afmtatr.html 108850 leshort 0x0296 Atari ATR image 10886 10887# XXX: 10888# This is bad magic 0x5249 == 'RI' conflicts with RIFF and other 10889# magic. 10890# SGI RICE image file <mpruett@sgi.com> 10891#0 beshort 0x5249 RICE image 10892#>2 beshort x v%d 10893#>4 beshort x (%d x 10894#>6 beshort x %d) 10895#>8 beshort 0 8 bit 10896#>8 beshort 1 10 bit 10897#>8 beshort 2 12 bit 10898#>8 beshort 3 13 bit 10899#>10 beshort 0 4:2:2 10900#>10 beshort 1 4:2:2:4 10901#>10 beshort 2 4:4:4 10902#>10 beshort 3 4:4:4:4 10903#>12 beshort 1 RGB 10904#>12 beshort 2 CCIR601 10905#>12 beshort 3 RP175 10906#>12 beshort 4 YUV 10907 10908# PCX image files 10909# From: Dan Fandrich <dan@coneharvesters.com> 10910# updated by Joerg Jenderek at Feb 2013 by http://de.wikipedia.org/wiki/PCX 10911# http://web.archive.org/web/20100206055706/http://www.qzx.com/pc-gpe/pcx.txt 10912# GRR: original test was still too general as it catches xbase examples T5.DBT,T6.DBT with 0xa000000 10913# test for bytes 0x0a,version byte (0,2,3,4,5),compression byte flag(0,1), bit depth (>0) of PCX or T5.DBT,T6.DBT 109140 ubelong&0xffF8fe00 0x0a000000 10915# for PCX bit depth > 0 10916>3 ubyte >0 10917# test for valid versions 10918>>1 ubyte <6 10919>>>1 ubyte !1 PCX 10920!:mime image/x-pcx 10921#!:mime image/pcx 10922>>>>1 ubyte 0 ver. 2.5 image data 10923>>>>1 ubyte 2 ver. 2.8 image data, with palette 10924>>>>1 ubyte 3 ver. 2.8 image data, without palette 10925>>>>1 ubyte 4 for Windows image data 10926>>>>1 ubyte 5 ver. 3.0 image data 10927>>>>4 uleshort x bounding box [%hd, 10928>>>>6 uleshort x %d] - 10929>>>>8 uleshort x [%d, 10930>>>>10 uleshort x %d], 10931>>>>65 ubyte >1 %d planes each of 10932>>>>3 ubyte x %d-bit 10933>>>>68 byte 1 colour, 10934>>>>68 byte 2 grayscale, 10935# this should not happen 10936>>>>68 default x image, 10937>>>>12 leshort >0 %d x 10938>>>>>14 uleshort x %d dpi, 10939>>>>2 byte 0 uncompressed 10940>>>>2 byte 1 RLE compressed 10941 10942# Adobe Photoshop 10943# From: Asbjoern Sloth Toennesen <asbjorn@lila.io> 109440 string 8BPS Adobe Photoshop Image 10945!:mime image/vnd.adobe.photoshop 10946>4 beshort 2 (PSB) 10947>18 belong x \b, %d x 10948>14 belong x %d, 10949>24 beshort 0 bitmap 10950>24 beshort 1 grayscale 10951>>12 beshort 2 with alpha 10952>24 beshort 2 indexed 10953>24 beshort 3 RGB 10954>>12 beshort 4 \bA 10955>24 beshort 4 CMYK 10956>>12 beshort 5 \bA 10957>24 beshort 7 multichannel 10958>24 beshort 8 duotone 10959>24 beshort 9 lab 10960>12 beshort > 1 10961>>12 beshort x \b, %dx 10962>12 beshort 1 \b, 10963>22 beshort x %d-bit channel 10964>12 beshort > 1 \bs 10965 10966# XV thumbnail indicator (ThMO) 109670 string P7\ 332 XV thumbnail image data 10968 10969# NITF is defined by United States MIL-STD-2500A 109700 string NITF National Imagery Transmission Format 10971>25 string >\0 dated %.14s 10972 10973# GEM Image: Version 1, Headerlen 8 (Wolfram Kleff) 109740 belong 0x00010008 GEM Image data 10975>12 beshort x %d x 10976>14 beshort x %d, 10977>4 beshort x %d planes, 10978>8 beshort x %d x 10979>10 beshort x %d pixelsize 10980 10981# GEM Metafile (Wolfram Kleff) 109820 lelong 0x0018FFFF GEM Metafile data 10983>4 leshort x version %d 10984 10985# 10986# SMJPEG. A custom Motion JPEG format used by Loki Entertainment 10987# Software Torbjorn Andersson <d91tan@Update.UU.SE>. 10988# 109890 string \0\nSMJPEG SMJPEG 10990>8 belong x %d.x data 10991# According to the specification you could find any number of _TXT 10992# headers here, but I can't think of any way of handling that. None of 10993# the SMJPEG files I tried it on used this feature. Even if such a 10994# file is encountered the output should still be reasonable. 10995>16 string _SND \b, 10996>>24 beshort >0 %d Hz 10997>>26 byte 8 8-bit 10998>>26 byte 16 16-bit 10999>>28 string NONE uncompressed 11000# >>28 string APCM ADPCM compressed 11001>>27 byte 1 mono 11002>>28 byte 2 stereo 11003# Help! Isn't there any way to avoid writing this part twice? 11004>>32 string _VID \b, 11005# >>>48 string JFIF JPEG 11006>>>40 belong >0 %d frames 11007>>>44 beshort >0 (%d x 11008>>>46 beshort >0 %d) 11009>16 string _VID \b, 11010# >>32 string JFIF JPEG 11011>>24 belong >0 %d frames 11012>>28 beshort >0 (%d x 11013>>30 beshort >0 %d) 11014 110150 string Paint\ Shop\ Pro\ Image\ File Paint Shop Pro Image File 11016 11017# "thumbnail file" (icon) 11018# descended from "xv", but in use by other applications as well (Wolfram Kleff) 110190 string P7\ 332 XV "thumbnail file" (icon) data 11020 11021# taken from fkiss: (<yav@mte.biglobe.ne.jp> ?) 110220 string KiSS KISS/GS 11023>4 byte 16 color 11024>>5 byte x %d bit 11025>>8 leshort x %d colors 11026>>10 leshort x %d groups 11027>4 byte 32 cell 11028>>5 byte x %d bit 11029>>8 leshort x %d x 11030>>10 leshort x %d 11031>>12 leshort x +%d 11032>>14 leshort x +%d 11033 11034# Webshots (www.webshots.com), by John Harrison 110350 string C\253\221g\230\0\0\0 Webshots Desktop .wbz file 11036 11037# Hercules DASD image files 11038# From Jan Jaeger <jj@septa.nl> 110390 string CKD_P370 Hercules CKD DASD image file 11040>8 long x \b, %d heads per cylinder 11041>12 long x \b, track size %d bytes 11042>16 byte x \b, device type 33%2.2X 11043 110440 string CKD_C370 Hercules compressed CKD DASD image file 11045>8 long x \b, %d heads per cylinder 11046>12 long x \b, track size %d bytes 11047>16 byte x \b, device type 33%2.2X 11048 110490 string CKD_S370 Hercules CKD DASD shadow file 11050>8 long x \b, %d heads per cylinder 11051>12 long x \b, track size %d bytes 11052>16 byte x \b, device type 33%2.2X 11053 11054# Squeak images and programs - etoffi@softhome.net 110550 string \146\031\0\0 Squeak image data 110560 search/1 'From\040Squeak Squeak program text 11057 11058# partimage: file(1) magic for PartImage files (experimental, incomplete) 11059# Author: Hans-Joachim Baader <hjb@pro-linux.de> 110600 string PaRtImAgE-VoLuMe PartImage 11061>0x0020 string 0.6.1 file version %s 11062>>0x0060 lelong >-1 volume %ld 11063#>>0x0064 8 byte identifier 11064#>>0x007c reserved 11065>>0x0200 string >\0 type %s 11066>>0x1400 string >\0 device %s, 11067>>0x1600 string >\0 original filename %s, 11068# Some fields omitted 11069>>0x2744 lelong 0 not compressed 11070>>0x2744 lelong 1 gzip compressed 11071>>0x2744 lelong 2 bzip2 compressed 11072>>0x2744 lelong >2 compressed with unknown algorithm 11073>0x0020 string >0.6.1 file version %s 11074>0x0020 string <0.6.1 file version %s 11075 11076# DCX is multi-page PCX, using a simple header of up to 1024 11077# offsets for the respective PCX components. 11078# From: Joerg Wunsch <joerg_wunsch@uriah.heep.sax.de> 110790 lelong 987654321 DCX multi-page PCX image data 11080 11081# Simon Walton <simonw@matteworld.com> 11082# Kodak Cineon format for scanned negatives 11083# http://www.kodak.com/US/en/motion/support/dlad/ 110840 lelong 0xd75f2a80 Cineon image data 11085>200 belong >0 \b, %ld x 11086>204 belong >0 %ld 11087 11088 11089# Bio-Rad .PIC is an image format used by microscope control systems 11090# and related image processing software used by biologists. 11091# From: Vebjorn Ljosa <vebjorn@ljosa.com> 11092# BOOL values are two-byte integers; use them to rule out false positives. 11093# http://web.archive.org/web/20050317223257/www.cs.ubc.ca/spider/ladic/text/biorad.txt 11094# Samples: http://www.loci.wisc.edu/software/sample-data 1109514 leshort <2 11096>62 leshort <2 11097>>54 leshort 12345 Bio-Rad .PIC Image File 11098>>>0 leshort >0 %hd x 11099>>>2 leshort >0 %hd, 11100>>>4 leshort =1 1 image in file 11101>>>4 leshort >1 %hd images in file 11102 11103# From Jan "Yenya" Kasprzak <kas@fi.muni.cz> 11104# The description of *.mrw format can be found at 11105# http://www.dalibor.cz/minolta/raw_file_format.htm 111060 string \000MRM Minolta Dimage camera raw image data 11107 11108# Summary: DjVu image / document 11109# Extension: .djvu 11110# Reference: http://djvu.org/docs/DjVu3Spec.djvu 11111# Submitted by: Stephane Loeuillet <stephane.loeuillet@tiscali.fr> 11112# Modified by (1): Abel Cheung <abelcheung@gmail.com> 111130 string AT&TFORM 11114>12 string DJVM DjVu multiple page document 11115!:mime image/vnd.djvu 11116>12 string DJVU DjVu image or single page document 11117!:mime image/vnd.djvu 11118>12 string DJVI DjVu shared document 11119!:mime image/vnd.djvu 11120>12 string THUM DjVu page thumbnails 11121!:mime image/vnd.djvu 11122 11123# Originally by Marc Espie 11124# Modified by Robert Minsk <robertminsk at yahoo.com> 11125# http://www.openexr.com/openexrfilelayout.pdf 111260 lelong 20000630 OpenEXR image data, 11127!:mime image/x-exr 11128>4 lelong&0x000000ff x version %d, 11129>4 lelong ^0x00000200 storage: scanline 11130>4 lelong &0x00000200 storage: tiled 11131>8 search/0x1000 compression\0 \b, compression: 11132>>&16 byte 0 none 11133>>&16 byte 1 rle 11134>>&16 byte 2 zips 11135>>&16 byte 3 zip 11136>>&16 byte 4 piz 11137>>&16 byte 5 pxr24 11138>>&16 byte 6 b44 11139>>&16 byte 7 b44a 11140>>&16 byte >7 unknown 11141>8 search/0x1000 dataWindow\0 \b, dataWindow: 11142>>&10 lelong x (%d 11143>>&14 lelong x %d)- 11144>>&18 lelong x \b(%d 11145>>&22 lelong x %d) 11146>8 search/0x1000 displayWindow\0 \b, displayWindow: 11147>>&10 lelong x (%d 11148>>&14 lelong x %d)- 11149>>&18 lelong x \b(%d 11150>>&22 lelong x %d) 11151>8 search/0x1000 lineOrder\0 \b, lineOrder: 11152>>&14 byte 0 increasing y 11153>>&14 byte 1 decreasing y 11154>>&14 byte 2 random y 11155>>&14 byte >2 unknown 11156 11157# SMPTE Digital Picture Exchange Format, SMPTE DPX 11158# 11159# ANSI/SMPTE 268M-1994, SMPTE Standard for File Format for Digital 11160# Moving-Picture Exchange (DPX), v1.0, 18 February 1994 11161# Robert Minsk <robertminsk at yahoo.com> 111620 string SDPX DPX image data, big-endian, 11163!:mime image/x-dpx 11164>768 beshort <4 11165>>772 belong x %dx 11166>>776 belong x \b%d, 11167>768 beshort >3 11168>>776 belong x %dx 11169>>772 belong x \b%d, 11170>768 beshort 0 left to right/top to bottom 11171>768 beshort 1 right to left/top to bottom 11172>768 beshort 2 left to right/bottom to top 11173>768 beshort 3 right to left/bottom to top 11174>768 beshort 4 top to bottom/left to right 11175>768 beshort 5 top to bottom/right to left 11176>768 leshort 6 bottom to top/left to right 11177>768 leshort 7 bottom to top/right to left 11178 11179# From: Tom Hilinski <tom.hilinski@comcast.net> 11180# http://www.unidata.ucar.edu/packages/netcdf/ 111810 string CDF\001 NetCDF Data Format data 11182 11183#----------------------------------------------------------------------- 11184# Hierarchical Data Format, used to facilitate scientific data exchange 11185# specifications at http://hdf.ncsa.uiuc.edu/ 111860 belong 0x0e031301 Hierarchical Data Format (version 4) data 11187!:mime application/x-hdf 111880 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) data 11189!:mime application/x-hdf 11190512 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) with 512 bytes user block 11191!:mime application/x-hdf 111921024 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) with 1k user block 11193!:mime application/x-hdf 111942048 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) with 2k user block 11195!:mime application/x-hdf 111964096 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) with 4k user block 11197!:mime application/x-hdf 11198 11199 11200# From: Tobias Burnus <burnus@net-b.de> 11201# Xara (for a while: Corel Xara) is a graphic package, see 11202# http://www.xara.com/ for Windows and as GPL application for Linux 112030 string XARA\243\243 Xara graphics file 11204 11205# http://www.cartesianinc.com/Tech/ 112060 string CPC\262 Cartesian Perceptual Compression image 11207!:mime image/x-cpi 11208 11209# From Albert Cahalan <acahalan@gmail.com> 11210# puredigital used it for the CVS disposable camcorder 11211#8 lelong 4 ZBM bitmap image data 11212#>4 leshort x %u x 11213#>6 leshort x %u 11214 11215# From Albert Cahalan <acahalan@gmail.com> 11216# uncompressed 5:6:5 HighColor image for OLPC XO firmware icons 112170 string C565 OLPC firmware icon image data 11218>4 leshort x %u x 11219>6 leshort x %u 11220 11221# Applied Images - Image files from Cytovision 11222# Gustavo Junior Alves <gjalves@gjalves.com.br> 112230 string \xce\xda\xde\xfa Cytovision Metaphases file 112240 string \xed\xad\xef\xac Cytovision Karyotype file 112250 string \x0b\x00\x03\x00 Cytovision FISH Probe file 112260 string \xed\xfe\xda\xbe Cytovision FLEX file 112270 string \xed\xab\xed\xfe Cytovision FLEX file 112280 string \xad\xfd\xea\xad Cytovision RATS file 11229 11230# Wavelet Scalar Quantization format used in gray-scale fingerprint images 11231# From Tano M Fotang <mfotang@quanteq.com> 112320 string \xff\xa0\xff\xa8\x00 Wavelet Scalar Quantization image data 11233 11234# Type: PCO B16 image files 11235# URL: http://www.pco.de/fileadmin/user_upload/db/download/MA_CWDCOPIE_0412b.pdf 11236# From: Florian Philipp <florian.philipp@binarywings.net> 11237# Extension: .b16 11238# Description: Pixel image format produced by PCO Camware, typically used 11239# together with PCO cameras. 11240# Note: Different versions exist for e.g. 8 bit and 16 bit images. 11241# Documentation is incomplete. 112420 string/b PCO- PCO B16 image data 11243>12 lelong x \b, %dx 11244>16 lelong x \b%d 11245>20 lelong 0 \b, short header 11246>20 lelong -1 \b, extended header 11247>>24 lelong 0 \b, grayscale 11248>>>36 lelong 0 linear LUT 11249>>>36 lelong 1 logarithmic LUT 11250>>>28 lelong x [%d 11251>>>32 lelong x \b,%d] 11252>>24 lelong 1 \b, color 11253>>>64 lelong 0 linear LUT 11254>>>64 lelong 1 logarithmic LUT 11255>>>40 lelong x r[%d 11256>>>44 lelong x \b,%d] 11257>>>48 lelong x g[%d 11258>>>52 lelong x \b,%d] 11259>>>56 lelong x b[%d 11260>>>60 lelong x \b,%d] 11261 11262# Polar Monitor Bitmap (.pmb) used as logo for Polar Electro watches 11263# From: Markus Heidelberg <markus.heidelberg at web.de> 112640 string/t [BitmapInfo2] Polar Monitor Bitmap text 11265!:mime image/x-polar-monitor-bitmap 11266 11267# From: Rick Richardson <rick.richardson@comcast.net> 112680 string GARMIN\ BITMAP\ 01 Garmin Bitmap file 11269 11270# Type: Ulead Photo Explorer5 (.pe5) 11271# URL: http://www.jisyo.com/cgibin/view.cgi?EXT=pe5 (Japanese) 11272# From: Simon Horman <horms@debian.org> 112730 string IIO2H Ulead Photo Explorer5 11274 11275# Type: X11 cursor 11276# URL: http://webcvs.freedesktop.org/mime/shared-mime-info/freedesktop.org.xml.in?view=markup 11277# From: Mathias Brodala <info@noctus.net> 112780 string Xcur X11 cursor 11279 11280# Type: Olympus ORF raw images. 11281# URL: http://libopenraw.freedesktop.org/wiki/Olympus_ORF 11282# From: Adam Buchbinder <adam.buchbinder@gmail.com> 112830 string MMOR Olympus ORF raw image data, big-endian 11284!:mime image/x-olympus-orf 112850 string IIRO Olympus ORF raw image data, little-endian 11286!:mime image/x-olympus-orf 112870 string IIRS Olympus ORF raw image data, little-endian 11288!:mime image/x-olympus-orf 11289 11290# Type: files used in modern AVCHD camcoders to store clip information 11291# Extension: .cpi 11292# From: Alexander Danilov <alexander.a.danilov@gmail.com> 112930 string HDMV0100 AVCHD Clip Information 11294 11295# From: Adam Buchbinder <adam.buchbinder@gmail.com> 11296# URL: http://local.wasp.uwa.edu.au/~pbourke/dataformats/pic/ 11297# Radiance HDR; usually has .pic or .hdr extension. 112980 string #?RADIANCE\n Radiance HDR image data 11299#!mime image/vnd.radiance 11300 11301# From: Adam Buchbinder <adam.buchbinder@gmail.com> 11302# URL: http://www.mpi-inf.mpg.de/resources/pfstools/pfs_format_spec.pdf 11303# Used by the pfstools packages. The regex matches for the image size could 11304# probably use some work. The MIME type is made up; if there's one in 11305# actual common use, it should replace the one below. 113060 string PFS1\x0a PFS HDR image data 11307#!mime image/x-pfs 11308>1 regex [0-9]*\ \b, %s 11309>>1 regex \ [0-9]{4} \bx%s 11310 11311# Type: Foveon X3F 11312# URL: http://www.photofo.com/downloads/x3f-raw-format.pdf 11313# From: Adam Buchbinder <adam.buchbinder@gmail.com> 11314# Note that the MIME type isn't defined anywhere that I can find; if 11315# there's a canonical type for this format, it should replace this one. 113160 string FOVb Foveon X3F raw image data 11317!:mime image/x-x3f 11318>6 leshort x \b, version %d. 11319>4 leshort x \b%d 11320>28 lelong x \b, %dx 11321>32 lelong x \b%d 11322 11323# Paint.NET file 11324# From Adam Buchbinder <adam.buchbinder@gmail.com> 113250 string PDN3 Paint.NET image data 11326!:mime image/x-paintnet 11327 11328# Not really an image. 11329# From: "Tano M. Fotang" <mfotang@quanteq.com> 113300 string \x46\x4d\x52\x00 ISO/IEC 19794-2 Format Minutiae Record (FMR) 11331 11332# WEBP https://developers.google.com/speed/webp/docs/riff_container 113330 string RIFF 11334>8 string WEBP Web/P image data 11335>>4 lelong x \b, %d bytes 11336 11337#------------------------------------------------------------------------------ 11338# $File: inform,v 1.5 2009/09/19 16:28:09 christos Exp $ 11339# inform: file(1) magic for Inform interactive fiction language 11340 11341# URL: http://www.inform-fiction.org/ 11342# From: Reuben Thomas <rrt@sc3d.org> 11343 113440 search/100/cW constant\ story Inform source text 11345 11346#------------------------------------------------------------------------------ 11347# $File: intel,v 1.11 2013/02/06 14:18:52 christos Exp $ 11348# intel: file(1) magic for x86 Unix 11349# 11350# Various flavors of x86 UNIX executable/object (other than Xenix, which 11351# is in "microsoft"). DOS is in "msdos"; the ambitious soul can do 11352# Windows as well. 11353# 11354# Windows NT belongs elsewhere, as you need x86 and MIPS and Alpha and 11355# whatever comes next (HP-PA Hummingbird?). OS/2 may also go elsewhere 11356# as well, if, as, and when IBM makes it portable. 11357# 11358# The `versions' should be un-commented if they work for you. 11359# (Was the problem just one of endianness?) 11360# 113610 leshort 0502 basic-16 executable 11362>12 lelong >0 not stripped 11363#>22 leshort >0 - version %ld 113640 leshort 0503 basic-16 executable (TV) 11365>12 lelong >0 not stripped 11366#>22 leshort >0 - version %ld 113670 leshort 0510 x86 executable 11368>12 lelong >0 not stripped 113690 leshort 0511 x86 executable (TV) 11370>12 lelong >0 not stripped 113710 leshort =0512 iAPX 286 executable small model (COFF) 11372>12 lelong >0 not stripped 11373#>22 leshort >0 - version %ld 113740 leshort =0522 iAPX 286 executable large model (COFF) 11375>12 lelong >0 not stripped 11376#>22 leshort >0 - version %ld 11377# SGI labeled the next entry as "iAPX 386 executable" --Dan Quinlan 113780 leshort =0514 80386 COFF executable 11379>12 lelong >0 not stripped 11380>22 leshort >0 - version %ld 11381 11382# rom: file(1) magic for BIOS ROM Extensions found in intel machines 11383# mapped into memory between 0xC0000 and 0xFFFFF 11384# From Gurkan Sengun <gurkan@linuks.mine.nu>, www.linuks.mine.nu 113850 beshort 0x55AA BIOS (ia32) ROM Ext. 11386>5 string USB USB 11387>7 string LDR UNDI image 11388>30 string IBM IBM comp. Video 11389>26 string Adaptec Adaptec 11390>28 string Adaptec Adaptec 11391>42 string PROMISE Promise 11392>2 byte x (%d*512) 11393 11394# Flash descriptors for Intel SPI flash roms. 11395# From Dr. Jesus <j@hug.gs> 113960 lelong 0x0ff0a55a Intel serial flash for ICH/PCH ROM <= 5 or 3400 series A-step 1139716 lelong 0x0ff0a55a Intel serial flash for PCH ROM 11398 11399#------------------------------------------------------------------------------ 11400# $File: interleaf,v 1.10 2009/09/19 16:28:10 christos Exp $ 11401# interleaf: file(1) magic for InterLeaf TPS: 11402# 114030 string =\210OPS Interleaf saved data 114040 string =<!OPS Interleaf document text 11405>5 string ,\ Version\ = \b, version 11406>>17 string >\0 %.3s 11407 11408#------------------------------------------------------------------------------ 11409# $File: island,v 1.5 2009/09/19 16:28:10 christos Exp $ 11410# island: file(1) magic for IslandWite/IslandDraw, from SunOS 5.5.1 11411# "/etc/magic": 11412# From: guy@netapp.com (Guy Harris) 11413# 114144 string pgscriptver IslandWrite document 1141513 string DrawFile IslandDraw document 11416 11417 11418#------------------------------------------------------------------------------ 11419# $File: ispell,v 1.8 2009/09/19 16:28:10 christos Exp $ 11420# ispell: file(1) magic for ispell 11421# 11422# Ispell 3.0 has a magic of 0x9601 and ispell 3.1 has 0x9602. This magic 11423# will match 0x9600 through 0x9603 in *both* little endian and big endian. 11424# (No other current magic entries collide.) 11425# 11426# Updated by Daniel Quinlan (quinlan@yggdrasil.com) 11427# 114280 leshort&0xFFFC 0x9600 little endian ispell 11429>0 byte 0 hash file (?), 11430>0 byte 1 3.0 hash file, 11431>0 byte 2 3.1 hash file, 11432>0 byte 3 hash file (?), 11433>2 leshort 0x00 8-bit, no capitalization, 26 flags 11434>2 leshort 0x01 7-bit, no capitalization, 26 flags 11435>2 leshort 0x02 8-bit, capitalization, 26 flags 11436>2 leshort 0x03 7-bit, capitalization, 26 flags 11437>2 leshort 0x04 8-bit, no capitalization, 52 flags 11438>2 leshort 0x05 7-bit, no capitalization, 52 flags 11439>2 leshort 0x06 8-bit, capitalization, 52 flags 11440>2 leshort 0x07 7-bit, capitalization, 52 flags 11441>2 leshort 0x08 8-bit, no capitalization, 128 flags 11442>2 leshort 0x09 7-bit, no capitalization, 128 flags 11443>2 leshort 0x0A 8-bit, capitalization, 128 flags 11444>2 leshort 0x0B 7-bit, capitalization, 128 flags 11445>2 leshort 0x0C 8-bit, no capitalization, 256 flags 11446>2 leshort 0x0D 7-bit, no capitalization, 256 flags 11447>2 leshort 0x0E 8-bit, capitalization, 256 flags 11448>2 leshort 0x0F 7-bit, capitalization, 256 flags 11449>4 leshort >0 and %d string characters 114500 beshort&0xFFFC 0x9600 big endian ispell 11451>1 byte 0 hash file (?), 11452>1 byte 1 3.0 hash file, 11453>1 byte 2 3.1 hash file, 11454>1 byte 3 hash file (?), 11455>2 beshort 0x00 8-bit, no capitalization, 26 flags 11456>2 beshort 0x01 7-bit, no capitalization, 26 flags 11457>2 beshort 0x02 8-bit, capitalization, 26 flags 11458>2 beshort 0x03 7-bit, capitalization, 26 flags 11459>2 beshort 0x04 8-bit, no capitalization, 52 flags 11460>2 beshort 0x05 7-bit, no capitalization, 52 flags 11461>2 beshort 0x06 8-bit, capitalization, 52 flags 11462>2 beshort 0x07 7-bit, capitalization, 52 flags 11463>2 beshort 0x08 8-bit, no capitalization, 128 flags 11464>2 beshort 0x09 7-bit, no capitalization, 128 flags 11465>2 beshort 0x0A 8-bit, capitalization, 128 flags 11466>2 beshort 0x0B 7-bit, capitalization, 128 flags 11467>2 beshort 0x0C 8-bit, no capitalization, 256 flags 11468>2 beshort 0x0D 7-bit, no capitalization, 256 flags 11469>2 beshort 0x0E 8-bit, capitalization, 256 flags 11470>2 beshort 0x0F 7-bit, capitalization, 256 flags 11471>4 beshort >0 and %d string characters 11472# ispell 4.0 hash files kromJx <kromJx@crosswinds.net> 11473# Ispell 4.0 114740 string ISPL ispell 11475>4 long x hash file version %d, 11476>8 long x lexletters %d, 11477>12 long x lexsize %d, 11478>16 long x hashsize %d, 11479>20 long x stblsize %d 11480 11481#------------------------------------------------------------------------------ 11482# $File: isz,v 1.1 2010/03/27 16:17:09 christos Exp $ 11483# ISO Zipped file format 11484# http://www.ezbsystems.com/isz/iszspec.txt 114850 string IsZ! ISO Zipped file 11486>4 byte x \b, header size %u 11487>5 byte x \b, version %u 11488>8 lelong x \b, serial %u 11489#12 leshort x \b, sector size %u 11490#>16 lelong x \b, total sectors %u 11491>17 byte >0 \b, password protected 11492#>24 lequad x \b, segment size %llu 11493#>32 lelong x \b, blocks %u 11494#>36 lelong x \b, block size %u 11495 11496#------------------------------------------------------------ 11497# $File: java,v 1.16 2013/09/24 20:22:03 christos Exp $ 11498# Java ByteCode and Mach-O binaries (e.g., Mac OS X) use the 11499# same magic number, 0xcafebabe, so they are both handled 11500# in the entry called "cafebabe". 11501#------------------------------------------------------------ 11502# Java serialization 11503# From Martin Pool (m.pool@pharos.com.au) 115040 beshort 0xaced Java serialization data 11505>2 beshort >0x0004 \b, version %d 11506 115070 belong 0xfeedfeed Java KeyStore 11508!:mime application/x-java-keystore 115090 belong 0xcececece Java JCE KeyStore 11510!:mime application/x-java-jce-keystore 11511 11512# Java source 115130 regex ^import.*;$ Java source 11514!:mime text/x-java 11515 11516#------------------------------------------------------------------------------ 11517# $File: javascript,v 1.1 2012/06/16 13:30:36 christos Exp $ 11518# javascript: magic for javascript and node.js scripts. 11519# 115200 search/1/w #!/bin/node Node.js script text executable 11521!:mime application/javascript 115220 search/1/w #!/usr/bin/node Node.js script text executable 11523!:mime application/javascript 115240 search/1/w #!/bin/nodejs Node.js script text executable 11525!:mime application/javascript 115260 search/1/w #!/usr/bin/nodejs Node.js script text executable 11527!:mime application/javascript 115280 search/1 #!/usr/bin/env\ node Node.js script text executable 11529!:mime application/javascript 115300 search/1 #!/usr/bin/env\ nodejs Node.js script text executable 11531!:mime application/javascript 11532 11533#------------------------------------------------------------------------------ 11534# $File: jpeg,v 1.19 2013/02/04 15:50:03 christos Exp $ 11535# JPEG images 11536# SunOS 5.5.1 had 11537# 11538# 0 string \377\330\377\340 JPEG file 11539# 0 string \377\330\377\356 JPG file 11540# 11541# both of which turn into "JPEG image data" here. 11542# 115430 beshort 0xffd8 JPEG image data 11544!:mime image/jpeg 11545!:apple 8BIMJPEG 11546!:strength +2 11547>6 string JFIF \b, JFIF standard 11548# The following added by Erik Rossen <rossen@freesurf.ch> 1999-09-06 11549# in a vain attempt to add image size reporting for JFIF. Note that these 11550# tests are not fool-proof since some perfectly valid JPEGs are currently 11551# impossible to specify in magic(4) format. 11552# First, a little JFIF version info: 11553>>11 byte x \b %d. 11554>>12 byte x \b%02d 11555# Next, the resolution or aspect ratio of the image: 11556#>>13 byte 0 \b, aspect ratio 11557#>>13 byte 1 \b, resolution (DPI) 11558#>>13 byte 2 \b, resolution (DPCM) 11559#>>4 beshort x \b, segment length %d 11560# Next, show thumbnail info, if it exists: 11561>>18 byte !0 \b, thumbnail %dx 11562>>>19 byte x \b%d 11563 11564# EXIF moved down here to avoid reporting a bogus version number, 11565# and EXIF version number printing added. 11566# - Patrik R=E5dman <patrik+file-magic@iki.fi> 11567>6 string Exif \b, EXIF standard 11568# Look for EXIF IFD offset in IFD 0, and then look for EXIF version tag in EXIF IFD. 11569# All possible combinations of entries have to be enumerated, since no looping 11570# is possible. And both endians are possible... 11571# The combinations included below are from real-world JPEGs. 11572# Little-endian 11573>>12 string II 11574# IFD 0 Entry #5: 11575>>>70 leshort 0x8769 11576# EXIF IFD Entry #1: 11577>>>>(78.l+14) leshort 0x9000 11578>>>>>(78.l+23) byte x %c 11579>>>>>(78.l+24) byte x \b.%c 11580>>>>>(78.l+25) byte !0x30 \b%c 11581# IFD 0 Entry #9: 11582>>>118 leshort 0x8769 11583# EXIF IFD Entry #3: 11584>>>>(126.l+38) leshort 0x9000 11585>>>>>(126.l+47) byte x %c 11586>>>>>(126.l+48) byte x \b.%c 11587>>>>>(126.l+49) byte !0x30 \b%c 11588# IFD 0 Entry #10 11589>>>130 leshort 0x8769 11590# EXIF IFD Entry #3: 11591>>>>(138.l+38) leshort 0x9000 11592>>>>>(138.l+47) byte x %c 11593>>>>>(138.l+48) byte x \b.%c 11594>>>>>(138.l+49) byte !0x30 \b%c 11595# EXIF IFD Entry #4: 11596>>>>(138.l+50) leshort 0x9000 11597>>>>>(138.l+59) byte x %c 11598>>>>>(138.l+60) byte x \b.%c 11599>>>>>(138.l+61) byte !0x30 \b%c 11600# EXIF IFD Entry #5: 11601>>>>(138.l+62) leshort 0x9000 11602>>>>>(138.l+71) byte x %c 11603>>>>>(138.l+72) byte x \b.%c 11604>>>>>(138.l+73) byte !0x30 \b%c 11605# IFD 0 Entry #11 11606>>>142 leshort 0x8769 11607# EXIF IFD Entry #3: 11608>>>>(150.l+38) leshort 0x9000 11609>>>>>(150.l+47) byte x %c 11610>>>>>(150.l+48) byte x \b.%c 11611>>>>>(150.l+49) byte !0x30 \b%c 11612# EXIF IFD Entry #4: 11613>>>>(150.l+50) leshort 0x9000 11614>>>>>(150.l+59) byte x %c 11615>>>>>(150.l+60) byte x \b.%c 11616>>>>>(150.l+61) byte !0x30 \b%c 11617# EXIF IFD Entry #5: 11618>>>>(150.l+62) leshort 0x9000 11619>>>>>(150.l+71) byte x %c 11620>>>>>(150.l+72) byte x \b.%c 11621>>>>>(150.l+73) byte !0x30 \b%c 11622# Big-endian 11623>>12 string MM 11624# IFD 0 Entry #9: 11625>>>118 beshort 0x8769 11626# EXIF IFD Entry #1: 11627>>>>(126.L+14) beshort 0x9000 11628>>>>>(126.L+23) byte x %c 11629>>>>>(126.L+24) byte x \b.%c 11630>>>>>(126.L+25) byte !0x30 \b%c 11631# EXIF IFD Entry #3: 11632>>>>(126.L+38) beshort 0x9000 11633>>>>>(126.L+47) byte x %c 11634>>>>>(126.L+48) byte x \b.%c 11635>>>>>(126.L+49) byte !0x30 \b%c 11636# IFD 0 Entry #10 11637>>>130 beshort 0x8769 11638# EXIF IFD Entry #3: 11639>>>>(138.L+38) beshort 0x9000 11640>>>>>(138.L+47) byte x %c 11641>>>>>(138.L+48) byte x \b.%c 11642>>>>>(138.L+49) byte !0x30 \b%c 11643# EXIF IFD Entry #5: 11644>>>>(138.L+62) beshort 0x9000 11645>>>>>(138.L+71) byte x %c 11646>>>>>(138.L+72) byte x \b.%c 11647>>>>>(138.L+73) byte !0x30 \b%c 11648# IFD 0 Entry #11 11649>>>142 beshort 0x8769 11650# EXIF IFD Entry #4: 11651>>>>(150.L+50) beshort 0x9000 11652>>>>>(150.L+59) byte x %c 11653>>>>>(150.L+60) byte x \b.%c 11654>>>>>(150.L+61) byte !0x30 \b%c 11655# Here things get sticky. We can do ONE MORE marker segment with 11656# indirect addressing, and that's all. It would be great if we could 11657# do pointer arithemetic like in an assembler language. Christos? 11658# And if there was some sort of looping construct to do searches, plus a few 11659# named accumulators, it would be even more effective... 11660# At least we can show a comment if no other segments got inserted before: 11661>(4.S+5) byte 0xFE \b, comment: 11662>>(4.S+6) pstring/HJ x "%s" 11663# Or, we can show the encoding type (I've included only the three most common) 11664# and image dimensions if we are lucky and the SOFn (image segment) is here: 11665>(4.S+5) byte 0xC0 \b, baseline 11666>>(4.S+6) byte x \b, precision %d 11667>>(4.S+7) beshort x \b, %dx 11668>>(4.S+9) beshort x \b%d 11669>(4.S+5) byte 0xC1 \b, extended sequential 11670>>(4.S+6) byte x \b, precision %d 11671>>(4.S+7) beshort x \b, %dx 11672>>(4.S+9) beshort x \b%d 11673>(4.S+5) byte 0xC2 \b, progressive 11674>>(4.S+6) byte x \b, precision %d 11675>>(4.S+7) beshort x \b, %dx 11676>>(4.S+9) beshort x \b%d 11677# I've commented-out quantisation table reporting. I doubt anyone cares yet. 11678#>(4.S+5) byte 0xDB \b, quantisation table 11679#>>(4.S+6) beshort x \b length=%d 11680#>14 beshort x \b, %d x 11681#>16 beshort x \b %d 11682 11683# HSI is Handmade Software's proprietary JPEG encoding scheme 116840 string hsi1 JPEG image data, HSI proprietary 11685 11686# From: David Santinoli <david@santinoli.com> 116870 string \x00\x00\x00\x0C\x6A\x50\x20\x20\x0D\x0A\x87\x0A JPEG 2000 11688# From: Johan van der Knijff <johan.vanderknijff@kb.nl> 11689# Added sub-entries for JP2, JPX, JPM and MJ2 formats; added mimetypes 11690# https://github.com/bitsgalore/jp2kMagic 11691# 11692# Now read value of 'Brand' field, which yields a few possibilities: 11693>20 string \x6a\x70\x32\x20 Part 1 (JP2) 11694!:mime image/jp2 11695>20 string \x6a\x70\x78\x20 Part 2 (JPX) 11696!:mime image/jpx 11697>20 string \x6a\x70\x6d\x20 Part 6 (JPM) 11698!:mime image/jpm 11699>20 string \x6d\x6a\x70\x32 Part 3 (MJ2) 11700!:mime video/mj2 11701 11702# Type: JPEG 2000 codesream 11703# From: Mathieu Malaterre <mathieu.malaterre@gmail.com> 117040 belong 0xff4fff51 JPEG 2000 codestream 1170545 beshort 0xff52 11706 11707#------------------------------------------------------------------------------ 11708# $File: karma,v 1.6 2009/09/19 16:28:10 christos Exp $ 11709# karma: file(1) magic for Karma data files 11710# 11711# From <rgooch@atnf.csiro.au> 11712 117130 string KarmaRHD Version Karma Data Structure Version 11714>16 belong x %lu 11715 11716#------------------------------------------------------------------------------ 11717# $File: kde,v 1.5 2010/11/25 15:00:12 christos Exp $ 11718# kde: file(1) magic for KDE 11719 117200 string/t [KDE\ Desktop\ Entry] KDE desktop entry 11721!:mime application/x-kdelnk 117220 string/t #\ KDE\ Config\ File KDE config file 11723!:mime application/x-kdelnk 117240 string/t #\ xmcd xmcd database file for kscd 11725!:mime text/x-xmcd 11726 11727#------------------------------------------------------------------------------ 11728# $File: keepass,v 1.1 2012/12/24 22:14:56 christos Exp $ 11729# keepass: file(1) magic for KeePass file 11730# 11731# Keepass Password Safe: 11732# * original one: http://keepass.info/ 11733# * *nix port: http://www.keepassx.org/ 11734# * android port: http://code.google.com/p/keepassdroid/ 11735 117360 lelong 0x9AA2D903 Keepass password database 11737>4 lelong 0xB54BFB65 1.x KDB 11738>>48 lelong >0 \b, %d groups 11739>>52 lelong >0 \b, %d entries 11740>>8 lelong&0x0f 1 \b, SHA-256 11741>>8 lelong&0x0f 2 \b, AES 11742>>8 lelong&0x0f 4 \b, RC4 11743>>8 lelong&0x0f 8 \b, Twofish 11744>>120 lelong >0 \b, %d key transformation rounds 11745>4 lelong 0xB54BFB67 2.x KDBX 11746 11747#------------------------------------------------------------------------------ 11748# $File: kml,v 1.3 2010/11/25 15:00:12 christos Exp $ 11749# Type: Google KML, formerly Keyhole Markup Language 11750# Future development of this format has been handed 11751# over to the Open Geospatial Consortium. 11752# http://www.opengeospatial.org/standards/kml/ 11753# From: Asbjoern Sloth Toennesen <asbjorn@lila.io> 117540 string/t \<?xml 11755>20 search/400 \ xmlns= 11756>>&0 regex ['"]http://earth.google.com/kml Google KML document 11757!:mime application/vnd.google-earth.kml+xml 11758>>>&1 string 2.0' \b, version 2.0 11759>>>&1 string 2.1' \b, version 2.1 11760>>>&1 string 2.2' \b, version 2.2 11761 11762#------------------------------------------------------------------------------ 11763# Type: OpenGIS KML, formerly Keyhole Markup Language 11764# This standard is maintained by the 11765# Open Geospatial Consortium. 11766# http://www.opengeospatial.org/standards/kml/ 11767# From: Asbjoern Sloth Toennesen <asbjorn@lila.io> 11768>>&0 regex ['"]http://www.opengis.net/kml OpenGIS KML document 11769!:mime application/vnd.google-earth.kml+xml 11770>>>&1 string/t 2.2 \b, version 2.2 11771 11772#------------------------------------------------------------------------------ 11773# Type: Google KML Archive (ZIP based) 11774# http://code.google.com/apis/kml/documentation/kml_tut.html 11775# From: Asbjoern Sloth Toennesen <asbjorn@lila.io> 117760 string PK\003\004 11777>4 byte 0x14 11778>>30 string doc.kml Compressed Google KML Document, including resources. 11779!:mime application/vnd.google-earth.kmz 11780 11781#------------------------------------------------------------------------------ 11782# $File: lecter,v 1.4 2009/09/19 16:28:10 christos Exp $ 11783# DEC SRC Virtual Paper: Lectern files 11784# Karl M. Hegbloom <karlheg@inetarena.com> 117850 string lect DEC SRC Virtual Paper Lectern file 11786 11787#------------------------------------------------------------------------------ 11788# $File: lex,v 1.6 2009/09/19 16:28:10 christos Exp $ 11789# lex: file(1) magic for lex 11790# 11791# derived empirically, your offsets may vary! 117920 search/100 yyprevious C program text (from lex) 11793>3 search/1 >\0 for %s 11794# C program text from GNU flex, from Daniel Quinlan <quinlan@yggdrasil.com> 117950 search/100 generated\ by\ flex C program text (from flex) 11796# lex description file, from Daniel Quinlan <quinlan@yggdrasil.com> 117970 search/1 %{ lex description text 11798 11799#------------------------------------------------------------------------------ 11800# $File: lif,v 1.8 2009/09/19 16:28:10 christos Exp $ 11801# lif: file(1) magic for lif 11802# 11803# (Daniel Quinlan <quinlan@yggdrasil.com>) 11804# 118050 beshort 0x8000 lif file 11806 11807#------------------------------------------------------------------------------ 11808# $File: linux,v 1.53 2014/01/08 22:26:12 christos Exp $ 11809# linux: file(1) magic for Linux files 11810# 11811# Values for Linux/i386 binaries, from Daniel Quinlan <quinlan@yggdrasil.com> 11812# The following basic Linux magic is useful for reference, but using 11813# "long" magic is a better practice in order to avoid collisions. 11814# 11815# 2 leshort 100 Linux/i386 11816# >0 leshort 0407 impure executable (OMAGIC) 11817# >0 leshort 0410 pure executable (NMAGIC) 11818# >0 leshort 0413 demand-paged executable (ZMAGIC) 11819# >0 leshort 0314 demand-paged executable (QMAGIC) 11820# 118210 lelong 0x00640107 Linux/i386 impure executable (OMAGIC) 11822>16 lelong 0 \b, stripped 118230 lelong 0x00640108 Linux/i386 pure executable (NMAGIC) 11824>16 lelong 0 \b, stripped 118250 lelong 0x0064010b Linux/i386 demand-paged executable (ZMAGIC) 11826>16 lelong 0 \b, stripped 118270 lelong 0x006400cc Linux/i386 demand-paged executable (QMAGIC) 11828>16 lelong 0 \b, stripped 11829# 118300 string \007\001\000 Linux/i386 object file 11831>20 lelong >0x1020 \b, DLL library 11832# Linux-8086 stuff: 118330 string \01\03\020\04 Linux-8086 impure executable 11834>28 long !0 not stripped 118350 string \01\03\040\04 Linux-8086 executable 11836>28 long !0 not stripped 11837# 118380 string \243\206\001\0 Linux-8086 object file 11839# 118400 string \01\03\020\20 Minix-386 impure executable 11841>28 long !0 not stripped 118420 string \01\03\040\20 Minix-386 executable 11843>28 long !0 not stripped 118440 string \01\03\04\20 Minix-386 NSYM/GNU executable 11845>28 long !0 not stripped 11846# core dump file, from Bill Reynolds <bill@goshawk.lanl.gov> 11847216 lelong 0421 Linux/i386 core file 11848>220 string >\0 of '%s' 11849>200 lelong >0 (signal %d) 11850# 11851# LILO boot/chain loaders, from Daniel Quinlan <quinlan@yggdrasil.com> 11852# this can be overridden by the DOS executable (COM) entry 118532 string LILO Linux/i386 LILO boot/chain loader 11854# 11855# Linux make config build file, from Ole Aamot <oka@oka.no> 11856# Updated by Ken Sharp 1185728 string make\ config Linux make config build file (old) 1185849 search/70 Kernel\ Configuration Linux make config build file 11859 11860# 11861# PSF fonts, from H. Peter Anvin <hpa@yggdrasil.com> 11862# Updated by Adam Buchbinder <adam.buchbinder@gmail.com> 11863# See: http://www.win.tue.nl/~aeb/linux/kbd/font-formats-1.html 118640 leshort 0x0436 Linux/i386 PC Screen Font v1 data, 11865>2 byte&0x01 0 256 characters, 11866>2 byte&0x01 !0 512 characters, 11867>2 byte&0x02 0 no directory, 11868>2 byte&0x02 !0 Unicode directory, 11869>3 byte >0 8x%d 118700 string \x72\xb5\x4a\x86\x00\x00 Linux/i386 PC Screen Font v2 data, 11871>16 lelong x %d characters, 11872>12 lelong&0x01 0 no directory, 11873>12 lelong&0x01 !0 Unicode directory, 11874>24 lelong x %d 11875>28 lelong x \bx%d 11876 11877# Linux swap file, from Daniel Quinlan <quinlan@yggdrasil.com> 118784086 string SWAP-SPACE Linux/i386 swap file 11879# From: Jeff Bailey <jbailey@ubuntu.com> 11880# Linux swap file with swsusp1 image, from Jeff Bailey <jbailey@ubuntu.com> 118814076 string SWAPSPACE2S1SUSPEND Linux/i386 swap file (new style) with SWSUSP1 image 11882# From: James Hunt <james.hunt@ubuntu.com> 118834076 string SWAPSPACE2LINHIB0001 Linux/i386 swap file (new style) (compressed hibernate) 11884# according to man page of mkswap (8) March 1999 11885# volume label and UUID Russell Coker 11886# http://etbe.coker.com.au/2008/07/08/label-vs-uuid-vs-device/ 118874086 string SWAPSPACE2 Linux/i386 swap file (new style), 11888>0x400 long x version %d (4K pages), 11889>0x404 long x size %d pages, 11890>1052 string \0 no label, 11891>1052 string >\0 LABEL=%s, 11892>0x40c belong x UUID=%08x 11893>0x410 beshort x \b-%04x 11894>0x412 beshort x \b-%04x 11895>0x414 beshort x \b-%04x 11896>0x416 belong x \b-%08x 11897>0x41a beshort x \b%04x 11898# From Daniel Novotny <dnovotny@redhat.com> 11899# swap file for PowerPC 1190065526 string SWAPSPACE2 Linux/ppc swap file 1190116374 string SWAPSPACE2 Linux/ia64 swap file 11902# 11903# Linux kernel boot images, from Albert Cahalan <acahalan@cs.uml.edu> 11904# and others such as Axel Kohlmeyer <akohlmey@rincewind.chemie.uni-ulm.de> 11905# and Nicolas Lichtmaier <nick@debian.org> 11906# All known start with: b8 c0 07 8e d8 b8 00 90 8e c0 b9 00 01 29 f6 29 11907# Linux kernel boot images (i386 arch) (Wolfram Kleff) 11908514 string HdrS Linux kernel 11909!:strength + 55 11910>510 leshort 0xAA55 x86 boot executable 11911>>518 leshort >0x1ff 11912>>>529 byte 0 zImage, 11913>>>529 byte 1 bzImage, 11914>>>526 lelong >0 11915>>>>(526.s+0x200) string >\0 version %s, 11916>>498 leshort 1 RO-rootFS, 11917>>498 leshort 0 RW-rootFS, 11918>>508 leshort >0 root_dev 0x%X, 11919>>502 leshort >0 swap_dev 0x%X, 11920>>504 leshort >0 RAMdisksize %u KB, 11921>>506 leshort 0xFFFF Normal VGA 11922>>506 leshort 0xFFFE Extended VGA 11923>>506 leshort 0xFFFD Prompt for Videomode 11924>>506 leshort >0 Video mode %d 11925# This also matches new kernels, which were caught above by "HdrS". 119260 belong 0xb8c0078e Linux kernel 11927>0x1e3 string Loading version 1.3.79 or older 11928>0x1e9 string Loading from prehistoric times 11929 11930# System.map files - Nicolas Lichtmaier <nick@debian.org> 119318 search/1 \ A\ _text Linux kernel symbol map text 11932 11933# LSM entries - Nicolas Lichtmaier <nick@debian.org> 119340 search/1 Begin3 Linux Software Map entry text 119350 search/1 Begin4 Linux Software Map entry text (new format) 11936 11937# From Matt Zimmerman, enhanced for v3 by Matthew Palmer 119380 belong 0x4f4f4f4d User-mode Linux COW file 11939>4 belong <3 \b, version %d 11940>>8 string >\0 \b, backing file %s 11941>4 belong >2 \b, version %d 11942>>32 string >\0 \b, backing file %s 11943 11944############################################################################ 11945# Linux kernel versions 11946 119470 string \xb8\xc0\x07\x8e\xd8\xb8\x00\x90 Linux 11948>497 leshort 0 x86 boot sector 11949>>514 belong 0x8e of a kernel from the dawn of time! 11950>>514 belong 0x908ed8b4 version 0.99-1.1.42 11951>>514 belong 0x908ed8b8 for memtest86 11952 11953>497 leshort !0 x86 kernel 11954>>504 leshort >0 RAMdisksize=%u KB 11955>>502 leshort >0 swap=0x%X 11956>>508 leshort >0 root=0x%X 11957>>>498 leshort 1 \b-ro 11958>>>498 leshort 0 \b-rw 11959>>506 leshort 0xFFFF vga=normal 11960>>506 leshort 0xFFFE vga=extended 11961>>506 leshort 0xFFFD vga=ask 11962>>506 leshort >0 vga=%d 11963>>514 belong 0x908ed881 version 1.1.43-1.1.45 11964>>514 belong 0x15b281cd 11965>>>0xa8e belong 0x55AA5a5a version 1.1.46-1.2.13,1.3.0 11966>>>0xa99 belong 0x55AA5a5a version 1.3.1,2 11967>>>0xaa3 belong 0x55AA5a5a version 1.3.3-1.3.30 11968>>>0xaa6 belong 0x55AA5a5a version 1.3.31-1.3.41 11969>>>0xb2b belong 0x55AA5a5a version 1.3.42-1.3.45 11970>>>0xaf7 belong 0x55AA5a5a version 1.3.46-1.3.72 11971>>514 string HdrS 11972>>>518 leshort >0x1FF 11973>>>>529 byte 0 \b, zImage 11974>>>>529 byte 1 \b, bzImage 11975>>>>(526.s+0x200) string >\0 \b, version %s 11976 11977# Linux boot sector thefts. 119780 belong 0xb8c0078e Linux 11979>0x1e6 belong 0x454c4b53 ELKS Kernel 11980>0x1e6 belong !0x454c4b53 style boot sector 11981 11982############################################################################ 11983# Linux S390 kernel image 11984# Created by: Jan Kaluza <jkaluza@redhat.com> 119858 string \x02\x00\x00\x18\x60\x00\x00\x50\x02\x00\x00\x68\x60\x00\x00\x50\x40\x40\x40\x40\x40\x40\x40\x40 Linux S390 11986>0x00010000 search/b/4096 \x00\x0a\x00\x00\x8b\xad\xcc\xcc 11987# 64bit 11988>>&0 string \xc1\x00\xef\xe3\xf0\x68\x00\x00 Z10 64bit kernel 11989>>&0 string \xc1\x00\xef\xc3\x00\x00\x00\x00 Z9-109 64bit kernel 11990>>&0 string \xc0\x00\x20\x00\x00\x00\x00\x00 Z990 64bit kernel 11991>>&0 string \x00\x00\x00\x00\x00\x00\x00\x00 Z900 64bit kernel 11992# 32bit 11993>>&0 string \x81\x00\xc8\x80\x00\x00\x00\x00 Z10 32bit kernel 11994>>&0 string \x81\x00\xc8\x80\x00\x00\x00\x00 Z9-109 32bit kernel 11995>>&0 string \x80\x00\x20\x00\x00\x00\x00\x00 Z990 32bit kernel 11996>>&0 string \x80\x00\x00\x00\x00\x00\x00\x00 Z900 32bit kernel 11997 11998# Linux ARM compressed kernel image 11999# From: Kevin Cernekee <cernekee@gmail.com> 1200036 lelong 0x016f2818 Linux kernel ARM boot executable zImage (little-endian) 1200136 belong 0x016f2818 Linux kernel ARM boot executable zImage (big-endian) 12002 12003############################################################################ 12004# Linux 8086 executable 120050 lelong&0xFF0000FF 0xC30000E9 Linux-Dev86 executable, headerless 12006>5 string . 12007>>4 string >\0 \b, libc version %s 12008 120090 lelong&0xFF00FFFF 0x4000301 Linux-8086 executable 12010>2 byte&0x01 !0 \b, unmapped zero page 12011>2 byte&0x20 0 \b, impure 12012>2 byte&0x20 !0 12013>>2 byte&0x10 !0 \b, A_EXEC 12014>2 byte&0x02 !0 \b, A_PAL 12015>2 byte&0x04 !0 \b, A_NSYM 12016>2 byte&0x08 !0 \b, A_STAND 12017>2 byte&0x40 !0 \b, A_PURE 12018>2 byte&0x80 !0 \b, A_TOVLY 12019>28 long !0 \b, not stripped 12020>37 string . 12021>>36 string >\0 \b, libc version %s 12022 12023# 0 lelong&0xFF00FFFF 0x10000301 ld86 I80386 executable 12024# 0 lelong&0xFF00FFFF 0xB000301 ld86 M68K executable 12025# 0 lelong&0xFF00FFFF 0xC000301 ld86 NS16K executable 12026# 0 lelong&0xFF00FFFF 0x17000301 ld86 SPARC executable 12027 12028# SYSLINUX boot logo files (from 'ppmtolss16' sources) 12029# http://www.syslinux.org/wiki/index.php/SYSLINUX#Display_graphic_from_filename: 12030# file extension .lss .16 120310 lelong =0x1413f33d SYSLINUX' LSS16 image data 12032# syslinux-4.05/mime/image/x-lss16.xml 12033!:mime image/x-lss16 12034>4 leshort x \b, width %d 12035>6 leshort x \b, height %d 12036 120370 string OOOM User-Mode-Linux's Copy-On-Write disk image 12038>4 belong x version %d 12039 12040# SE Linux policy database 12041# From: Mike Frysinger <vapier@gentoo.org> 120420 lelong 0xf97cff8c SE Linux policy 12043>16 lelong x v%d 12044>20 lelong 1 MLS 12045>24 lelong x %d symbols 12046>28 lelong x %d ocons 12047 12048# Linux Logical Volume Manager (LVM) 12049# Emmanuel VARAGNAT <emmanuel.varagnat@guzu.net> 12050# 12051# System ID, UUID and volume group name are 128 bytes long 12052# but they should never be full and initialized with zeros... 12053# 12054# LVM1 12055# 120560x0 string HM\001 LVM1 (Linux Logical Volume Manager), version 1 12057>0x12c string >\0 , System ID: %s 12058 120590x0 string HM\002 LVM1 (Linux Logical Volume Manager), version 2 12060>0x12c string >\0 , System ID: %s 12061 12062# LVM2 12063# 12064# It seems that the label header can be in one the four first sector 12065# of the disk... (from _find_labeller in lib/label/label.c of LVM2) 12066# 12067# 0x200 seems to be the common case 12068 120690x218 string LVM2\ 001 LVM2 PV (Linux Logical Volume Manager) 12070# read the offset to add to the start of the header, and the header 12071# start in 0x200 12072>&(&-12.l-0x21) byte x 12073# display UUID in LVM format + display all 32 bytes (instead of max string length: 31) 12074>>&0x0 string >\x2f \b, UUID: %.6s 12075>>&0x6 string >\x2f \b-%.4s 12076>>&0xa string >\x2f \b-%.4s 12077>>&0xe string >\x2f \b-%.4s 12078>>&0x12 string >\x2f \b-%.4s 12079>>&0x16 string >\x2f \b-%.4s 12080>>&0x1a string >\x2f \b-%.6s 12081>>&0x20 lequad x \b, size: %lld 12082 120830x018 string LVM2\ 001 LVM2 PV (Linux Logical Volume Manager) 12084>&(&-12.l-0x21) byte x 12085# display UUID in LVM format + display all 32 bytes (instead of max string length: 31) 12086>>&0x0 string >\x2f \b, UUID: %.6s 12087>>&0x6 string >\x2f \b-%.4s 12088>>&0xa string >\x2f \b-%.4s 12089>>&0xe string >\x2f \b-%.4s 12090>>&0x12 string >\x2f \b-%.4s 12091>>&0x16 string >\x2f \b-%.4s 12092>>&0x1a string >\x2f \b-%.6s 12093>>&0x20 lequad x \b, size: %lld 12094 120950x418 string LVM2\ 001 LVM2 PV (Linux Logical Volume Manager) 12096>&(&-12.l-0x21) byte x 12097# display UUID in LVM format + display all 32 bytes (instead of max string length: 31) 12098>>&0x0 string >\x2f \b, UUID: %.6s 12099>>&0x6 string >\x2f \b-%.4s 12100>>&0xa string >\x2f \b-%.4s 12101>>&0xe string >\x2f \b-%.4s 12102>>&0x12 string >\x2f \b-%.4s 12103>>&0x16 string >\x2f \b-%.4s 12104>>&0x1a string >\x2f \b-%.6s 12105>>&0x20 lequad x \b, size: %lld 12106 121070x618 string LVM2\ 001 LVM2 PV (Linux Logical Volume Manager) 12108>&(&-12.l-0x21) byte x 12109# display UUID in LVM format + display all 32 bytes (instead of max string length: 31) 12110>>&0x0 string >\x2f \b, UUID: %.6s 12111>>&0x6 string >\x2f \b-%.4s 12112>>&0xa string >\x2f \b-%.4s 12113>>&0xe string >\x2f \b-%.4s 12114>>&0x12 string >\x2f \b-%.4s 12115>>&0x16 string >\x2f \b-%.4s 12116>>&0x1a string >\x2f \b-%.6s 12117>>&0x20 lequad x \b, size: %lld 12118 12119# LVM snapshot 12120# from Jason Farrel 121210 string SnAp LVM Snapshot (CopyOnWrite store) 12122>4 lelong !0 - valid, 12123>4 lelong 0 - invalid, 12124>8 lelong x version %d, 12125>12 lelong x chunk_size %d 12126 12127# SE Linux policy database 121280 lelong 0xf97cff8c SE Linux policy 12129>16 lelong x v%d 12130>20 lelong 1 MLS 12131>24 lelong x %d symbols 12132>28 lelong x %d ocons 12133 12134# LUKS: Linux Unified Key Setup, On-Disk Format, http://luks.endorphin.org/spec 12135# Anthon van der Neut (anthon@mnt.org) 121360 string LUKS\xba\xbe LUKS encrypted file, 12137>6 beshort x ver %d 12138>8 string x [%s, 12139>40 string x %s, 12140>72 string x %s] 12141>168 string x UUID: %s 12142 12143 12144# Summary: Xen saved domain file 12145# Created by: Radek Vokal <rvokal@redhat.com> 121460 string LinuxGuestRecord Xen saved domain 12147>20 search/256 (name 12148>>&1 string x (name %s) 12149 12150# Type: Xen, the virtual machine monitor 12151# From: Radek Vokal <rvokal@redhat.com> 121520 string LinuxGuestRecord Xen saved domain 12153#>2 regex \(name\ [^)]*\) %s 12154>20 search/256 (name (name 12155>>&1 string x %s...) 12156 12157# Systemd journald files 12158# See http://www.freedesktop.org/wiki/Software/systemd/journal-files/. 12159# From: Zbigniew Jedrzejewski-Szmek <zbyszek@in.waw.pl> 12160 12161# check magic 121620 string LPKSHHRH 12163# check that state is one of known values 12164>16 ubyte&252 0 12165# check that each half of three unique id128s is non-zero 12166>>24 ubequad >0 12167>>>32 ubequad >0 12168>>>>40 ubequad >0 12169>>>>>48 ubequad >0 12170>>>>>>56 ubequad >0 12171>>>>>>>64 ubequad >0 Journal file 12172!:mime application/octet-stream 12173# provide more info 12174>>>>>>>>184 leqdate 0 empty 12175>>>>>>>>16 ubyte 0 \b, offline 12176>>>>>>>>16 ubyte 1 \b, online 12177>>>>>>>>16 ubyte 2 \b, archived 12178>>>>>>>>8 ulelong&1 1 \b, sealed 12179>>>>>>>>12 ulelong&1 1 \b, compressed 12180 12181# BCache backing and cache devices 12182# From: Gabriel de Perthuis <g2p.code@gmail.com> 121830x1008 lequad 8 12184>0x1018 string \xc6\x85\x73\xf6\x4e\x1a\x45\xca\x82\x65\xf5\x7f\x48\xba\x6d\x81 BCache 12185>>0x1010 ulequad 0 cache device 12186>>0x1010 ulequad 1 backing device 12187>>0x1010 ulequad 3 cache device 12188>>0x1010 ulequad 4 backing device 12189>>0x1048 string >0 \b, label "%.32s" 12190>>0x1028 ubelong x \b, uuid %08x 12191>>0x102c ubeshort x \b-%04x 12192>>0x102e ubeshort x \b-%04x 12193>>0x1030 ubeshort x \b-%04x 12194>>0x1032 ubelong x \b-%08x 12195>>0x1036 ubeshort x \b%04x 12196>>0x1038 ubelong x \b, set uuid %08x 12197>>0x103c ubeshort x \b-%04x 12198>>0x103e ubeshort x \b-%04x 12199>>0x1040 ubeshort x \b-%04x 12200>>0x1042 ubelong x \b-%08x 12201>>0x1046 ubeshort x \b%04x 12202 12203 12204#------------------------------------------------------------------------------ 12205# $File: lisp,v 1.23 2009/09/19 16:28:10 christos Exp $ 12206# lisp: file(1) magic for lisp programs 12207# 12208# various lisp types, from Daniel Quinlan (quinlan@yggdrasil.com) 12209 12210# updated by Joerg Jenderek 12211# GRR: This lot is too weak 12212#0 string ;; 12213# windows INF files often begin with semicolon and use CRLF as line end 12214# lisp files are mainly created on unix system with LF as line end 12215#>2 search/4096 !\r Lisp/Scheme program text 12216#>2 search/4096 \r Windows INF file 12217 122180 search/4096 (setq\ Lisp/Scheme program text 12219!:mime text/x-lisp 122200 search/4096 (defvar\ Lisp/Scheme program text 12221!:mime text/x-lisp 122220 search/4096 (defparam\ Lisp/Scheme program text 12223!:mime text/x-lisp 122240 search/4096 (defun\ Lisp/Scheme program text 12225!:mime text/x-lisp 122260 search/4096 (autoload\ Lisp/Scheme program text 12227!:mime text/x-lisp 122280 search/4096 (custom-set-variables\ Lisp/Scheme program text 12229!:mime text/x-lisp 12230 12231# Emacs 18 - this is always correct, but not very magical. 122320 string \012( Emacs v18 byte-compiled Lisp data 12233!:mime application/x-elc 12234# Emacs 19+ - ver. recognition added by Ian Springer 12235# Also applies to XEmacs 19+ .elc files; could tell them apart with regexs 12236# - Chris Chittleborough <cchittleborough@yahoo.com.au> 122370 string ;ELC 12238>4 byte >18 12239>4 byte <32 Emacs/XEmacs v%d byte-compiled Lisp data 12240!:mime application/x-elc 12241 12242# Files produced by CLISP Common Lisp From: Bruno Haible <haible@ilog.fr> 122430 string (SYSTEM::VERSION\040' CLISP byte-compiled Lisp program (pre 2004-03-27) 122440 string (|SYSTEM|::|VERSION|\040' CLISP byte-compiled Lisp program text 12245 122460 long 0x70768BD2 CLISP memory image data 122470 long 0xD28B7670 CLISP memory image data, other endian 12248 12249#.com and .bin for MIT scheme 122500 string \372\372\372\372 MIT scheme (library?) 12251 12252# From: David Allouche <david@allouche.net> 122530 search/1 \<TeXmacs| TeXmacs document text 12254!:mime text/texmacs 12255 12256#------------------------------------------------------------------------------ 12257# $File: llvm,v 1.8 2013/01/12 03:09:51 christos Exp $ 12258# llvm: file(1) magic for LLVM byte-codes 12259# URL: http://llvm.org/docs/BitCodeFormat.html 12260# From: Al Stone <ahs3@fc.hp.com> 12261 122620 string llvm LLVM byte-codes, uncompressed 122630 string llvc0 LLVM byte-codes, null compression 122640 string llvc1 LLVM byte-codes, gzip compression 122650 string llvc2 LLVM byte-codes, bzip2 compression 12266 122670 lelong 0x0b17c0de LLVM bitcode, wrapper 12268# Are these Mach-O ABI values? They appear to be. 12269>16 lelong 0x01000007 x86_64 12270>16 lelong 0x00000007 i386 12271>16 lelong 0x00000012 ppc 12272>16 lelong 0x01000012 ppc64 12273>16 lelong 0x0000000c arm 12274 122750 string BC\xc0\xde LLVM IR bitcode 12276 12277#------------------------------------------------------------------------------ 12278# $File: lua,v 1.6 2013/01/09 16:23:17 christos Exp $ 12279# lua: file(1) magic for Lua scripting language 12280# URL: http://www.lua.org/ 12281# From: Reuben Thomas <rrt@sc3d.org>, Seo Sanghyeon <tinuviel@sparcs.kaist.ac.kr> 12282 12283# Lua scripts 122840 search/1/w #!\ /usr/bin/lua Lua script text executable 12285!:mime text/x-lua 122860 search/1/w #!\ /usr/local/bin/lua Lua script text executable 12287!:mime text/x-lua 122880 search/1 #!/usr/bin/env\ lua Lua script text executable 12289!:mime text/x-lua 122900 search/1 #!\ /usr/bin/env\ lua Lua script text executable 12291!:mime text/x-lua 12292 12293# Lua bytecode 122940 string \033Lua Lua bytecode, 12295>4 byte 0x50 version 5.0 12296>4 byte 0x51 version 5.1 12297>4 byte 0x52 version 5.2 12298 12299#------------------------------------------------------------------------------ 12300# $File: luks,v 1.4 2009/09/19 16:28:10 christos Exp $ 12301# luks: file(1) magic for Linux Unified Key Setup 12302# URL: http://luks.endorphin.org/spec 12303# From: Anthon van der Neut <anthon@mnt.org> 12304 123050 string LUKS\xba\xbe LUKS encrypted file, 12306>6 beshort x ver %d 12307>8 string x [%s, 12308>40 string x %s, 12309>72 string x %s] 12310>168 string x UUID: %s 12311#------------------------------------------------------------------------------ 12312# $File: m4,v 1.1 2011/12/08 12:12:46 rrt Exp $ 12313# make: file(1) magic for M4 scripts 12314# 123150 regex \^dnl\ M4 macro processor script text 12316!:mime text/x-m4 12317 12318#------------------------------------------------------------ 12319# $File: mach,v 1.17 2013/03/07 02:22:52 christos Exp $ 12320# Mach has two magic numbers, 0xcafebabe and 0xfeedface. 12321# Unfortunately the first, cafebabe, is shared with 12322# Java ByteCode, so they are both handled in the file "cafebabe". 12323# The "feedface" ones are handled herein. 12324#------------------------------------------------------------ 12325# if set, it's for the 64-bit version of the architecture 12326# yes, this is separate from the low-order magic number bit 12327# it's also separate from the "64-bit libraries" bit in the 12328# upper 8 bits of the CPU subtype 12329 123300 name mach-o-cpu 12331>0 belong&0x01000000 0 12332# 12333# 32-bit ABIs. 12334# 12335# 1 vax 12336>>0 belong&0x00ffffff 1 12337>>>4 belong&0x00ffffff 0 vax 12338>>>4 belong&0x00ffffff 1 vax11/780 12339>>>4 belong&0x00ffffff 2 vax11/785 12340>>>4 belong&0x00ffffff 3 vax11/750 12341>>>4 belong&0x00ffffff 4 vax11/730 12342>>>4 belong&0x00ffffff 5 uvaxI 12343>>>4 belong&0x00ffffff 6 uvaxII 12344>>>4 belong&0x00ffffff 7 vax8200 12345>>>4 belong&0x00ffffff 8 vax8500 12346>>>4 belong&0x00ffffff 9 vax8600 12347>>>4 belong&0x00ffffff 10 vax8650 12348>>>4 belong&0x00ffffff 11 vax8800 12349>>>4 belong&0x00ffffff 12 uvaxIII 12350>>>4 belong&0x00ffffff >12 vax subarchitecture=%ld 12351>>0 belong&0x00ffffff 2 romp 12352>>0 belong&0x00ffffff 3 architecture=3 12353>>0 belong&0x00ffffff 4 ns32032 12354>>0 belong&0x00ffffff 5 ns32332 12355>>0 belong&0x00ffffff 6 m68k 12356# 7 x86 12357>>0 belong&0x00ffffff 7 12358>>>4 belong&0x0000000f 3 i386 12359>>>4 belong&0x0000000f 4 i486 12360>>>>4 belong&0x00fffff0 0 12361>>>>4 belong&0x00fffff0 0x80 \bsx 12362>>>4 belong&0x0000000f 5 i586 12363>>>4 belong&0x0000000f 6 12364>>>>4 belong&0x00fffff0 0 p6 12365>>>>4 belong&0x00fffff0 0x10 pentium_pro 12366>>>>4 belong&0x00fffff0 0x20 pentium_2_m0x20 12367>>>>4 belong&0x00fffff0 0x30 pentium_2_m3 12368>>>>4 belong&0x00fffff0 0x40 pentium_2_m0x40 12369>>>>4 belong&0x00fffff0 0x50 pentium_2_m5 12370>>>>4 belong&0x00fffff0 >0x50 pentium_2_m0x%lx 12371>>>4 belong&0x0000000f 7 celeron 12372>>>>4 belong&0x00fffff0 0x00 \b_m0x%lx 12373>>>>4 belong&0x00fffff0 0x10 \b_m0x%lx 12374>>>>4 belong&0x00fffff0 0x20 \b_m0x%lx 12375>>>>4 belong&0x00fffff0 0x30 \b_m0x%lx 12376>>>>4 belong&0x00fffff0 0x40 \b_m0x%lx 12377>>>>4 belong&0x00fffff0 0x50 \b_m0x%lx 12378>>>>4 belong&0x00fffff0 0x60 12379>>>>4 belong&0x00fffff0 0x70 \b_mobile 12380>>>>4 belong&0x00fffff0 >0x70 \b_m0x%lx 12381>>>4 belong&0x0000000f 8 pentium_3 12382>>>>4 belong&0x00fffff0 0x00 12383>>>>4 belong&0x00fffff0 0x10 \b_m 12384>>>>4 belong&0x00fffff0 0x20 \b_xeon 12385>>>>4 belong&0x00fffff0 >0x20 \b_m0x%lx 12386>>>4 belong&0x0000000f 9 pentiumM 12387>>>>4 belong&0x00fffff0 0x00 12388>>>>4 belong&0x00fffff0 >0x00 \b_m0x%lx 12389>>>4 belong&0x0000000f 10 pentium_4 12390>>>>4 belong&0x00fffff0 0x00 12391>>>>4 belong&0x00fffff0 0x10 \b_m 12392>>>>4 belong&0x00fffff0 >0x10 \b_m0x%lx 12393>>>4 belong&0x0000000f 11 itanium 12394>>>>4 belong&0x00fffff0 0x00 12395>>>>4 belong&0x00fffff0 0x10 \b_2 12396>>>>4 belong&0x00fffff0 >0x10 \b_m0x%lx 12397>>>4 belong&0x0000000f 12 xeon 12398>>>>4 belong&0x00fffff0 0x00 12399>>>>4 belong&0x00fffff0 0x10 \b_mp 12400>>>>4 belong&0x00fffff0 >0x10 \b_m0x%lx 12401>>>4 belong&0x0000000f >12 ia32 family=%ld 12402>>>>4 belong&0x00fffff0 0x00 12403>>>>4 belong&0x00fffff0 >0x00 model=%lx 12404>>0 belong&0x00ffffff 8 mips 12405>>>4 belong&0x00ffffff 1 R2300 12406>>>4 belong&0x00ffffff 2 R2600 12407>>>4 belong&0x00ffffff 3 R2800 12408>>>4 belong&0x00ffffff 4 R2000a 12409>>>4 belong&0x00ffffff 5 R2000 12410>>>4 belong&0x00ffffff 6 R3000a 12411>>>4 belong&0x00ffffff 7 R3000 12412>>>4 belong&0x00ffffff >7 subarchitecture=%ld 12413>>0 belong&0x00ffffff 9 ns32532 12414>>0 belong&0x00ffffff 10 mc98000 12415>>0 belong&0x00ffffff 11 hppa 12416>>>4 belong&0x00ffffff 0 7100 12417>>>4 belong&0x00ffffff 1 7100LC 12418>>>4 belong&0x00ffffff >1 subarchitecture=%ld 12419>>0 belong&0x00ffffff 12 arm 12420>>>4 belong&0x00ffffff 0 12421>>>4 belong&0x00ffffff 1 subarchitecture=%ld 12422>>>4 belong&0x00ffffff 2 subarchitecture=%ld 12423>>>4 belong&0x00ffffff 3 subarchitecture=%ld 12424>>>4 belong&0x00ffffff 4 subarchitecture=%ld 12425>>>4 belong&0x00ffffff 5 \b_v4t 12426>>>4 belong&0x00ffffff 6 \b_v6 12427>>>4 belong&0x00ffffff 7 \b_v5tej 12428>>>4 belong&0x00ffffff 8 \b_xscale 12429>>>4 belong&0x00ffffff 9 \b_v7 12430>>>4 belong&0x00ffffff 10 \b_v7f 12431>>>4 belong&0x00ffffff 11 subarchitecture=%ld 12432>>>4 belong&0x00ffffff 12 \b_v7k 12433>>>4 belong&0x00ffffff >12 subarchitecture=%ld 12434# 13 m88k 12435>>0 belong&0x00ffffff 13 12436>>>4 belong&0x00ffffff 0 mc88000 12437>>>4 belong&0x00ffffff 1 mc88100 12438>>>4 belong&0x00ffffff 2 mc88110 12439>>>4 belong&0x00ffffff >2 mc88000 subarchitecture=%ld 12440>>0 belong&0x00ffffff 14 sparc 12441>>0 belong&0x00ffffff 15 i860g 12442>>0 belong&0x00ffffff 16 alpha 12443>>0 belong&0x00ffffff 17 rs6000 12444>>0 belong&0x00ffffff 18 ppc 12445>>>4 belong&0x00ffffff 0 12446>>>4 belong&0x00ffffff 1 \b_601 12447>>>4 belong&0x00ffffff 2 \b_602 12448>>>4 belong&0x00ffffff 3 \b_603 12449>>>4 belong&0x00ffffff 4 \b_603e 12450>>>4 belong&0x00ffffff 5 \b_603ev 12451>>>4 belong&0x00ffffff 6 \b_604 12452>>>4 belong&0x00ffffff 7 \b_604e 12453>>>4 belong&0x00ffffff 8 \b_620 12454>>>4 belong&0x00ffffff 9 \b_650 12455>>>4 belong&0x00ffffff 10 \b_7400 12456>>>4 belong&0x00ffffff 11 \b_7450 12457>>>4 belong&0x00ffffff 100 \b_970 12458>>>4 belong&0x00ffffff >100 subarchitecture=%ld 12459>>0 belong&0x00ffffff >18 architecture=%ld 12460>0 belong&0x01000000 0x01000000 12461# 12462# 64-bit ABIs. 12463# 12464>>0 belong&0x00ffffff 0 64-bit architecture=%ld 12465>>0 belong&0x00ffffff 1 64-bit architecture=%ld 12466>>0 belong&0x00ffffff 2 64-bit architecture=%ld 12467>>0 belong&0x00ffffff 3 64-bit architecture=%ld 12468>>0 belong&0x00ffffff 4 64-bit architecture=%ld 12469>>0 belong&0x00ffffff 5 64-bit architecture=%ld 12470>>0 belong&0x00ffffff 6 64-bit architecture=%ld 12471>>0 belong&0x00ffffff 7 x86_64 12472>>>4 belong&0x00ffffff 0 subarchitecture=%ld 12473>>>4 belong&0x00ffffff 1 subarchitecture=%ld 12474>>>4 belong&0x00ffffff 2 subarchitecture=%ld 12475>>>4 belong&0x00ffffff 3 12476>>>4 belong&0x00ffffff 4 \b_arch1 12477>>>4 belong&0x00ffffff >4 subarchitecture=%ld 12478>>0 belong&0x00ffffff 8 64-bit architecture=%ld 12479>>0 belong&0x00ffffff 9 64-bit architecture=%ld 12480>>0 belong&0x00ffffff 10 64-bit architecture=%ld 12481>>0 belong&0x00ffffff 11 64-bit architecture=%ld 12482>>0 belong&0x00ffffff 12 64-bit architecture=%ld 12483>>0 belong&0x00ffffff 13 64-bit architecture=%ld 12484>>0 belong&0x00ffffff 14 64-bit architecture=%ld 12485>>0 belong&0x00ffffff 15 64-bit architecture=%ld 12486>>0 belong&0x00ffffff 16 64-bit architecture=%ld 12487>>0 belong&0x00ffffff 17 64-bit architecture=%ld 12488>>0 belong&0x00ffffff 18 ppc64 12489>>>4 belong&0x00ffffff 0 12490>>>4 belong&0x00ffffff 1 \b_601 12491>>>4 belong&0x00ffffff 2 \b_602 12492>>>4 belong&0x00ffffff 3 \b_603 12493>>>4 belong&0x00ffffff 4 \b_603e 12494>>>4 belong&0x00ffffff 5 \b_603ev 12495>>>4 belong&0x00ffffff 6 \b_604 12496>>>4 belong&0x00ffffff 7 \b_604e 12497>>>4 belong&0x00ffffff 8 \b_620 12498>>>4 belong&0x00ffffff 9 \b_650 12499>>>4 belong&0x00ffffff 10 \b_7400 12500>>>4 belong&0x00ffffff 11 \b_7450 12501>>>4 belong&0x00ffffff 100 \b_970 12502>>>4 belong&0x00ffffff >100 subarchitecture=%ld 12503>>0 belong&0x00ffffff >18 64-bit architecture=%ld 12504 12505 125060 name mach-o-be 12507>0 byte 0xcf 64-bit 12508>4 use mach-o-cpu 12509>12 belong 1 object 12510>12 belong 2 executable 12511>12 belong 3 fixed virtual memory shared library 12512>12 belong 4 core 12513>12 belong 5 preload executable 12514>12 belong 6 dynamically linked shared library 12515>12 belong 7 dynamic linker 12516>12 belong 8 bundle 12517>12 belong 9 dynamically linked shared library stub 12518>12 belong 10 dSYM companion file 12519>12 belong 11 kext bundle 12520>12 belong >11 12521>>12 belong x filetype=%ld 12522 12523# 125240 lelong&0xfffffffe 0xfeedface Mach-O 12525!:strength +1 12526>0 use \^mach-o-be 12527 125280 belong&0xfffffffe 0xfeedface Mach-O 12529!:strength +1 12530>0 use mach-o-be 12531 12532#------------------------------------------------------------------------------ 12533# $File: macintosh,v 1.23 2013/11/19 18:47:58 christos Exp $ 12534# macintosh description 12535# 12536# BinHex is the Macintosh ASCII-encoded file format (see also "apple") 12537# Daniel Quinlan, quinlan@yggdrasil.com 1253811 string must\ be\ converted\ with\ BinHex BinHex binary text 12539!:mime application/mac-binhex40 12540>41 string x \b, version %.3s 12541 12542# Stuffit archives are the de facto standard of compression for Macintosh 12543# files obtained from most archives. (franklsm@tuns.ca) 125440 string SIT! StuffIt Archive (data) 12545!:mime application/x-stuffit 12546!:apple SIT!SIT! 12547>2 string x : %s 125480 string SITD StuffIt Deluxe (data) 12549>2 string x : %s 125500 string Seg StuffIt Deluxe Segment (data) 12551>2 string x : %s 12552 12553# Newer StuffIt archives (grant@netbsd.org) 125540 string StuffIt StuffIt Archive 12555!:mime application/x-stuffit 12556!:apple SIT!SIT! 12557#>162 string >0 : %s 12558 12559# Macintosh Applications and Installation binaries (franklsm@tuns.ca) 12560# GRR: Too weak 12561#0 string APPL Macintosh Application (data) 12562#>2 string x \b: %s 12563 12564# Macintosh System files (franklsm@tuns.ca) 12565# GRR: Too weak 12566#0 string zsys Macintosh System File (data) 12567#0 string FNDR Macintosh Finder (data) 12568#0 string libr Macintosh Library (data) 12569#>2 string x : %s 12570#0 string shlb Macintosh Shared Library (data) 12571#>2 string x : %s 12572#0 string cdev Macintosh Control Panel (data) 12573#>2 string x : %s 12574#0 string INIT Macintosh Extension (data) 12575#>2 string x : %s 12576#0 string FFIL Macintosh Truetype Font (data) 12577#>2 string x : %s 12578#0 string LWFN Macintosh Postscript Font (data) 12579#>2 string x : %s 12580 12581# Additional Macintosh Files (franklsm@tuns.ca) 12582# GRR: Too weak 12583#0 string PACT Macintosh Compact Pro Archive (data) 12584#>2 string x : %s 12585#0 string ttro Macintosh TeachText File (data) 12586#>2 string x : %s 12587#0 string TEXT Macintosh TeachText File (data) 12588#>2 string x : %s 12589#0 string PDF Macintosh PDF File (data) 12590#>2 string x : %s 12591 12592# MacBinary format (Eric Fischer, enf@pobox.com) 12593# 12594# Unfortunately MacBinary doesn't really have a magic number prior 12595# to the MacBinary III format. The checksum is really the way to 12596# do it, but the magic file format isn't up to the challenge. 12597# 12598# 0 byte 0 12599# 1 byte # filename length 12600# 2 string # filename 12601# 65 string # file type 12602# 69 string # file creator 12603# 73 byte # Finder flags 12604# 74 byte 0 12605# 75 beshort # vertical posn in window 12606# 77 beshort # horiz posn in window 12607# 79 beshort # window or folder ID 12608# 81 byte # protected? 12609# 82 byte 0 12610# 83 belong # length of data segment 12611# 87 belong # length of resource segment 12612# 91 belong # file creation date 12613# 95 belong # file modification date 12614# 99 beshort # length of comment after resource 12615# 101 byte # new Finder flags 12616# 102 string mBIN # (only in MacBinary III) 12617# 106 byte # char. code of file name 12618# 107 byte # still more Finder flags 12619# 116 belong # total file length 12620# 120 beshort # length of add'l header 12621# 122 byte 129 # for MacBinary II 12622# 122 byte 130 # for MacBinary III 12623# 123 byte 129 # minimum version that can read fmt 12624# 124 beshort # checksum 12625# 12626# This attempts to use the version numbers as a magic number, requiring 12627# that the first one be 0x80, 0x81, 0x82, or 0x83, and that the second 12628# be 0x81. This works for the files I have, but maybe not for everyone's. 12629 12630# Unfortunately, this magic is quite weak - MPi 12631#122 beshort&0xFCFF 0x8081 Macintosh MacBinary data 12632 12633# MacBinary I doesn't have the version number field at all, but MacBinary II 12634# has been in use since 1987 so I hope there aren't many really old files 12635# floating around that this will miss. The original spec calls for using 12636# the nulls in 0, 74, and 82 as the magic number. 12637# 12638# Another possibility, that would also work for MacBinary I, is to use 12639# the assumption that 65-72 will all be ASCII (0x20-0x7F), that 73 will 12640# have bits 1 (changed), 2 (busy), 3 (bozo), and 6 (invisible) unset, 12641# and that 74 will be 0. So something like 12642# 12643# 71 belong&0x80804EFF 0x00000000 Macintosh MacBinary data 12644# 12645# >73 byte&0x01 0x01 \b, inited 12646# >73 byte&0x02 0x02 \b, changed 12647# >73 byte&0x04 0x04 \b, busy 12648# >73 byte&0x08 0x08 \b, bozo 12649# >73 byte&0x10 0x10 \b, system 12650# >73 byte&0x10 0x20 \b, bundle 12651# >73 byte&0x10 0x40 \b, invisible 12652# >73 byte&0x10 0x80 \b, locked 12653 12654#>65 string x \b, type "%4.4s" 12655 12656#>65 string 8BIM (PhotoShop) 12657#>65 string ALB3 (PageMaker 3) 12658#>65 string ALB4 (PageMaker 4) 12659#>65 string ALT3 (PageMaker 3) 12660#>65 string APPL (application) 12661#>65 string AWWP (AppleWorks word processor) 12662#>65 string CIRC (simulated circuit) 12663#>65 string DRWG (MacDraw) 12664#>65 string EPSF (Encapsulated PostScript) 12665#>65 string FFIL (font suitcase) 12666#>65 string FKEY (function key) 12667#>65 string FNDR (Macintosh Finder) 12668#>65 string GIFf (GIF image) 12669#>65 string Gzip (GNU gzip) 12670#>65 string INIT (system extension) 12671#>65 string LIB\ (library) 12672#>65 string LWFN (PostScript font) 12673#>65 string MSBC (Microsoft BASIC) 12674#>65 string PACT (Compact Pro archive) 12675#>65 string PDF\ (Portable Document Format) 12676#>65 string PICT (picture) 12677#>65 string PNTG (MacPaint picture) 12678#>65 string PREF (preferences) 12679#>65 string PROJ (Think C project) 12680#>65 string QPRJ (Think Pascal project) 12681#>65 string SCFL (Defender scores) 12682#>65 string SCRN (startup screen) 12683#>65 string SITD (StuffIt Deluxe) 12684#>65 string SPn3 (SuperPaint) 12685#>65 string STAK (HyperCard stack) 12686#>65 string Seg\ (StuffIt segment) 12687#>65 string TARF (Unix tar archive) 12688#>65 string TEXT (ASCII) 12689#>65 string TIFF (TIFF image) 12690#>65 string TOVF (Eudora table of contents) 12691#>65 string WDBN (Microsoft Word word processor) 12692#>65 string WORD (MacWrite word processor) 12693#>65 string XLS\ (Microsoft Excel) 12694#>65 string ZIVM (compress (.Z)) 12695#>65 string ZSYS (Pre-System 7 system file) 12696#>65 string acf3 (Aldus FreeHand) 12697#>65 string cdev (control panel) 12698#>65 string dfil (Desk Acessory suitcase) 12699#>65 string libr (library) 12700#>65 string nX^d (WriteNow word processor) 12701#>65 string nX^w (WriteNow dictionary) 12702#>65 string rsrc (resource) 12703#>65 string scbk (Scrapbook) 12704#>65 string shlb (shared library) 12705#>65 string ttro (SimpleText read-only) 12706#>65 string zsys (system file) 12707 12708#>69 string x \b, creator "%4.4s" 12709 12710# Somewhere, Apple has a repository of registered Creator IDs. These are 12711# just the ones that I happened to have files from and was able to identify. 12712 12713#>69 string 8BIM (Adobe Photoshop) 12714#>69 string ALD3 (PageMaker 3) 12715#>69 string ALD4 (PageMaker 4) 12716#>69 string ALFA (Alpha editor) 12717#>69 string APLS (Apple Scanner) 12718#>69 string APSC (Apple Scanner) 12719#>69 string BRKL (Brickles) 12720#>69 string BTFT (BitFont) 12721#>69 string CCL2 (Common Lisp 2) 12722#>69 string CCL\ (Common Lisp) 12723#>69 string CDmo (The Talking Moose) 12724#>69 string CPCT (Compact Pro) 12725#>69 string CSOm (Eudora) 12726#>69 string DMOV (Font/DA Mover) 12727#>69 string DSIM (DigSim) 12728#>69 string EDIT (Macintosh Edit) 12729#>69 string ERIK (Macintosh Finder) 12730#>69 string EXTR (self-extracting archive) 12731#>69 string Gzip (GNU gzip) 12732#>69 string KAHL (Think C) 12733#>69 string LWFU (LaserWriter Utility) 12734#>69 string LZIV (compress) 12735#>69 string MACA (MacWrite) 12736#>69 string MACS (Macintosh operating system) 12737#>69 string MAcK (MacKnowledge terminal emulator) 12738#>69 string MLND (Defender) 12739#>69 string MPNT (MacPaint) 12740#>69 string MSBB (Microsoft BASIC (binary)) 12741#>69 string MSWD (Microsoft Word) 12742#>69 string NCSA (NCSA Telnet) 12743#>69 string PJMM (Think Pascal) 12744#>69 string PSAL (Hunt the Wumpus) 12745#>69 string PSI2 (Apple File Exchange) 12746#>69 string R*ch (BBEdit) 12747#>69 string RMKR (Resource Maker) 12748#>69 string RSED (Resource Editor) 12749#>69 string Rich (BBEdit) 12750#>69 string SIT! (StuffIt) 12751#>69 string SPNT (SuperPaint) 12752#>69 string Unix (NeXT Mac filesystem) 12753#>69 string VIM! (Vim editor) 12754#>69 string WILD (HyperCard) 12755#>69 string XCEL (Microsoft Excel) 12756#>69 string aCa2 (Fontographer) 12757#>69 string aca3 (Aldus FreeHand) 12758#>69 string dosa (Macintosh MS-DOS file system) 12759#>69 string movr (Font/DA Mover) 12760#>69 string nX^n (WriteNow) 12761#>69 string pdos (Apple ProDOS file system) 12762#>69 string scbk (Scrapbook) 12763#>69 string ttxt (SimpleText) 12764#>69 string ufox (Foreign File Access) 12765 12766# Just in case... 12767 12768102 string mBIN MacBinary III data with surprising version number 12769 12770# sas magic from Bruce Foster (bef@nwu.edu) 12771# 12772#0 string SAS SAS 12773#>8 string x %s 127740 string SAS SAS 12775>24 string DATA data file 12776>24 string CATALOG catalog 12777>24 string INDEX data file index 12778>24 string VIEW data view 12779# sas 7+ magic from Reinhold Koch (reinhold.koch@roche.com) 12780# 127810x54 string SAS SAS 7+ 12782>0x9C string DATA data file 12783>0x9C string CATALOG catalog 12784>0x9C string INDEX data file index 12785>0x9C string VIEW data view 12786 12787# spss magic for SPSS system and portable files, 12788# from Bruce Foster (bef@nwu.edu). 12789 127900 long 0xc1e2c3c9 SPSS Portable File 12791>40 string x %s 12792 127930 string $FL2 SPSS System File 12794>24 string x %s 12795 127960 string $FL3 SPSS System File 12797>24 string x %s 12798 12799# Macintosh filesystem data 12800# From "Tom N Harris" <telliamed@mac.com> 12801# Fixed HFS+ and Partition map magic: Ethan Benson <erbenson@alaska.net> 12802# The MacOS epoch begins on 1 Jan 1904 instead of 1 Jan 1970, so these 12803# entries depend on the data arithmetic added after v.35 12804# There's also some Pascal strings in here, ditto... 12805 12806# The boot block signature, according to IM:Files, is 12807# "for HFS volumes, this field always contains the value 0x4C4B." 12808# But if this is true for MFS or HFS+ volumes, I don't know. 12809# Alternatively, the boot block is supposed to be zeroed if it's 12810# unused, so a simply >0 should suffice. 12811 128120x400 beshort 0xD2D7 Macintosh MFS data 12813>0 beshort 0x4C4B (bootable) 12814>0x40a beshort &0x8000 (locked) 12815>0x402 beldate-0x7C25B080 x created: %s, 12816>0x406 beldate-0x7C25B080 >0 last backup: %s, 12817>0x414 belong x block size: %d, 12818>0x412 beshort x number of blocks: %d, 12819>0x424 pstring x volume name: %s 12820 12821# "BD" gives many false positives 12822#0x400 beshort 0x4244 Macintosh HFS data 12823#>0 beshort 0x4C4B (bootable) 12824#>0x40a beshort &0x8000 (locked) 12825#>0x40a beshort ^0x0100 (mounted) 12826#>0x40a beshort &0x0200 (spared blocks) 12827#>0x40a beshort &0x0800 (unclean) 12828#>0x47C beshort 0x482B (Embedded HFS+ Volume) 12829#>0x402 beldate-0x7C25B080 x created: %s, 12830#>0x406 beldate-0x7C25B080 x last modified: %s, 12831#>0x440 beldate-0x7C25B080 >0 last backup: %s, 12832#>0x414 belong x block size: %d, 12833#>0x412 beshort x number of blocks: %d, 12834#>0x424 pstring x volume name: %s 12835 128360x400 beshort 0x482B Macintosh HFS Extended 12837>&0 beshort x version %d data 12838>0 beshort 0x4C4B (bootable) 12839>0x404 belong ^0x00000100 (mounted) 12840>&2 belong &0x00000200 (spared blocks) 12841>&2 belong &0x00000800 (unclean) 12842>&2 belong &0x00008000 (locked) 12843>&6 string x last mounted by: '%.4s', 12844# really, that should be treated as a belong and we print a string 12845# based on the value. TN1150 only mentions '8.10' for "MacOS 8.1" 12846>&14 beldate-0x7C25B080 x created: %s, 12847# only the creation date is local time, all other timestamps in HFS+ are UTC. 12848>&18 bedate-0x7C25B080 x last modified: %s, 12849>&22 bedate-0x7C25B080 >0 last backup: %s, 12850>&26 bedate-0x7C25B080 >0 last checked: %s, 12851>&38 belong x block size: %d, 12852>&42 belong x number of blocks: %d, 12853>&46 belong x free blocks: %d 12854 12855# I don't think this is really necessary since it doesn't do much and 12856# anything with a valid driver descriptor will also have a valid 12857# partition map 12858#0 beshort 0x4552 Apple Device Driver data 12859#>&24 beshort =1 \b, MacOS 12860 12861# Is that the partition type a cstring or a pstring? Well, IM says "strings 12862# shorter than 32 bytes must be terminated with NULL" so I'll treat it as a 12863# cstring. Of course, partitions can contain more than four entries, but 12864# what're you gonna do? 12865# GRR: This magic is too weak, it is just "PM" 12866#0x200 beshort 0x504D Apple Partition data 12867#>0x2 beshort x (block size: %d): 12868#>0x230 string x first type: %s, 12869#>0x210 string x name: %s, 12870#>0x254 belong x number of blocks: %d, 12871#>0x400 beshort 0x504D 12872#>>0x430 string x second type: %s, 12873#>>0x410 string x name: %s, 12874#>>0x454 belong x number of blocks: %d, 12875#>>0x600 beshort 0x504D 12876#>>>0x630 string x third type: %s, 12877#>>>0x610 string x name: %s, 12878#>>>0x654 belong x number of blocks: %d, 12879#>>0x800 beshort 0x504D 12880#>>>0x830 string x fourth type: %s, 12881#>>>0x810 string x name: %s, 12882#>>>0x854 belong x number of blocks: %d, 12883#>>>0xa00 beshort 0x504D 12884#>>>>0xa30 string x fifth type: %s, 12885#>>>>0xa10 string x name: %s, 12886#>>>>0xa54 belong x number of blocks: %d 12887#>>>0xc00 beshort 0x504D 12888#>>>>0xc30 string x sixth type: %s, 12889#>>>>0xc10 string x name: %s, 12890#>>>>0xc54 belong x number of blocks: %d 12891## AFAIK, only the signature is different 12892#0x200 beshort 0x5453 Apple Old Partition data 12893#>0x2 beshort x block size: %d, 12894#>0x230 string x first type: %s, 12895#>0x210 string x name: %s, 12896#>0x254 belong x number of blocks: %d, 12897#>0x400 beshort 0x504D 12898#>>0x430 string x second type: %s, 12899#>>0x410 string x name: %s, 12900#>>0x454 belong x number of blocks: %d, 12901#>>0x800 beshort 0x504D 12902#>>>0x830 string x third type: %s, 12903#>>>0x810 string x name: %s, 12904#>>>0x854 belong x number of blocks: %d, 12905#>>>0xa00 beshort 0x504D 12906#>>>>0xa30 string x fourth type: %s, 12907#>>>>0xa10 string x name: %s, 12908#>>>>0xa54 belong x number of blocks: %d 12909 12910# From: Remi Mommsen <mommsen@slac.stanford.edu> 129110 string BOMStore Mac OS X bill of materials (BOM) file 12912 12913# From: Adam Buchbinder <adam.buchbinder@gmail.com> 12914# URL: http://en.wikipedia.org/wiki/Datafork_TrueType 12915# Derived from the 'fondu' and 'ufond' source code (fondu.sf.net). 'sfnt' is 12916# TrueType; 'POST' is PostScript. 'FONT' and 'NFNT' sometimes appear, but I 12917# don't know what they mean. 129180 belong 0x100 12919>(0x4.L+24) beshort x 12920>>&4 belong 0x73666e74 Mac OSX datafork font, TrueType 12921>>&4 belong 0x464f4e54 Mac OSX datafork font, 'FONT' 12922>>&4 belong 0x4e464e54 Mac OSX datafork font, 'NFNT' 12923>>&4 belong 0x504f5354 Mac OSX datafork font, PostScript 12924 12925#------------------------------------------------------------------------------ 12926# $File: macos,v 1.1 2012/12/21 16:41:07 christos Exp $ 12927# MacOS files 12928# 12929 129300 string book\0\0\0\0mark\0\0\0\0 MacOS Alias file 12931 12932#------------------------------------------------------------------------------ 12933# $File: magic,v 1.10 2010/11/25 15:00:12 christos Exp $ 12934# magic: file(1) magic for magic files 12935# 129360 string/t #\ Magic magic text file for file(1) cmd 129370 lelong 0xF11E041C magic binary file for file(1) cmd 12938>4 lelong x (version %d) (little endian) 129390 belong 0xF11E041C magic binary file for file(1) cmd 12940>4 belong x (version %d) (big endian) 12941#------------------------------------------------------------------------------ 12942# $File: mail.news,v 1.22 2013/01/04 14:22:07 christos Exp $ 12943# mail.news: file(1) magic for mail and news 12944# 12945# Unfortunately, saved netnews also has From line added in some news software. 12946#0 string From mail text 129470 string/t Relay-Version: old news text 12948!:mime message/rfc822 129490 string/t #!\ rnews batched news text 12950!:mime message/rfc822 129510 string/t N#!\ rnews mailed, batched news text 12952!:mime message/rfc822 129530 string/t Forward\ to mail forwarding text 12954!:mime message/rfc822 129550 string/t Pipe\ to mail piping text 12956!:mime message/rfc822 129570 string/tc delivered-to: SMTP mail text 12958!:mime message/rfc822 129590 string/tc return-path: SMTP mail text 12960!:mime message/rfc822 129610 string/t Path: news text 12962!:mime message/news 129630 string/t Xref: news text 12964!:mime message/news 129650 string/t From: news or mail text 12966!:mime message/rfc822 129670 string/t Article saved news text 12968!:mime message/news 129690 string/t BABYL Emacs RMAIL text 129700 string/t Received: RFC 822 mail text 12971!:mime message/rfc822 129720 string/t MIME-Version: MIME entity text 12973#0 string/t Content- MIME entity text 12974 12975# TNEF files... 129760 lelong 0x223E9F78 Transport Neutral Encapsulation Format 12977!:mime application/vnd.ms-tnef 12978 12979# From: Kevin Sullivan <ksulliva@psc.edu> 129800 string *mbx* MBX mail folder 12981 12982# From: Simon Matter <simon.matter@invoca.ch> 129830 string \241\002\213\015skiplist\ file\0\0\0 Cyrus skiplist DB 12984 12985# JAM(mbp) Fidonet message area databases 12986# JHR file 129870 string JAM\0 JAM message area header file 12988>12 leshort >0 (%d messages) 12989 12990# Squish Fidonet message area databases 12991# SQD file (requires at least one message in the area) 12992# XXX: Weak magic 12993#256 leshort 0xAFAE4453 Squish message area data file 12994#>4 leshort >0 (%d messages) 12995 12996#0 string \<!--\ MHonArc text/html; x-type=mhonarc 12997 12998# Cyrus: file(1) magic for compiled Cyrus sieve scripts 12999# URL: http://www.cyrusimap.org/docs/cyrus-imapd/2.4.6/internal/bytecode.php 13000# URL: http://git.cyrusimap.org/cyrus-imapd/tree/sieve/bytecode.h?h=master 13001# From: Philipp Hahn <hahn@univention.de> 13002 13003# Compiled Cyrus sieve script 130040 string CyrSBytecode Cyrus sieve bytecode data, 13005>12 belong =1 version 1, big-endian 13006>12 lelong =1 version 1, little-endian 13007>12 belong x version %d, network-endian 13008#------------------------------------------------------------------------------ 13009# $File: make,v 1.1 2011/12/08 12:12:46 rrt Exp $ 13010# make: file(1) magic for makefiles 13011# 130120 regex \^CFLAGS makefile script text 13013!:mime text/x-makefile 130140 regex \^LDFLAGS makefile script text 13015!:mime text/x-makefile 130160 regex \^all: makefile script text 13017!:mime text/x-makefile 130180 regex \^.PRECIOUS makefile script text 13019!:mime text/x-makefile 13020 130210 regex \^SUBDIRS automake makefile script text 13022!:mime text/x-makefile 13023 13024#------------------------------------------------------------------------------ 13025# $File: maple,v 1.7 2013/01/11 16:45:23 christos Exp $ 13026# maple: file(1) magic for maple files 13027# "H. Nanosecond" <aldomel@ix.netcom.com> 13028# Maple V release 4, a multi-purpose math program 13029# 13030 13031# maple library .lib 130320 string \000MVR4\nI MapleVr4 library 13033 13034# .ind 13035# no magic for these :-( 13036# they are compiled indexes for maple files 13037 13038# .hdb 130390 string \000\004\000\000 Maple help database 13040 13041# .mhp 13042# this has the form <PACKAGE=name> 130430 string \<PACKAGE= Maple help file 130440 string \<HELP\ NAME= Maple help file 130450 string \n\<HELP\ NAME= Maple help file with extra carriage return at start (yuck) 13046#0 string #\ Newton Maple help file, old style 130470 string #\ daub Maple help file, old style 13048#0 string #=========== Maple help file, old style 13049 13050# .mws 130510 string \000\000\001\044\000\221 Maple worksheet 13052#this is anomalous 130530 string WriteNow\000\002\000\001\000\000\000\000\100\000\000\000\000\000 Maple worksheet, but weird 13054# this has the form {VERSION 2 3 "IBM INTEL NT" "2.3" }\n 13055# that is {VERSION major_version miunor_version computer_type version_string} 130560 string {VERSION\ Maple worksheet 13057>9 string >\0 version %.1s. 13058>>11 string >\0 %.1s 13059 13060# .mps 130610 string \0\0\001$ Maple something 13062# from byte 4 it is either 'nul E' or 'soh R' 13063# I think 'nul E' means a file that was saved as a different name 13064# a sort of revision marking 13065# 'soh R' means new 13066>4 string \000\105 An old revision 13067>4 string \001\122 The latest save 13068 13069# .mpl 13070# some of these are the same as .mps above 13071#0000000 000 000 001 044 000 105 same as .mps 13072#0000000 000 000 001 044 001 122 same as .mps 13073 130740 string #\n##\ <SHAREFILE= Maple something 130750 string \n#\n##\ <SHAREFILE= Maple something 130760 string ##\ <SHAREFILE= Maple something 130770 string #\r##\ <SHAREFILE= Maple something 130780 string \r#\r##\ <SHAREFILE= Maple something 130790 string #\ \r##\ <DESCRIBE> Maple something anomalous. 13080#-------------------------------------------- 13081# marc21: file(1) magic for MARC 21 Format 13082# 13083# Kevin Ford (kefo@loc.gov) 13084# 13085# MARC21 formats are for the representation and communication 13086# of bibliographic and related information in machine-readable 13087# form. For more info, see http://www.loc.gov/marc/ 13088 13089 13090# leader position 20-21 must be 45 1309120 string 45 13092 13093# leader starts with 5 digits, followed by codes specific to MARC format 13094>0 regex/1 (^[0-9]{5})[acdnp][^bhlnqsu-z] MARC21 Bibliographic 13095!:mime application/marc 13096>0 regex/1 (^[0-9]{5})[acdnosx][z] MARC21 Authority 13097!:mime application/marc 13098>0 regex/1 (^[0-9]{5})[cdn][uvxy] MARC21 Holdings 13099!:mime application/marc 131000 regex/1 (^[0-9]{5})[acdn][w] MARC21 Classification 13101!:mime application/marc 13102>0 regex/1 (^[0-9]{5})[cdn][q] MARC21 Community 13103!:mime application/marc 13104 13105# leader position 22-23, should be "00" but is it? 13106>0 regex/1 (^.{21})([^0]{2}) (non-conforming) 13107!:mime application/marc 13108 13109#------------------------------------------------------------------------------ 13110# $File: mathcad,v 1.5 2009/09/19 16:28:10 christos Exp $ 13111# mathcad: file(1) magic for Mathcad documents 13112# URL: http://www.mathsoft.com/ 13113# From: Josh Triplett <josh@freedesktop.org> 13114 131150 string .MCAD\t Mathcad document 13116 13117#------------------------------------------------------------------------------ 13118# $File: mathematica,v 1.7 2009/09/19 16:28:10 christos Exp $ 13119# mathematica: file(1) magic for mathematica files 13120# "H. Nanosecond" <aldomel@ix.netcom.com> 13121# Mathematica a multi-purpose math program 13122# versions 2.2 and 3.0 13123 13124#mathematica .mb 131250 string \064\024\012\000\035\000\000\000 Mathematica version 2 notebook 131260 string \064\024\011\000\035\000\000\000 Mathematica version 2 notebook 13127 13128# .ma 13129# multiple possibilites: 13130 131310 string (*^\n\n::[\011frontEndVersion\ =\ Mathematica notebook 13132#>41 string >\0 %s 13133 13134#0 string (*^\n\n::[\011palette Mathematica notebook version 2.x 13135 13136#0 string (*^\n\n::[\011Information Mathematica notebook version 2.x 13137#>675 string >\0 %s #doesn't work well 13138 13139# there may be 'cr' instread of 'nl' in some does this matter? 13140 13141# generic: 131420 string (*^\r\r::[\011 Mathematica notebook version 2.x 131430 string (*^\r\n\r\n::[\011 Mathematica notebook version 2.x 131440 string (*^\015 Mathematica notebook version 2.x 131450 string (*^\n\r\n\r::[\011 Mathematica notebook version 2.x 131460 string (*^\r::[\011 Mathematica notebook version 2.x 131470 string (*^\r\n::[\011 Mathematica notebook version 2.x 131480 string (*^\n\n::[\011 Mathematica notebook version 2.x 131490 string (*^\n::[\011 Mathematica notebook version 2.x 13150 13151 13152# Mathematica .mx files 13153 13154#0 string (*This\ is\ a\ Mathematica\ binary\ dump\ file.\ It\ can\ be\ loaded\ with\ Get.*) Mathematica binary file 131550 string (*This\ is\ a\ Mathematica\ binary\ Mathematica binary file 13156#>71 string \000\010\010\010\010\000\000\000\000\000\000\010\100\010\000\000\000 13157# >71... is optional 13158>88 string >\0 from %s 13159 13160 13161# Mathematica files PBF: 13162# 115 115 101 120 102 106 000 001 000 000 000 203 000 001 000 131630 string MMAPBF\000\001\000\000\000\203\000\001\000 Mathematica PBF (fonts I think) 13164 13165# .ml files These are menu resources I think 13166# these start with "[0-9][0-9][0-9]\ A~[0-9][0-9][0-9]\ 13167# how to put that into a magic rule? 131684 string \ A~ MAthematica .ml file 13169 13170# .nb files 13171#too long 0 string (***********************************************************************\n\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Mathematica-Compatible Notebook Mathematica 3.0 notebook 131720 string (*********************** Mathematica 3.0 notebook 13173 13174# other (* matches it is a comment start in these langs 13175# GRR: Too weak; also matches other languages e.g. ML 13176#0 string (* Mathematica, or Pascal, Modula-2 or 3 code text 13177 13178######################### 13179# MatLab v5 131800 string MATLAB Matlab v5 mat-file 13181>126 short 0x494d (big endian) 13182>>124 beshort x version 0x%04x 13183>126 short 0x4d49 (little endian) 13184>>124 leshort x version 0x%04x 13185 13186 13187#------------------------------------------------------------------------------ 13188# $File: matroska,v 1.8 2013/02/08 17:25:16 christos Exp $ 13189# matroska: file(1) magic for Matroska files 13190# 13191# See http://www.matroska.org/ 13192# 13193 13194# EBML id: 131950 belong 0x1a45dfa3 13196# DocType id: 13197>4 search/4096 \x42\x82 13198# DocType contents: 13199>>&1 string webm WebM 13200!:mime video/webm 13201>>&1 string matroska Matroska data 13202!:mime video/x-matroska 13203 13204#------------------------------------------------------------------------------ 13205# $File: mcrypt,v 1.5 2009/09/19 16:28:10 christos Exp $ 13206# Mavroyanopoulos Nikos <nmav@hellug.gr> 13207# mcrypt: file(1) magic for mcrypt 2.2.x; 132080 string \0m\3 mcrypt 2.5 encrypted data, 13209>4 string >\0 algorithm: %s, 13210>>&1 leshort >0 keysize: %d bytes, 13211>>>&0 string >\0 mode: %s, 13212 132130 string \0m\2 mcrypt 2.2 encrypted data, 13214>3 byte 0 algorithm: blowfish-448, 13215>3 byte 1 algorithm: DES, 13216>3 byte 2 algorithm: 3DES, 13217>3 byte 3 algorithm: 3-WAY, 13218>3 byte 4 algorithm: GOST, 13219>3 byte 6 algorithm: SAFER-SK64, 13220>3 byte 7 algorithm: SAFER-SK128, 13221>3 byte 8 algorithm: CAST-128, 13222>3 byte 9 algorithm: xTEA, 13223>3 byte 10 algorithm: TWOFISH-128, 13224>3 byte 11 algorithm: RC2, 13225>3 byte 12 algorithm: TWOFISH-192, 13226>3 byte 13 algorithm: TWOFISH-256, 13227>3 byte 14 algorithm: blowfish-128, 13228>3 byte 15 algorithm: blowfish-192, 13229>3 byte 16 algorithm: blowfish-256, 13230>3 byte 100 algorithm: RC6, 13231>3 byte 101 algorithm: IDEA, 13232>4 byte 0 mode: CBC, 13233>4 byte 1 mode: ECB, 13234>4 byte 2 mode: CFB, 13235>4 byte 3 mode: OFB, 13236>4 byte 4 mode: nOFB, 13237>5 byte 0 keymode: 8bit 13238>5 byte 1 keymode: 4bit 13239>5 byte 2 keymode: SHA-1 hash 13240>5 byte 3 keymode: MD5 hash 13241 13242#------------------------------------------------------------------------------ 13243# $File: mercurial,v 1.4 2009/09/19 16:28:10 christos Exp $ 13244# mercurial: file(1) magic for Mercurial changeset bundles 13245# http://www.selenic.com/mercurial/wiki/ 13246# 13247# Jesse Glick (jesse.glick@sun.com) 13248# 13249 132500 string HG10 Mercurial changeset bundle 13251>4 string UN (uncompressed) 13252>4 string GZ (gzip compressed) 13253>4 string BZ (bzip2 compressed) 13254 13255#------------------------------------------------------------------------------ 13256# $File: metastore,v 1.1 2011/04/06 12:37:44 christos Exp $ 13257# metastore: file(1) magic for metastore files 13258# From: Thomas Wissen 13259# see http://david.hardeman.nu/software.php#metastore 132600 string MeTaSt00r3 Metastore data file, 13261>10 bequad x version %0llx 13262 13263#------------------------------------------------------------------------------ 13264# $File: mime,v 1.6 2010/11/25 15:00:12 christos Exp $ 13265# mime: file(1) magic for MIME encoded files 13266# 132670 string/t Content-Type:\ 13268>14 string >\0 %s 132690 string/t Content-Type: 13270>13 string >\0 %s 13271 13272#------------------------------------------------------------------------------ 13273# $File: mips,v 1.9 2013/01/12 03:09:51 christos Exp $ 13274# mips: file(1) magic for MIPS ECOFF and Ucode, as used in SGI IRIX 13275# and DEC Ultrix 13276# 132770 beshort 0x0160 MIPSEB ECOFF executable 13278>20 beshort 0407 (impure) 13279>20 beshort 0410 (swapped) 13280>20 beshort 0413 (paged) 13281>8 belong >0 not stripped 13282>8 belong 0 stripped 13283>22 byte x - version %ld 13284>23 byte x \b.%ld 13285# 132860 beshort 0x0162 MIPSEL-BE ECOFF executable 13287>20 beshort 0407 (impure) 13288>20 beshort 0410 (swapped) 13289>20 beshort 0413 (paged) 13290>8 belong >0 not stripped 13291>8 belong 0 stripped 13292>23 byte x - version %d 13293>22 byte x \b.%ld 13294# 132950 beshort 0x6001 MIPSEB-LE ECOFF executable 13296>20 beshort 03401 (impure) 13297>20 beshort 04001 (swapped) 13298>20 beshort 05401 (paged) 13299>8 belong >0 not stripped 13300>8 belong 0 stripped 13301>23 byte x - version %d 13302>22 byte x \b.%ld 13303# 133040 beshort 0x6201 MIPSEL ECOFF executable 13305>20 beshort 03401 (impure) 13306>20 beshort 04001 (swapped) 13307>20 beshort 05401 (paged) 13308>8 belong >0 not stripped 13309>8 belong 0 stripped 13310>23 byte x - version %ld 13311>22 byte x \b.%ld 13312# 13313# MIPS 2 additions 13314# 133150 beshort 0x0163 MIPSEB MIPS-II ECOFF executable 13316>20 beshort 0407 (impure) 13317>20 beshort 0410 (swapped) 13318>20 beshort 0413 (paged) 13319>8 belong >0 not stripped 13320>8 belong 0 stripped 13321>22 byte x - version %ld 13322>23 byte x \b.%ld 13323# 133240 beshort 0x0166 MIPSEL-BE MIPS-II ECOFF executable 13325>20 beshort 0407 (impure) 13326>20 beshort 0410 (swapped) 13327>20 beshort 0413 (paged) 13328>8 belong >0 not stripped 13329>8 belong 0 stripped 13330>22 byte x - version %ld 13331>23 byte x \b.%ld 13332# 133330 beshort 0x6301 MIPSEB-LE MIPS-II ECOFF executable 13334>20 beshort 03401 (impure) 13335>20 beshort 04001 (swapped) 13336>20 beshort 05401 (paged) 13337>8 belong >0 not stripped 13338>8 belong 0 stripped 13339>23 byte x - version %ld 13340>22 byte x \b.%ld 13341# 133420 beshort 0x6601 MIPSEL MIPS-II ECOFF executable 13343>20 beshort 03401 (impure) 13344>20 beshort 04001 (swapped) 13345>20 beshort 05401 (paged) 13346>8 belong >0 not stripped 13347>8 belong 0 stripped 13348>23 byte x - version %ld 13349>22 byte x \b.%ld 13350# 13351# MIPS 3 additions 13352# 133530 beshort 0x0140 MIPSEB MIPS-III ECOFF executable 13354>20 beshort 0407 (impure) 13355>20 beshort 0410 (swapped) 13356>20 beshort 0413 (paged) 13357>8 belong >0 not stripped 13358>8 belong 0 stripped 13359>22 byte x - version %ld 13360>23 byte x \b.%ld 13361# 133620 beshort 0x0142 MIPSEL-BE MIPS-III ECOFF executable 13363>20 beshort 0407 (impure) 13364>20 beshort 0410 (swapped) 13365>20 beshort 0413 (paged) 13366>8 belong >0 not stripped 13367>8 belong 0 stripped 13368>22 byte x - version %ld 13369>23 byte x \b.%ld 13370# 133710 beshort 0x4001 MIPSEB-LE MIPS-III ECOFF executable 13372>20 beshort 03401 (impure) 13373>20 beshort 04001 (swapped) 13374>20 beshort 05401 (paged) 13375>8 belong >0 not stripped 13376>8 belong 0 stripped 13377>23 byte x - version %ld 13378>22 byte x \b.%ld 13379# 133800 beshort 0x4201 MIPSEL MIPS-III ECOFF executable 13381>20 beshort 03401 (impure) 13382>20 beshort 04001 (swapped) 13383>20 beshort 05401 (paged) 13384>8 belong >0 not stripped 13385>8 belong 0 stripped 13386>23 byte x - version %ld 13387>22 byte x \b.%ld 13388# 133890 beshort 0x180 MIPSEB Ucode 133900 beshort 0x182 MIPSEL-BE Ucode 13391 13392#------------------------------------------------------------------------------ 13393# $File: mirage,v 1.7 2009/09/19 16:28:10 christos Exp $ 13394# mirage: file(1) magic for Mirage executables 13395# 13396# XXX - byte order? 13397# 133980 long 31415 Mirage Assembler m.out executable 13399 13400#----------------------------------------------------------------------------- 13401# $File: misctools,v 1.13 2013/01/16 13:53:10 christos Exp $ 13402# misctools: file(1) magic for miscellaneous UNIX tools. 13403# 134040 search/1 %%!! X-Post-It-Note text 134050 string/c BEGIN:VCALENDAR vCalendar calendar file 13406!:mime text/calendar 134070 string/c BEGIN:VCARD vCard visiting card 13408!:mime text/x-vcard 13409 13410# Summary: Libtool library file 13411# Extension: .la 13412# Submitted by: Tomasz Trojanowski <tomek@uninet.com.pl> 134130 search/80 .la\ -\ a\ libtool\ library\ file libtool library file 13414 13415# Summary: Libtool object file 13416# Extension: .lo 13417# Submitted by: Abel Cheung <abelcheung@gmail.com> 134180 search/80 .lo\ -\ a\ libtool\ object\ file libtool object file 13419 13420# From: Daniel Novotny <dnovotny@redhat.com> 134210 string MDMP\x93\xA7 MDMP crash report data 13422 13423#------------------------------------------------------------------------------ 13424# $File: mkid,v 1.6 2009/09/19 16:28:10 christos Exp $ 13425# mkid: file(1) magic for mkid(1) databases 13426# 13427# ID is the binary tags database produced by mkid(1). 13428# 13429# XXX - byte order? 13430# 134310 string \311\304 ID tags data 13432>2 short >0 version %d 13433 13434#------------------------------------------------------------------------------ 13435# $File: mlssa,v 1.4 2009/09/19 16:28:10 christos Exp $ 13436# mlssa: file(1) magic for MLSSA datafiles 13437# 134380 lelong 0xffffabcd MLSSA datafile, 13439>4 leshort x algorithm %d, 13440>10 lelong x %d samples 13441 13442#------------------------------------------------------------------------------ 13443# $File: mmdf,v 1.6 2009/09/19 16:28:10 christos Exp $ 13444# mmdf: file(1) magic for MMDF mail files 13445# 134460 string \001\001\001\001 MMDF mailbox 13447 13448#------------------------------------------------------------------------------ 13449# $File: modem,v 1.5 2010/09/20 18:55:20 rrt Exp $ 13450# modem: file(1) magic for modem programs 13451# 13452# From: Florian La Roche <florian@knorke.saar.de> 134531 string PC\ Research,\ Inc Digifax-G3-File 13454>29 byte 1 \b, fine resolution 13455>29 byte 0 \b, normal resolution 13456 134570 short 0x0100 raw G3 data, byte-padded 134580 short 0x1400 raw G3 data 13459# 13460# Magic data for vgetty voice formats 13461# (Martin Seine & Marc Eberhard) 13462 13463# 13464# raw modem data version 1 13465# 134660 string RMD1 raw modem data 13467>4 string >\0 (%s / 13468>20 short >0 compression type 0x%04x) 13469 13470# 13471# portable voice format 1 13472# 134730 string PVF1\n portable voice format 13474>5 string >\0 (binary %s) 13475 13476# 13477# portable voice format 2 13478# 134790 string PVF2\n portable voice format 13480>5 string >\0 (ascii %s) 13481 13482 13483#------------------------------------------------------------------------------ 13484# $File: motorola,v 1.10 2009/09/19 16:28:11 christos Exp $ 13485# motorola: file(1) magic for Motorola 68K and 88K binaries 13486# 13487# 68K 13488# 134890 beshort 0520 mc68k COFF 13490>18 beshort ^00000020 object 13491>18 beshort &00000020 executable 13492>12 belong >0 not stripped 13493>168 string .lowmem Apple toolbox 13494>20 beshort 0407 (impure) 13495>20 beshort 0410 (pure) 13496>20 beshort 0413 (demand paged) 13497>20 beshort 0421 (standalone) 134980 beshort 0521 mc68k executable (shared) 13499>12 belong >0 not stripped 135000 beshort 0522 mc68k executable (shared demand paged) 13501>12 belong >0 not stripped 13502# 13503# Motorola/UniSoft 68K Binary Compatibility Standard (BCS) 13504# 135050 beshort 0554 68K BCS executable 13506# 13507# 88K 13508# 13509# Motorola/88Open BCS 13510# 135110 beshort 0555 88K BCS executable 13512# 13513# Motorola S-Records, from Gerd Truschinski <gt@freebsd.first.gmd.de> 135140 string S0 Motorola S-Record; binary data in text format 13515 13516# ATARI ST relocatable PRG 13517# 13518# from Oskar Schirmer <schirmer@scara.com> Feb 3, 2001 13519# (according to Roland Waldi, Oct 21, 1987) 13520# besides the magic 0x601a, the text segment size is checked to be 13521# not larger than 1 MB (which is a lot on ST). 13522# The additional 0x601b distinction I took from Doug Lee's magic. 135230 belong&0xFFFFFFF0 0x601A0000 Atari ST M68K contiguous executable 13524>2 belong x (txt=%ld, 13525>6 belong x dat=%ld, 13526>10 belong x bss=%ld, 13527>14 belong x sym=%ld) 135280 belong&0xFFFFFFF0 0x601B0000 Atari ST M68K non-contig executable 13529>2 belong x (txt=%ld, 13530>6 belong x dat=%ld, 13531>10 belong x bss=%ld, 13532>14 belong x sym=%ld) 13533 13534# Atari ST/TT... program format (sent by Wolfram Kleff <kleff@cs.uni-bonn.de>) 135350 beshort 0x601A Atari 68xxx executable, 13536>2 belong x text len %lu, 13537>6 belong x data len %lu, 13538>10 belong x BSS len %lu, 13539>14 belong x symboltab len %lu, 13540>18 belong 0 13541>22 belong &0x01 fastload flag, 13542>22 belong &0x02 may be loaded to alternate RAM, 13543>22 belong &0x04 malloc may be from alternate RAM, 13544>22 belong x flags: 0x%lX, 13545>26 beshort 0 no relocation tab 13546>26 beshort !0 + relocation tab 13547>30 string SFX [Self-Extracting LZH SFX archive] 13548>38 string SFX [Self-Extracting LZH SFX archive] 13549>44 string ZIP! [Self-Extracting ZIP SFX archive] 13550 135510 beshort 0x0064 Atari 68xxx CPX file 13552>8 beshort x (version %04lx) 13553 13554#------------------------------------------------------------------------------ 13555# $File: mozilla,v 1.4 2009/09/19 16:28:11 christos Exp $ 13556# mozilla: file(1) magic for Mozilla XUL fastload files 13557# (XUL.mfasl and XPC.mfasl) 13558# URL: http://www.mozilla.org/ 13559# From: Josh Triplett <josh@freedesktop.org> 13560 135610 string XPCOM\nMozFASL\r\n\x1A Mozilla XUL fastload data 13562 13563#------------------------------------------------------------------------------ 13564# $File: msdos,v 1.86 2014/01/08 22:10:18 christos Exp $ 13565# msdos: file(1) magic for MS-DOS files 13566# 13567 13568# .BAT files (Daniel Quinlan, quinlan@yggdrasil.com) 13569# updated by Joerg Jenderek at Oct 2008,Apr 2011 135700 string/t @ 13571>1 string/cW \ echo\ off DOS batch file text 13572!:mime text/x-msdos-batch 13573>1 string/cW echo\ off DOS batch file text 13574!:mime text/x-msdos-batch 13575>1 string/cW rem DOS batch file text 13576!:mime text/x-msdos-batch 13577>1 string/cW set\ DOS batch file text 13578!:mime text/x-msdos-batch 13579 13580 13581# OS/2 batch files are REXX. the second regex is a bit generic, oh well 13582# the matched commands seem to be common in REXX and uncommon elsewhere 13583100 search/0xffff rxfuncadd 13584>100 regex/c =^[\ \t]{0,10}call[\ \t]{1,10}rxfunc OS/2 REXX batch file text 13585100 search/0xffff say 13586>100 regex/c =^[\ \t]{0,10}say\ ['"] OS/2 REXX batch file text 13587 135880 leshort 0x14c MS Windows COFF Intel 80386 object file 13589#>4 ledate x stamp %s 135900 leshort 0x166 MS Windows COFF MIPS R4000 object file 13591#>4 ledate x stamp %s 135920 leshort 0x184 MS Windows COFF Alpha object file 13593#>4 ledate x stamp %s 135940 leshort 0x268 MS Windows COFF Motorola 68000 object file 13595#>4 ledate x stamp %s 135960 leshort 0x1f0 MS Windows COFF PowerPC object file 13597#>4 ledate x stamp %s 135980 leshort 0x290 MS Windows COFF PA-RISC object file 13599#>4 ledate x stamp %s 13600 13601# Tests for various EXE types. 13602# 13603# Many of the compressed formats were extraced from IDARC 1.23 source code. 13604# 136050 string/b MZ 13606!:mime application/x-dosexec 13607# All non-DOS EXE extensions have the relocation table more than 0x40 bytes into the file. 13608>0x18 leshort <0x40 MS-DOS executable 13609# These traditional tests usually work but not always. When test quality support is 13610# implemented these can be turned on. 13611#>>0x18 leshort 0x1c (Borland compiler) 13612#>>0x18 leshort 0x1e (MS compiler) 13613 13614# If the relocation table is 0x40 or more bytes into the file, it's definitely 13615# not a DOS EXE. 13616>0x18 leshort >0x3f 13617 13618# Maybe it's a PE? 13619>>(0x3c.l) string PE\0\0 PE 13620>>>(0x3c.l+24) leshort 0x010b \b32 executable 13621>>>(0x3c.l+24) leshort 0x020b \b32+ executable 13622>>>(0x3c.l+24) leshort 0x0107 ROM image 13623>>>(0x3c.l+24) default x Unknown PE signature 13624>>>>&0 leshort x 0x%x 13625>>>(0x3c.l+22) leshort&0x2000 >0 (DLL) 13626>>>(0x3c.l+92) leshort 1 (native) 13627>>>(0x3c.l+92) leshort 2 (GUI) 13628>>>(0x3c.l+92) leshort 3 (console) 13629>>>(0x3c.l+92) leshort 7 (POSIX) 13630>>>(0x3c.l+92) leshort 9 (Windows CE) 13631>>>(0x3c.l+92) leshort 10 (EFI application) 13632>>>(0x3c.l+92) leshort 11 (EFI boot service driver) 13633>>>(0x3c.l+92) leshort 12 (EFI runtime driver) 13634>>>(0x3c.l+92) leshort 13 (EFI ROM) 13635>>>(0x3c.l+92) leshort 14 (XBOX) 13636>>>(0x3c.l+92) leshort 15 (Windows boot application) 13637>>>(0x3c.l+92) default x (Unknown subsystem 13638>>>>&0 leshort x 0x%x) 13639>>>(0x3c.l+4) leshort 0x14c Intel 80386 13640>>>(0x3c.l+4) leshort 0x166 MIPS R4000 13641>>>(0x3c.l+4) leshort 0x168 MIPS R10000 13642>>>(0x3c.l+4) leshort 0x184 Alpha 13643>>>(0x3c.l+4) leshort 0x1a2 Hitachi SH3 13644>>>(0x3c.l+4) leshort 0x1a6 Hitachi SH4 13645>>>(0x3c.l+4) leshort 0x1c0 ARM 13646>>>(0x3c.l+4) leshort 0x1c2 ARM Thumb 13647>>>(0x3c.l+4) leshort 0x1c4 ARMv7 Thumb 13648>>>(0x3c.l+4) leshort 0x1f0 PowerPC 13649>>>(0x3c.l+4) leshort 0x200 Intel Itanium 13650>>>(0x3c.l+4) leshort 0x266 MIPS16 13651>>>(0x3c.l+4) leshort 0x268 Motorola 68000 13652>>>(0x3c.l+4) leshort 0x290 PA-RISC 13653>>>(0x3c.l+4) leshort 0x366 MIPSIV 13654>>>(0x3c.l+4) leshort 0x466 MIPS16 with FPU 13655>>>(0x3c.l+4) leshort 0xebc EFI byte code 13656>>>(0x3c.l+4) leshort 0x8664 x86-64 13657>>>(0x3c.l+4) leshort 0xc0ee MSIL 13658>>>(0x3c.l+4) default x Unknown processor type 13659>>>>&0 leshort x 0x%x 13660>>>(0x3c.l+22) leshort&0x0200 >0 (stripped to external PDB) 13661>>>(0x3c.l+22) leshort&0x1000 >0 system file 13662>>>(0x3c.l+24) leshort 0x010b 13663>>>>(0x3c.l+232) lelong >0 Mono/.Net assembly 13664>>>(0x3c.l+24) leshort 0x020b 13665>>>>(0x3c.l+248) lelong >0 Mono/.Net assembly 13666 13667# hooray, there's a DOS extender using the PE format, with a valid PE 13668# executable inside (which just prints a message and exits if run in win) 13669>>>(8.s*16) string 32STUB \b, 32rtm DOS extender 13670>>>(8.s*16) string !32STUB \b, for MS Windows 13671>>>(0x3c.l+0xf8) string UPX0 \b, UPX compressed 13672>>>(0x3c.l+0xf8) search/0x140 PEC2 \b, PECompact2 compressed 13673>>>(0x3c.l+0xf8) search/0x140 UPX2 13674>>>>(&0x10.l+(-4)) string PK\3\4 \b, ZIP self-extracting archive (Info-Zip) 13675>>>(0x3c.l+0xf8) search/0x140 .idata 13676>>>>(&0xe.l+(-4)) string PK\3\4 \b, ZIP self-extracting archive (Info-Zip) 13677>>>>(&0xe.l+(-4)) string ZZ0 \b, ZZip self-extracting archive 13678>>>>(&0xe.l+(-4)) string ZZ1 \b, ZZip self-extracting archive 13679>>>(0x3c.l+0xf8) search/0x140 .rsrc 13680>>>>(&0x0f.l+(-4)) string a\\\4\5 \b, WinHKI self-extracting archive 13681>>>>(&0x0f.l+(-4)) string Rar! \b, RAR self-extracting archive 13682>>>>(&0x0f.l+(-4)) search/0x3000 MSCF \b, InstallShield self-extracting archive 13683>>>>(&0x0f.l+(-4)) search/32 Nullsoft \b, Nullsoft Installer self-extracting archive 13684>>>(0x3c.l+0xf8) search/0x140 .data 13685>>>>(&0x0f.l) string WEXTRACT \b, MS CAB-Installer self-extracting archive 13686>>>(0x3c.l+0xf8) search/0x140 .petite\0 \b, Petite compressed 13687>>>>(0x3c.l+0xf7) byte x 13688>>>>>(&0x104.l+(-4)) string =!sfx! \b, ACE self-extracting archive 13689>>>(0x3c.l+0xf8) search/0x140 .WISE \b, WISE installer self-extracting archive 13690>>>(0x3c.l+0xf8) search/0x140 .dz\0\0\0 \b, Dzip self-extracting archive 13691>>>&(0x3c.l+0xf8) search/0x100 _winzip_ \b, ZIP self-extracting archive (WinZip) 13692>>>&(0x3c.l+0xf8) search/0x100 SharedD \b, Microsoft Installer self-extracting archive 13693>>>0x30 string Inno \b, InnoSetup self-extracting archive 13694 13695# Hmm, not a PE but the relocation table is too high for a traditional DOS exe, 13696# must be one of the unusual subformats. 13697>>(0x3c.l) string !PE\0\0 MS-DOS executable 13698 13699>>(0x3c.l) string NE \b, NE 13700>>>(0x3c.l+0x36) byte 1 for OS/2 1.x 13701>>>(0x3c.l+0x36) byte 2 for MS Windows 3.x 13702>>>(0x3c.l+0x36) byte 3 for MS-DOS 13703>>>(0x3c.l+0x36) byte 4 for Windows 386 13704>>>(0x3c.l+0x36) byte 5 for Borland Operating System Services 13705>>>(0x3c.l+0x36) default x 13706>>>>(0x3c.l+0x36) byte x (unknown OS %x) 13707>>>(0x3c.l+0x36) byte 0x81 for MS-DOS, Phar Lap DOS extender 13708>>>(0x3c.l+0x0c) leshort&0x8003 0x8002 (DLL) 13709>>>(0x3c.l+0x0c) leshort&0x8003 0x8001 (driver) 13710>>>&(&0x24.s-1) string ARJSFX \b, ARJ self-extracting archive 13711>>>(0x3c.l+0x70) search/0x80 WinZip(R)\ Self-Extractor \b, ZIP self-extracting archive (WinZip) 13712 13713>>(0x3c.l) string LX\0\0 \b, LX 13714>>>(0x3c.l+0x0a) leshort <1 (unknown OS) 13715>>>(0x3c.l+0x0a) leshort 1 for OS/2 13716>>>(0x3c.l+0x0a) leshort 2 for MS Windows 13717>>>(0x3c.l+0x0a) leshort 3 for DOS 13718>>>(0x3c.l+0x0a) leshort >3 (unknown OS) 13719>>>(0x3c.l+0x10) lelong&0x28000 =0x8000 (DLL) 13720>>>(0x3c.l+0x10) lelong&0x20000 >0 (device driver) 13721>>>(0x3c.l+0x10) lelong&0x300 0x300 (GUI) 13722>>>(0x3c.l+0x10) lelong&0x28300 <0x300 (console) 13723>>>(0x3c.l+0x08) leshort 1 i80286 13724>>>(0x3c.l+0x08) leshort 2 i80386 13725>>>(0x3c.l+0x08) leshort 3 i80486 13726>>>(8.s*16) string emx \b, emx 13727>>>>&1 string x %s 13728>>>&(&0x54.l-3) string arjsfx \b, ARJ self-extracting archive 13729 13730# MS Windows system file, supposedly a collection of LE executables 13731>>(0x3c.l) string W3 \b, W3 for MS Windows 13732 13733>>(0x3c.l) string LE\0\0 \b, LE executable 13734>>>(0x3c.l+0x0a) leshort 1 13735# some DOS extenders use LE files with OS/2 header 13736>>>>0x240 search/0x100 DOS/4G for MS-DOS, DOS4GW DOS extender 13737>>>>0x240 search/0x200 WATCOM\ C/C++ for MS-DOS, DOS4GW DOS extender 13738>>>>0x440 search/0x100 CauseWay\ DOS\ Extender for MS-DOS, CauseWay DOS extender 13739>>>>0x40 search/0x40 PMODE/W for MS-DOS, PMODE/W DOS extender 13740>>>>0x40 search/0x40 STUB/32A for MS-DOS, DOS/32A DOS extender (stub) 13741>>>>0x40 search/0x80 STUB/32C for MS-DOS, DOS/32A DOS extender (configurable stub) 13742>>>>0x40 search/0x80 DOS/32A for MS-DOS, DOS/32A DOS extender (embedded) 13743# this is a wild guess; hopefully it is a specific signature 13744>>>>&0x24 lelong <0x50 13745>>>>>(&0x4c.l) string \xfc\xb8WATCOM 13746>>>>>>&0 search/8 3\xdbf\xb9 \b, 32Lite compressed 13747# another wild guess: if real OS/2 LE executables exist, they probably have higher start EIP 13748#>>>>(0x3c.l+0x1c) lelong >0x10000 for OS/2 13749# fails with DOS-Extenders. 13750>>>(0x3c.l+0x0a) leshort 2 for MS Windows 13751>>>(0x3c.l+0x0a) leshort 3 for DOS 13752>>>(0x3c.l+0x0a) leshort 4 for MS Windows (VxD) 13753>>>(&0x7c.l+0x26) string UPX \b, UPX compressed 13754>>>&(&0x54.l-3) string UNACE \b, ACE self-extracting archive 13755 13756# looks like ASCII, probably some embedded copyright message. 13757# and definitely not NE/LE/LX/PE 13758>>0x3c lelong >0x20000000 13759>>>(4.s*512) leshort !0x014c \b, MZ for MS-DOS 13760# header data too small for extended executable 13761>2 long !0 13762>>0x18 leshort <0x40 13763>>>(4.s*512) leshort !0x014c 13764 13765>>>>&(2.s-514) string !LE 13766>>>>>&-2 string !BW \b, MZ for MS-DOS 13767>>>>&(2.s-514) string LE \b, LE 13768>>>>>0x240 search/0x100 DOS/4G for MS-DOS, DOS4GW DOS extender 13769# educated guess since indirection is still not capable enough for complex offset 13770# calculations (next embedded executable would be at &(&2*512+&0-2) 13771# I suspect there are only LE executables in these multi-exe files 13772>>>>&(2.s-514) string BW 13773>>>>>0x240 search/0x100 DOS/4G ,\b LE for MS-DOS, DOS4GW DOS extender (embedded) 13774>>>>>0x240 search/0x100 !DOS/4G ,\b BW collection for MS-DOS 13775 13776# This sequence skips to the first COFF segment, usually .text 13777>(4.s*512) leshort 0x014c \b, COFF 13778>>(8.s*16) string go32stub for MS-DOS, DJGPP go32 DOS extender 13779>>(8.s*16) string emx 13780>>>&1 string x for DOS, Win or OS/2, emx %s 13781>>&(&0x42.l-3) byte x 13782>>>&0x26 string UPX \b, UPX compressed 13783# and yet another guess: small .text, and after large .data is unusal, could be 32lite 13784>>&0x2c search/0xa0 .text 13785>>>&0x0b lelong <0x2000 13786>>>>&0 lelong >0x6000 \b, 32lite compressed 13787 13788>(8.s*16) string $WdX \b, WDos/X DOS extender 13789 13790# By now an executable type should have been printed out. The executable 13791# may be a self-uncompressing archive, so look for evidence of that and 13792# print it out. 13793# 13794# Some signatures below from Greg Roelofs, newt@uchicago.edu. 13795# 13796>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 13797>0xe7 string LH/2\ Self-Extract \b, %s 13798>0x1c string UC2X \b, UCEXE compressed 13799>0x1c string WWP\ \b, WWPACK compressed 13800>0x1c string RJSX \b, ARJ self-extracting archive 13801>0x1c string diet \b, diet compressed 13802>0x1c string LZ09 \b, LZEXE v0.90 compressed 13803>0x1c string LZ91 \b, LZEXE v0.91 compressed 13804>0x1c string tz \b, TinyProg compressed 13805>0x1e string Copyright\ 1989-1990\ PKWARE\ Inc. Self-extracting PKZIP archive 13806!:mime application/zip 13807# Yes, this really is "Copr", not "Corp." 13808>0x1e string PKLITE\ Copr. Self-extracting PKZIP archive 13809!:mime application/zip 13810# winarj stores a message in the stub instead of the sig in the MZ header 13811>0x20 search/0xe0 aRJsfX \b, ARJ self-extracting archive 13812>0x20 string AIN 13813>>0x23 string 2 \b, AIN 2.x compressed 13814>>0x23 string <2 \b, AIN 1.x compressed 13815>>0x23 string >2 \b, AIN 1.x compressed 13816>0x24 string LHa's\ SFX \b, LHa self-extracting archive 13817!:mime application/x-lha 13818>0x24 string LHA's\ SFX \b, LHa self-extracting archive 13819!:mime application/x-lha 13820>0x24 string \ $ARX \b, ARX self-extracting archive 13821>0x24 string \ $LHarc \b, LHarc self-extracting archive 13822>0x20 string SFX\ by\ LARC \b, LARC self-extracting archive 13823>0x40 string aPKG \b, aPackage self-extracting archive 13824>0x64 string W\ Collis\0\0 \b, Compack compressed 13825>0x7a string Windows\ self-extracting\ ZIP \b, ZIP self-extracting archive 13826>>&0xf4 search/0x140 \x0\x40\x1\x0 13827>>>(&0.l+(4)) string MSCF \b, WinHKI CAB self-extracting archive 13828>1638 string -lh5- \b, LHa self-extracting archive v2.13S 13829>0x17888 string Rar! \b, RAR self-extracting archive 13830 13831# Skip to the end of the EXE. This will usually work fine in the PE case 13832# because the MZ image is hardcoded into the toolchain and almost certainly 13833# won't match any of these signatures. 13834>(4.s*512) long x 13835>>&(2.s-517) byte x 13836>>>&0 string PK\3\4 \b, ZIP self-extracting archive 13837>>>&0 string Rar! \b, RAR self-extracting archive 13838>>>&0 string =!\x11 \b, AIN 2.x self-extracting archive 13839>>>&0 string =!\x12 \b, AIN 2.x self-extracting archive 13840>>>&0 string =!\x17 \b, AIN 1.x self-extracting archive 13841>>>&0 string =!\x18 \b, AIN 1.x self-extracting archive 13842>>>&7 search/400 **ACE** \b, ACE self-extracting archive 13843>>>&0 search/0x480 UC2SFX\ Header \b, UC2 self-extracting archive 13844 13845# a few unknown ZIP sfxes, no idea if they are needed or if they are 13846# already captured by the generic patterns above 13847>(8.s*16) search/0x20 PKSFX \b, ZIP self-extracting archive (PKZIP) 13848# TODO: how to add this? >FileSize-34 string Windows\ Self-Installing\ Executable \b, ZIP self-extracting archive 13849# 13850 13851# TELVOX Teleinformatica CODEC self-extractor for OS/2: 13852>49801 string \x79\xff\x80\xff\x76\xff \b, CODEC archive v3.21 13853>>49824 leshort =1 \b, 1 file 13854>>49824 leshort >1 \b, %u files 13855 13856# added by Joerg Jenderek of http://www.freedos.org/software/?prog=kc 13857# and http://www.freedos.org/software/?prog=kpdos 13858# for FreeDOS files like KEYBOARD.SYS, KEYBRD2.SYS, KEYBRD3.SYS, *.KBD 138590 string/b KCF FreeDOS KEYBoard Layout collection 13860# only version=0x100 found 13861>3 uleshort x \b, version 0x%x 13862# length of string containing author,info and special characters 13863>6 ubyte >0 13864#>>6 pstring x \b, name=%s 13865>>7 string >\0 \b, author=%-.14s 13866>>7 search/254 \xff \b, info= 13867#>>>&0 string x \b%-s 13868>>>&0 string x \b%-.15s 13869# for FreeDOS *.KL files 138700 string/b KLF FreeDOS KEYBoard Layout file 13871# only version=0x100 or 0x101 found 13872>3 uleshort x \b, version 0x%x 13873# stringlength 13874>5 ubyte >0 13875>>8 string x \b, name=%-.2s 138760 string \xffKEYB\ \ \ \0\0\0\0 13877>12 string \0\0\0\0`\004\360 MS-DOS KEYBoard Layout file 13878 13879# .COM formats (Daniel Quinlan, quinlan@yggdrasil.com) 13880# Uncommenting only the first two lines will cover about 2/3 of COM files, 13881# but it isn't feasible to match all COM files since there must be at least 13882# two dozen different one-byte "magics". 13883# test too generic ? 138840 byte 0xe9 DOS executable (COM) 13885>0x1FE leshort 0xAA55 \b, boot code 13886>6 string SFX\ of\ LHarc (%s) 13887 13888# DOS device driver updated by Joerg Jenderek at May 2011 13889# http://maben.homeip.net/static/S100/IBM/software/DOS/DOS%20techref/CHAPTER.009 138900 ulequad&0x07a0ffffffff 0xffffffff DOS executable ( 13891>40 search/7 UPX! \bUPX compressed 13892# DOS device driver attributes 13893>4 uleshort&0x8000 0x0000 \bblock device driver 13894# character device 13895>4 uleshort&0x8000 0x8000 \b 13896>>4 uleshort&0x0008 0x0008 \bclock 13897# fast video output by int 29h 13898>>4 uleshort&0x0010 0x0010 \bfast 13899# standard input/output device 13900>>4 uleshort&0x0003 >0 \bstandard 13901>>>4 uleshort&0x0001 0x0001 \binput 13902>>>4 uleshort&0x0003 0x0003 \b/ 13903>>>4 uleshort&0x0002 0x0002 \boutput 13904>>4 uleshort&0x8000 0x8000 \bcharacter device driver 13905>0 ubyte x 13906# upx compressed device driver has garbage instead of real in name field of header 13907>>40 search/7 UPX! 13908>>40 default x 13909# leading/trailing nulls, zeros or non ASCII characters in 8-byte name field at offset 10 are skipped 13910>>>12 ubyte >0x27 \b 13911>>>>10 ubyte >0x20 13912>>>>>10 ubyte !0x2E 13913>>>>>>10 ubyte !0x2A \b%c 13914>>>>11 ubyte >0x20 13915>>>>>11 ubyte !0x2E \b%c 13916>>>>12 ubyte >0x20 13917>>>>>12 ubyte !0x39 13918>>>>>>12 ubyte !0x2E \b%c 13919>>>13 ubyte >0x20 13920>>>>13 ubyte !0x2E \b%c 13921>>>>14 ubyte >0x20 13922>>>>>14 ubyte !0x2E \b%c 13923>>>>15 ubyte >0x20 13924>>>>>15 ubyte !0x2E \b%c 13925>>>>16 ubyte >0x20 13926>>>>>16 ubyte !0x2E 13927>>>>>>16 ubyte <0xCB \b%c 13928>>>>17 ubyte >0x20 13929>>>>>17 ubyte !0x2E 13930>>>>>>17 ubyte <0x90 \b%c 13931# some character device drivers like ASPICD.SYS, btcdrom.sys and Cr_atapi.sys contain only spaces or points in name field 13932>>>4 uleshort&0x8000 0x8000 13933>>>>12 ubyte <0x2F 13934# they have their real name at offset 22 13935>>>>>22 string >\0 \b%-.5s 13936>4 uleshort&0x8000 0x0000 13937# 32 bit sector adressing ( > 32 MB) for block devices 13938>>4 uleshort&0x0002 0x0002 \b,32-bit sector- 13939# support by driver functions 13h, 17h, 18h 13940>4 uleshort&0x0040 0x0040 \b,IOCTL- 13941# open, close, removable media support by driver functions 0Dh, 0Eh, 0Fh 13942>4 uleshort&0x0800 0x0800 \b,close media- 13943# output until busy support by int 10h for character device driver 13944>4 uleshort&0x8000 0x8000 13945>>4 uleshort&0x2000 0x2000 \b,until busy- 13946# direct read/write support by driver functions 03h,0Ch 13947>4 uleshort&0x4000 0x4000 \b,control strings- 13948>4 uleshort&0x8000 0x8000 13949>>4 uleshort&0x6840 >0 \bsupport 13950>4 uleshort&0x8000 0x0000 13951>>4 uleshort&0x4842 >0 \bsupport 13952>0 ubyte x \b) 13953# DOS driver cmd640x.sys has 0x12 instead of 0xffffffff for pointer field to next device header 13954# Too weak, matches files that only contain 0's 13955#0 ulequad&0x000007a0ffffffed 0x0000000000000000 DOS-executable ( 13956#>4 uleshort&0x8000 0x8000 \bcharacter device driver 13957#>>10 string x %-.8s 13958#>4 uleshort&0x4000 0x4000 \b,control strings-support) 13959 13960# test too generic ? 139610 byte 0x8c DOS executable (COM) 13962# updated by Joerg Jenderek at Oct 2008 139630 ulelong 0xffff10eb DR-DOS executable (COM) 13964# byte 0xeb conflicts with "sequent" magic leshort 0xn2eb 139650 ubeshort&0xeb8d >0xeb00 13966# DR-DOS STACKER.COM SCREATE.SYS missed 13967>0 byte 0xeb 13968>>0x1FE leshort 0xAA55 DOS executable (COM), boot code 13969>>85 string UPX DOS executable (COM), UPX compressed 13970>>4 string \ $ARX DOS executable (COM), ARX self-extracting archive 13971>>4 string \ $LHarc DOS executable (COM), LHarc self-extracting archive 13972>>0x20e string SFX\ by\ LARC DOS executable (COM), LARC self-extracting archive 13973# updated by Joerg Jenderek at Oct 2008 13974#0 byte 0xb8 COM executable 139750 uleshort&0x80ff 0x00b8 13976# modified by Joerg Jenderek 13977>1 lelong !0x21cd4cff COM executable for DOS 13978# http://syslinux.zytor.com/comboot.php 13979# (32-bit COMBOOT) programs *.C32 contain 32-bit code and run in flat-memory 32-bit protected mode 13980# start with assembler instructions mov eax,21cd4cffh 139810 uleshort&0xc0ff 0xc0b8 13982>1 lelong 0x21cd4cff COM executable (32-bit COMBOOT) 13983# syslinux:doc/comboot.txt 13984# A COM32R program must start with the byte sequence B8 FE 4C CD 21 (mov 13985# eax,21cd4cfeh) as a magic number. 139860 string/b \xb8\xfe\x4c\xcd\x21 COM executable (COM32R) 13987# start with assembler instructions mov eax,21cd4cfeh 139880 uleshort&0xc0ff 0xc0b8 13989>1 lelong 0x21cd4cfe COM executable (32-bit COMBOOT, relocatable) 139900 string/b \x81\xfc 13991>4 string \x77\x02\xcd\x20\xb9 13992>>36 string UPX! FREE-DOS executable (COM), UPX compressed 13993252 string Must\ have\ DOS\ version DR-DOS executable (COM) 13994# added by Joerg Jenderek at Oct 2008 13995# GRR search is not working 13996#34 search/2 UPX! FREE-DOS executable (COM), UPX compressed 1399734 string UPX! FREE-DOS executable (COM), UPX compressed 1399835 string UPX! FREE-DOS executable (COM), UPX compressed 13999# GRR search is not working 14000#2 search/28 \xcd\x21 COM executable for MS-DOS 14001#WHICHFAT.cOM 140022 string \xcd\x21 COM executable for DOS 14003#DELTREE.cOM DELTREE2.cOM 140044 string \xcd\x21 COM executable for DOS 14005#IFMEMDSK.cOM ASSIGN.cOM COMP.cOM 140065 string \xcd\x21 COM executable for DOS 14007#DELTMP.COm HASFAT32.cOM 140087 string \xcd\x21 14009>0 byte !0xb8 COM executable for DOS 14010#COMP.cOM MORE.COm 1401110 string \xcd\x21 14012>5 string !\xcd\x21 COM executable for DOS 14013#comecho.com 1401413 string \xcd\x21 COM executable for DOS 14015#HELP.COm EDIT.coM 1401618 string \xcd\x21 COM executable for MS-DOS 14017#NWRPLTRM.COm 1401823 string \xcd\x21 COM executable for MS-DOS 14019#LOADFIX.cOm LOADFIX.cOm 1402030 string \xcd\x21 COM executable for MS-DOS 14021#syslinux.com 3.11 1402270 string \xcd\x21 COM executable for DOS 14023# many compressed/converted COMs start with a copy loop instead of a jump 140240x6 search/0xa \xfc\x57\xf3\xa5\xc3 COM executable for MS-DOS 140250x6 search/0xa \xfc\x57\xf3\xa4\xc3 COM executable for DOS 14026>0x18 search/0x10 \x50\xa4\xff\xd5\x73 \b, aPack compressed 140270x3c string W\ Collis\0\0 COM executable for MS-DOS, Compack compressed 14028# FIXME: missing diet .com compression 14029 14030# miscellaneous formats 140310 string/b LZ MS-DOS executable (built-in) 14032#0 byte 0xf0 MS-DOS program library data 14033# 14034 14035# AAF files: 14036# <stuartc@rd.bbc.co.uk> Stuart Cunningham 140370 string/b \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 14038>30 byte 9 (512B sectors) 14039>30 byte 12 (4kB sectors) 140400 string/b \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 14041>30 byte 9 (512B sectors) 14042>30 byte 12 (4kB sectors) 14043 14044# Popular applications 140452080 string Microsoft\ Word\ 6.0\ Document %s 14046!:mime application/msword 140472080 string Documento\ Microsoft\ Word\ 6 Spanish Microsoft Word 6 document data 14048!:mime application/msword 14049# Pawel Wiecek <coven@i17linuxb.ists.pwr.wroc.pl> (for polish Word) 140502112 string MSWordDoc Microsoft Word document data 14051!:mime application/msword 14052# 140530 belong 0x31be0000 Microsoft Word Document 14054!:mime application/msword 14055# 140560 string/b PO^Q` Microsoft Word 6.0 Document 14057!:mime application/msword 14058# 140590 string/b \376\067\0\043 Microsoft Office Document 14060!:mime application/msword 140610 string/b \333\245-\0\0\0 Microsoft Office Document 14062!:mime application/msword 14063512 string/b \354\245\301 Microsoft Word Document 14064!:mime application/msword 14065 14066# 140670 string/b \xDB\xA5\x2D\x00 Microsoft WinWord 2.0 Document 14068!:mime application/msword 14069# 140702080 string Microsoft\ Excel\ 5.0\ Worksheet %s 14071!:mime application/vnd.ms-excel 14072# 140730 string/b \xDB\xA5\x2D\x00 Microsoft WinWord 2.0 Document 14074!:mime application/msword 14075 140762080 string Foglio\ di\ lavoro\ Microsoft\ Exce %s 14077!:mime application/vnd.ms-excel 14078# 14079# Pawel Wiecek <coven@i17linuxb.ists.pwr.wroc.pl> (for polish Excel) 140802114 string Biff5 Microsoft Excel 5.0 Worksheet 14081!:mime application/vnd.ms-excel 14082# Italian MS-Excel 140832121 string Biff5 Microsoft Excel 5.0 Worksheet 14084!:mime application/vnd.ms-excel 140850 string/b \x09\x04\x06\x00\x00\x00\x10\x00 Microsoft Excel Worksheet 14086!:mime application/vnd.ms-excel 14087# 140880 belong 0x00001a00 Lotus 1-2-3 14089!:mime application/x-123 14090>4 belong 0x00100400 wk3 document data 14091>4 belong 0x02100400 wk4 document data 14092>4 belong 0x07800100 fm3 or fmb document data 14093>4 belong 0x07800000 fm3 or fmb document data 14094# 140950 belong 0x00000200 Lotus 1-2-3 14096!:mime application/x-123 14097>4 belong 0x06040600 wk1 document data 14098>4 belong 0x06800200 fmt document data 140990 string/b WordPro\0 Lotus WordPro 14100!:mime application/vnd.lotus-wordpro 141010 string/b WordPro\r\373 Lotus WordPro 14102!:mime application/vnd.lotus-wordpro 14103 14104 14105# Summary: Script used by InstallScield to uninstall applications 14106# Extension: .isu 14107# Submitted by: unknown 14108# Modified by (1): Abel Cheung <abelcheung@gmail.com> (replace useless entry) 141090 string \x71\xa8\x00\x00\x01\x02 14110>12 string Stirling\ Technologies, InstallShield Uninstall Script 14111 14112# Winamp .avs 14113#0 string Nullsoft\ AVS\ Preset\ \060\056\061\032 A plug in for Winamp ms-windows Freeware media player 141140 string/b Nullsoft\ AVS\ Preset\ Winamp plug in 14115 14116# Windows Metafont .WMF 141170 string/b \327\315\306\232 ms-windows metafont .wmf 141180 string/b \002\000\011\000 ms-windows metafont .wmf 141190 string/b \001\000\011\000 ms-windows metafont .wmf 14120 14121#tz3 files whatever that is (MS Works files) 141220 string/b \003\001\001\004\070\001\000\000 tz3 ms-works file 141230 string/b \003\002\001\004\070\001\000\000 tz3 ms-works file 141240 string/b \003\003\001\004\070\001\000\000 tz3 ms-works file 14125 14126# PGP sig files .sig 14127#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 141280 string \211\000\077\003\005\000\063\237\127\065\027\266\151\064\005\045\101\233\021\002 PGP sig 141290 string \211\000\077\003\005\000\063\237\127\066\027\266\151\064\005\045\101\233\021\002 PGP sig 141300 string \211\000\077\003\005\000\063\237\127\067\027\266\151\064\005\045\101\233\021\002 PGP sig 141310 string \211\000\077\003\005\000\063\237\127\070\027\266\151\064\005\045\101\233\021\002 PGP sig 141320 string \211\000\077\003\005\000\063\237\127\071\027\266\151\064\005\045\101\233\021\002 PGP sig 141330 string \211\000\225\003\005\000\062\122\207\304\100\345\042 PGP sig 14134 14135# windows zips files .dmf 141360 string/b MDIF\032\000\010\000\000\000\372\046\100\175\001\000\001\036\001\000 MS Windows special zipped file 14137 14138 14139#ico files 141400 string/b \102\101\050\000\000\000\056\000\000\000\000\000\000\000 Icon for MS Windows 14141 14142# Windows icons (Ian Springer <ips@fpk.hp.com>) 141430 string/b \000\000\001\000 MS Windows icon resource 14144!:mime image/x-icon 14145>4 byte 1 - 1 icon 14146>4 byte >1 - %d icons 14147>>6 byte >0 \b, %dx 14148>>>7 byte >0 \b%d 14149>>8 byte 0 \b, 256-colors 14150>>8 byte >0 \b, %d-colors 14151 14152 14153# .chr files 141540 string/b PK\010\010BGI Borland font 14155>4 string >\0 %s 14156# then there is a copyright notice 14157 14158 14159# .bgi files 141600 string/b pk\010\010BGI Borland device 14161>4 string >\0 %s 14162# then there is a copyright notice 14163 14164 14165# Windows Recycle Bin record file (named INFO2) 14166# By Abel Cheung (abelcheung AT gmail dot com) 14167# Version 4 always has 280 bytes (0x118) per record, version 5 has 800 bytes 14168# Since Vista uses another structure, INFO2 structure probably won't change 14169# anymore. Detailed analysis in: 14170# http://www.cybersecurityinstitute.biz/downloads/INFO2.pdf 141710 lelong 0x00000004 14172>12 lelong 0x00000118 Windows Recycle Bin INFO2 file (Win98 or below) 14173 141740 lelong 0x00000005 14175>12 lelong 0x00000320 Windows Recycle Bin INFO2 file (Win2k - WinXP) 14176 14177 14178##### put in Either Magic/font or Magic/news 14179# Acroread or something files wrongly identified as G3 .pfm 14180# these have the form \000 \001 any? \002 \000 \000 14181# or \000 \001 any? \022 \000 \000 141820 belong&0xffff00ff 0x00010012 PFM data 14183>4 string \000\000 14184>6 string >\060 - %s 14185 141860 belong&0xffff00ff 0x00010002 PFM data 14187>4 string \000\000 14188>6 string >\060 - %s 14189#0 string \000\001 pfm? 14190#>3 string \022\000\000Copyright\ yes 14191#>3 string \002\000\000Copyright\ yes 14192#>3 string >\0 oops, not a font file. Cancel that. 14193#it clashes with ttf files so put it lower down. 14194 14195# From Doug Lee via a FreeBSD pr 141969 string GERBILDOC First Choice document 141979 string GERBILDB First Choice database 141989 string GERBILCLIP First Choice database 141990 string GERBIL First Choice device file 142009 string RABBITGRAPH RabbitGraph file 142010 string DCU1 Borland Delphi .DCU file 142020 string =!<spell> MKS Spell hash list (old format) 142030 string =!<spell2> MKS Spell hash list 14204# Too simple - MPi 14205#0 string AH Halo(TM) bitmapped font file 142060 lelong 0x08086b70 TurboC BGI file 142070 lelong 0x08084b50 TurboC Font file 14208 14209# tests for DBase files moved, updated and merged to database 14210 142110 string PMCC Windows 3.x .GRP file 142121 string RDC-meg MegaDots 14213>8 byte >0x2F version %c 14214>9 byte >0x2F \b.%c file 142150 lelong 0x4C 14216>4 lelong 0x00021401 Windows shortcut file 14217 14218# .PIF files added by Joerg Jenderek from http://smsoft.ru/en/pifdoc.htm 14219# only for windows versions equal or greater 3.0 142200x171 string MICROSOFT\ PIFEX\0 Windows Program Information File 14221!:mime application/x-dosexec 14222#>2 string >\0 \b, Title:%.30s 14223>0x24 string >\0 \b for %.63s 14224>0x65 string >\0 \b, directory=%.64s 14225>0xA5 string >\0 \b, parameters=%.64s 14226#>0x181 leshort x \b, offset %x 14227#>0x183 leshort x \b, offsetdata %x 14228#>0x185 leshort x \b, section length %x 14229>0x187 search/0xB55 WINDOWS\ VMM\ 4.0\0 14230>>&0x5e ubyte >0 14231>>>&-1 string <PIFMGR.DLL \b, icon=%s 14232#>>>&-1 string PIFMGR.DLL \b, icon=%s 14233>>>&-1 string >PIFMGR.DLL \b, icon=%s 14234>>&0xF0 ubyte >0 14235>>>&-1 string <Terminal \b, font=%.32s 14236#>>>&-1 string =Terminal \b, font=%.32s 14237>>>&-1 string >Terminal \b, font=%.32s 14238>>&0x110 ubyte >0 14239>>>&-1 string <Lucida\ Console \b, TrueTypeFont=%.32s 14240#>>>&-1 string =Lucida\ Console \b, TrueTypeFont=%.32s 14241>>>&-1 string >Lucida\ Console \b, TrueTypeFont=%.32s 14242#>0x187 search/0xB55 WINDOWS\ 286\ 3.0\0 \b, Windows 3.X standard mode-style 14243#>0x187 search/0xB55 WINDOWS\ 386\ 3.0\0 \b, Windows 3.X enhanced mode-style 14244>0x187 search/0xB55 WINDOWS\ NT\ \ 3.1\0 \b, Windows NT-style 14245#>0x187 search/0xB55 WINDOWS\ NT\ \ 4.0\0 \b, Windows NT-style 14246>0x187 search/0xB55 CONFIG\ \ SYS\ 4.0\0 \b +CONFIG.SYS 14247#>>&06 string x \b:%s 14248>0x187 search/0xB55 AUTOEXECBAT\ 4.0\0 \b +AUTOEXEC.BAT 14249#>>&06 string x \b:%s 14250 14251# DOS EPS Binary File Header 14252# From: Ed Sznyter <ews@Black.Market.NET> 142530 belong 0xC5D0D3C6 DOS EPS Binary File 14254>4 long >0 Postscript starts at byte %d 14255>>8 long >0 length %d 14256>>>12 long >0 Metafile starts at byte %d 14257>>>>16 long >0 length %d 14258>>>20 long >0 TIFF starts at byte %d 14259>>>>24 long >0 length %d 14260 14261# TNEF magic From "Joomy" <joomy@se-ed.net> 14262# Microsoft Outlook's Transport Neutral Encapsulation Format (TNEF) 142630 leshort 0x223e9f78 TNEF 14264!:mime application/vnd.ms-tnef 14265 14266# 4DOS help (.HLP) files added by Joerg Jenderek from source TPHELP.PAS 14267# of http://www.4dos.info/ 14268# pointer,HelpID[8]=4DHnnnmm 142690 ulelong 0x48443408 4DOS help file 14270>4 string x \b, version %-4.4s 14271 14272# old binary Microsoft (.HLP) files added by Joerg Jenderek from http://file-extension.net/seeker/file_extension_hlp 142730 ulequad 0x3a000000024e4c MS Advisor help file 14274 14275# HtmlHelp files (.chm) 142760 string/b ITSF\003\000\000\000\x60\000\000\000\001\000\000\000 MS Windows HtmlHelp Data 14277 14278# GFA-BASIC (Wolfram Kleff) 142792 string/b GFA-BASIC3 GFA-BASIC 3 data 14280 14281#------------------------------------------------------------------------------ 14282# From Stuart Caie <kyzer@4u.net> (developer of cabextract) 14283# Microsoft Cabinet files 142840 string/b MSCF\0\0\0\0 Microsoft Cabinet archive data 14285!:mime application/vnd.ms-cab-compressed 14286>8 lelong x \b, %u bytes 14287>28 leshort 1 \b, 1 file 14288>28 leshort >1 \b, %u files 14289 14290# InstallShield Cabinet files 142910 string/b ISc( InstallShield Cabinet archive data 14292>5 byte&0xf0 =0x60 version 6, 14293>5 byte&0xf0 !0x60 version 4/5, 14294>(12.l+40) lelong x %u files 14295 14296# Windows CE package files 142970 string/b MSCE\0\0\0\0 Microsoft WinCE install header 14298>20 lelong 0 \b, architecture-independent 14299>20 lelong 103 \b, Hitachi SH3 14300>20 lelong 104 \b, Hitachi SH4 14301>20 lelong 0xA11 \b, StrongARM 14302>20 lelong 4000 \b, MIPS R4000 14303>20 lelong 10003 \b, Hitachi SH3 14304>20 lelong 10004 \b, Hitachi SH3E 14305>20 lelong 10005 \b, Hitachi SH4 14306>20 lelong 70001 \b, ARM 7TDMI 14307>52 leshort 1 \b, 1 file 14308>52 leshort >1 \b, %u files 14309>56 leshort 1 \b, 1 registry entry 14310>56 leshort >1 \b, %u registry entries 14311 14312 14313# Windows Enhanced Metafile (EMF) 14314# See msdn.microsoft.com/archive/en-us/dnargdi/html/msdn_enhmeta.asp 14315# for further information. 143160 ulelong 1 14317>40 string \ EMF Windows Enhanced Metafile (EMF) image data 14318>>44 ulelong x version 0x%x 14319 14320# From: Alex Beregszaszi <alex@fsn.hu> 143210 string/b COWD VMWare3 14322>4 byte 3 disk image 14323>>32 lelong x (%d/ 14324>>36 lelong x \b%d/ 14325>>40 lelong x \b%d) 14326>4 byte 2 undoable disk image 14327>>32 string >\0 (%s) 14328 143290 string/b VMDK VMware4 disk image 143300 string/b KDMV VMware4 disk image 14331 14332#-------------------------------------------------------------------- 14333# Qemu Emulator Images 14334# Lines written by Friedrich Schwittay (f.schwittay@yousable.de) 14335# Updated by Adam Buchbinder (adam.buchbinder@gmail.com) 14336# Made by reading sources, reading documentation, and doing trial and error 14337# on existing QCOW files 143380 string/b QFI\xFB QEMU QCOW Image 14339 14340# Uncomment the following line to display Magic (only used for debugging 14341# this magic number) 14342#>0 string/b x , Magic: %s 14343 14344# There are currently 2 Versions: "1" and "2". 14345# http://www.gnome.org/~markmc/qcow-image-format-version-1.html 14346>4 belong 1 (v1) 14347 14348# Using the existence of the Backing File Offset to determine whether 14349# to read Backing File Information 14350>>12 belong >0 \b, has backing file ( 14351# Note that this isn't a null-terminated string; the length is actually 14352# (16.L). Assuming a null-terminated string happens to work usually, but it 14353# may spew junk until it reaches a \0 in some cases. 14354>>>(12.L) string >\0 \bpath %s 14355 14356# Modification time of the Backing File 14357# Really useful if you want to know if your backing 14358# file is still usable together with this image 14359>>>>20 bedate >0 \b, mtime %s) 14360>>>>20 default x \b) 14361 14362# Size is stored in bytes in a big-endian u64. 14363>>24 bequad x \b, %lld bytes 14364 14365# 1 for AES encryption, 0 for none. 14366>>36 belong 1 \b, AES-encrypted 14367 14368# http://www.gnome.org/~markmc/qcow-image-format.html 14369>4 belong 2 (v2) 14370# Using the existence of the Backing File Offset to determine whether 14371# to read Backing File Information 14372>>8 bequad >0 \b, has backing file 14373# Note that this isn't a null-terminated string; the length is actually 14374# (16.L). Assuming a null-terminated string happens to work usually, but it 14375# may spew junk until it reaches a \0 in some cases. Also, since there's no 14376# .Q modifier, we just use the bottom four bytes as an offset. Note that if 14377# the file is over 4G, and the backing file path is stored after the first 4G, 14378# the wrong filename will be printed. (This should be (8.Q), when that syntax 14379# is introduced.) 14380>>>(12.L) string >\0 (path %s) 14381>>24 bequad x \b, %lld bytes 14382>>32 belong 1 \b, AES-encrypted 14383 14384>4 belong 3 (v3) 14385# Using the existence of the Backing File Offset to determine whether 14386# to read Backing File Information 14387>>8 bequad >0 \b, has backing file 14388# Note that this isn't a null-terminated string; the length is actually 14389# (16.L). Assuming a null-terminated string happens to work usually, but it 14390# may spew junk until it reaches a \0 in some cases. Also, since there's no 14391# .Q modifier, we just use the bottom four bytes as an offset. Note that if 14392# the file is over 4G, and the backing file path is stored after the first 4G, 14393# the wrong filename will be printed. (This should be (8.Q), when that syntax 14394# is introduced.) 14395>>>(12.L) string >\0 (path %s) 14396>>24 bequad x \b, %lld bytes 14397>>32 belong 1 \b, AES-encrypted 14398 14399>4 default x (unknown version) 14400 144010 string/b QEVM QEMU suspend to disk image 14402 14403# QEMU QED Image 14404# http://wiki.qemu.org/Features/QED/Specification 144050 string/b QED\0 QEMU QED Image 14406 14407# VDI Image 1440864 string/b \x7f\x10\xda\xbe VDI Image 14409>68 string/b \x01\x00\x01\x00 version 1.1 14410>0 string >\0 (%s) 14411>368 lequad x \b, %lld bytes 14412 144130 string/b Bochs\ Virtual\ HD\ Image Bochs disk image, 14414>32 string x type %s, 14415>48 string x subtype %s 14416 144170 lelong 0x02468ace Bochs Sparse disk image 14418 14419# from http://filext.com by Derek M Jones <derek@knosof.co.uk> 14420# False positive with PPT (also currently this string is too long) 14421#0 string/b \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 144220 string/b \320\317\021\340\241\261\032\341 Microsoft Office Document 14423#>48 byte 0x1B Excel Document 14424#!:mime application/vnd.ms-excel 14425>546 string bjbj Microsoft Word Document 14426!:mime application/msword 14427>546 string jbjb Microsoft Word Document 14428!:mime application/msword 14429 144300 string/b \224\246\056 Microsoft Word Document 14431!:mime application/msword 14432 14433512 string R\0o\0o\0t\0\ \0E\0n\0t\0r\0y Microsoft Word Document 14434!:mime application/msword 14435 14436# From: "Nelson A. de Oliveira" <naoliv@gmail.com> 14437# Magic type for Dell's BIOS .hdr files 14438# Dell's .hdr 144390 string/b $RBU 14440>23 string Dell %s system BIOS 14441>5 byte 2 14442>>48 byte x version %d. 14443>>49 byte x \b%d. 14444>>50 byte x \b%d 14445>5 byte <2 14446>>48 string x version %.3s 14447 14448# Type: Microsoft DirectDraw Surface 14449# URL: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/directx9_c/directx/graphics/reference/DDSFileReference/ddsfileformat.asp 14450# From: Morten Hustveit <morten@debian.org> 144510 string/b DDS\040\174\000\000\000 Microsoft DirectDraw Surface (DDS), 14452>16 lelong >0 %hd x 14453>12 lelong >0 %hd, 14454>84 string x %.4s 14455 14456# Type: Microsoft Document Imaging Format (.mdi) 14457# URL: http://en.wikipedia.org/wiki/Microsoft_Document_Imaging_Format 14458# From: Daniele Sempione <scrows@oziosi.org> 144590 short 0x5045 Microsoft Document Imaging Format 14460 14461# MS eBook format (.lit) 144620 string/b ITOLITLS Microsoft Reader eBook Data 14463>8 lelong x \b, version %u 14464!:mime application/x-ms-reader 14465 14466# Windows CE Binary Image Data Format 14467# From: Dr. Jesus <j@hug.gs> 144680 string/b B000FF\n Windows Embedded CE binary image 14469 14470# Windows Imaging (WIM) Image 144710 string/b MSWIM\000\000\000 Windows imaging (WIM) image 14472 14473# The second byte of these signatures is a file version; I don't know what, 14474# if anything, produced files with version numbers 0-2. 14475# From: John Elliott <johne@seasip.demon.co.uk> 144760 string \xfc\x03\x00 Mallard BASIC program data (v1.11) 144770 string \xfc\x04\x00 Mallard BASIC program data (v1.29+) 144780 string \xfc\x03\x01 Mallard BASIC protected program data (v1.11) 144790 string \xfc\x04\x01 Mallard BASIC protected program data (v1.29+) 14480 144810 string MIOPEN Mallard BASIC Jetsam data 144820 string Jetsam0 Mallard BASIC Jetsam index data 14483 14484 14485#------------------------------------------------------------------------------ 14486# $File: msooxml,v 1.4 2014/01/06 18:16:24 rrt Exp $ 14487# msooxml: file(1) magic for Microsoft Office XML 14488# From: Ralf Brown <ralf.brown@gmail.com> 14489 14490# .docx, .pptx, and .xlsx are XML plus other files inside a ZIP 14491# archive. The first member file is normally "[Content_Types].xml". 14492# but some libreoffice generated files put this later. Perhaps skip 14493# the "[Content_Types].xml" test? 14494# Since MSOOXML doesn't have anything like the uncompressed "mimetype" 14495# file of ePub or OpenDocument, we'll have to scan for a filename 14496# which can distinguish between the three types 14497 14498# start by checking for ZIP local file header signature 144990 string PK\003\004 14500!:strength +10 14501# make sure the first file is correct 14502>0x1E regex \[Content_Types\]\.xml|_rels/\.rels 14503# skip to the second local file header 14504# since some documents include a 520-byte extra field following the file 14505# header, we need to scan for the next header 14506>>(18.l+49) search/2000 PK\003\004 14507# now skip to the *third* local file header; again, we need to scan due to a 14508# 520-byte extra field following the file header 14509>>>&26 search/1000 PK\003\004 14510# and check the subdirectory name to determine which type of OOXML 14511# file we have. Correct the mimetype with the registered ones: 14512# http://technet.microsoft.com/en-us/library/cc179224.aspx 14513>>>>&26 string word/ Microsoft Word 2007+ 14514!:mime application/vnd.openxmlformats-officedocument.wordprocessingml.document 14515>>>>&26 string ppt/ Microsoft PowerPoint 2007+ 14516!:mime application/vnd.openxmlformats-officedocument.presentationml.presentation 14517>>>>&26 string xl/ Microsoft Excel 2007+ 14518!:mime application/vnd.openxmlformats-officedocument.spreadsheetml.sheet 14519>>>>&26 default x Microsoft OOXML 14520 14521#------------------------------------------------------------------------------ 14522# $File: msvc,v 1.5 2009/09/19 16:28:11 christos Exp $ 14523# msvc: file(1) magic for msvc 14524# "H. Nanosecond" <aldomel@ix.netcom.com> 14525# Microsoft visual C 14526# 14527# I have version 1.0 14528 14529# .aps 145300 string HWB\000\377\001\000\000\000 Microsoft Visual C .APS file 14531 14532# .ide 14533#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 145340 string \102\157\162\154\141\156\144\040\103\053\053\040\120\162\157 MSVC .ide 14535 14536# .res 145370 string \000\000\000\000\040\000\000\000\377 MSVC .res 145380 string \377\003\000\377\001\000\020\020\350 MSVC .res 145390 string \377\003\000\377\001\000\060\020\350 MSVC .res 14540 14541#.lib 145420 string \360\015\000\000 Microsoft Visual C library 145430 string \360\075\000\000 Microsoft Visual C library 145440 string \360\175\000\000 Microsoft Visual C library 14545 14546#.pch 145470 string DTJPCH0\000\022\103\006\200 Microsoft Visual C .pch 14548 14549# .pdb 14550# too long 0 string Microsoft\ C/C++\ program\ database\ 145510 string Microsoft\ C/C++\ MSVC program database 14552>18 string program\ database\ 14553>33 string >\0 ver %s 14554 14555#.sbr 145560 string \000\002\000\007\000 MSVC .sbr 14557>5 string >\0 %s 14558 14559#.bsc 145600 string \002\000\002\001 MSVC .bsc 14561 14562#.wsp 145630 string 1.00\ .0000.0000\000\003 MSVC .wsp version 1.0000.0000 14564# these seem to start with the version and contain menus 14565 14566#------------------------------------------------------------------------------ 14567# msx: file(1) magic for the MSX Home Computer 14568# v1.1 14569# Fábio R. Schmidlin <sd-snatcher@users.sourceforge.net> 14570 14571############## MSX Music file formats ############## 14572 14573# Gigamix MGSDRV music file 145740 string MGS MSX Gigamix MGSDRV3 music file, 14575>6 ubeshort 0x0D0A 14576>>3 byte x \bv%c 14577>>4 byte x \b.%c 14578>>5 byte x \b%c 14579>>8 string >\0 \b, title: %s 14580 145811 string mgs2\ MSX Gigamix MGSDRV2 music file 14582>6 uleshort 0x80 14583>>0x2E uleshort 0 14584>>>0x30 string >\0 \b, title: %s 14585 14586# KSS music file 145870 string KSCC KSS music file v1.03 14588>0xE byte 0 14589>>0xF byte&0x02 0 \b, soundchips: AY-3-8910, SCC(+) 14590>>0xF byte&0x02 2 \b, soundchip(s): SN76489 14591>>>0xF byte&0x04 4 stereo 14592>>0xF byte&0x01 1 \b, YM2413 14593>>0xF byte&0x08 8 \b, Y8950 14594 145950 string KSSX KSS music file v1.20 14596>0xE byte&0xEF 0 14597>>0xF byte&0x40 0x00 \b, 60Hz 14598>>0xF byte&0x40 0x40 \b, 50Hz 14599>>0xF byte&0x02 0 \b, soundchips: AY-3-8910, SCC(+) 14600>>0xF byte&0x02 0x02 \b, soundchips: SN76489 14601>>>0xF byte&0x04 0x04 stereo 14602>>0xF byte&0x01 0x01 \b, 14603>>>0xF byte&0x18 0x00 \bYM2413 14604>>>0xF byte&0x18 0x08 \bYM2413, Y8950 14605>>>0xF byte&0x18 0x18 \bYM2413+Y8950 pseudostereo 14606>>0xF byte&0x18 0x10 \b, Majyutsushi DAC 14607 14608# Moonblaster for Moonsound 146090 string MBMS 14610>4 byte 0x10 MSX Moonblaster for MoonSound music 14611 14612# Music Player K-kaz 146130 string MPK MSX Music Player K-kaz song 14614>6 ubeshort 0x0D0A 14615>>3 byte x v%c 14616>>4 byte x \b.%c 14617>>5 byte x \b%c 14618 14619# I don't know why these don't work 14620#0 search/0xFFFF \r\n.FM9 14621#>0 search/0xFFFF \r\n#FORMAT MSX Music Player K-kaz source MML file 14622#0 search/0xFFFF \r\nFM1\ \= 14623#>0 search/0xFFFF \r\nPSG1\= 14624#>>0 search/0xFFFF \r\nSCC1\= MSX MuSiCa MML source file 14625 14626# OPX Music file 146270x35 beshort 0x0d0a 14628>0x7B beshort 0x0d0a 14629>>0x7D byte 0x1a 14630>>>0x87 uleshort 0 MSX OPX Music file 14631>>>>0x86 byte 0 v1.5 14632>>>>>0 string >\32 \b, title: %s 14633>>>>0x86 byte 1 v2.4 14634>>>>>0 string >\32 \b, title: %s 14635 14636# SCMD music file 146370x8B string SCMD 14638>0xCE uleshort 0 MSX SCMD Music file 14639#>>-2 uleshort 0x6a71 ; The file must end with this value. How to code this here? 14640>>0x8F string >\0 \b, title: %s 14641 146420 search/0xFFFF \r\n@title 14643>&0 search/0xFFFF \r\n@m=[ MSX SCMD source MML file 14644 14645 14646############## MSX image file formats ############## 14647 14648# MSX raw VRAM dump 146490 ubyte 0xFE 14650>1 uleshort 0 14651>>5 uleshort 0 14652>>>3 uleshort 0x37FF MSX SC2/GRP raw image 14653>>>3 uleshort 0x6A00 MSX Graph Saurus SR5 raw image 14654>>>3 uleshort >0x769E 14655>>>>3 uleshort <0x8000 MSX GE5/GE6 raw image 14656>>>>>3 uleshort 0x7FFF \b, with sprite patterns 14657>>>3 uleshort 0xD3FF MSX screen 7-12 raw image 14658>>>3 uleshort 0xD400 MSX Graph Saurus SR7/SR8/SRS raw image 14659 14660# Graph Saurus compressed images 146610 ubyte 0xFD 14662>1 uleshort 0 14663>>5 uleshort 0 14664>>>3 uleshort >0x013D MSX Graph Saurus compressed image 14665 14666# Maki-chan Graphic format 146670 string MAKI02\ \ Maki-chan image, 14668>8 byte x system ID: %c 14669>9 byte x \b%c 14670>10 byte x \b%c 14671>11 byte x \b%c, 14672>13 search/0x200 \x1A 14673# >>&3 ubyte 0 , video mode: PC-98 400 lines, 16 analog colors 14674# >>&3 ubyte 1 , video mode: MSX SC7, 16 analog colors 14675# >>&3 ubyte 2 , video mode: VM-98 400 lines, 8 analog colors 14676# >>&3 ubyte 3 , video mode: PC-88 analog, 200 lines, 8 analog colors 14677# >>&3 ubyte 4 , video mode: 400 lines, 16 digital colors 14678# >>&3 ubyte 5 , video mode: 200 lines, 16 digital colors 14679# >>&3 ubyte 6 , video mode: old PC-98 digital 400 lines, 8 colors 14680# >>&3 ubyte 7 , video mode: PC-88 400 lines, 8 digital colors 14681>>&8 uleshort+1 x %dx 14682>>&10 uleshort+1 x \b%d, 14683>>&3 ubyte&0x82 0x80 256 colors 14684>>&3 ubyte&0x82 0x00 16 colors 14685>>&3 ubyte&0x82 0x01 8 colors 14686>>&3 ubyte&0x04 4 digital 14687>>&3 ubyte&0x04 0 analog 14688>>&3 ubyte&0x01 1 \b, 2:1 dot aspect ratio 14689 14690# Japanese PIC file 146910 string PIC\x1A 14692>4 lelong 0 Japanese PIC image file 14693 14694# MSX G9B image file 146950 string G9B 14696>1 uleshort 11 14697>>3 uleshort >10 14698>>>5 ubyte >0 MSX G9B image, depth=%d 14699>>>>8 uleshort x \b, %dx 14700>>>>10 uleshort x \b%d 14701>>>>5 ubyte <9 14702>>>>>6 ubyte 0 14703>>>>>>7 ubyte x \b, codec=%d RGB color palettes 14704>>>>>6 ubyte 64 \b, codec=RGB fixed color 14705>>>>>6 ubyte 128 \b, codec=YJK 14706>>>>>6 ubyte 192 \b, codec=YUV 14707>>>>5 ubyte >8 codec=RGB fixed color 14708>>>>12 ubyte 0 \b, raw 14709>>>>12 ubyte 1 \b, bitbuster compression 14710 14711############## Other MSX file formats ############## 14712 14713# MSX ROMs 147140 string AB 14715>2 uleshort 0x0010 MSX ROM 14716>>2 uleshort x \b, init=0x%4x 14717>>4 uleshort >0 \b, stat=0x%4x 14718>>6 uleshort >0 \b, dev=0x%4x 14719>>8 uleshort >0 \b, bas=0x%4x 14720>2 uleshort 0x4010 MSX ROM 14721>>2 uleshort x \b, init=0x%04x 14722>>4 uleshort >0 \b, stat=0x%04x 14723>>6 uleshort >0 \b, dev=0x%04x 14724>>8 uleshort >0 \b, bas=0x%04x 14725>2 uleshort 0x8010 MSX ROM 14726>>2 uleshort x \b, init=0x%04x 14727>>4 uleshort >0 \b, stat=0x%04x 14728>>6 uleshort >0 \b, dev=0x%04x 14729>>8 uleshort >0 \b, bas=0x%04x 14730 147310 string AB 14732#>2 string 5JSuperLAYDOCK MSX Super Laydock ROM 14733#>3 string @HYDLIDE3MSX MSX Hydlide-3 ROM 14734#>3 string @3\x80IA862 Golvellius MSX1 ROM 14735>2 uleshort >10 14736>>10 string \0\0\0\0\0\0 MSX ROM 14737>>>0x10 string YZ\0\0\0\0 Konami Game Master 2 MSX ROM 14738>>>0x10 string CD \b, Konami RC- 14739>>>>0x12 ubyte x \b%d 14740>>>>0x13 ubyte/16 x \b%d 14741>>>>0x13 ubyte&0xF x \b%d 14742>>>0x10 string EF \b, Konami RC- 14743>>>>0x12 ubyte x \b%d 14744>>>>0x13 ubyte/16 x \b%d 14745>>>>0x13 ubyte&0xF x \b%d 14746>>>2 uleshort x \b, init=0x%04x 14747>>>4 uleshort >0 \b, stat=0x%04x 14748>>>6 uleshort >0 \b, dev=0x%04x 14749>>>8 uleshort >0 \b, bas=0x%04x 14750>2 uleshort 0 14751>>4 uleshort 0 14752>>>6 uleshort 0 14753>>>>8 uleshort >0 MSX BASIC program in ROM, bas=0x%04x 14754 147550x4000 string AB 14756>0x4002 uleshort >0x4010 14757>>0x400A string \0\0\0\0\0\0 MSX MegaROM with nonstandard page order 14758>>0x4002 uleshort x \b, init=0x%04x 14759>>0x4004 uleshort >0 \b, stat=0x%04x 14760>>0x4006 uleshort >0 \b, dev=0x%04x 14761>>0x4008 uleshort >0 \b, bas=0x%04x 14762 147630x8000 string AB 14764>0x8002 uleshort >0x4010 14765>>0x800A string \0\0\0\0\0\0 MSX MegaROM with nonstandard page order 14766>>0x8002 uleshort x \b, init=0x%04x 14767>>0x8004 uleshort >0 \b, stat=0x%04x 14768>>0x8006 uleshort >0 \b, dev=0x%04x 14769>>0x8008 uleshort >0 \b, bas=0x%04x 14770 14771 147720x3C000 string AB 14773>0x3C008 string \0\0\0\0\0\0\0\0 MSX MegaROM with nonstandard page order 14774>>0x3C002 uleshort x \b, init=0x%04x 14775>>0x3C004 uleshort >0 \b, stat=0x%04x 14776>>0x3C006 uleshort >0 \b, dev=0x%04x 14777>>0x3C008 uleshort >0 \b, bas=0x%04x 14778 14779# MSX BIN file 14780#0 byte 0xFE 14781#>1 uleshort >0x8000 14782#>>3 uleshort >0x8004 14783#>>>5 uleshort >0x8000 MSX BIN file 14784 14785# MSX-BASIC file 147860 byte 0xFF 14787>3 uleshort 0x000A 14788>>1 uleshort >0x8000 MSX-BASIC program 14789 14790# MSX .CAS file 147910 string \x1F\xA6\xDE\xBA\xCC\x13\x7D\x74 MSX cassette archive 14792 14793# Mega-Assembler file 147940 byte 0xFE 14795>1 uleshort 0x0001 14796>>5 uleshort 0xffff 14797>>>6 byte 0x0A MSX Mega-Assembler source 14798 14799# Execrom Patchfile 148000 string ExecROM\ patchfile\x1A MSX ExecROM patchfile 14801>0x12 ubyte/16 x v%d 14802>0x12 ubyte&0xF x \b.%d 14803>0x13 ubyte x \b, contains %d patches 14804 14805# Konami's King's Valley-2 custom stage (ELG file) 148064 uleshort 0x0900 14807>0xF byte 1 14808>>0x14 byte 0 14809>>>0x1E string \ \ \ 14810>>>>0x23 byte 1 14811>>>>>0x25 byte 0 14812>>>>>>0x15 string >\x30 14813>>>>>>>0x15 string <\x5A Konami King's Valley-2 custom stage, title: "%-8.8s" 14814>>>>>>>>0x1D byte <32 \b, theme: %d 14815 14816# Metal Gear 1 savegame 14817#0x4F string \x00\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF 14818#>>0x60 string \xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF 14819#>>>0x7B string \0x00\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x00 Metal Gear 1 savegame 14820 14821# ------------------------------------------------------------------------ 14822# $File: mup,v 1.4 2009/09/19 16:28:11 christos Exp $ 14823# mup: file(1) magic for Mup (Music Publisher) input file. 14824# 14825# From: Abel Cheung <abel (@) oaka.org> 14826# 14827# NOTE: This header is mainly proposed in the Arkkra mailing list, 14828# and is not a mandatory header because of old mup input file 14829# compatibility. Noteedit also use mup format, but is not forcing 14830# user to use any header as well. 14831# 148320 search/1 //!Mup Mup music publication program input text 14833>6 string -Arkkra (Arkkra) 14834>>13 string - 14835>>>16 string . 14836>>>>14 string x \b, need V%.4s 14837>>>15 string . 14838>>>>14 string x \b, need V%.3s 14839>6 string - 14840>>9 string . 14841>>>7 string x \b, need V%.4s 14842>>8 string . 14843>>>7 string x \b, need V%.3s 14844#------------------------------------------------------------------------------ 14845# $File: music,v 1.1 2011/11/25 03:28:17 christos Exp $ 14846# music: file (1) magic for music formats 14847 14848# BWW format used by Bagpipe Music Writer Gold by Robert MacNeil Musicworks 14849# and Bagpipe Writer by Doug Wickstrom 14850# 148510 string Bagpipe Bagpipe 14852>8 string Reader Reader 14853>>15 string >\0 (version %.3s) 14854>8 string Music\ Writer Music Writer 14855>>20 string : 14856>>>21 string >\0 (version %.3s) 14857>>21 string Gold Gold 14858>>>25 string : 14859>>>>26 string >\0 (version %.3s) 14860 14861 14862#----------------------------------------------------------------------------- 14863# $File: natinst,v 1.5 2013/02/06 14:18:52 christos Exp $ 14864# natinst: file(1) magic for National Instruments Code Files 14865 14866# 14867# From <egamez@fcfm.buap.mx> Enrique Gamez-Flores 14868# version 1 14869# Many formats still missing, we use, for the moment LabVIEW 14870# We guess VXI format file. VISA, LabWindowsCVI, BridgeVIEW, etc, are missing 14871# 148720 string RSRC National Instruments, 14873# Check if it's a LabVIEW File 14874>8 string LV LabVIEW File, 14875# Check wich kind of file is 14876>>10 string SB Code Resource File, data 14877>>10 string IN Virtual Instrument Program, data 14878>>10 string AR VI Library, data 14879# This is for Menu Libraries 14880>8 string LMNULBVW Portable File Names, data 14881# This is for General Resources 14882>8 string rsc Resources File, data 14883# This is for VXI Package 148840 string VMAP National Instruments, VXI File, data 14885 14886#------------------------------------------------------------------------------ 14887# $File: ncr,v 1.7 2009/09/19 16:28:11 christos Exp $ 14888# ncr: file(1) magic for NCR Tower objects 14889# 14890# contributed by 14891# Michael R. Wayne *** TMC & Associates *** INTERNET: wayne@ford-vax.arpa 14892# uucp: {philabs | pyramid} !fmsrl7!wayne OR wayne@fmsrl7.UUCP 14893# 148940 beshort 000610 Tower/XP rel 2 object 14895>12 belong >0 not stripped 14896>20 beshort 0407 executable 14897>20 beshort 0410 pure executable 14898>22 beshort >0 - version %ld 148990 beshort 000615 Tower/XP rel 2 object 14900>12 belong >0 not stripped 14901>20 beshort 0407 executable 14902>20 beshort 0410 pure executable 14903>22 beshort >0 - version %ld 149040 beshort 000620 Tower/XP rel 3 object 14905>12 belong >0 not stripped 14906>20 beshort 0407 executable 14907>20 beshort 0410 pure executable 14908>22 beshort >0 - version %ld 149090 beshort 000625 Tower/XP rel 3 object 14910>12 belong >0 not stripped 14911>20 beshort 0407 executable 14912>20 beshort 0410 pure executable 14913>22 beshort >0 - version %ld 149140 beshort 000630 Tower32/600/400 68020 object 14915>12 belong >0 not stripped 14916>20 beshort 0407 executable 14917>20 beshort 0410 pure executable 14918>22 beshort >0 - version %ld 149190 beshort 000640 Tower32/800 68020 14920>18 beshort &020000 w/68881 object 14921>18 beshort &040000 compatible object 14922>18 beshort &060000 object 14923>20 beshort 0407 executable 14924>20 beshort 0413 pure executable 14925>12 belong >0 not stripped 14926>22 beshort >0 - version %ld 149270 beshort 000645 Tower32/800 68010 14928>18 beshort &040000 compatible object 14929>18 beshort &060000 object 14930>20 beshort 0407 executable 14931>20 beshort 0413 pure executable 14932>12 belong >0 not stripped 14933>22 beshort >0 - version %ld 14934 14935#------------------------------------------------------------------------------ 14936# $File: netbsd,v 1.20 2013/01/09 22:37:24 christos Exp $ 14937# netbsd: file(1) magic for NetBSD objects 14938# 14939# All new-style magic numbers are in network byte order. 14940# The old-style magic numbers are indistinguishable from the same magic 14941# numbers used in other systems, and are handled, for all those systems, 14942# in aout. 14943# 14944 149450 belong&0377777777 041400413 a.out NetBSD/i386 demand paged 14946>0 byte &0x80 14947>>20 lelong <4096 shared library 14948>>20 lelong =4096 dynamically linked executable 14949>>20 lelong >4096 dynamically linked executable 14950>0 byte ^0x80 executable 14951>16 lelong >0 not stripped 149520 belong&0377777777 041400410 a.out NetBSD/i386 pure 14953>0 byte &0x80 dynamically linked executable 14954>0 byte ^0x80 executable 14955>16 lelong >0 not stripped 149560 belong&0377777777 041400407 a.out NetBSD/i386 14957>0 byte &0x80 dynamically linked executable 14958>0 byte ^0x80 14959>>0 byte &0x40 position independent 14960>>20 lelong !0 executable 14961>>20 lelong =0 object file 14962>16 lelong >0 not stripped 149630 belong&0377777777 041400507 a.out NetBSD/i386 core 14964>12 string >\0 from '%s' 14965>32 lelong !0 (signal %d) 14966 149670 belong&0377777777 041600413 a.out NetBSD/m68k demand paged 14968>0 byte &0x80 14969>>20 belong <8192 shared library 14970>>20 belong =8192 dynamically linked executable 14971>>20 belong >8192 dynamically linked executable 14972>0 byte ^0x80 executable 14973>16 belong >0 not stripped 149740 belong&0377777777 041600410 a.out NetBSD/m68k pure 14975>0 byte &0x80 dynamically linked executable 14976>0 byte ^0x80 executable 14977>16 belong >0 not stripped 149780 belong&0377777777 041600407 a.out NetBSD/m68k 14979>0 byte &0x80 dynamically linked executable 14980>0 byte ^0x80 14981>>0 byte &0x40 position independent 14982>>20 belong !0 executable 14983>>20 belong =0 object file 14984>16 belong >0 not stripped 149850 belong&0377777777 041600507 a.out NetBSD/m68k core 14986>12 string >\0 from '%s' 14987>32 belong !0 (signal %d) 14988 149890 belong&0377777777 042000413 a.out NetBSD/m68k4k demand paged 14990>0 byte &0x80 14991>>20 belong <4096 shared library 14992>>20 belong =4096 dynamically linked executable 14993>>20 belong >4096 dynamically linked executable 14994>0 byte ^0x80 executable 14995>16 belong >0 not stripped 149960 belong&0377777777 042000410 a.out NetBSD/m68k4k pure 14997>0 byte &0x80 dynamically linked executable 14998>0 byte ^0x80 executable 14999>16 belong >0 not stripped 150000 belong&0377777777 042000407 a.out NetBSD/m68k4k 15001>0 byte &0x80 dynamically linked executable 15002>0 byte ^0x80 15003>>0 byte &0x40 position independent 15004>>20 belong !0 executable 15005>>20 belong =0 object file 15006>16 belong >0 not stripped 150070 belong&0377777777 042000507 a.out NetBSD/m68k4k core 15008>12 string >\0 from '%s' 15009>32 belong !0 (signal %d) 15010 150110 belong&0377777777 042200413 a.out NetBSD/ns32532 demand paged 15012>0 byte &0x80 15013>>20 lelong <4096 shared library 15014>>20 lelong =4096 dynamically linked executable 15015>>20 lelong >4096 dynamically linked executable 15016>0 byte ^0x80 executable 15017>16 lelong >0 not stripped 150180 belong&0377777777 042200410 a.out NetBSD/ns32532 pure 15019>0 byte &0x80 dynamically linked executable 15020>0 byte ^0x80 executable 15021>16 lelong >0 not stripped 150220 belong&0377777777 042200407 a.out NetBSD/ns32532 15023>0 byte &0x80 dynamically linked executable 15024>0 byte ^0x80 15025>>0 byte &0x40 position independent 15026>>20 lelong !0 executable 15027>>20 lelong =0 object file 15028>16 lelong >0 not stripped 150290 belong&0377777777 042200507 a.out NetBSD/ns32532 core 15030>12 string >\0 from '%s' 15031>32 lelong !0 (signal %d) 15032 150330 belong&0377777777 045200507 a.out NetBSD/powerpc core 15034>12 string >\0 from '%s' 15035 150360 belong&0377777777 042400413 a.out NetBSD/sparc demand paged 15037>0 byte &0x80 15038>>20 belong <8192 shared library 15039>>20 belong =8192 dynamically linked executable 15040>>20 belong >8192 dynamically linked executable 15041>0 byte ^0x80 executable 15042>16 belong >0 not stripped 150430 belong&0377777777 042400410 a.out NetBSD/sparc pure 15044>0 byte &0x80 dynamically linked executable 15045>0 byte ^0x80 executable 15046>16 belong >0 not stripped 150470 belong&0377777777 042400407 a.out NetBSD/sparc 15048>0 byte &0x80 dynamically linked executable 15049>0 byte ^0x80 15050>>0 byte &0x40 position independent 15051>>20 belong !0 executable 15052>>20 belong =0 object file 15053>16 belong >0 not stripped 150540 belong&0377777777 042400507 a.out NetBSD/sparc core 15055>12 string >\0 from '%s' 15056>32 belong !0 (signal %d) 15057 150580 belong&0377777777 042600413 a.out NetBSD/pmax demand paged 15059>0 byte &0x80 15060>>20 lelong <4096 shared library 15061>>20 lelong =4096 dynamically linked executable 15062>>20 lelong >4096 dynamically linked executable 15063>0 byte ^0x80 executable 15064>16 lelong >0 not stripped 150650 belong&0377777777 042600410 a.out NetBSD/pmax pure 15066>0 byte &0x80 dynamically linked executable 15067>0 byte ^0x80 executable 15068>16 lelong >0 not stripped 150690 belong&0377777777 042600407 a.out NetBSD/pmax 15070>0 byte &0x80 dynamically linked executable 15071>0 byte ^0x80 15072>>0 byte &0x40 position independent 15073>>20 lelong !0 executable 15074>>20 lelong =0 object file 15075>16 lelong >0 not stripped 150760 belong&0377777777 042600507 a.out NetBSD/pmax core 15077>12 string >\0 from '%s' 15078>32 lelong !0 (signal %d) 15079 150800 belong&0377777777 043000413 a.out NetBSD/vax 1k demand paged 15081>0 byte &0x80 15082>>20 lelong <4096 shared library 15083>>20 lelong =4096 dynamically linked executable 15084>>20 lelong >4096 dynamically linked executable 15085>0 byte ^0x80 executable 15086>16 lelong >0 not stripped 150870 belong&0377777777 043000410 a.out NetBSD/vax 1k pure 15088>0 byte &0x80 dynamically linked executable 15089>0 byte ^0x80 executable 15090>16 lelong >0 not stripped 150910 belong&0377777777 043000407 a.out NetBSD/vax 1k 15092>0 byte &0x80 dynamically linked executable 15093>0 byte ^0x80 15094>>0 byte &0x40 position independent 15095>>20 lelong !0 executable 15096>>20 lelong =0 object file 15097>16 lelong >0 not stripped 150980 belong&0377777777 043000507 a.out NetBSD/vax 1k core 15099>12 string >\0 from '%s' 15100>32 lelong !0 (signal %d) 15101 151020 belong&0377777777 045400413 a.out NetBSD/vax 4k demand paged 15103>0 byte &0x80 15104>>20 lelong <4096 shared library 15105>>20 lelong =4096 dynamically linked executable 15106>>20 lelong >4096 dynamically linked executable 15107>0 byte ^0x80 executable 15108>16 lelong >0 not stripped 151090 belong&0377777777 045400410 a.out NetBSD/vax 4k pure 15110>0 byte &0x80 dynamically linked executable 15111>0 byte ^0x80 executable 15112>16 lelong >0 not stripped 151130 belong&0377777777 045400407 a.out NetBSD/vax 4k 15114>0 byte &0x80 dynamically linked executable 15115>0 byte ^0x80 15116>>0 byte &0x40 position independent 15117>>20 lelong !0 executable 15118>>20 lelong =0 object file 15119>16 lelong >0 not stripped 151200 belong&0377777777 045400507 a.out NetBSD/vax 4k core 15121>12 string >\0 from '%s' 15122>32 lelong !0 (signal %d) 15123 15124# NetBSD/alpha does not support (and has never supported) a.out objects, 15125# so no rules are provided for them. NetBSD/alpha ELF objects are 15126# dealt with in "elf". 151270 lelong 0x00070185 ECOFF NetBSD/alpha binary 15128>10 leshort 0x0001 not stripped 15129>10 leshort 0x0000 stripped 151300 belong&0377777777 043200507 a.out NetBSD/alpha core 15131>12 string >\0 from '%s' 15132>32 lelong !0 (signal %d) 15133 151340 belong&0377777777 043400413 a.out NetBSD/mips demand paged 15135>0 byte &0x80 15136>>20 belong <8192 shared library 15137>>20 belong =8192 dynamically linked executable 15138>>20 belong >8192 dynamically linked executable 15139>0 byte ^0x80 executable 15140>16 belong >0 not stripped 151410 belong&0377777777 043400410 a.out NetBSD/mips pure 15142>0 byte &0x80 dynamically linked executable 15143>0 byte ^0x80 executable 15144>16 belong >0 not stripped 151450 belong&0377777777 043400407 a.out NetBSD/mips 15146>0 byte &0x80 dynamically linked executable 15147>0 byte ^0x80 15148>>0 byte &0x40 position independent 15149>>20 belong !0 executable 15150>>20 belong =0 object file 15151>16 belong >0 not stripped 151520 belong&0377777777 043400507 a.out NetBSD/mips core 15153>12 string >\0 from '%s' 15154>32 belong !0 (signal %d) 15155 151560 belong&0377777777 043600413 a.out NetBSD/arm32 demand paged 15157>0 byte &0x80 15158>>20 lelong <4096 shared library 15159>>20 lelong =4096 dynamically linked executable 15160>>20 lelong >4096 dynamically linked executable 15161>0 byte ^0x80 executable 15162>16 lelong >0 not stripped 151630 belong&0377777777 043600410 a.out NetBSD/arm32 pure 15164>0 byte &0x80 dynamically linked executable 15165>0 byte ^0x80 executable 15166>16 lelong >0 not stripped 151670 belong&0377777777 043600407 a.out NetBSD/arm32 15168>0 byte &0x80 dynamically linked executable 15169>0 byte ^0x80 15170>>0 byte &0x40 position independent 15171>>20 lelong !0 executable 15172>>20 lelong =0 object file 15173>16 lelong >0 not stripped 15174# NetBSD/arm26 has always used ELF objects, but it shares a core file 15175# format with NetBSD/arm32. 151760 belong&0377777777 043600507 a.out NetBSD/arm core 15177>12 string >\0 from '%s' 15178>32 lelong !0 (signal %d) 15179 15180# Kernel core dump format 151810 belong&0x0000ffff 0x00008fca NetBSD kernel core file 15182>0 belong&0x03ff0000 0x00000000 \b, Unknown 15183>0 belong&0x03ff0000 0x00001000 \b, sun 68010/68020 15184>0 belong&0x03ff0000 0x00020000 \b, sun 68020 15185>0 belong&0x03ff0000 0x00640000 \b, 386 PC 15186>0 belong&0x03ff0000 0x00860000 \b, i386 BSD 15187>0 belong&0x03ff0000 0x00870000 \b, m68k BSD (8K pages) 15188>0 belong&0x03ff0000 0x00880000 \b, m68k BSD (4K pages) 15189>0 belong&0x03ff0000 0x00890000 \b, ns32532 BSD 15190>0 belong&0x03ff0000 0x008a0000 \b, sparc/32 BSD 15191>0 belong&0x03ff0000 0x008b0000 \b, pmax BSD 15192>0 belong&0x03ff0000 0x008c0000 \b, vax BSD (1K pages) 15193>0 belong&0x03ff0000 0x008d0000 \b, alpha BSD 15194>0 belong&0x03ff0000 0x008e0000 \b, mips BSD (Big Endian) 15195>0 belong&0x03ff0000 0x008f0000 \b, arm6 BSD 15196>0 belong&0x03ff0000 0x00900000 \b, m68k BSD (2K pages) 15197>0 belong&0x03ff0000 0x00910000 \b, sh3 BSD 15198>0 belong&0x03ff0000 0x00920000 \b, ppc BSD (Big Endian) 15199>0 belong&0x03ff0000 0x00930000 \b, vax BSD (4K pages) 15200>0 belong&0x03ff0000 0x00940000 \b, mips1 BSD 15201>0 belong&0x03ff0000 0x00950000 \b, mips2 BSD 15202>0 belong&0x03ff0000 0x00960000 \b, parisc BSD 15203>0 belong&0x03ff0000 0x00970000 \b, sh5/64 BSD 15204>0 belong&0x03ff0000 0x00980000 \b, sparc/64 BSD 15205>0 belong&0x03ff0000 0x00990000 \b, amd64 BSD 15206>0 belong&0x03ff0000 0x009a0000 \b, hp200 (68010) BSD 15207>0 belong&0x03ff0000 0x009b0000 \b, hp300 (68020+68881) BSD 15208>0 belong&0x03ff0000 0x009b0000 \b, hp300 (68020+68881) BSD 15209>0 belong&0x03ff0000 0x00c80000 \b, hp200 15210>0 belong&0x03ff0000 0x020b0000 \b, hp300 (68020+68881) HP-UX 15211>0 belong&0x03ff0000 0x020c0000 \b, hp300 (68020+68881) HP-UX 15212>0 belong&0xfc000000 0x04000000 \b, CPU 15213>0 belong&0xfc000000 0x08000000 \b, DATA 15214>0 belong&0xfc000000 0x10000000 \b, STACK 15215>4 leshort x \b, (headersize = %d 15216>6 leshort x \b, segmentsize = %d 15217>6 lelong x \b, segments = %d) 15218 15219#------------------------------------------------------------------------------ 15220# $File: netscape,v 1.6 2009/09/19 16:28:11 christos Exp $ 15221# netscape: file(1) magic for Netscape files 15222# "H. Nanosecond" <aldomel@ix.netcom.com> 15223# version 3 and 4 I think 15224# 15225 15226# Netscape Address book .nab 152270 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 15228 15229# Netscape Communicator address book 152300 string \000\017\102\111 Netscape Communicator address book 15231 15232# .snm Caches 152330 string #\ Netscape\ folder\ cache Netscape folder cache 152340 string \000\036\204\220\000 Netscape folder cache 15235# .n2p 15236# Net 2 Phone 15237#0 string 123\130\071\066\061\071\071\071\060\070\061\060\061\063\060 152380 string SX961999 Net2phone 15239 15240# 15241#This is files ending in .art, FIXME add more rules 152420 string JG\004\016\0\0\0\0 ART 15243 15244#------------------------------------------------------------------------------ 15245# $File: netware,v 1.4 2009/09/19 16:28:11 christos Exp $ 15246# netware: file(1) magic for NetWare Loadable Modules (NLMs) 15247# From: Mads Martin Joergensen <mmj@suse.de> 15248 152490 string NetWare\ Loadable\ Module NetWare Loadable Module 15250 15251#------------------------------------------------------------------------------ 15252# $File: news,v 1.6 2009/09/19 16:28:11 christos Exp $ 15253# news: file(1) magic for SunOS NeWS fonts (not "news" as in "netnews") 15254# 152550 string StartFontMetrics ASCII font metrics 152560 string StartFont ASCII font bits 152570 belong 0x137A2944 NeWS bitmap font 152580 belong 0x137A2947 NeWS font family 152590 belong 0x137A2950 scalable OpenFont binary 152600 belong 0x137A2951 encrypted scalable OpenFont binary 152618 belong 0x137A2B45 X11/NeWS bitmap font 152628 belong 0x137A2B48 X11/NeWS font family 15263 15264#------------------------------------------------------------------------------ 15265# $File: nitpicker,v 1.4 2009/09/19 16:28:11 christos Exp $ 15266# nitpicker: file(1) magic for Flowfiles. 15267# From: Christian Jachmann <C.Jachmann@gmx.net> http://www.nitpicker.de 152680 string NPFF NItpicker Flow File 15269>4 byte x V%d. 15270>5 byte x %d 15271>6 bedate x started: %s 15272>10 bedate x stopped: %s 15273>14 belong x Bytes: %u 15274>18 belong x Bytes1: %u 15275>22 belong x Flows: %u 15276>26 belong x Pkts: %u 15277 15278#------------------------------------------------------------------------------ 15279# $File: oasis,v 1.1 2011/03/15 02:09:38 christos Exp $ 15280# OASIS 15281# Summary: OASIS stream file 15282# Long description: Open Artwork System Interchange Standard 15283# File extension: .oas 15284# Full name: Ben Cowley (bcowley@broadcom.com) 15285# Philip Dixon (pdixon@broadcom.com) 15286# Reference: http://www.wrcad.com/oasis/oasis-3626-042303-draft.pdf 15287# (see page 3) 152880 string %SEMI-OASIS\r\n OASIS Stream file 15289 15290#------------------------------------------------------------------------------ 15291# $File: ocaml,v 1.5 2010/09/20 18:55:20 rrt Exp $ 15292# ocaml: file(1) magic for Objective Caml files. 152930 string Caml1999 OCaml 15294>8 string X exec file 15295>8 string I interface file (.cmi) 15296>8 string O object file (.cmo) 15297>8 string A library file (.cma) 15298>8 string Y native object file (.cmx) 15299>8 string Z native library file (.cmxa) 15300>8 string M abstract syntax tree implementation file 15301>8 string N abstract syntax tree interface file 15302>9 string >\0 (Version %3.3s) 15303 15304#------------------------------------------------------------------------------ 15305# $File: octave,v 1.4 2009/09/19 16:28:11 christos Exp $ 15306# octave binary data file(1) magic, from Dirk Eddelbuettel <edd@debian.org> 153070 string Octave-1-L Octave binary data (little endian) 153080 string Octave-1-B Octave binary data (big endian) 15309 15310#------------------------------------------------------------------------------ 15311# $File: ole2compounddocs,v 1.4 2009/09/19 16:28:11 christos Exp $ 15312# Microsoft OLE 2 Compound Documents : file(1) magic for Microsoft Structured 15313# storage (http://en.wikipedia.org/wiki/Structured_Storage) 15314# Additional tests for OLE 2 Compound Documents should be under this recipe. 15315 153160 string \320\317\021\340\241\261\032\341 OLE 2 Compound Document 15317# - Microstation V8 DGN files (www.bentley.com) 15318# Last update on 10/23/2006 by Lester Hightower 15319> 0x480 string D\000g\000n\000~\000H : Microstation V8 DGN 15320# - Visio documents 15321# Last update on 10/23/2006 by Lester Hightower 15322> 0x480 string V\000i\000s\000i\000o\000D\000o\000c : Visio Document 15323 15324#------------------------------------------------------------------------------ 15325# $File: olf,v 1.4 2009/09/19 16:28:11 christos Exp $ 15326# olf: file(1) magic for OLF executables 15327# 15328# We have to check the byte order flag to see what byte order all the 15329# other stuff in the header is in. 15330# 15331# MIPS R3000 may also be for MIPS R2000. 15332# What're the correct byte orders for the nCUBE and the Fujitsu VPP500? 15333# 15334# Created by Erik Theisen <etheisen@openbsd.org> 15335# Based on elf from Daniel Quinlan <quinlan@yggdrasil.com> 153360 string \177OLF OLF 15337>4 byte 0 invalid class 15338>4 byte 1 32-bit 15339>4 byte 2 64-bit 15340>7 byte 0 invalid os 15341>7 byte 1 OpenBSD 15342>7 byte 2 NetBSD 15343>7 byte 3 FreeBSD 15344>7 byte 4 4.4BSD 15345>7 byte 5 Linux 15346>7 byte 6 SVR4 15347>7 byte 7 esix 15348>7 byte 8 Solaris 15349>7 byte 9 Irix 15350>7 byte 10 SCO 15351>7 byte 11 Dell 15352>7 byte 12 NCR 15353>5 byte 0 invalid byte order 15354>5 byte 1 LSB 15355>>16 leshort 0 no file type, 15356>>16 leshort 1 relocatable, 15357>>16 leshort 2 executable, 15358>>16 leshort 3 shared object, 15359# Core handling from Peter Tobias <tobias@server.et-inf.fho-emden.de> 15360# corrections by Christian 'Dr. Disk' Hechelmann <drdisk@ds9.au.s.shuttle.de> 15361>>16 leshort 4 core file 15362>>>(0x38+0xcc) string >\0 of '%s' 15363>>>(0x38+0x10) lelong >0 (signal %d), 15364>>16 leshort &0xff00 processor-specific, 15365>>18 leshort 0 no machine, 15366>>18 leshort 1 AT&T WE32100 - invalid byte order, 15367>>18 leshort 2 SPARC - invalid byte order, 15368>>18 leshort 3 Intel 80386, 15369>>18 leshort 4 Motorola 68000 - invalid byte order, 15370>>18 leshort 5 Motorola 88000 - invalid byte order, 15371>>18 leshort 6 Intel 80486, 15372>>18 leshort 7 Intel 80860, 15373>>18 leshort 8 MIPS R3000_BE - invalid byte order, 15374>>18 leshort 9 Amdahl - invalid byte order, 15375>>18 leshort 10 MIPS R3000_LE, 15376>>18 leshort 11 RS6000 - invalid byte order, 15377>>18 leshort 15 PA-RISC - invalid byte order, 15378>>18 leshort 16 nCUBE, 15379>>18 leshort 17 VPP500, 15380>>18 leshort 18 SPARC32PLUS, 15381>>18 leshort 20 PowerPC, 15382>>18 leshort 0x9026 Alpha, 15383>>20 lelong 0 invalid version 15384>>20 lelong 1 version 1 15385>>36 lelong 1 MathCoPro/FPU/MAU Required 15386>8 string >\0 (%s) 15387>5 byte 2 MSB 15388>>16 beshort 0 no file type, 15389>>16 beshort 1 relocatable, 15390>>16 beshort 2 executable, 15391>>16 beshort 3 shared object, 15392>>16 beshort 4 core file, 15393>>>(0x38+0xcc) string >\0 of '%s' 15394>>>(0x38+0x10) belong >0 (signal %d), 15395>>16 beshort &0xff00 processor-specific, 15396>>18 beshort 0 no machine, 15397>>18 beshort 1 AT&T WE32100, 15398>>18 beshort 2 SPARC, 15399>>18 beshort 3 Intel 80386 - invalid byte order, 15400>>18 beshort 4 Motorola 68000, 15401>>18 beshort 5 Motorola 88000, 15402>>18 beshort 6 Intel 80486 - invalid byte order, 15403>>18 beshort 7 Intel 80860, 15404>>18 beshort 8 MIPS R3000_BE, 15405>>18 beshort 9 Amdahl, 15406>>18 beshort 10 MIPS R3000_LE - invalid byte order, 15407>>18 beshort 11 RS6000, 15408>>18 beshort 15 PA-RISC, 15409>>18 beshort 16 nCUBE, 15410>>18 beshort 17 VPP500, 15411>>18 beshort 18 SPARC32PLUS, 15412>>18 beshort 20 PowerPC or cisco 4500, 15413>>18 beshort 21 cisco 7500, 15414>>18 beshort 24 cisco SVIP, 15415>>18 beshort 25 cisco 7200, 15416>>18 beshort 36 cisco 12000, 15417>>18 beshort 0x9026 Alpha, 15418>>20 belong 0 invalid version 15419>>20 belong 1 version 1 15420>>36 belong 1 MathCoPro/FPU/MAU Required 15421 15422#------------------------------------------------------------------------------ 15423# $File: os2,v 1.7 2009/09/19 16:28:11 christos Exp $ 15424# os2: file(1) magic for OS/2 files 15425# 15426 15427# Provided 1998/08/22 by 15428# David Mediavilla <davidme.news@REMOVEIFNOTSPAMusa.net> 154291 search/1 InternetShortcut MS Windows 95 Internet shortcut text 15430>24 search/1 >\ (URL=<%s>) 15431 15432# OS/2 URL objects 15433# Provided 1998/08/22 by 15434# David Mediavilla <davidme.news@REMOVEIFNOTSPAMusa.net> 15435#0 string http: OS/2 URL object text 15436#>5 string >\ (WWW) <http:%s> 15437#0 string mailto: OS/2 URL object text 15438#>7 string >\ (email) <%s> 15439#0 string news: OS/2 URL object text 15440#>5 string >\ (Usenet) <%s> 15441#0 string ftp: OS/2 URL object text 15442#>4 string >\ (FTP) <ftp:%s> 15443#0 string file: OS/2 URL object text 15444#>5 string >\ (Local file) <%s> 15445 15446# >>>>> OS/2 INF/HLP <<<<< (source: Daniel Dissett ddissett@netcom.com) 15447# Carl Hauser (chauser.parc@xerox.com) and 15448# Marcus Groeber (marcusg@ph-cip.uni-koeln.de) 15449# list the following header format in inf02a.doc: 15450# 15451# int16 ID; // ID magic word (5348h = "HS") 15452# int8 unknown1; // unknown purpose, could be third letter of ID 15453# int8 flags; // probably a flag word... 15454# // bit 0: set if INF style file 15455# // bit 4: set if HLP style file 15456# // patching this byte allows reading HLP files 15457# // using the VIEW command, while help files 15458# // seem to work with INF settings here as well. 15459# int16 hdrsize; // total size of header 15460# int16 unknown2; // unknown purpose 15461# 154620 string HSP\x01\x9b\x00 OS/2 INF 15463>107 string >0 (%s) 154640 string HSP\x10\x9b\x00 OS/2 HLP 15465>107 string >0 (%s) 15466 15467# OS/2 INI (this is a guess) 154680 string \xff\xff\xff\xff\x14\0\0\0 OS/2 INI 15469 15470#------------------------------------------------------------------------------ 15471# $File: os400,v 1.5 2009/09/19 16:28:11 christos Exp $ 15472# os400: file(1) magic for IBM OS/400 files 15473# 15474# IBM OS/400 (i5/OS) Save file (SAVF) - gerardo.cacciari@gmail.com 15475# In spite of its quite variable format (due to internal memory page 15476# length differences between CISC and RISC versions of the OS) the 15477# SAVF structure hasn't suitable offsets to identify the catalog 15478# header in the first descriptor where there are some useful infos, 15479# so we must search in a somewhat large area for a particular string 15480# that represents the EBCDIC encoding of 'QSRDSSPC' (save/restore 15481# descriptor space) preceded by a two byte constant. 15482# 154831090 search/7393 \x19\xDB\xD8\xE2\xD9\xC4\xE2\xE2\xD7\xC3 IBM OS/400 save file data 15484>&212 byte 0x01 \b, created with SAVOBJ 15485>&212 byte 0x02 \b, created with SAVLIB 15486>&212 byte 0x07 \b, created with SAVCFG 15487>&212 byte 0x08 \b, created with SAVSECDTA 15488>&212 byte 0x0A \b, created with SAVSECDTA 15489>&212 byte 0x0B \b, created with SAVDLO 15490>&212 byte 0x0D \b, created with SAVLICPGM 15491>&212 byte 0x11 \b, created with SAVCHGOBJ 15492>&213 byte 0x44 \b, at least V5R4 to open 15493>&213 byte 0x43 \b, at least V5R3 to open 15494>&213 byte 0x42 \b, at least V5R2 to open 15495>&213 byte 0x41 \b, at least V5R1 to open 15496>&213 byte 0x40 \b, at least V4R5 to open 15497>&213 byte 0x3F \b, at least V4R4 to open 15498>&213 byte 0x3E \b, at least V4R3 to open 15499>&213 byte 0x3C \b, at least V4R2 to open 15500>&213 byte 0x3D \b, at least V4R1M4 to open 15501>&213 byte 0x3B \b, at least V4R1 to open 15502>&213 byte 0x3A \b, at least V3R7 to open 15503>&213 byte 0x35 \b, at least V3R6 to open 15504>&213 byte 0x36 \b, at least V3R2 to open 15505>&213 byte 0x34 \b, at least V3R1 to open 15506>&213 byte 0x31 \b, at least V3R0M5 to open 15507>&213 byte 0x30 \b, at least V2R3 to open 15508 15509#------------------------------------------------------------------------------ 15510# $File: os9,v 1.7 2011/05/13 22:15:54 christos Exp $ 15511# 15512# Copyright (c) 1996 Ignatios Souvatzis. All rights reserved. 15513# 15514# Redistribution and use in source and binary forms, with or without 15515# modification, are permitted provided that the following conditions 15516# are met: 15517# 1. Redistributions of source code must retain the above copyright 15518# notice, this list of conditions and the following disclaimer. 15519# 2. Redistributions in binary form must reproduce the above copyright 15520# notice, this list of conditions and the following disclaimer in the 15521# documentation and/or other materials provided with the distribution. 15522# 15523# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 15524# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 15525# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 15526# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 15527# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 15528# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 15529# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 15530# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 15531# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 15532# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 15533# 15534# 15535# 15536# OS9/6809 module descriptions: 15537# 155380 beshort 0x87CD OS9/6809 module: 15539# 15540>6 byte&0x0f 0x00 non-executable 15541>6 byte&0x0f 0x01 machine language 15542>6 byte&0x0f 0x02 BASIC I-code 15543>6 byte&0x0f 0x03 Pascal P-code 15544>6 byte&0x0f 0x04 C I-code 15545>6 byte&0x0f 0x05 COBOL I-code 15546>6 byte&0x0f 0x06 Fortran I-code 15547# 15548>6 byte&0xf0 0x10 program executable 15549>6 byte&0xf0 0x20 subroutine 15550>6 byte&0xf0 0x30 multi-module 15551>6 byte&0xf0 0x40 data module 15552# 15553>6 byte&0xf0 0xC0 system module 15554>6 byte&0xf0 0xD0 file manager 15555>6 byte&0xf0 0xE0 device driver 15556>6 byte&0xf0 0xF0 device descriptor 15557# 15558# OS9/m68k stuff (to be continued) 15559# 155600 beshort 0x4AFC OS9/68K module: 15561# 15562# attr 15563>0x14 byte&0x80 0x80 re-entrant 15564>0x14 byte&0x40 0x40 ghost 15565>0x14 byte&0x20 0x20 system-state 15566# 15567# lang: 15568# 15569>0x13 byte 1 machine language 15570>0x13 byte 2 BASIC I-code 15571>0x13 byte 3 Pascal P-code 15572>0x13 byte 4 C I-code 15573>0x13 byte 5 COBOL I-code 15574>0x13 byte 6 Fortran I-code 15575# 15576# 15577# type: 15578# 15579>0x12 byte 1 program executable 15580>0x12 byte 2 subroutine 15581>0x12 byte 3 multi-module 15582>0x12 byte 4 data module 15583>0x12 byte 11 trap library 15584>0x12 byte 12 system module 15585>0x12 byte 13 file manager 15586>0x12 byte 14 device driver 15587>0x12 byte 15 device descriptor 15588 15589#------------------------------------------------------------------------------ 15590# $File: osf1,v 1.7 2009/09/19 16:28:11 christos Exp $ 15591# 15592# Mach magic number info 15593# 155940 long 0xefbe OSF/Rose object 15595# I386 magic number info 15596# 155970 short 0565 i386 COFF object 15598 15599#------------------------------------------------------------------------------ 15600# $File: palm,v 1.11 2013/12/31 19:18:02 christos Exp $ 15601# palm: file(1) magic for PalmOS {.prc,.pdb}: applications, docfiles, and hacks 15602# 15603# Brian Lalor <blalor@hcirisc.cs.binghamton.edu> 15604 15605# These are weak, byte 59 is not guaranteed to be 0 and there are 15606# 8 character identifiers at byte 60, one I found for appl is BIGb. 15607# What are the possibilities and where is this documented? 15608 15609# The common header format for PalmOS .pdb/.prc files is 15610# { 15611# char name[ 32 ]; 15612# Word attributes; 15613# Word version; 15614# DWord creationDate; 15615# DWord modificationDate; 15616# DWord lastBackupDate; 15617# DWord modificationNumber; 15618# DWord appInfoID; 15619# DWord sortInfoID; 15620# char type[4]; 15621# char creator[4]; 15622# DWord uniqueIDSeed; 15623# RecordListType recordList; 15624# }; 15625# 15626# Datestamps are unsigned seconds since the MacOS epoch (Jan 1, 1904), 15627# or Unix/POSIX time + 2082844800. 15628 156290 name aportisdoc 15630# date is supposed to be big-endian seconds since 1 Jan 1904, but many 15631# files contain the timestamp in little-endian or a completely 15632# nonsensical value... 15633#>36 bedate-2082844800 >0 \b, created %s 15634# compression: 1=uncomp, 2=orig, 0x4448=HuffDic 15635>(78.L) beshort =1 \b, uncompressed 15636# compressed 15637>(78.L) beshort >1 15638>>(78.L+4) belong x \b, %d bytes uncompressed 15639 15640# appl 15641#60 string appl PalmOS application 15642#>0 string >\0 "%s" 15643 15644# HACK 15645#60 string HACK HackMaster hack 15646#>0 string >\0 "%s" 15647 15648# iSiloX e-book 1564960 string SDocSilX iSiloX E-book 15650>0 string >\0 "%s" 15651 15652# Mobipocket (www.mobipocket.com), donated by Carl Witty 15653# expanded by Ralf Brown 1565460 string BOOKMOBI Mobipocket E-book 15655# MobiPocket stores a full title, pointed at by the belong at offset 15656# 0x54 in its header at (78.L), with length given by the belong at 15657# offset 0x58. 15658# there's no guarantee that the title string is null-terminated, but 15659# we currently can't specify a variable-length string where the length 15660# field is not at the start of the string; in practice, the data 15661# following the string always seems to start with a zero byte 15662>(78.L) belong x 15663>>&(&0x50.L-4) string >\0 "%s" 15664>0 use aportisdoc 15665>>(78.L+0x68) belong >0 \b, version %d 15666>>(78.L+0x1C) belong !0 \b, codepage %d 15667>>(78.L+0x0C) beshort >0 \b, encrypted (type %d) 15668 15669# AportisDoc/PalmDOC 1567060 string TEXtREAd AportisDoc/PalmDOC E-book 15671>0 string >\0 "%s" 15672>0 use aportisdoc 15673 15674# Variety of PalmOS document types 15675# Michael-John Turner <mj@debian.org> 15676# Thanks to Hasan Umit Ezerce <humit@tr-net.net.tr> for his DocType 1567760 string BVokBDIC BDicty PalmOS document 15678>0 string >\0 "%s" 1567960 string DB99DBOS DB PalmOS document 15680>0 string >\0 "%s" 1568160 string vIMGView FireViewer/ImageViewer PalmOS document 15682>0 string >\0 "%s" 1568360 string PmDBPmDB HanDBase PalmOS document 15684>0 string >\0 "%s" 1568560 string InfoINDB InfoView PalmOS document 15686>0 string >\0 "%s" 1568760 string ToGoToGo iSilo PalmOS document 15688>0 string >\0 "%s" 1568960 string JfDbJBas JFile PalmOS document 15690>0 string >\0 "%s" 1569160 string JfDbJFil JFile Pro PalmOS document 15692>0 string >\0 "%s" 1569360 string DATALSdb List PalmOS document 15694>0 string >\0 "%s" 1569560 string Mdb1Mdb1 MobileDB PalmOS document 15696>0 string >\0 "%s" 1569760 string PNRdPPrs PeanutPress PalmOS document 15698>0 string >\0 "%s" 1569960 string DataPlkr Plucker PalmOS document 15700>0 string >\0 "%s" 1570160 string DataSprd QuickSheet PalmOS document 15702>0 string >\0 "%s" 1570360 string SM01SMem SuperMemo PalmOS document 15704>0 string >\0 "%s" 1570560 string TEXtTlDc TealDoc PalmOS document 15706>0 string >\0 "%s" 1570760 string InfoTlIf TealInfo PalmOS document 15708>0 string >\0 "%s" 1570960 string DataTlMl TealMeal PalmOS document 15710>0 string >\0 "%s" 1571160 string DataTlPt TealPaint PalmOS document 15712>0 string >\0 "%s" 1571360 string dataTDBP ThinkDB PalmOS document 15714>0 string >\0 "%s" 1571560 string TdatTide Tides PalmOS document 15716>0 string >\0 "%s" 1571760 string ToRaTRPW TomeRaider PalmOS document 15718>0 string >\0 "%s" 15719 15720# A GutenPalm zTXT etext for use on Palm Pilots (http://gutenpalm.sf.net) 15721# For version 1.xx zTXTs, outputs version and numbers of bookmarks and 15722# annotations. 15723# For other versions, just outputs version. 15724# 1572560 string zTXT A GutenPalm zTXT e-book 15726>0 string >\0 "%s" 15727>(0x4E.L) byte 0 15728>>(0x4E.L+1) byte x (v0.%02d) 15729>(0x4E.L) byte 1 15730>>(0x4E.L+1) byte x (v1.%02d) 15731>>>(0x4E.L+10) beshort >0 15732>>>>(0x4E.L+10) beshort <2 - 1 bookmark 15733>>>>(0x4E.L+10) beshort >1 - %d bookmarks 15734>>>(0x4E.L+14) beshort >0 15735>>>>(0x4E.L+14) beshort <2 - 1 annotation 15736>>>>(0x4E.L+14) beshort >1 - %d annotations 15737>(0x4E.L) byte >1 (v%d. 15738>>(0x4E.L+1) byte x %02d) 15739 15740# Palm OS .prc file types 1574160 string libr Palm OS dynamic library data 15742>0 string >\0 "%s" 1574360 string ptch Palm OS operating system patch data 15744>0 string >\0 "%s" 15745 15746# Mobipocket (www.mobipocket.com), donated by Carl Witty 1574760 string BOOKMOBI Mobipocket E-book 15748>0 string >\0 "%s" 15749 15750#------------------------------------------------------------------------------ 15751# $File: parix,v 1.4 2009/09/19 16:28:11 christos Exp $ 15752# 15753# Parix COFF executables 15754# From: Ignatios Souvatzis <ignatios@cs.uni-bonn.de> 15755# 157560 beshort&0xfff 0xACE PARIX 15757>0 byte&0xf0 0x80 T800 15758>0 byte&0xf0 0x90 T9000 15759>19 byte&0x02 0x02 executable 15760>19 byte&0x02 0x00 object 15761>19 byte&0x0c 0x00 not stripped 15762#------------------------------------------------------------------------------ 15763# $File: parrot,v 1.1 2010/07/08 20:18:40 christos Exp $ 15764# parrot: file(1) magic for Parrot Virtual Machine 15765# URL: http://www.lua.org/ 15766# From: Lubomir Rintel <lkundrak@v3.sk> 15767 15768# Compiled Parrot byte code 157690 string \376PBC\r\n\032\n Parrot bytecode 15770>64 byte x %d. 15771>72 byte x \b%d, 15772>8 byte >0 %d byte words, 15773>16 byte 0 little-endian, 15774>16 byte 1 big-endian, 15775>32 byte 0 IEEE-754 8 byte double floats, 15776>32 byte 1 x86 12 byte long double floats, 15777>32 byte 2 IEEE-754 16 byte long double floats, 15778>32 byte 3 MIPS 16 byte long double floats, 15779>32 byte 4 AIX 16 byte long double floats, 15780>32 byte 5 4-byte floats, 15781>40 byte x Parrot %d. 15782>48 byte x \b%d. 15783>56 byte x \b%d 15784#------------------------------------------------------------------------------ 15785# $File: pascal,v 1.1 2011/12/08 12:12:46 rrt Exp $ 15786# pascal: file(1) magic for Pascal source 15787# 157880 search/8192 (input, Pascal source text 15789!:mime text/x-pascal 157900 regex \^program Pascal source text 15791!:mime text/x-pascal 157920 regex \^record Pascal source text 15793!:mime text/x-pascal 15794 15795#------------------------------------------------------------------------------ 15796# $File: pbf,v 1.1 2013/12/21 14:27:24 christos Exp $ 15797# file(1) magic(5) data for OpenStreetMap 15798 15799# OpenStreetMap Protocolbuffer Binary Format (.osm.pbf) 15800# http://wiki.openstreetmap.org/wiki/PBF_Format 15801# From: Markus Heidelberg <markus.heidelberg@web.de> 158020 belong 0x0000000D 15803>4 beshort 0x0A09 15804>>6 string OSMHeader OpenStreetMap Protocolbuffer Binary Format 15805 15806#------------------------------------------------------------------------------ 15807# $File: pbm,v 1.6 2009/09/19 16:28:11 christos Exp $ 15808# pbm: file(1) magic for Portable Bitmap files 15809# 15810# XXX - byte order? 15811# 158120 short 0x2a17 "compact bitmap" format (Poskanzer) 15813 15814#------------------------------------------------------------------------------ 15815# $File: pdf,v 1.7 2013/08/22 07:47:26 christos Exp $ 15816# pdf: file(1) magic for Portable Document Format 15817# 15818 158190 string %PDF- PDF document 15820!:mime application/pdf 15821>5 byte x \b, version %c 15822>7 byte x \b.%c 15823 15824# From: Nick Schmalenberger <nick@schmalenberger.us> 15825# Forms Data Format 158260 string %FDF- FDF document 15827!:mime application/vnd.fdf 15828>5 byte x \b, version %c 15829>7 byte x \b.%c 15830 15831#------------------------------------------------------------------------------ 15832# $File: pdp,v 1.9 2013/04/19 20:11:43 christos Exp $ 15833# pdp: file(1) magic for PDP-11 executable/object and APL workspace 15834# 158350 lelong 0101555 PDP-11 single precision APL workspace 158360 lelong 0101554 PDP-11 double precision APL workspace 15837# 15838# PDP-11 a.out 15839# 158400 leshort 0407 PDP-11 executable 15841>8 leshort >0 not stripped 15842>15 byte >0 - version %ld 15843 15844# updated by Joerg Jenderek at Mar 2013 15845# GRR: line below too general as it catches also Windows precompiled setup information *.PNF 158460 leshort 0401 15847# skip *.PNF with WinDirPathOffset 58h 15848>68 ulelong !0x00000058 PDP-11 UNIX/RT ldp 15849# skip *.PNF with high byte of InfVersionDatumCount zero 15850#>>15 byte !0 PDP-11 UNIX/RT ldp 158510 leshort 0405 PDP-11 old overlay 15852 158530 leshort 0410 PDP-11 pure executable 15854>8 leshort >0 not stripped 15855>15 byte >0 - version %ld 15856 158570 leshort 0411 PDP-11 separate I&D executable 15858>8 leshort >0 not stripped 15859>15 byte >0 - version %ld 15860 158610 leshort 0437 PDP-11 kernel overlay 15862 15863# These last three are derived from 2.11BSD file(1) 158640 leshort 0413 PDP-11 demand-paged pure executable 15865>8 leshort >0 not stripped 15866 158670 leshort 0430 PDP-11 overlaid pure executable 15868>8 leshort >0 not stripped 15869 158700 leshort 0431 PDP-11 overlaid separate executable 15871>8 leshort >0 not stripped 15872#------------------------------------------------------------------------------ 15873# $File: perl,v 1.21 2013/12/08 23:33:18 christos Exp $ 15874# perl: file(1) magic for Larry Wall's perl language. 15875# 15876# The `eval' lines recognizes an outrageously clever hack. 15877# Keith Waclena <keith@cerberus.uchicago.edu> 15878# Send additions to <perl5-porters@perl.org> 158790 search/1 eval\ "exec\ /bin/perl Perl script text 15880!:mime text/x-perl 158810 search/1 eval\ "exec\ /usr/bin/perl Perl script text 15882!:mime text/x-perl 158830 search/1 eval\ "exec\ /usr/local/bin/perl Perl script text 15884!:mime text/x-perl 158850 search/1 eval\ '(exit\ $?0)'\ &&\ eval\ 'exec Perl script text 15886!:mime text/x-perl 158870 search/1 #!/usr/bin/env\ perl Perl script text executable 15888!:mime text/x-perl 158890 search/1 #!\ /usr/bin/env\ perl Perl script text executable 15890!:mime text/x-perl 158910 search/1 #! 15892>0 regex \^#!.*/bin/perl$ Perl script text executable 15893!:mime text/x-perl 15894 15895# by Dmitry V. Levin and Alexey Tourbin 15896# check the first line 158970 search/1 package 15898>0 regex \^package[\ \t]+[0-9A-Za-z_:]+\ *; Perl5 module source text 15899!:strength + 10 15900# not 'p', check other lines 159010 search/1 !p 15902>0 regex \^package[\ \t]+[0-9A-Za-z_:]+\ *; 15903>>0 regex \^1\ *;|\^(use|sub|my)\ .*[(;{=] Perl5 module source text 15904!:strength + 10 15905 15906# Perl POD documents 15907# From: Tom Hukins <tom@eborcom.com> 159080 search/1/W \=pod\n Perl POD document text 159090 search/1/W \n\=pod\n Perl POD document text 159100 search/1/W \=head1\ Perl POD document text 159110 search/1/W \n\=head1\ Perl POD document text 159120 search/1/W \=head2\ Perl POD document text 159130 search/1/W \n\=head2\ Perl POD document text 159140 search/1/W \=encoding\ Perl POD document text 159150 search/1/W \n\=encoding\ Perl POD document text 15916 15917 15918# Perl Storable data files. 159190 string perl-store perl Storable (v0.6) data 15920>4 byte >0 (net-order %d) 15921>>4 byte &01 (network-ordered) 15922>>4 byte =3 (major 1) 15923>>4 byte =2 (major 1) 15924 159250 string pst0 perl Storable (v0.7) data 15926>4 byte >0 15927>>4 byte &01 (network-ordered) 15928>>4 byte =5 (major 2) 15929>>4 byte =4 (major 2) 15930>>5 byte >0 (minor %d) 15931 15932#------------------------------------------------------------------------------ 15933# $File: pgp,v 1.9 2009/09/19 16:28:11 christos Exp $ 15934# pgp: file(1) magic for Pretty Good Privacy 15935# see http://lists.gnupg.org/pipermail/gnupg-devel/1999-September/016052.html 15936# 159370 beshort 0x9900 PGP key public ring 15938!:mime application/x-pgp-keyring 159390 beshort 0x9501 PGP key security ring 15940!:mime application/x-pgp-keyring 159410 beshort 0x9500 PGP key security ring 15942!:mime application/x-pgp-keyring 159430 beshort 0xa600 PGP encrypted data 15944#!:mime application/pgp-encrypted 15945#0 string -----BEGIN\040PGP text/PGP armored data 15946!:mime text/PGP # encoding: armored data 15947#>15 string PUBLIC\040KEY\040BLOCK- public key block 15948#>15 string MESSAGE- message 15949#>15 string SIGNED\040MESSAGE- signed message 15950#>15 string PGP\040SIGNATURE- signature 15951 159522 string ---BEGIN\ PGP\ PUBLIC\ KEY\ BLOCK- PGP public key block 15953!:mime application/pgp-keys 159540 string -----BEGIN\040PGP\40MESSAGE- PGP message 15955!:mime application/pgp 159560 string -----BEGIN\040PGP\40SIGNATURE- PGP signature 15957!:mime application/pgp-signature 15958 15959#------------------------------------------------------------------------------ 15960# $File: pkgadd,v 1.6 2009/09/19 16:28:11 christos Exp $ 15961# pkgadd: file(1) magic for SysV R4 PKG Datastreams 15962# 159630 string #\ PaCkAgE\ DaTaStReAm pkg Datastream (SVR4) 15964!:mime application/x-svr4-package 15965 15966#------------------------------------------------------------------------------ 15967# $File: plan9,v 1.5 2009/09/19 16:28:11 christos Exp $ 15968# plan9: file(1) magic for AT&T Bell Labs' Plan 9 executables 15969# From: "Stefan A. Haubenthal" <polluks@web.de> 15970# 159710 belong 0x00000107 Plan 9 executable, Motorola 68k 159720 belong 0x000001EB Plan 9 executable, Intel 386 159730 belong 0x00000247 Plan 9 executable, Intel 960 159740 belong 0x000002AB Plan 9 executable, SPARC 159750 belong 0x00000407 Plan 9 executable, MIPS R3000 159760 belong 0x0000048B Plan 9 executable, AT&T DSP 3210 159770 belong 0x00000517 Plan 9 executable, MIPS R4000 BE 159780 belong 0x000005AB Plan 9 executable, AMD 29000 159790 belong 0x00000647 Plan 9 executable, ARM 7-something 159800 belong 0x000006EB Plan 9 executable, PowerPC 159810 belong 0x00000797 Plan 9 executable, MIPS R4000 LE 159820 belong 0x0000084B Plan 9 executable, DEC Alpha 15983 15984#------------------------------------------------------------------------------ 15985# $File: plus5,v 1.6 2009/09/19 16:28:11 christos Exp $ 15986# plus5: file(1) magic for Plus Five's UNIX MUMPS 15987# 15988# XXX - byte order? Paging Hokey.... 15989# 159900 short 0x259 mumps avl global 15991>2 byte >0 (V%d) 15992>6 byte >0 with %d byte name 15993>7 byte >0 and %d byte data cells 159940 short 0x25a mumps blt global 15995>2 byte >0 (V%d) 15996>8 short >0 - %d byte blocks 15997>15 byte 0x00 - P/D format 15998>15 byte 0x01 - P/K/D format 15999>15 byte 0x02 - K/D format 16000>15 byte >0x02 - Bad Flags 16001 16002#------------------------------------------------------------------------------ 16003# $File: printer,v 1.25 2011/05/20 23:31:46 christos Exp $ 16004# printer: file(1) magic for printer-formatted files 16005# 16006 16007# PostScript, updated by Daniel Quinlan (quinlan@yggdrasil.com) 160080 string %! PostScript document text 16009!:mime application/postscript 16010!:apple ASPSTEXT 16011>2 string PS-Adobe- conforming 16012>>11 string >\0 DSC level %.3s 16013>>>15 string EPS \b, type %s 16014>>>15 string Query \b, type %s 16015>>>15 string ExitServer \b, type %s 16016>>>15 search/1000 %%LanguageLevel:\ 16017>>>>&0 string >\0 \b, Level %s 16018# Some PCs have the annoying habit of adding a ^D as a document separator 160190 string \004%! PostScript document text 16020!:mime application/postscript 16021!:apple ASPSTEXT 16022>3 string PS-Adobe- conforming 16023>>12 string >\0 DSC level %.3s 16024>>>16 string EPS \b, type %s 16025>>>16 string Query \b, type %s 16026>>>16 string ExitServer \b, type %s 16027>>>16 search/1000 %%LanguageLevel:\ 16028>>>>&0 string >\0 \b, Level %s 160290 string \033%-12345X%!PS PostScript document 16030 16031# DOS EPS Binary File Header 16032# From: Ed Sznyter <ews@Black.Market.NET> 160330 belong 0xC5D0D3C6 DOS EPS Binary File 16034>4 long >0 Postscript starts at byte %d 16035>>8 long >0 length %d 16036>>>12 long >0 Metafile starts at byte %d 16037>>>>16 long >0 length %d 16038>>>20 long >0 TIFF starts at byte %d 16039>>>>24 long >0 length %d 16040 16041# Summary: Adobe's PostScript Printer Description File 16042# Extension: .ppd 16043# Reference: http://partners.adobe.com/public/developer/en/ps/5003.PPD_Spec_v4.3.pdf, Section 3.8 16044# Submitted by: Yves Arrouye <arrouye@marin.fdn.fr> 16045# 160460 string *PPD-Adobe:\x20 PPD file 16047>&0 string x \b, version %s 16048 16049# HP Printer Job Language 160500 string \033%-12345X@PJL HP Printer Job Language data 16051# HP Printer Job Language 16052# The header found on Win95 HP plot files is the "Silliest Thing possible" 16053# (TM) 16054# Every driver puts the language at some random position, with random case 16055# (LANGUAGE and Language) 16056# For example the LaserJet 5L driver puts the "PJL ENTER LANGUAGE" in line 10 16057# From: Uwe Bonnes <bon@elektron.ikp.physik.th-darmstadt.de> 16058# 160590 string \033%-12345X@PJL HP Printer Job Language data 16060>&0 string >\0 %s 16061>>&0 string >\0 %s 16062>>>&0 string >\0 %s 16063>>>>&0 string >\0 %s 16064#>15 string \ ENTER\ LANGUAGE\ = 16065#>31 string PostScript PostScript 16066 16067# From: Stefan Thurner <thurners@nicsys.de> 160680 string \033%-12345X@PJL 16069>&0 search/10000 %! PJL encapsulated PostScript document text 16070 16071# HP Printer Control Language, Daniel Quinlan (quinlan@yggdrasil.com) 160720 string \033E\033 HP PCL printer data 16073>3 string \&l0A - default page size 16074>3 string \&l1A - US executive page size 16075>3 string \&l2A - US letter page size 16076>3 string \&l3A - US legal page size 16077>3 string \&l26A - A4 page size 16078>3 string \&l80A - Monarch envelope size 16079>3 string \&l81A - No. 10 envelope size 16080>3 string \&l90A - Intl. DL envelope size 16081>3 string \&l91A - Intl. C5 envelope size 16082>3 string \&l100A - Intl. B5 envelope size 16083>3 string \&l-81A - No. 10 envelope size (landscape) 16084>3 string \&l-90A - Intl. DL envelope size (landscape) 16085 16086# IMAGEN printer-ready files: 160870 string @document( Imagen printer 16088# this only works if "language xxx" is first item in Imagen header. 16089>10 string language\ impress (imPRESS data) 16090>10 string language\ daisy (daisywheel text) 16091>10 string language\ diablo (daisywheel text) 16092>10 string language\ printer (line printer emulation) 16093>10 string language\ tektronix (Tektronix 4014 emulation) 16094# Add any other languages that your Imagen uses - remember 16095# to keep the word `text' if the file is human-readable. 16096# [GRR 950115: missing "postscript" or "ultrascript" (whatever it was called)] 16097# 16098# Now magic for IMAGEN font files... 160990 string Rast RST-format raster font data 16100>45 string >0 face %s 16101# From Jukka Ukkonen 161020 string \033[K\002\0\0\017\033(a\001\0\001\033(g Canon Bubble Jet BJC formatted data 16103 16104# From <mike@flyn.org> 16105# These are the /etc/magic entries to decode data sent to an Epson printer. 161060 string \x1B\x40\x1B\x28\x52\x08\x00\x00REMOTE1P Epson Stylus Color 460 data 16107 16108 16109#------------------------------------------------------------------------------ 16110# zenographics: file(1) magic for Zenographics ZjStream printer data 16111# Rick Richardson rickr@mn.rr.com 161120 string JZJZ 16113>0x12 string ZZ Zenographics ZjStream printer data (big-endian) 161140 string ZJZJ 16115>0x12 string ZZ Zenographics ZjStream printer data (little-endian) 16116 16117 16118#------------------------------------------------------------------------------ 16119# Oak Technologies printer stream 16120# Rick Richardson <rickr@mn.rr.com> 161210 string OAK 16122>0x07 byte 0 16123>0x0b byte 0 Oak Technologies printer stream 16124 16125# This would otherwise be recognized as PostScript - nick@debian.org 161260 string %!VMF SunClock's Vector Map Format data 16127 16128#------------------------------------------------------------------------------ 16129# HP LaserJet 1000 series downloadable firmware file 161300 string \xbe\xefABCDEFGH HP LaserJet 1000 series downloadable firmware 16131 16132# From: Paolo <oopla@users.sf.net> 16133# Epson ESC/Page, ESC/PageColor 161340 string \x1b\x01@EJL Epson ESC/Page language printer data 16135 16136#------------------------------------------------------------------------------ 16137# $File: project,v 1.4 2009/09/19 16:28:11 christos Exp $ 16138# project: file(1) magic for Project management 16139# 16140# Magic strings for ftnchek project files. Alexander Mai 161410 string FTNCHEK_\ P project file for ftnchek 16142>10 string 1 version 2.7 16143>10 string 2 version 2.8 to 2.10 16144>10 string 3 version 2.11 or later 16145 16146#------------------------------------------------------------------------------ 16147# $File: psdbms,v 1.6 2009/09/19 16:28:11 christos Exp $ 16148# psdbms: file(1) magic for psdatabase 16149# 161500 belong&0xff00ffff 0x56000000 ps database 16151>1 string >\0 version %s 16152>4 string >\0 from kernel %s 16153 16154#------------------------------------------------------------------------------ 16155# $File: pulsar,v 1.5 2009/09/19 16:28:12 christos Exp $ 16156# pulsar: file(1) magic for Pulsar POP3 daemon binary files 16157# 16158# http://pulsar.sourceforge.net 16159# mailto:rok.papez@lugos.si 16160# 16161 161620 belong 0x1ee7f11e Pulsar POP3 daemon mailbox cache file. 16163>4 ubelong x Version: %d. 16164>8 ubelong x \b%d 16165 16166 16167#------------------------------------------------------------------------------ 16168# $File: pwsafe,v 1.1 2012/10/25 00:12:19 christos Exp $ 16169# pwsafe: file(1) magic for passwordsafe file 16170# 16171# Password Safe 16172# http://passwordsafe.sourceforge.net/ 16173# file format specs 16174# http://passwordsafe.svn.sourceforge.net/viewvc/passwordsafe/trunk/pwsafe/pwsafe/docs/formatV3.txt 16175# V2 http://passwordsafe.svn.sourceforge.net/viewvc/passwordsafe/trunk/pwsafe/pwsafe/docs/formatV2.txt 16176# V1 http://passwordsafe.svn.sourceforge.net/viewvc/passwordsafe/trunk/pwsafe/pwsafe/docs/notes.txt 16177# V2 and V1 have no easy identifier that I can find 16178# .psafe3 161790 string PWS3 Password Safe V3 database 16180 16181#------------------------------------------------------------------------------ 16182# $File: pyramid,v 1.7 2009/09/19 16:28:12 christos Exp $ 16183# pyramid: file(1) magic for Pyramids 16184# 16185# XXX - byte order? 16186# 161870 long 0x50900107 Pyramid 90x family executable 161880 long 0x50900108 Pyramid 90x family pure executable 16189>16 long >0 not stripped 161900 long 0x5090010b Pyramid 90x family demand paged pure executable 16191>16 long >0 not stripped 16192 16193#------------------------------------------------------------------------------ 16194# $File: python,v 1.23 2013/12/11 14:14:20 christos Exp $ 16195# python: file(1) magic for python 16196# 16197# Outlook puts """ too for urgent messages 16198# From: David Necas <yeti@physics.muni.cz> 16199# often the module starts with a multiline string 162000 string/t """ Python script text executable 16201# MAGIC as specified in Python/import.c (1.5 to 2.7a0 and 3.1a0, assuming 16202# that Py_UnicodeFlag is off for Python 2) 16203# 20121 ( YEAR - 1995 ) + MONTH + DAY (little endian followed by "\r\n" 162040 belong 0x994e0d0a python 1.5/1.6 byte-compiled 162050 belong 0x87c60d0a python 2.0 byte-compiled 162060 belong 0x2aeb0d0a python 2.1 byte-compiled 162070 belong 0x2ded0d0a python 2.2 byte-compiled 162080 belong 0x3bf20d0a python 2.3 byte-compiled 162090 belong 0x6df20d0a python 2.4 byte-compiled 162100 belong 0xb3f20d0a python 2.5 byte-compiled 162110 belong 0xd1f20d0a python 2.6 byte-compiled 162120 belong 0x03f30d0a python 2.7 byte-compiled 162130 belong 0x3b0c0d0a python 3.0 byte-compiled 162140 belong 0x4f0c0d0a python 3.1 byte-compiled 162150 belong 0x6c0c0d0a python 3.2 byte-compiled 162160 belong 0x9e0c0d0a python 3.3 byte-compiled 16217 162180 search/1/w #!\ /usr/bin/python Python script text executable 16219!:mime text/x-python 162200 search/1/w #!\ /usr/local/bin/python Python script text executable 16221!:mime text/x-python 162220 search/1 #!/usr/bin/env\ python Python script text executable 16223!:mime text/x-python 162240 search/1 #!\ /usr/bin/env\ python Python script text executable 16225!:mime text/x-python 16226 16227 16228# from module.submodule import func1, func2 162290 regex \^from\\s+(\\w|\\.)+\\s+import.*$ Python script text executable 16230!:mime text/x-python 16231 16232# def __init__ (self, ...): 162330 search/4096 def\ __init__ 16234>&0 search/64 self Python script text executable 16235!:mime text/x-python 16236 16237# comments 162380 search/4096 ''' 16239>&0 regex .*'''$ Python script text executable 16240!:mime text/x-python 16241 162420 search/4096 """ 16243>&0 regex .*"""$ Python script text executable 16244!:mime text/x-python 16245 16246# try: 16247# except: or finally: 16248# block 162490 search/4096 try: 16250>&0 regex \^\\s*except.*: Python script text executable 16251!:mime text/x-python 16252>&0 search/4096 finally: Python script text executable 16253!:mime text/x-python 16254 16255# def name(args, args): 162560 regex \^(\ |\\t){0,50}def\ {1,50}[a-zA-Z]{1,100} 16257>&0 regex \ {0,50}\\(([a-zA-Z]|,|\ ){1,500}\\):$ Python script text executable 16258!:mime text/x-python 16259 16260#------------------------------------------------------------------------------ 16261# $File: revision,v 1.9 2013/02/06 14:18:52 christos Exp $ 16262# file(1) magic for revision control files 16263# From Hendrik Scholz <hendrik@scholz.net> 162640 string/t /1\ :pserver: cvs password text file 16265 16266# Conary changesets 16267# From: Jonathan Smith <smithj@rpath.com> 162680 belong 0xea3f81bb Conary changeset data 16269 16270# Type: Git bundles (git-bundle) 16271# From: Josh Triplett <josh@freedesktop.org> 162720 string #\ v2\ git\ bundle\n Git bundle 16273 16274# Type: Git pack 16275# From: Adam Buchbinder <adam.buchbinder@gmail.com> 16276# The actual magic is 'PACK', but that clashes with Doom/Quake packs. However, 16277# those have a little-endian offset immediately following the magic 'PACK', 16278# the first byte of which is never 0, while the first byte of the Git pack 16279# version, since it's a tiny number stored in big-endian format, is always 0. 162800 string PACK\0 Git pack 16281>4 belong >0 \b, version %d 16282>>8 belong >0 \b, %d objects 16283 16284# Type: Git pack index 16285# From: Adam Buchbinder <adam.buchbinder@gmail.com> 162860 string \377tOc Git pack index 16287>4 belong =2 \b, version 2 16288 16289# Type: Git index file 16290# From: Frederic Briare <fbriere@fbriere.net> 162910 string DIRC Git index 16292>4 belong >0 \b, version %d 16293>>8 belong >0 \b, %d entries 16294 16295# Type: Mercurial bundles 16296# From: Seo Sanghyeon <tinuviel@sparcs.kaist.ac.kr> 162970 string HG10 Mercurial bundle, 16298>4 string UN uncompressed 16299>4 string BZ bzip2 compressed 16300 16301# Type: Subversion (SVN) dumps 16302# From: Uwe Zeisberger <zeisberg@informatik.uni-freiburg.de> 163030 string SVN-fs-dump-format-version: Subversion dumpfile 16304>28 string >\0 (version: %s) 16305 16306# Type: Bazaar revision bundles and merge requests 16307# URL: http://www.bazaar-vcs.org/ 16308# From: Jelmer Vernooij <jelmer@samba.org> 163090 string #\ Bazaar\ revision\ bundle\ v Bazaar Bundle 163100 string #\ Bazaar\ merge\ directive\ format Bazaar merge directive 16311 16312#------------------------------------------------------------------------------ 16313# $File: riff,v 1.24 2013/11/19 23:58:17 christos Exp $ 16314# riff: file(1) magic for RIFF format 16315# See 16316# 16317# http://www.seanet.com/users/matts/riffmci/riffmci.htm 16318# 16319# AVI section extended by Patrik Radman <patrik+file-magic@iki.fi> 16320# 163210 string RIFF RIFF (little-endian) data 16322# RIFF Palette format 16323>8 string PAL \b, palette 16324>>16 leshort x \b, version %d 16325>>18 leshort x \b, %d entries 16326# RIFF Device Independent Bitmap format 16327>8 string RDIB \b, device-independent bitmap 16328>>16 string BM 16329>>>30 leshort 12 \b, OS/2 1.x format 16330>>>>34 leshort x \b, %d x 16331>>>>36 leshort x %d 16332>>>30 leshort 64 \b, OS/2 2.x format 16333>>>>34 leshort x \b, %d x 16334>>>>36 leshort x %d 16335>>>30 leshort 40 \b, Windows 3.x format 16336>>>>34 lelong x \b, %d x 16337>>>>38 lelong x %d x 16338>>>>44 leshort x %d 16339# RIFF MIDI format 16340>8 string RMID \b, MIDI 16341# RIFF Multimedia Movie File format 16342>8 string RMMP \b, multimedia movie 16343# RIFF wrapper for MP3 16344>8 string RMP3 \b, MPEG Layer 3 audio 16345# Microsoft WAVE format (*.wav) 16346>8 string WAVE \b, WAVE audio 16347!:mime audio/x-wav 16348>>20 leshort 1 \b, Microsoft PCM 16349>>>34 leshort >0 \b, %d bit 16350>>20 leshort 2 \b, Microsoft ADPCM 16351>>20 leshort 6 \b, ITU G.711 A-law 16352>>20 leshort 7 \b, ITU G.711 mu-law 16353>>20 leshort 8 \b, Microsoft DTS 16354>>20 leshort 17 \b, IMA ADPCM 16355>>20 leshort 20 \b, ITU G.723 ADPCM (Yamaha) 16356>>20 leshort 49 \b, GSM 6.10 16357>>20 leshort 64 \b, ITU G.721 ADPCM 16358>>20 leshort 80 \b, MPEG 16359>>20 leshort 85 \b, MPEG Layer 3 16360>>20 leshort 0x2001 \b, DTS 16361>>22 leshort =1 \b, mono 16362>>22 leshort =2 \b, stereo 16363>>22 leshort >2 \b, %d channels 16364>>24 lelong >0 %d Hz 16365# Corel Draw Picture 16366>8 string CDRA \b, Corel Draw Picture 16367!:mime image/x-coreldraw 16368>8 string CDR6 \b, Corel Draw Picture, version 6 16369!:mime image/x-coreldraw 16370# AVI == Audio Video Interleave 16371>8 string AVI\040 \b, AVI 16372!:mime video/x-msvideo 16373>>12 string LIST 16374>>>20 string hdrlavih 16375>>>>&36 lelong x \b, %lu x 16376>>>>&40 lelong x %lu, 16377>>>>&4 lelong >1000000 <1 fps, 16378>>>>&4 lelong 1000000 1.00 fps, 16379>>>>&4 lelong 500000 2.00 fps, 16380>>>>&4 lelong 333333 3.00 fps, 16381>>>>&4 lelong 250000 4.00 fps, 16382>>>>&4 lelong 200000 5.00 fps, 16383>>>>&4 lelong 166667 6.00 fps, 16384>>>>&4 lelong 142857 7.00 fps, 16385>>>>&4 lelong 125000 8.00 fps, 16386>>>>&4 lelong 111111 9.00 fps, 16387>>>>&4 lelong 100000 10.00 fps, 16388# ]9.9,10.1[ 16389>>>>&4 lelong <101010 16390>>>>>&-4 lelong >99010 16391>>>>>>&-4 lelong !100000 ~10 fps, 16392>>>>&4 lelong 83333 12.00 fps, 16393# ]11.9,12.1[ 16394>>>>&4 lelong <84034 16395>>>>>&-4 lelong >82645 16396>>>>>>&-4 lelong !83333 ~12 fps, 16397>>>>&4 lelong 66667 15.00 fps, 16398# ]14.9,15.1[ 16399>>>>&4 lelong <67114 16400>>>>>&-4 lelong >66225 16401>>>>>>&-4 lelong !66667 ~15 fps, 16402>>>>&4 lelong 50000 20.00 fps, 16403>>>>&4 lelong 41708 23.98 fps, 16404>>>>&4 lelong 41667 24.00 fps, 16405# ]23.9,24.1[ 16406>>>>&4 lelong <41841 16407>>>>>&-4 lelong >41494 16408>>>>>>&-4 lelong !41708 16409>>>>>>>&-4 lelong !41667 ~24 fps, 16410>>>>&4 lelong 40000 25.00 fps, 16411# ]24.9,25.1[ 16412>>>>&4 lelong <40161 16413>>>>>&-4 lelong >39841 16414>>>>>>&-4 lelong !40000 ~25 fps, 16415>>>>&4 lelong 33367 29.97 fps, 16416>>>>&4 lelong 33333 30.00 fps, 16417# ]29.9,30.1[ 16418>>>>&4 lelong <33445 16419>>>>>&-4 lelong >33223 16420>>>>>>&-4 lelong !33367 16421>>>>>>>&-4 lelong !33333 ~30 fps, 16422>>>>&4 lelong <32224 >30 fps, 16423##>>>>&4 lelong x (%lu) 16424##>>>>&20 lelong x %lu frames, 16425# Note: The tests below assume that the AVI has 1 or 2 streams, 16426# "vids" optionally followed by "auds". 16427# (Should cover 99.9% of all AVIs.) 16428# assuming avih length = 56 16429>>>88 string LIST 16430>>>>96 string strlstrh 16431>>>>>108 string vids video: 16432>>>>>>&0 lelong 0 uncompressed 16433# skip past vids strh 16434>>>>>>(104.l+108) string strf 16435>>>>>>>(104.l+132) lelong 1 RLE 8bpp 16436>>>>>>>(104.l+132) string/c cvid Cinepak 16437>>>>>>>(104.l+132) string/c i263 Intel I.263 16438>>>>>>>(104.l+132) string/c iv32 Indeo 3.2 16439>>>>>>>(104.l+132) string/c iv41 Indeo 4.1 16440>>>>>>>(104.l+132) string/c iv50 Indeo 5.0 16441>>>>>>>(104.l+132) string/c mp42 Microsoft MPEG-4 v2 16442>>>>>>>(104.l+132) string/c mp43 Microsoft MPEG-4 v3 16443>>>>>>>(104.l+132) string/c fmp4 FFMpeg MPEG-4 16444>>>>>>>(104.l+132) string/c mjpg Motion JPEG 16445>>>>>>>(104.l+132) string/c div3 DivX 3 16446>>>>>>>>112 string/c div3 Low-Motion 16447>>>>>>>>112 string/c div4 Fast-Motion 16448>>>>>>>(104.l+132) string/c divx DivX 4 16449>>>>>>>(104.l+132) string/c dx50 DivX 5 16450>>>>>>>(104.l+132) string/c xvid XviD 16451>>>>>>>(104.l+132) string/c h264 H.264 16452>>>>>>>(104.l+132) string/c wmv3 Windows Media Video 9 16453>>>>>>>(104.l+132) string/c h264 X.264 or H.264 16454>>>>>>>(104.l+132) lelong 0 16455##>>>>>>>(104.l+132) string x (%.4s) 16456# skip past first (video) LIST 16457>>>>(92.l+96) string LIST 16458>>>>>(92.l+104) string strlstrh 16459>>>>>>(92.l+116) string auds \b, audio: 16460# auds strh length = 56: 16461>>>>>>>(92.l+172) string strf 16462>>>>>>>>(92.l+180) leshort 0x0001 uncompressed PCM 16463>>>>>>>>(92.l+180) leshort 0x0002 ADPCM 16464>>>>>>>>(92.l+180) leshort 0x0006 aLaw 16465>>>>>>>>(92.l+180) leshort 0x0007 uLaw 16466>>>>>>>>(92.l+180) leshort 0x0050 MPEG-1 Layer 1 or 2 16467>>>>>>>>(92.l+180) leshort 0x0055 MPEG-1 Layer 3 16468>>>>>>>>(92.l+180) leshort 0x2000 Dolby AC3 16469>>>>>>>>(92.l+180) leshort 0x0161 DivX 16470##>>>>>>>>(92.l+180) leshort x (0x%.4x) 16471>>>>>>>>(92.l+182) leshort 1 (mono, 16472>>>>>>>>(92.l+182) leshort 2 (stereo, 16473>>>>>>>>(92.l+182) leshort >2 (%d channels, 16474>>>>>>>>(92.l+184) lelong x %d Hz) 16475# auds strh length = 64: 16476>>>>>>>(92.l+180) string strf 16477>>>>>>>>(92.l+188) leshort 0x0001 uncompressed PCM 16478>>>>>>>>(92.l+188) leshort 0x0002 ADPCM 16479>>>>>>>>(92.l+188) leshort 0x0055 MPEG-1 Layer 3 16480>>>>>>>>(92.l+188) leshort 0x2000 Dolby AC3 16481>>>>>>>>(92.l+188) leshort 0x0161 DivX 16482##>>>>>>>>(92.l+188) leshort x (0x%.4x) 16483>>>>>>>>(92.l+190) leshort 1 (mono, 16484>>>>>>>>(92.l+190) leshort 2 (stereo, 16485>>>>>>>>(92.l+190) leshort >2 (%d channels, 16486>>>>>>>>(92.l+192) lelong x %d Hz) 16487# Animated Cursor format 16488>8 string ACON \b, animated cursor 16489# SoundFont 2 <mpruett@sgi.com> 16490>8 string sfbk SoundFont/Bank 16491# MPEG-1 wrapped in a RIFF, apparently 16492>8 string CDXA \b, wrapped MPEG-1 (CDXA) 16493>8 string 4XMV \b, 4X Movie file 16494# AMV-type AVI file: http://wiki.multimedia.cx/index.php?title=AMV 16495>8 string AMV\040 \b, AMV 16496 16497# 16498# XXX - some of the below may only appear in little-endian form. 16499# 16500# Also "MV93" appears to be for one form of Macromedia Director 16501# files, and "GDMF" appears to be another multimedia format. 16502# 165030 string RIFX RIFF (big-endian) data 16504# RIFF Palette format 16505>8 string PAL \b, palette 16506>>16 beshort x \b, version %d 16507>>18 beshort x \b, %d entries 16508# RIFF Device Independent Bitmap format 16509>8 string RDIB \b, device-independent bitmap 16510>>16 string BM 16511>>>30 beshort 12 \b, OS/2 1.x format 16512>>>>34 beshort x \b, %d x 16513>>>>36 beshort x %d 16514>>>30 beshort 64 \b, OS/2 2.x format 16515>>>>34 beshort x \b, %d x 16516>>>>36 beshort x %d 16517>>>30 beshort 40 \b, Windows 3.x format 16518>>>>34 belong x \b, %d x 16519>>>>38 belong x %d x 16520>>>>44 beshort x %d 16521# RIFF MIDI format 16522>8 string RMID \b, MIDI 16523# RIFF Multimedia Movie File format 16524>8 string RMMP \b, multimedia movie 16525# Microsoft WAVE format (*.wav) 16526>8 string WAVE \b, WAVE audio 16527>>20 leshort 1 \b, Microsoft PCM 16528>>>34 leshort >0 \b, %d bit 16529>>22 beshort =1 \b, mono 16530>>22 beshort =2 \b, stereo 16531>>22 beshort >2 \b, %d channels 16532>>24 belong >0 %d Hz 16533# Corel Draw Picture 16534>8 string CDRA \b, Corel Draw Picture 16535>8 string CDR6 \b, Corel Draw Picture, version 6 16536# AVI == Audio Video Interleave 16537>8 string AVI\040 \b, AVI 16538# Animated Cursor format 16539>8 string ACON \b, animated cursor 16540# Notation Interchange File Format (big-endian only) 16541>8 string NIFF \b, Notation Interchange File Format 16542# SoundFont 2 <mpruett@sgi.com> 16543>8 string sfbk SoundFont/Bank 16544 16545#------------------------------------------------------------------------------ 16546# Sony Wave64 16547# see http://www.vcs.de/fileadmin/user_upload/MBS/PDF/Whitepaper/Informations_about_Sony_Wave64.pdf 16548# 128 bit RIFF-GUID { 66666972-912E-11CF-A5D6-28DB04C10000 } in little-endian 165490 string riff\x2E\x91\xCF\x11\xA5\xD6\x28\xDB\x04\xC1\x00\x00 Sony Wave64 RIFF data 16550# 128 bit + total file size (64 bits) so 24 bytes 16551# then WAVE-GUID { 65766177-ACF3-11D3-8CD1-00C04F8EDB8A } 16552>24 string wave\xF3\xAC\xD3\x11\x8C\xD1\x00\xC0\x4F\x8E\xDB\x8A \b, WAVE 64 audio 16553!:mime audio/x-w64 16554# FMT-GUID { 20746D66-ACF3-11D3-8CD1-00C04F8EDB8A } 16555>>40 search/256 fmt\x20\xF3\xAC\xD3\x11\x8C\xD1\x00\xC0\x4F\x8E\xDB\x8A \b 16556>>>&10 leshort =1 \b, mono 16557>>>&10 leshort =2 \b, stereo 16558>>>&10 leshort >2 \b, %d channels 16559>>>&12 lelong >0 %d Hz 16560 16561#------------------------------------------------------------------------------ 16562# MBWF/RF64 16563# see EBU TECH 3306 http://tech.ebu.ch/docs/tech/tech3306-2009.pdf 165640 string RF64\xff\xff\xff\xffWAVEds64 MBWF/RF64 audio 16565!:mime audio/x-wav 16566>40 search/256 fmt\x20 \b 16567>>&6 leshort =1 \b, mono 16568>>&6 leshort =2 \b, stereo 16569>>&6 leshort >2 \b, %d channels 16570>>&8 lelong >0 %d Hz 16571 16572 16573#------------------------------------------------------------------------------ 16574# $File: rinex,v 1.4 2011/05/03 01:44:17 christos Exp $ 16575# rinex: file(1) magic for RINEX files 16576# http://igscb.jpl.nasa.gov/igscb/data/format/rinex210.txt 16577# ftp://cddis.gsfc.nasa.gov/pub/reports/formats/rinex300.pdf 16578# data for testing: ftp://cddis.gsfc.nasa.gov/pub/gps/data 1657960 string RINEX 16580>80 search/256 XXRINEXB RINEX Data, GEO SBAS Broadcast 16581>>&32 string x \b, date %15.15s 16582>>5 string x \b, version %6.6s 16583!:mime rinex/broadcast 16584>80 search/256 XXRINEXD RINEX Data, Observation (Hatanaka comp) 16585>>&32 string x \b, date %15.15s 16586>>5 string x \b, version %6.6s 16587!:mime rinex/observation 16588>80 search/256 XXRINEXC RINEX Data, Clock 16589>>&32 string x \b, date %15.15s 16590>>5 string x \b, version %6.6s 16591!:mime rinex/clock 16592>80 search/256 XXRINEXH RINEX Data, GEO SBAS Navigation 16593>>&32 string x \b, date %15.15s 16594>>5 string x \b, version %6.6s 16595!:mime rinex/navigation 16596>80 search/256 XXRINEXG RINEX Data, GLONASS Navigation 16597>>&32 string x \b, date %15.15s 16598>>5 string x \b, version %6.6s 16599!:mime rinex/navigation 16600>80 search/256 XXRINEXL RINEX Data, Galileo Navigation 16601>>&32 string x \b, date %15.15s 16602>>5 string x \b, version %6.6s 16603!:mime rinex/navigation 16604>80 search/256 XXRINEXM RINEX Data, Meteorological 16605>>&32 string x \b, date %15.15s 16606>>5 string x \b, version %6.6s 16607!:mime rinex/meteorological 16608>80 search/256 XXRINEXN RINEX Data, Navigation 16609>>&32 string x \b, date %15.15s 16610>>5 string x \b, version %6.6s 16611!:mime rinex/navigation 16612>80 search/256 XXRINEXO RINEX Data, Observation 16613>>&32 string x \b, date %15.15s 16614>>5 string x \b, version %6.6s 16615!:mime rinex/observation 16616 16617#------------------------------------------------------------------------------ 16618# $File: rpm,v 1.12 2013/01/11 16:45:23 christos Exp $ 16619# 16620# RPM: file(1) magic for Red Hat Packages Erik Troan (ewt@redhat.com) 16621# 166220 belong 0xedabeedb RPM 16623!:mime application/x-rpm 16624>4 byte x v%d 16625>5 byte x \b.%d 16626>6 beshort 1 src 16627>6 beshort 0 bin 16628>>8 beshort 1 i386/x86_64 16629>>8 beshort 2 Alpha/Sparc64 16630>>8 beshort 3 Sparc 16631>>8 beshort 4 MIPS 16632>>8 beshort 5 PowerPC 16633>>8 beshort 6 68000 16634>>8 beshort 7 SGI 16635>>8 beshort 8 RS6000 16636>>8 beshort 9 IA64 16637>>8 beshort 10 Sparc64 16638>>8 beshort 11 MIPSel 16639>>8 beshort 12 ARM 16640>>8 beshort 13 MiNT 16641>>8 beshort 14 S/390 16642>>8 beshort 15 S/390x 16643>>8 beshort 16 PowerPC64 16644>>8 beshort 17 SuperH 16645>>8 beshort 18 Xtensa 16646>>8 beshort 255 noarch 16647 16648#delta RPM Daniel Novotny (dnovotny@redhat.com) 166490 string drpm Delta RPM 16650!:mime application/x-rpm 16651>12 string x %s 16652>>8 beshort 11 MIPSel 16653>>8 beshort 12 ARM 16654>>8 beshort 13 MiNT 16655>>8 beshort 14 S/390 16656>>8 beshort 15 S/390x 16657>>8 beshort 16 PowerPC64 16658>>8 beshort 17 SuperH 16659>>8 beshort 18 Xtensa 16660>>10 string x %s 16661 16662#------------------------------------------------------------------------------ 16663# $File: rtf,v 1.7 2009/09/19 16:28:12 christos Exp $ 16664# rtf: file(1) magic for Rich Text Format (RTF) 16665# 16666# Duncan P. Simpson, D.P.Simpson@dcs.warwick.ac.uk 16667# 166680 string {\\rtf Rich Text Format data, 16669!:mime text/rtf 16670>5 string 1 version 1, 16671>>6 string \\ansi ANSI 16672>>6 string \\mac Apple Macintosh 16673>>6 string \\pc IBM PC, code page 437 16674>>6 string \\pca IBM PS/2, code page 850 16675>>6 default x unknown character set 16676>5 default x unknown version 16677 16678#------------------------------------------------------------------------------ 16679# $File: ruby,v 1.5 2010/07/21 16:47:17 christos Exp $ 16680# ruby: file(1) magic for Ruby scripting language 16681# URL: http://www.ruby-lang.org/ 16682# From: Reuben Thomas <rrt@sc3d.org> 16683 16684# Ruby scripts 166850 search/1/w #!\ /usr/bin/ruby Ruby script text executable 16686!:mime text/x-ruby 166870 search/1/w #!\ /usr/local/bin/ruby Ruby script text executable 16688!:mime text/x-ruby 166890 search/1 #!/usr/bin/env\ ruby Ruby script text executable 16690!:mime text/x-ruby 166910 search/1 #!\ /usr/bin/env\ ruby Ruby script text executable 16692!:mime text/x-ruby 16693 16694# What looks like ruby, but does not have a shebang 16695# (modules and such) 16696# From: Lubomir Rintel <lkundrak@v3.sk> 166970 regex \^[\ \t]*require[\ \t]'[A-Za-z_/]+' 16698>0 regex include\ [A-Z]|def\ [a-z]|\ do$ 16699>>0 regex \^[\ \t]*end([\ \t]*[;#].*)?$ Ruby script text 16700!:mime text/x-ruby 167010 regex \^[\ \t]*(class|module)[\ \t][A-Z] 16702>0 regex (modul|includ)e\ [A-Z]|def\ [a-z] 16703>>0 regex \^[\ \t]*end([\ \t]*[;#].*)?$ Ruby module source text 16704!:mime text/x-ruby 16705 16706#------------------------------------------------------------------------------ 16707# $File: sc,v 1.6 2009/09/19 16:28:12 christos Exp $ 16708# sc: file(1) magic for "sc" spreadsheet 16709# 1671038 string Spreadsheet sc spreadsheet file 16711!:mime application/x-sc 16712 16713#------------------------------------------------------------------------------ 16714# $File: sccs,v 1.6 2009/09/19 16:28:12 christos Exp $ 16715# sccs: file(1) magic for SCCS archives 16716# 16717# SCCS archive structure: 16718# \001h01207 16719# \001s 00276/00000/00000 16720# \001d D 1.1 87/09/23 08:09:20 ian 1 0 16721# \001c date and time created 87/09/23 08:09:20 by ian 16722# \001e 16723# \001u 16724# \001U 16725# ... etc. 16726# Now '\001h' happens to be the same as the 3B20's a.out magic number (0550). 16727# *Sigh*. And these both came from various parts of the USG. 16728# Maybe we should just switch everybody from SCCS to RCS! 16729# Further, you can't just say '\001h0', because the five-digit number 16730# is a checksum that could (presumably) have any leading digit, 16731# and we don't have regular expression matching yet. 16732# Hence the following official kludge: 167338 string \001s\ SCCS archive data 16734 16735#------------------------------------------------------------------------------ 16736# $File: scientific,v 1.8 2014/01/06 17:46:23 rrt Exp $ 16737# scientific: file(1) magic for scientific formats 16738# 16739# From: Joe Krahn <krahn@niehs.nih.gov> 16740 16741######################################################## 16742# CCP4 data and plot files: 167430 string MTZ\040 MTZ reflection file 16744 1674592 string PLOT%%84 Plot84 plotting file 16746>52 byte 1 , Little-endian 16747>55 byte 1 , Big-endian 16748 16749######################################################## 16750# Electron density MAP/MASK formats 16751 167520 string EZD_MAP NEWEZD Electron Density Map 16753109 string MAP\040( Old EZD Electron Density Map 16754 167550 string/c :-)\040Origin BRIX Electron Density Map 16756>170 string >0 , Sigma:%.12s 16757#>4 string >0 %.178s 16758#>4 addr x %.178s 16759 167607 string 18\040!NTITLE XPLOR ASCII Electron Density Map 167619 string \040!NTITLE\012\040REMARK CNS ASCII electron density map 16762 16763208 string MAP\040 CCP4 Electron Density Map 16764# Assumes same stamp for float and double (normal case) 16765>212 byte 17 \b, Big-endian 16766>212 byte 34 \b, VAX format 16767>212 byte 68 \b, Little-endian 16768>212 byte 85 \b, Convex native 16769 16770############################################################ 16771# X-Ray Area Detector images 167720 string R-AXIS4\ \ \ R-Axis Area Detector Image: 16773>796 lelong <20 Little-endian, IP #%d, 16774>>768 lelong >0 Size=%dx 16775>>772 lelong >0 \b%d 16776>796 belong <20 Big-endian, IP #%d, 16777>>768 belong >0 Size=%dx 16778>>772 belong >0 \b%d 16779 167800 string RAXIS\ \ \ \ \ R-Axis Area Detector Image, Win32: 16781>796 lelong <20 Little-endian, IP #%d, 16782>>768 lelong >0 Size=%dx 16783>>772 lelong >0 \b%d 16784>796 belong <20 Big-endian, IP #%d, 16785>>768 belong >0 Size=%dx 16786>>772 belong >0 \b%d 16787 16788 167891028 string MMX\000\000\000\000\000\000\000\000\000\000\000\000\000 MAR Area Detector Image, 16790>1072 ulong >1 Compressed(%d), 16791>1100 ulong >1 %d headers, 16792>1104 ulong >0 %d x 16793>1108 ulong >0 %d, 16794>1120 ulong >0 %d bits/pixel 16795 16796# Type: GEDCOM genealogical (family history) data 16797# From: Giuseppe Bilotta 167980 search/1/c 0\ HEAD GEDCOM genealogy text 16799>&0 search 1\ GEDC 16800>>&0 search 2\ VERS version 16801>>>&1 string >\0 %s 16802# From: Phil Endecott <phil05@chezphil.org> 168030 string \000\060\000\040\000\110\000\105\000\101\000\104 GEDCOM data 168040 string \060\000\040\000\110\000\105\000\101\000\104\000 GEDCOM data 168050 string \376\377\000\060\000\040\000\110\000\105\000\101\000\104 GEDCOM data 168060 string \377\376\060\000\040\000\110\000\105\000\101\000\104\000 GEDCOM data 16807 16808# PDB: Protein Data Bank files 16809# Adam Buchbinder <adam.buchbinder@gmail.com> 16810# 16811# http://www.wwpdb.org/documentation/format32/sect2.html 16812# http://www.ch.ic.ac.uk/chemime/ 16813# 16814# The PDB file format is fixed-field, 80 columns. From the spec: 16815# 16816# COLS DATA 16817# 1 - 6 "HEADER" 16818# 11 - 50 String(40) 16819# 51 - 59 Date 16820# 63 - 66 IDcode 16821# 16822# Thus, positions 7-10, 60-62 and 67-80 are spaces. The Date must be in the 16823# format DD-MMM-YY, e.g., 01-JAN-70, and the IDcode consists of numbers and 16824# uppercase letters. However, examples have been seen without the date string, 16825# e.g., the example on the chemime site. 168260 string HEADER\ \ \ \ 16827>&0 regex/1 \^.{40} 16828>>&0 regex/1 [0-9]{2}-[A-Z]{3}-[0-9]{2}\ {3} 16829>>>&0 regex/1s [A-Z0-9]{4}.{14}$ 16830>>>>&0 regex/1 [A-Z0-9]{4} Protein Data Bank data, ID Code %s 16831!:mime chemical/x-pdb 16832>>>>0 regex/1 [0-9]{2}-[A-Z]{3}-[0-9]{2} \b, %s 16833 16834# Type: GDSII Stream file 168350 belong 0x00060002 GDSII Stream file 16836>4 byte 0x00 16837>>5 byte x version %d.0 16838>4 byte >0x00 version %d 16839>>5 byte x \b.%d 16840 16841#------------------------------------------------------------------------------ 16842# $File: securitycerts,v 1.4 2009/09/19 16:28:12 christos Exp $ 168430 search/1 -----BEGIN\ CERTIFICATE------ RFC1421 Security Certificate text 168440 search/1 -----BEGIN\ NEW\ CERTIFICATE RFC1421 Security Certificate Signing Request text 168450 belong 0xedfeedfe Sun 'jks' Java Keystore File data 16846# Type: SE Linux policy modules *.pp reference policy 16847# for Fedora 5 to 9, RHEL5, and Debian Etch and Lenny. 16848# URL: http://doc.coker.com.au/computers/selinux-magic 16849# From: Russell Coker <russell@coker.com.au> 16850 168510 lelong 0xf97cff8f SE Linux modular policy 16852>4 lelong x version %d, 16853>8 lelong x %d sections, 16854>>(12.l) lelong 0xf97cff8d 16855>>>(12.l+27) lelong x mod version %d, 16856>>>(12.l+31) lelong 0 Not MLS, 16857>>>(12.l+31) lelong 1 MLS, 16858>>>(12.l+23) lelong 2 16859>>>>(12.l+47) string >\0 module name %s 16860>>>(12.l+23) lelong 1 base 16861 168621 string policy_module( SE Linux policy module source 168632 string policy_module( SE Linux policy module source 16864 168650 string ##\ <summary> SE Linux policy interface source 16866 16867#0 search gen_context( SE Linux policy file contexts 16868 16869#0 search gen_sens( SE Linux policy MLS constraints source 16870 16871#------------------------------------------------------------------------------ 16872# $File: sendmail,v 1.7 2009/09/19 16:28:12 christos Exp $ 16873# sendmail: file(1) magic for sendmail config files 16874# 16875# XXX - byte order? 16876# 168770 byte 046 Sendmail frozen configuration 16878>16 string >\0 - version %s 168790 short 0x271c Sendmail frozen configuration 16880>16 string >\0 - version %s 16881 16882#------------------------------------------------------------------------------ 16883# sendmail: file(1) magic for sendmail m4(1) files 16884# 16885# From Hendrik Scholz <hendrik@scholz.net> 16886# i.e. files in /usr/share/sendmail/cf/ 16887# 168880 string divert(-1)\n sendmail m4 text file 16889 16890 16891#------------------------------------------------------------------------------ 16892# $File: sequent,v 1.8 2009/09/19 16:28:12 christos Exp $ 16893# sequent: file(1) magic for Sequent machines 16894# 16895# Sequent information updated by Don Dwiggins <atsun!dwiggins>. 16896# For Sequent's multiprocessor systems (incomplete). 168970 lelong 0x00ea BALANCE NS32000 .o 16898>16 lelong >0 not stripped 16899>124 lelong >0 version %ld 169000 lelong 0x10ea BALANCE NS32000 executable (0 @ 0) 16901>16 lelong >0 not stripped 16902>124 lelong >0 version %ld 169030 lelong 0x20ea BALANCE NS32000 executable (invalid @ 0) 16904>16 lelong >0 not stripped 16905>124 lelong >0 version %ld 169060 lelong 0x30ea BALANCE NS32000 standalone executable 16907>16 lelong >0 not stripped 16908>124 lelong >0 version %ld 16909# 16910# Symmetry information added by Jason Merrill <jason@jarthur.claremont.edu>. 16911# Symmetry magic nums will not be reached if DOS COM comes before them; 16912# byte 0xeb is matched before these get a chance. 169130 leshort 0x12eb SYMMETRY i386 .o 16914>16 lelong >0 not stripped 16915>124 lelong >0 version %ld 169160 leshort 0x22eb SYMMETRY i386 executable (0 @ 0) 16917>16 lelong >0 not stripped 16918>124 lelong >0 version %ld 169190 leshort 0x32eb SYMMETRY i386 executable (invalid @ 0) 16920>16 lelong >0 not stripped 16921>124 lelong >0 version %ld 169220 leshort 0x42eb SYMMETRY i386 standalone executable 16923>16 lelong >0 not stripped 16924>124 lelong >0 version %ld 16925 16926#------------------------------------------------------------------------------ 16927# $File: sgi,v 1.19 2013/01/12 03:09:51 christos Exp $ 16928# sgi: file(1) magic for Silicon Graphics operating systems and applications 16929# 16930# Executable images are handled either in aout (for old-style a.out 16931# files for 68K; they are indistinguishable from other big-endian 32-bit 16932# a.out files) or in mips (for MIPS ECOFF and Ucode files) 16933# 16934 16935# kbd file definitions 169360 string kbd!map kbd map file 16937>8 byte >0 Ver %d: 16938>10 short >0 with %d table(s) 16939 169400 beshort 0x8765 disk quotas file 16941 169420 beshort 0x0506 IRIS Showcase file 16943>2 byte 0x49 - 16944>3 byte x - version %ld 169450 beshort 0x0226 IRIS Showcase template 16946>2 byte 0x63 - 16947>3 byte x - version %ld 169480 belong 0x5343464d IRIS Showcase file 16949>4 byte x - version %ld 169500 belong 0x5443464d IRIS Showcase template 16951>4 byte x - version %ld 169520 belong 0xdeadbabe IRIX Parallel Arena 16953>8 belong >0 - version %ld 16954 16955# core files 16956# 16957# 32bit core file 169580 belong 0xdeadadb0 IRIX core dump 16959>4 belong 1 of 16960>16 string >\0 '%s' 16961# 64bit core file 169620 belong 0xdeadad40 IRIX 64-bit core dump 16963>4 belong 1 of 16964>16 string >\0 '%s' 16965# N32bit core file 169660 belong 0xbabec0bb IRIX N32 core dump 16967>4 belong 1 of 16968>16 string >\0 '%s' 16969# New style crash dump file 169700 string \x43\x72\x73\x68\x44\x75\x6d\x70 IRIX vmcore dump of 16971>36 string >\0 '%s' 16972 16973# Trusted IRIX info 169740 string SGIAUDIT SGI Audit file 16975>8 byte x - version %d 16976>9 byte x \b.%ld 16977# 169780 string WNGZWZSC Wingz compiled script 169790 string WNGZWZSS Wingz spreadsheet 169800 string WNGZWZHP Wingz help file 16981# 169820 string #Inventor V IRIS Inventor 1.0 file 169830 string #Inventor V2 Open Inventor 2.0 file 16984# GLF is OpenGL stream encoding 169850 string glfHeadMagic(); GLF_TEXT 169864 belong 0x7d000000 GLF_BINARY_LSB_FIRST 16987!:strength -30 169884 belong 0x0000007d GLF_BINARY_MSB_FIRST 16989!:strength -30 16990# GLS is OpenGL stream encoding; GLS is the successor of GLF 169910 string glsBeginGLS( GLS_TEXT 169924 belong 0x10000000 GLS_BINARY_LSB_FIRST 16993!:strength -30 169944 belong 0x00000010 GLS_BINARY_MSB_FIRST 16995!:strength -30 16996 16997# 16998# 16999# Performance Co-Pilot file types 170000 string PmNs PCP compiled namespace (V.0) 170010 string PmN PCP compiled namespace 17002>3 string >\0 (V.%1.1s) 17003#3 lelong 0x84500526 PCP archive 170043 belong 0x84500526 PCP archive 17005>7 byte x (V.%d) 17006#>20 lelong -2 temporal index 17007#>20 lelong -1 metadata 17008#>20 lelong 0 log volume #0 17009#>20 lelong >0 log volume #%ld 17010>20 belong -2 temporal index 17011>20 belong -1 metadata 17012>20 belong 0 log volume #0 17013>20 belong >0 log volume #%ld 17014>24 string >\0 host: %s 170150 string PCPFolio PCP 17016>9 string Version: Archive Folio 17017>18 string >\0 (V.%s) 170180 string #pmchart PCP pmchart view 17019>9 string Version 17020>17 string >\0 (V%-3.3s) 170210 string #kmchart PCP kmchart view 17022>9 string Version 17023>17 string >\0 (V.%s) 170240 string pmview PCP pmview config 17025>7 string Version 17026>15 string >\0 (V%-3.3s) 170270 string #pmlogger PCP pmlogger config 17028>10 string Version 17029>18 string >\0 (V%1.1s) 170300 string #pmdahotproc PCP pmdahotproc config 17031>13 string Version 17032>21 string >\0 (V%-3.3s) 170330 string PcPh PCP Help 17034>4 string 1 Index 17035>4 string 2 Text 17036>5 string >\0 (V.%1.1s) 170370 string #pmieconf-rules PCP pmieconf rules 17038>16 string >\0 (V.%1.1s) 170393 string pmieconf-pmie PCP pmie config 17040>17 string >\0 (V.%1.1s) 17041 17042# SpeedShop data files 170430 lelong 0x13130303 SpeedShop data file 17044 17045# mdbm files 170460 lelong 0x01023962 mdbm file, version 0 (obsolete) 170470 string mdbm mdbm file, 17048>5 byte x version %d, 17049>6 byte x 2^%d pages, 17050>7 byte x pagesize 2^%d, 17051>17 byte x hash %d, 17052>11 byte x dataformat %d 17053 17054# Alias Maya files 170550 string/t //Maya ASCII Alias Maya Ascii File, 17056>13 string >\0 version %s 170578 string MAYAFOR4 Alias Maya Binary File, 17058>32 string >\0 version %s scene 170598 string MayaFOR4 Alias Maya Binary File, 17060>32 string >\0 version %s scene 170618 string CIMG Alias Maya Image File 170628 string DEEP Alias Maya Image File 17063#------------------------------------------------------------------------------ 17064# $File: sgml,v 1.30 2013/12/21 14:27:24 christos Exp $ 17065# Type: SVG Vectorial Graphics 17066# From: Noel Torres <tecnico@ejerciciosresueltos.com> 170670 string \<?xml\ version=" 17068>15 string >\0 17069>>19 search/4096 \<svg SVG Scalable Vector Graphics image 17070!:mime image/svg+xml 17071>>19 search/4096 \<gnc-v2 GnuCash file 17072!:mime application/x-gnucash 17073 17074# Sitemap file 170750 string/t \<?xml\ version=" 17076>15 string >\0 17077>>19 search/4096 \<urlset XML Sitemap document text 17078!:mime application/xml-sitemap 17079 17080# OpenStreetMap XML (.osm) 17081# http://wiki.openstreetmap.org/wiki/OSM_XML 17082# From: Markus Heidelberg <markus.heidelberg@web.de> 170830 string \<?xml\ version=" 17084>15 string >\0 17085>>19 search/4096 \<osm OpenStreetMap XML data 17086 17087# xhtml 170880 string/t \<?xml\ version=" 17089>15 string >\0 17090>>19 search/4096/cWbt \<!doctype\ html XHTML document text 17091!:mime text/html 170920 string/t \<?xml\ version=' 17093>15 string >\0 17094>>19 search/4096/cWbt \<!doctype\ html XHTML document text 17095!:mime text/html 170960 string/t \<?xml\ version=" 17097>15 string >\0 17098>>19 search/4096/cWbt \<html broken XHTML document text 17099!:mime text/html 17100 17101#------------------------------------------------------------------------------ 17102# sgml: file(1) magic for Standard Generalized Markup Language 17103# HyperText Markup Language (HTML) is an SGML document type, 17104# from Daniel Quinlan (quinlan@yggdrasil.com) 17105# adapted to string extenstions by Anthon van der Neut <anthon@mnt.org) 171060 search/4096/cWt \<!doctype\ html HTML document text 17107!:mime text/html 17108!:strength + 5 171090 search/4096/cwt \<head HTML document text 17110!:mime text/html 17111!:strength + 5 171120 search/4096/cwt \<title HTML document text 17113!:mime text/html 17114!:strength + 5 171150 search/4096/cwt \<html HTML document text 17116!:mime text/html 17117!:strength + 5 171180 search/4096/cwt \<script HTML document text 17119!:mime text/html 17120!:strength + 5 171210 search/4096/cwt \<style HTML document text 17122!:mime text/html 17123!:strength + 5 171240 search/4096/cwt \<table HTML document text 17125!:mime text/html 17126!:strength + 5 171270 search/4096/cwt \<a\ href= HTML document text 17128!:mime text/html 17129!:strength + 5 17130 17131# Extensible markup language (XML), a subset of SGML 17132# from Marc Prud'hommeaux (marc@apocalypse.org) 171330 search/1/cwt \<?xml XML document text 17134!:mime application/xml 17135!:strength + 5 171360 string/t \<?xml\ version\ " XML 17137!:mime application/xml 17138!:strength + 5 171390 string/t \<?xml\ version=" XML 17140!:mime application/xml 17141!:strength + 5 17142>15 string/t >\0 %.3s document text 17143>>23 search/1 \<xsl:stylesheet (XSL stylesheet) 17144>>24 search/1 \<xsl:stylesheet (XSL stylesheet) 171450 string \<?xml\ version=' XML 17146!:mime application/xml 17147!:strength + 5 17148>15 string/t >\0 %.3s document text 17149>>23 search/1 \<xsl:stylesheet (XSL stylesheet) 17150>>24 search/1 \<xsl:stylesheet (XSL stylesheet) 171510 search/1/wbt \<?xml XML document text 17152!:mime application/xml 17153!:strength - 10 171540 search/1/wt \<?XML broken XML document text 17155!:mime application/xml 17156!:strength - 10 17157 17158 17159# SGML, mostly from rph@sq 171600 search/4096/cwt \<!doctype exported SGML document text 171610 search/4096/cwt \<!subdoc exported SGML subdocument text 171620 search/4096/cwt \<!-- exported SGML document text 17163!:strength - 10 17164 17165# Web browser cookie files 17166# (Mozilla, Galeon, Netscape 4, Konqueror..) 17167# Ulf Harnhammar <ulfh@update.uu.se> 171680 search/1 #\ HTTP\ Cookie\ File Web browser cookie text 171690 search/1 #\ Netscape\ HTTP\ Cookie\ File Netscape cookie text 171700 search/1 #\ KDE\ Cookie\ File Konqueror cookie text 17171 17172#------------------------------------------------------------------------ 17173# $File: sharc,v 1.6 2009/09/19 16:28:12 christos Exp $ 17174# file(1) magic for sharc files 17175# 17176# SHARC DSP, MIDI SysEx and RiscOS filetype definitions added by 17177# FutureGroove Music (dsp@futuregroove.de) 17178 17179#------------------------------------------------------------------------ 17180#0 string Draw RiscOS Drawfile 17181#0 string PACK RiscOS PackdDir archive 17182 17183#------------------------------------------------------------------------ 17184# SHARC DSP stuff (based on the FGM SHARC DSP SDK) 17185 17186#0 string =! Assembler source 17187#0 string Analog ADi asm listing file 171880 string .SYSTEM SHARC architecture file 171890 string .system SHARC architecture file 17190 171910 leshort 0x521C SHARC COFF binary 17192>2 leshort >1 , %hd sections 17193>>12 lelong >0 , not stripped 17194 17195#------------------------------------------------------------------------------ 17196# $File: sinclair,v 1.5 2009/09/19 16:28:12 christos Exp $ 17197# sinclair: file(1) sinclair QL 17198 17199# additions to /etc/magic by Thomas M. Ott (ThMO) 17200 17201# Sinclair QL floppy disk formats (ThMO) 172020 string =QL5 QL disk dump data, 17203>3 string =A 720 KB, 17204>3 string =B 1.44 MB, 17205>3 string =C 3.2 MB, 17206>4 string >\0 label:%.10s 17207 17208# Sinclair QL OS dump (ThMO) 17209# (NOTE: if `file' would be able to use indirect references in a endian format 17210# differing from the natural host format, this could be written more 17211# reliably and faster...) 17212# 17213# we *can't* lookup QL OS code dumps, because `file' is UNABLE to read more 17214# than the first 8K of a file... #-( 17215# 17216#0 belong =0x30000 17217#>49124 belong <47104 17218#>>49128 belong <47104 17219#>>>49132 belong <47104 17220#>>>>49136 belong <47104 QL OS dump data, 17221#>>>>>49148 string >\0 type %.3s, 17222#>>>>>49142 string >\0 version %.4s 17223 17224# Sinclair QL firmware executables (ThMO) 172250 string NqNqNq`\004 QL firmware executable (BCPL) 17226 17227# Sinclair QL libraries (was ThMO) 172280 beshort 0xFB01 QDOS object 17229>2 pstring x '%s' 17230 17231# Sinclair QL executables (was ThMO) 172324 belong 0x4AFB QDOS executable 17233>9 pstring x '%s' 17234 17235# Sinclair QL ROM (ThMO) 172360 belong =0x4AFB0001 QL plugin-ROM data, 17237>9 pstring =\0 un-named 17238>9 pstring >\0 named: %s 17239# Type: SiSU Markup Language 17240# URL: http://www.sisudoc.org/ 17241# From: Ralph Amissah <ralph.amissah@gmail.com> 17242 172430 regex \^%?[\ \t]*SiSU[\ \t]+insert SiSU text insert 17244>5 regex [0-9.]+ %s 17245 172460 regex \^%[\ \t]+SiSU[\ \t]+master SiSU text master 17247>5 regex [0-9.]+ %s 17248 172490 regex \^%?[\ \t]*SiSU[\ \t]+text SiSU text 17250>5 regex [0-9.]+ %s 17251 172520 regex \^%?[\ \t]*SiSU[\ \t][0-9.]+ SiSU text 17253>5 regex [0-9.]+ %s 17254 172550 regex \^%*[\ \t]*sisu-[0-9.]+ SiSU text 17256>5 regex [0-9.]+ %s 17257 17258#------------------------------------------------------------------------------ 17259# $File: sketch,v 1.4 2009/09/19 16:28:12 christos Exp $ 17260# Sketch Drawings: http://sketch.sourceforge.net/ 17261# From: Edwin Mons <e@ik.nu> 172620 search/1 ##Sketch Sketch document text 17263 17264#----------------------------------------------- 17265# $File: smalltalk,v 1.5 2009/09/19 16:28:12 christos Exp $ 17266# GNU Smalltalk image, starting at version 1.6.2 17267# From: catull_us@yahoo.com 17268# 172690 string GSTIm\0\0 GNU SmallTalk 17270# little-endian 17271>7 byte&1 =0 LE image version 17272>>10 byte x %d. 17273>>9 byte x \b%d. 17274>>8 byte x \b%d 17275#>>12 lelong x , data: %ld 17276#>>16 lelong x , table: %ld 17277#>>20 lelong x , memory: %ld 17278# big-endian 17279>7 byte&1 =1 BE image version 17280>>8 byte x %d. 17281>>9 byte x \b%d. 17282>>10 byte x \b%d 17283#>>12 belong x , data: %ld 17284#>>16 belong x , table: %ld 17285#>>20 belong x , memory: %ld 17286 17287 17288 17289#------------------------------------------------------------------------------ 17290# $File: smile,v 1.1 2011/08/17 17:37:18 christos Exp $ 17291# smile: file(1) magic for Smile serialization 17292# 17293# The Smile serialization format uses a 4-byte header: 17294# 17295# Constant byte #0: 0x3A (ASCII ':') 17296# Constant byte #1: 0x29 (ASCII ')') 17297# Constant byte #2: 0x0A (ASCII linefeed, '\n') 17298# Variable byte #3, consisting of bits: 17299# Bits 4-7 (4 MSB): 4-bit version number 17300# Bits 3: Reserved 17301# Bit 2 (mask 0x04): Whether raw binary (unescaped 8-bit) values may be present in content 17302# Bit 1 (mask 0x02): Whether shared String value checking was enabled during encoding, default false 17303# Bit 0 (mask 0x01): Whether shared property name checking was enabled during encoding, default true 17304# 17305# Reference: http://wiki.fasterxml.com/SmileFormatSpec 17306# Created by: Pierre-Alexandre Meyer <pierre@mouraf.org> 17307 17308# Detection 173090 string :)\n Smile binary data 17310 17311# Versioning 17312>3 byte&0xF0 x version %d: 17313 17314# Properties 17315>3 byte&0x04 0x04 binary raw, 17316>3 byte&0x04 0x00 binary encoded, 17317>3 byte&0x02 0x02 shared String values enabled, 17318>3 byte&0x02 0x00 shared String values disabled, 17319>3 byte&0x01 0x01 shared field names enabled 17320>3 byte&0x01 0x00 shared field names disabled 17321 17322 17323#------------------------------------------------------------------------------ 17324# $File: sniffer,v 1.19 2013/01/06 01:11:04 christos Exp $ 17325# sniffer: file(1) magic for packet capture files 17326# 17327# From: guy@alum.mit.edu (Guy Harris) 17328# 17329 17330# 17331# Microsoft Network Monitor 1.x capture files. 17332# 173330 string RTSS NetMon capture file 17334>5 byte x - version %d 17335>4 byte x \b.%d 17336>6 leshort 0 (Unknown) 17337>6 leshort 1 (Ethernet) 17338>6 leshort 2 (Token Ring) 17339>6 leshort 3 (FDDI) 17340>6 leshort 4 (ATM) 17341>6 leshort >4 (type %d) 17342 17343# 17344# Microsoft Network Monitor 2.x capture files. 17345# 173460 string GMBU NetMon capture file 17347>5 byte x - version %d 17348>4 byte x \b.%d 17349>6 leshort 0 (Unknown) 17350>6 leshort 1 (Ethernet) 17351>6 leshort 2 (Token Ring) 17352>6 leshort 3 (FDDI) 17353>6 leshort 4 (ATM) 17354>6 leshort 5 (IP-over-IEEE 1394) 17355>6 leshort 6 (802.11) 17356>6 leshort 7 (Raw IP) 17357>6 leshort 8 (Raw IP) 17358>6 leshort 9 (Raw IP) 17359>6 leshort >9 (type %d) 17360 17361# 17362# Network General Sniffer capture files. 17363# Sorry, make that "Network Associates Sniffer capture files." 17364# Sorry, make that "Network General old DOS Sniffer capture files." 17365# 173660 string TRSNIFF\ data\ \ \ \ \032 Sniffer capture file 17367>33 byte 2 (compressed) 17368>23 leshort x - version %d 17369>25 leshort x \b.%d 17370>32 byte 0 (Token Ring) 17371>32 byte 1 (Ethernet) 17372>32 byte 2 (ARCNET) 17373>32 byte 3 (StarLAN) 17374>32 byte 4 (PC Network broadband) 17375>32 byte 5 (LocalTalk) 17376>32 byte 6 (Znet) 17377>32 byte 7 (Internetwork Analyzer) 17378>32 byte 9 (FDDI) 17379>32 byte 10 (ATM) 17380 17381# 17382# Cinco Networks NetXRay capture files. 17383# Sorry, make that "Network General Sniffer Basic capture files." 17384# Sorry, make that "Network Associates Sniffer Basic capture files." 17385# Sorry, make that "Network Associates Sniffer Basic, and Windows 17386# Sniffer Pro", capture files." 17387# Sorry, make that "Network General Sniffer capture files." 17388# Sorry, make that "NetScout Sniffer capture files." 17389# 173900 string XCP\0 NetXRay capture file 17391>4 string >\0 - version %s 17392>44 leshort 0 (Ethernet) 17393>44 leshort 1 (Token Ring) 17394>44 leshort 2 (FDDI) 17395>44 leshort 3 (WAN) 17396>44 leshort 8 (ATM) 17397>44 leshort 9 (802.11) 17398 17399# 17400# "libpcap" capture files. 17401# (We call them "tcpdump capture file(s)" for now, as "tcpdump" is 17402# the main program that uses that format, but there are other programs 17403# that use "libpcap", or that use the same capture file format.) 17404# 174050 name pcap-be 17406>4 beshort x - version %d 17407>6 beshort x \b.%d 17408>20 belong 0 (No link-layer encapsulation 17409>20 belong 1 (Ethernet 17410>20 belong 2 (3Mb Ethernet 17411>20 belong 3 (AX.25 17412>20 belong 4 (ProNET 17413>20 belong 5 (CHAOS 17414>20 belong 6 (Token Ring 17415>20 belong 7 (BSD ARCNET 17416>20 belong 8 (SLIP 17417>20 belong 9 (PPP 17418>20 belong 10 (FDDI 17419>20 belong 11 (RFC 1483 ATM 17420>20 belong 12 (raw IP 17421>20 belong 13 (BSD/OS SLIP 17422>20 belong 14 (BSD/OS PPP 17423>20 belong 19 (Linux ATM Classical IP 17424>20 belong 50 (PPP or Cisco HDLC 17425>20 belong 51 (PPP-over-Ethernet 17426>20 belong 99 (Symantec Enterprise Firewall 17427>20 belong 100 (RFC 1483 ATM 17428>20 belong 101 (raw IP 17429>20 belong 102 (BSD/OS SLIP 17430>20 belong 103 (BSD/OS PPP 17431>20 belong 104 (BSD/OS Cisco HDLC 17432>20 belong 105 (802.11 17433>20 belong 106 (Linux Classical IP over ATM 17434>20 belong 107 (Frame Relay 17435>20 belong 108 (OpenBSD loopback 17436>20 belong 109 (OpenBSD IPsec encrypted 17437>20 belong 112 (Cisco HDLC 17438>20 belong 113 (Linux "cooked" 17439>20 belong 114 (LocalTalk 17440>20 belong 117 (OpenBSD PFLOG 17441>20 belong 119 (802.11 with Prism header 17442>20 belong 122 (RFC 2625 IP over Fibre Channel 17443>20 belong 123 (SunATM 17444>20 belong 127 (802.11 with radiotap header 17445>20 belong 129 (Linux ARCNET 17446>20 belong 138 (Apple IP over IEEE 1394 17447>20 belong 139 (MTP2 with pseudo-header 17448>20 belong 140 (MTP2 17449>20 belong 141 (MTP3 17450>20 belong 142 (SCCP 17451>20 belong 143 (DOCSIS 17452>20 belong 144 (IrDA 17453>20 belong 147 (Private use 0 17454>20 belong 148 (Private use 1 17455>20 belong 149 (Private use 2 17456>20 belong 150 (Private use 3 17457>20 belong 151 (Private use 4 17458>20 belong 152 (Private use 5 17459>20 belong 153 (Private use 6 17460>20 belong 154 (Private use 7 17461>20 belong 155 (Private use 8 17462>20 belong 156 (Private use 9 17463>20 belong 157 (Private use 10 17464>20 belong 158 (Private use 11 17465>20 belong 159 (Private use 12 17466>20 belong 160 (Private use 13 17467>20 belong 161 (Private use 14 17468>20 belong 162 (Private use 15 17469>20 belong 163 (802.11 with AVS header 17470>20 belong 165 (BACnet MS/TP 17471>20 belong 166 (PPPD 17472>20 belong 169 (GPRS LLC 17473>20 belong 177 (Linux LAPD 17474>20 belong 187 (Bluetooth HCI H4 17475>20 belong 189 (Linux USB 17476>20 belong 192 (PPI 17477>20 belong 195 (802.15.4 17478>20 belong 196 (SITA 17479>20 belong 197 (Endace ERF 17480>20 belong 201 (Bluetooth HCI H4 with pseudo-header 17481>20 belong 202 (AX.25 with KISS header 17482>20 belong 203 (LAPD 17483>20 belong 204 (PPP with direction pseudo-header 17484>20 belong 205 (Cisco HDLC with direction pseudo-header 17485>20 belong 206 (Frame Relay with direction pseudo-header 17486>20 belong 209 (Linux IPMB 17487>20 belong 215 (802.15.4 with non-ASK PHY header 17488>20 belong 220 (Memory-mapped Linux USB 17489>20 belong 224 (Fibre Channel FC-2 17490>20 belong 225 (Fibre Channel FC-2 with frame delimiters 17491>20 belong 226 (Solaris IPNET 17492>20 belong 227 (SocketCAN 17493>20 belong 228 (Raw IPv4 17494>20 belong 229 (Raw IPv6 17495>20 belong 230 (802.15.4 without FCS 17496>20 belong 231 (D-Bus messages 17497>20 belong 235 (DVB-CI 17498>20 belong 236 (MUX27010 17499>20 belong 237 (STANAG 5066 D_PDUs 17500>20 belong 239 (Linux netlink NFLOG messages 17501>20 belong 240 (Hilscher netAnalyzer 17502>20 belong 241 (Hilscher netAnalyzer with delimiters 17503>20 belong 242 (IP-over-Infiniband 17504>20 belong 243 (MPEG-2 Transport Stream packets 17505>20 belong 244 (ng4t ng40 17506>20 belong 245 (NFC LLCP 17507>20 belong 247 (Infiniband 17508>20 belong 248 (SCTP 17509>16 belong x \b, capture length %d) 17510 175110 ubelong 0xa1b2c3d4 tcpdump capture file (big-endian) 17512!:mime application/vnd.tcpdump.pcap 17513>0 use pcap-be 175140 ulelong 0xa1b2c3d4 tcpdump capture file (little-endian) 17515!:mime application/vnd.tcpdump.pcap 17516>0 use \^pcap-be 17517 17518# 17519# "libpcap"-with-Alexey-Kuznetsov's-patches capture files. 17520# (We call them "tcpdump capture file(s)" for now, as "tcpdump" is 17521# the main program that uses that format, but there are other programs 17522# that use "libpcap", or that use the same capture file format.) 17523# 175240 ubelong 0xa1b2cd34 extended tcpdump capture file (big-endian) 17525>0 use pcap-be 175260 ulelong 0xa1b2cd34 extended tcpdump capture file (little-endian) 17527>0 use \^pcap-be 17528 17529# 17530# "pcap-ng" capture files. 17531# http://www.winpcap.org/ntar/draft/PCAP-DumpFileFormat.html 17532# Pcap-ng files can contain multiple sections. Printing the endianness, 17533# snaplen, or other information from the first SHB may be misleading. 17534# 175350 ubelong 0x0a0d0d0a 17536>8 ubelong 0x1a2b3c4d pcap-ng capture file 17537>>12 beshort x - version %d 17538>>14 beshort x \b.%d 175390 ulelong 0x0a0d0d0a 17540>8 ulelong 0x1a2b3c4d pcap-ng capture file 17541>>12 leshort x - version %d 17542>>14 leshort x \b.%d 17543 17544# 17545# AIX "iptrace" capture files. 17546# 175470 string iptrace\ 1.0 "iptrace" capture file 175480 string iptrace\ 2.0 "iptrace" capture file 17549 17550# 17551# Novell LANalyzer capture files. 17552# 175530 leshort 0x1001 LANalyzer capture file 175540 leshort 0x1007 LANalyzer capture file 17555 17556# 17557# HP-UX "nettl" capture files. 17558# 175590 string \x54\x52\x00\x64\x00 "nettl" capture file 17560 17561# 17562# RADCOM WAN/LAN Analyzer capture files. 17563# 175640 string \x42\xd2\x00\x34\x12\x66\x22\x88 RADCOM WAN/LAN Analyzer capture file 17565 17566# 17567# NetStumbler log files. Not really packets, per se, but about as 17568# close as you can get. These are log files from NetStumbler, a 17569# Windows program, that scans for 802.11b networks. 17570# 175710 string NetS NetStumbler log file 17572>8 lelong x \b, %d stations found 17573 17574# 17575# *Peek tagged capture files. 17576# 175770 string \177ver EtherPeek/AiroPeek/OmniPeek capture file 17578 17579# 17580# Visual Networks traffic capture files. 17581# 175820 string \x05VNF Visual Networks traffic capture file 17583 17584# 17585# Network Instruments Observer capture files. 17586# 175870 string ObserverPktBuffe Network Instruments Observer capture file 17588 17589# 17590# Files from Accellent Group's 5View products. 17591# 175920 string \xaa\xaa\xaa\xaa 5View capture file 17593 17594#------------------------------------------------------------------------------ 17595# $File: softquad,v 1.13 2009/09/19 16:28:12 christos Exp $ 17596# softquad: file(1) magic for SoftQuad Publishing Software 17597# 17598# Author/Editor and RulesBuilder 17599# 17600# XXX - byte order? 17601# 176020 string \<!SQ\ DTD> Compiled SGML rules file 17603>9 string >\0 Type %s 176040 string \<!SQ\ A/E> A/E SGML Document binary 17605>9 string >\0 Type %s 176060 string \<!SQ\ STS> A/E SGML binary styles file 17607>9 string >\0 Type %s 176080 short 0xc0de Compiled PSI (v1) data 176090 short 0xc0da Compiled PSI (v2) data 17610>3 string >\0 (%s) 17611# Binary sqtroff font/desc files... 176120 short 0125252 SoftQuad DESC or font file binary 17613>2 short >0 - version %d 17614# Bitmaps... 176150 search/1 SQ\ BITMAP1 SoftQuad Raster Format text 17616#0 string SQ\ BITMAP2 SoftQuad Raster Format data 17617# sqtroff intermediate language (replacement for ditroff int. lang.) 176180 string X\ SoftQuad troff Context intermediate 17619>2 string 495 for AT&T 495 laser printer 17620>2 string hp for Hewlett-Packard LaserJet 17621>2 string impr for IMAGEN imPRESS 17622>2 string ps for PostScript 17623 17624# From: Michael Piefel <piefel@debian.org> 17625# sqtroff intermediate language (replacement for ditroff int. lang.) 176260 string X\ 495 SoftQuad troff Context intermediate for AT&T 495 laser printer 176270 string X\ hp SoftQuad troff Context intermediate for HP LaserJet 176280 string X\ impr SoftQuad troff Context intermediate for IMAGEN imPRESS 176290 string X\ ps SoftQuad troff Context intermediate for PostScript 17630 17631#------------------------------------------------------------------------------ 17632# $File: spec,v 1.4 2009/09/19 16:28:12 christos Exp $ 17633# spec: file(1) magic for SPEC raw results (*.raw, *.rsf) 17634# 17635# Cloyce D. Spradling <cloyce@headgear.org> 17636 176370 string spec SPEC 17638>4 string .cpu CPU 17639>>8 string <: \b%.4s 17640>>12 string . raw result text 17641 1764217 string version=SPECjbb SPECjbb 17643>32 string <: \b%.4s 17644>>37 string <: v%.4s raw result text 17645 176460 string BEGIN\040SPECWEB SPECweb 17647>13 string <: \b%.2s 17648>>15 string _SSL \b_SSL 17649>>>20 string <: v%.4s raw result text 17650>>16 string <: v%.4s raw result text 17651 17652#------------------------------------------------------------------------------ 17653# $File: spectrum,v 1.7 2010/09/20 18:55:20 rrt Exp $ 17654# spectrum: file(1) magic for Spectrum emulator files. 17655# 17656# John Elliott <jce@seasip.demon.co.uk> 17657 17658# 17659# Spectrum +3DOS header 17660# 176610 string PLUS3DOS\032 Spectrum +3 data 17662>15 byte 0 - BASIC program 17663>15 byte 1 - number array 17664>15 byte 2 - character array 17665>15 byte 3 - memory block 17666>>16 belong 0x001B0040 (screen) 17667>15 byte 4 - Tasword document 17668>15 string TAPEFILE - ZXT tapefile 17669# 17670# Tape file. This assumes the .TAP starts with a Spectrum-format header, 17671# which nearly all will. 17672# 17673# Update: Sanity-check string contents to be printable. 17674# -Adam Buchbinder <adam.buchbinder@gmail.com> 17675# 176760 string \023\000\000 17677>4 string >\0 17678>>4 string <\177 Spectrum .TAP data "%-10.10s" 17679>>>3 byte 0 - BASIC program 17680>>>3 byte 1 - number array 17681>>>3 byte 2 - character array 17682>>>3 byte 3 - memory block 17683>>>>14 belong 0x001B0040 (screen) 17684 17685# The following three blocks are from pak21-spectrum@srcf.ucam.org 17686# TZX tape images 176870 string ZXTape!\x1a Spectrum .TZX data 17688>8 byte x version %d 17689>9 byte x \b.%d 17690 17691# RZX input recording files 176920 string RZX! Spectrum .RZX data 17693>4 byte x version %d 17694>5 byte x \b.%d 17695 17696# Floppy disk images 176970 string MV\ -\ CPCEMU\ Disk-Fil Amstrad/Spectrum .DSK data 176980 string MV\ -\ CPC\ format\ Dis Amstrad/Spectrum DU54 .DSK data 176990 string EXTENDED\ CPC\ DSK\ Fil Amstrad/Spectrum Extended .DSK data 177000 string SINCLAIR Spectrum .SCL Betadisk image 17701 17702# Hard disk images 177030 string RS-IDE\x1a Spectrum .HDF hard disk image 17704>7 byte x \b, version 0x%02x 17705 17706#------------------------------------------------------------------------------ 17707# $File: sql,v 1.13 2013/08/27 04:02:33 christos Exp $ 17708# sql: file(1) magic for SQL files 17709# 17710# From: "Marty Leisner" <mleisner@eng.mc.xerox.com> 17711# Recognize some MySQL files. 17712# Elan Ruusamae <glen@delfi.ee>, added MariaDB signatures 17713# from https://bazaar.launchpad.net/~maria-captains/maria/5.5/view/head:/support-files/magic 17714# 177150 beshort 0xfe01 MySQL table definition file 17716>2 byte x Version %d 177170 belong&0xffffff00 0xfefe0700 MySQL MyISAM index file 17718>3 byte x Version %d 177190 belong&0xffffff00 0xfefe0800 MySQL MyISAM compressed data file 17720>3 byte x Version %d 177210 belong&0xffffff00 0xfefe0900 MySQL Maria index file 17722>3 byte x Version %d 177230 belong&0xffffff00 0xfefe0A00 MySQL Maria compressed data file 17724>3 byte x Version %d 177250 belong&0xffffff00 0xfefe0500 MySQL ISAM index file 17726>3 byte x Version %d 177270 belong&0xffffff00 0xfefe0600 MySQL ISAM compressed data file 17728>3 byte x Version %d 177290 string \376bin MySQL replication log 177300 belong&0xffffff00 0xfefe0b00 17731>4 string MARIALOG MySQL Maria transaction log file 17732>>3 byte x Version %d 177330 belong&0xffffff00 0xfefe0c00 17734>4 string MACF MySQL Maria control file 17735>>3 byte x Version %d 17736 17737#------------------------------------------------------------------------------ 17738# iRiver H Series database file 17739# From Ken Guest <ken@linux.ie> 17740# As observed from iRivNavi.iDB and unencoded firmware 17741# 177420 string iRivDB iRiver Database file 17743>11 string >\0 Version %s 17744>39 string iHP-100 [H Series] 17745 17746#------------------------------------------------------------------------------ 17747# SQLite database files 17748# Ken Guest <ken@linux.ie>, Ty Sarna, Zack Weinberg 17749# 17750# Version 1 used GDBM internally; its files cannot be distinguished 17751# from other GDBM files. 17752# 17753# Version 2 used this format: 177540 string **\ This\ file\ contains\ an\ SQLite SQLite 2.x database 17755 17756# Version 3 of SQLite allows applications to embed their own "user version" 17757# number in the database at offset 60. Later, SQLite added an "application id" 17758# at offset 68 that is preferred over "user version" for indicating the 17759# associated application. 17760# 177610 string SQLite\ format\ 3 17762>60 belong =0x5f4d544e Monotone source repository - SQLite3 database 17763>68 belong =0x0f055112 Fossil checkout - SQLite3 database 17764>68 belong =0x0f055113 Fossil global configuration - SQLite3 database 17765>68 belong =0x0f055111 Fossil repository - SQLite3 database 17766>68 belong =0x42654462 Bentley Systems BeSQLite Database - SQLite3 database 17767>68 belong =0x42654c6e Bentley Systems Localization File - SQLite3 database 17768>68 belong =0x47504b47 OGC GeoPackage file - SQLite3 database 17769>68 default x SQLite 3.x database 17770>>68 belong !0 \b, application id %u 17771>>60 belong !0 \b, user version %d 17772 17773# SQLite Write-Ahead Log from SQLite version >= 3.7.0 17774# http://www.sqlite.org/fileformat.html#walformat 177750 belong&0xfffffffe 0x377f0682 SQLite Write-Ahead Log, 17776>4 belong x version %ld 17777 17778# SQLite Rollback Journal 17779# http://www.sqlite.org/fileformat.html#rollbackjournal 177800 string \xd9\xd5\x05\xf9\x20\xa1\x63\xd7 SQLite Rollback Journal 17781 17782# Panasonic channel list database svl.bin or svl.db added by Joerg Jenderek 17783# http://www.ullrich.es/job/service-menue/panasonic/panasonic-sendersortierung-sat-am-pc/ 17784# pceditor_V2003.jar 177850 string PSDB\0 Panasonic channel list database 17786>126 string SQLite\ format\ 3 17787>>&-15 indirect x \b; contains 17788# Type: OpenSSH key files 17789# From: Nicolas Collignon <tsointsoin@gmail.com> 17790 177910 string SSH\ PRIVATE\ KEY OpenSSH RSA1 private key, 17792>28 string >\0 version %s 17793 177940 string ssh-dss\ OpenSSH DSA public key 177950 string ssh-rsa\ OpenSSH RSA public key 177960 string ecdsa-sha2-nistp256 OpenSSH ECDSA public key 177970 string ecdsa-sha2-nistp384 OpenSSH ECDSA public key 177980 string ecdsa-sha2-nistp521 OpenSSH ECDSA public key 17799# Type: OpenSSL certificates/key files 17800# From: Nicolas Collignon <tsointsoin@gmail.com> 17801 178020 string -----BEGIN\ CERTIFICATE----- PEM certificate 178030 string -----BEGIN\ CERTIFICATE\ REQ PEM certificate request 178040 string -----BEGIN\ RSA\ PRIVATE PEM RSA private key 178050 string -----BEGIN\ DSA\ PRIVATE PEM DSA private key 178060 string -----BEGIN\ EC\ PRIVATE PEM EC private key 17807 17808#------------------------------------------------------------------------------ 17809# $File: sun,v 1.25 2013/01/09 22:37:24 christos Exp $ 17810# sun: file(1) magic for Sun machines 17811# 17812# Values for big-endian Sun (MC680x0, SPARC) binaries on pre-5.x 17813# releases. (5.x uses ELF.) Entries for executables without an 17814# architecture type, used before the 68020-based Sun-3's came out, 17815# are in aout, as they're indistinguishable from other big-endian 17816# 32-bit a.out files. 17817# 178180 belong&077777777 0600413 a.out SunOS sparc demand paged 17819>0 byte &0x80 17820>>20 belong <4096 shared library 17821>>20 belong =4096 dynamically linked executable 17822>>20 belong >4096 dynamically linked executable 17823>0 byte ^0x80 executable 17824>16 belong >0 not stripped 17825 178260 belong&077777777 0600410 a.out SunOS sparc pure 17827>0 byte &0x80 dynamically linked executable 17828>0 byte ^0x80 executable 17829>16 belong >0 not stripped 17830 178310 belong&077777777 0600407 a.out SunOS sparc 17832>0 byte &0x80 dynamically linked executable 17833>0 byte ^0x80 executable 17834>16 belong >0 not stripped 17835 178360 belong&077777777 0400413 a.out SunOS mc68020 demand paged 17837>0 byte &0x80 17838>>20 belong <4096 shared library 17839>>20 belong =4096 dynamically linked executable 17840>>20 belong >4096 dynamically linked executable 17841>0 byte ^0x80 executable 17842>16 belong >0 not stripped 17843 178440 belong&077777777 0400410 a.out SunOS mc68020 pure 17845>0 byte &0x80 dynamically linked executable 17846>0 byte ^0x80 executable 17847>16 belong >0 not stripped 17848 178490 belong&077777777 0400407 a.out SunOS mc68020 17850>0 byte &0x80 dynamically linked executable 17851>0 byte ^0x80 executable 17852>16 belong >0 not stripped 17853 178540 belong&077777777 0200413 a.out SunOS mc68010 demand paged 17855>0 byte &0x80 17856>>20 belong <4096 shared library 17857>>20 belong =4096 dynamically linked executable 17858>>20 belong >4096 dynamically linked executable 17859>0 byte ^0x80 executable 17860>16 belong >0 not stripped 17861 178620 belong&077777777 0200410 a.out SunOS mc68010 pure 17863>0 byte &0x80 dynamically linked executable 17864>0 byte ^0x80 executable 17865>16 belong >0 not stripped 17866 178670 belong&077777777 0200407 a.out SunOS mc68010 17868>0 byte &0x80 dynamically linked executable 17869>0 byte ^0x80 executable 17870>16 belong >0 not stripped 17871 17872# 17873# Core files. "SPARC 4.x BCP" means "core file from a SunOS 4.x SPARC 17874# binary executed in compatibility mode under SunOS 5.x". 17875# 178760 belong 0x080456 SunOS core file 17877>4 belong 432 (SPARC) 17878>>132 string >\0 from '%s' 17879>>116 belong =3 (quit) 17880>>116 belong =4 (illegal instruction) 17881>>116 belong =5 (trace trap) 17882>>116 belong =6 (abort) 17883>>116 belong =7 (emulator trap) 17884>>116 belong =8 (arithmetic exception) 17885>>116 belong =9 (kill) 17886>>116 belong =10 (bus error) 17887>>116 belong =11 (segmentation violation) 17888>>116 belong =12 (bad argument to system call) 17889>>116 belong =29 (resource lost) 17890>>120 belong x (T=%dK, 17891>>124 belong x D=%dK, 17892>>128 belong x S=%dK) 17893>4 belong 826 (68K) 17894>>128 string >\0 from '%s' 17895>4 belong 456 (SPARC 4.x BCP) 17896>>152 string >\0 from '%s' 17897# Sun SunPC 178980 long 0xfa33c08e SunPC 4.0 Hard Disk 178990 string #SUNPC_CONFIG SunPC 4.0 Properties Values 17900# Sun snoop (see RFC 1761, which describes the capture file format, 17901# RFC 3827, which describes some additional datalink types, and 17902# http://www.iana.org/assignments/snoop-datalink-types/snoop-datalink-types.xml, 17903# which is the IANA registry of Snoop datalink types) 17904# 179050 string snoop Snoop capture file 17906>8 belong >0 - version %ld 17907>12 belong 0 (IEEE 802.3) 17908>12 belong 1 (IEEE 802.4) 17909>12 belong 2 (IEEE 802.5) 17910>12 belong 3 (IEEE 802.6) 17911>12 belong 4 (Ethernet) 17912>12 belong 5 (HDLC) 17913>12 belong 6 (Character synchronous) 17914>12 belong 7 (IBM channel-to-channel adapter) 17915>12 belong 8 (FDDI) 17916>12 belong 9 (Other) 17917>12 belong 10 (type %ld) 17918>12 belong 11 (type %ld) 17919>12 belong 12 (type %ld) 17920>12 belong 13 (type %ld) 17921>12 belong 14 (type %ld) 17922>12 belong 15 (type %ld) 17923>12 belong 16 (Fibre Channel) 17924>12 belong 17 (ATM) 17925>12 belong 18 (ATM Classical IP) 17926>12 belong 19 (type %ld) 17927>12 belong 20 (type %ld) 17928>12 belong 21 (type %ld) 17929>12 belong 22 (type %ld) 17930>12 belong 23 (type %ld) 17931>12 belong 24 (type %ld) 17932>12 belong 25 (type %ld) 17933>12 belong 26 (IP over Infiniband) 17934>12 belong >26 (type %ld) 17935 17936#--------------------------------------------------------------------------- 17937# The following entries have been tested by Duncan Laurie <duncan@sun.com> (a 17938# lead Sun/Cobalt developer) who agrees that they are good and worthy of 17939# inclusion. 17940 17941# Boot ROM images for Sun/Cobalt Linux server appliances 179420 string Cobalt\ Networks\ Inc.\nFirmware\ v Paged COBALT boot rom 17943>38 string x V%.4s 17944 17945# New format for Sun/Cobalt boot ROMs is annoying, it stores the version code 17946# at the very end where file(1) can't get it. 179470 string CRfs COBALT boot rom data (Flat boot rom or file system) 17948 17949#------------------------------------------------------------------------------ 17950# msx: file(1) magic for the SymbOS operating system 17951# http://www.symbos.de 17952# Fábio R. Schmidlin <frs@pop.com.br> 17953 17954# SymbOS EXE file 179550x30 string SymExe SymbOS executable 17956>0x36 ubyte x v%c 17957>0x37 ubyte x \b.%c 17958>0xF string x \b, name: %s 17959 17960# SymbOS DOX document 179610 string INFOq\0 SymbOS DOX document 17962 17963# Symbos driver 179640 string SMD1 SymbOS driver 17965>19 byte x \b, name: %c 17966>20 byte x \b%c 17967>21 byte x \b%c 17968>22 byte x \b%c 17969>23 byte x \b%c 17970>24 byte x \b%c 17971>25 byte x \b%c 17972>26 byte x \b%c 17973>27 byte x \b%c 17974>28 byte x \b%c 17975>29 byte x \b%c 17976>30 byte x \b%c 17977>31 byte x \b%c 17978 17979# Symbos video 179800 string SymVid SymbOS video 17981>6 ubyte x v%c 17982>7 ubyte x \b.%c 17983 17984# Soundtrakker 128 ST2 music 179850 byte 0 17986>0xC string \x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x40\x00 Soundtrakker 128 ST2 music, 17987>>1 string x name: %s 17988 17989 17990 17991#------------------------------------------------------------------------ 17992# $File: sysex,v 1.7 2013/09/16 15:12:42 christos Exp $ 17993# sysex: file(1) magic for MIDI sysex files 17994# 17995# GRR: orginal 1 byte test at offset was too general as it catches also many FATs of DOS filesystems 17996# where real SYStem EXclusive messages at offset 1 are limited to seven bits 17997# http://en.wikipedia.org/wiki/MIDI 179980 ubeshort&0xFF80 0xF000 SysEx File - 17999 18000# North American Group 18001>1 byte 0x01 Sequential 18002>1 byte 0x02 IDP 18003>1 byte 0x03 OctavePlateau 18004>1 byte 0x04 Moog 18005>1 byte 0x05 Passport 18006>1 byte 0x06 Lexicon 18007>1 byte 0x07 Kurzweil/Future Retro 18008>>3 byte 0x77 777 18009>>4 byte 0x00 Bank 18010>>4 byte 0x01 Song 18011>>5 byte 0x0f 16 18012>>5 byte 0x0e 15 18013>>5 byte 0x0d 14 18014>>5 byte 0x0c 13 18015>>5 byte 0x0b 12 18016>>5 byte 0x0a 11 18017>>5 byte 0x09 10 18018>>5 byte 0x08 9 18019>>5 byte 0x07 8 18020>>5 byte 0x06 7 18021>>5 byte 0x05 6 18022>>5 byte 0x04 5 18023>>5 byte 0x03 4 18024>>5 byte 0x02 3 18025>>5 byte 0x01 2 18026>>5 byte 0x00 1 18027>>5 byte 0x10 (ALL) 18028>>2 byte x \b, Channel %d 18029>1 byte 0x08 Fender 18030>1 byte 0x09 Gulbransen 18031>1 byte 0x0a AKG 18032>1 byte 0x0b Voyce 18033>1 byte 0x0c Waveframe 18034>1 byte 0x0d ADA 18035>1 byte 0x0e Garfield 18036>1 byte 0x0f Ensoniq 18037>1 byte 0x10 Oberheim 18038>>2 byte 0x06 Matrix 6 series 18039>>3 byte 0x0A Dump (All) 18040>>3 byte 0x01 Dump (Bank) 18041>>4 belong 0x0002040E Matrix 1000 18042>>>11 byte <2 User bank %d 18043>>>11 byte >1 Preset bank %d 18044>1 byte 0x11 Apple 18045>1 byte 0x12 GreyMatter 18046>1 byte 0x14 PalmTree 18047>1 byte 0x15 JLCooper 18048>1 byte 0x16 Lowrey 18049>1 byte 0x17 AdamsSmith 18050>1 byte 0x18 E-mu 18051>1 byte 0x19 Harmony 18052>1 byte 0x1a ART 18053>1 byte 0x1b Baldwin 18054>1 byte 0x1c Eventide 18055>1 byte 0x1d Inventronics 18056>1 byte 0x1f Clarity 18057 18058# European Group 18059>1 byte 0x21 SIEL 18060>1 byte 0x22 Synthaxe 18061>1 byte 0x24 Hohner 18062>1 byte 0x25 Twister 18063>1 byte 0x26 Solton 18064>1 byte 0x27 Jellinghaus 18065>1 byte 0x28 Southworth 18066>1 byte 0x29 PPG 18067>1 byte 0x2a JEN 18068>1 byte 0x2b SSL 18069>1 byte 0x2c AudioVertrieb 18070 18071>1 byte 0x2f ELKA 18072>>3 byte 0x09 EK-44 18073 18074>1 byte 0x30 Dynacord 18075>1 byte 0x31 Jomox 18076>1 byte 0x33 Clavia 18077>1 byte 0x39 Soundcraft 18078# Some Waldorf info from http://Stromeko.Synth.net/Downloads#WaldorfDocs 18079>1 byte 0x3e Waldorf 18080>>2 byte 0x00 microWave 18081>>2 byte 0x0E microwave2 / XT 18082>>2 byte 0x0F Q / Q+ 18083>>3 byte =0 (default id) 18084>>3 byte >0 ( 18085>>>3 byte <0x7F \bdevice %d) 18086>>>3 byte =0x7F \bbroadcast id) 18087>>3 byte 0x7f Microwave I 18088>>>4 byte 0x00 SNDR (Sound Request) 18089>>>4 byte 0x10 SNDD (Sound Dump) 18090>>>4 byte 0x20 SNDP (Sound Parameter Change) 18091>>>4 byte 0x30 SNDQ (Sound Parameter Inquiry) 18092>>>4 byte 0x70 BOOT (Sound Reserved) 18093>>>4 byte 0x01 MULR (Multi Request) 18094>>>4 byte 0x11 MULD (Multi Dump) 18095>>>4 byte 0x21 MULP (Multi Parameter Change) 18096>>>4 byte 0x31 MULQ (Multi Parameter Inquiry) 18097>>>4 byte 0x71 OS (Multi Reserved) 18098>>>4 byte 0x02 DRMR (Drum Map Request) 18099>>>4 byte 0x12 DRMD (Drum Map Dump) 18100>>>4 byte 0x22 DRMP (Drum Map Parameter Change) 18101>>>4 byte 0x32 DRMQ (Drum Map Parameter Inquiry) 18102>>>4 byte 0x72 BIN (Drum Map Reserved) 18103>>>4 byte 0x03 PATR (Sequencer Pattern Request) 18104>>>4 byte 0x13 PATD (Sequencer Pattern Dump) 18105>>>4 byte 0x23 PATP (Sequencer Pattern Parameter Change) 18106>>>4 byte 0x33 PATQ (Sequencer Pattern Parameter Inquiry) 18107>>>4 byte 0x73 AFM (Sequencer Pattern Reserved) 18108>>>4 byte 0x04 GLBR (Global Parameter Request) 18109>>>4 byte 0x14 GLBD (Global Parameter Dump) 18110>>>4 byte 0x24 GLBP (Global Parameter Parameter Change) 18111>>>4 byte 0x34 GLBQ (Global Parameter Parameter Inquiry) 18112>>>4 byte 0x07 MODR (Mode Parameter Request) 18113>>>4 byte 0x17 MODD (Mode Parameter Dump) 18114>>>4 byte 0x27 MODP (Mode Parameter Parameter Change) 18115>>>4 byte 0x37 MODQ (Mode Parameter Parameter Inquiry) 18116>>2 byte 0x10 microQ 18117>>>4 byte 0x00 SNDR (Sound Request) 18118>>>4 byte 0x10 SNDD (Sound Dump) 18119>>>4 byte 0x20 SNDP (Sound Parameter Change) 18120>>>4 byte 0x30 SNDQ (Sound Parameter Inquiry) 18121>>>4 byte 0x70 (Sound Reserved) 18122>>>4 byte 0x01 MULR (Multi Request) 18123>>>4 byte 0x11 MULD (Multi Dump) 18124>>>4 byte 0x21 MULP (Multi Parameter Change) 18125>>>4 byte 0x31 MULQ (Multi Parameter Inquiry) 18126>>>4 byte 0x71 OS (Multi Reserved) 18127>>>4 byte 0x02 DRMR (Drum Map Request) 18128>>>4 byte 0x12 DRMD (Drum Map Dump) 18129>>>4 byte 0x22 DRMP (Drum Map Parameter Change) 18130>>>4 byte 0x32 DRMQ (Drum Map Parameter Inquiry) 18131>>>4 byte 0x72 BIN (Drum Map Reserved) 18132>>>4 byte 0x04 GLBR (Global Parameter Request) 18133>>>4 byte 0x14 GLBD (Global Parameter Dump) 18134>>>4 byte 0x24 GLBP (Global Parameter Parameter Change) 18135>>>4 byte 0x34 GLBQ (Global Parameter Parameter Inquiry) 18136>>2 byte 0x11 rackAttack 18137>>>4 byte 0x00 SNDR (Sound Parameter Request) 18138>>>4 byte 0x10 SNDD (Sound Parameter Dump) 18139>>>4 byte 0x20 SNDP (Sound Parameter Parameter Change) 18140>>>4 byte 0x30 SNDQ (Sound Parameter Parameter Inquiry) 18141>>>4 byte 0x01 PRGR (Program Parameter Request) 18142>>>4 byte 0x11 PRGD (Program Parameter Dump) 18143>>>4 byte 0x21 PRGP (Program Parameter Parameter Change) 18144>>>4 byte 0x31 PRGQ (Program Parameter Parameter Inquiry) 18145>>>4 byte 0x71 OS (Program Parameter Reserved) 18146>>>4 byte 0x03 PATR (Pattern Parameter Request) 18147>>>4 byte 0x13 PATD (Pattern Parameter Dump) 18148>>>4 byte 0x23 PATP (Pattern Parameter Parameter Change) 18149>>>4 byte 0x33 PATQ (Pattern Parameter Parameter Inquiry) 18150>>>4 byte 0x04 GLBR (Global Parameter Request) 18151>>>4 byte 0x14 GLBD (Global Parameter Dump) 18152>>>4 byte 0x24 GLBP (Global Parameter Parameter Change) 18153>>>4 byte 0x34 GLBQ (Global Parameter Parameter Inquiry) 18154>>>4 byte 0x05 EFXR (FX Parameter Request) 18155>>>4 byte 0x15 EFXD (FX Parameter Dump) 18156>>>4 byte 0x25 EFXP (FX Parameter Parameter Change) 18157>>>4 byte 0x35 EFXQ (FX Parameter Parameter Inquiry) 18158>>>4 byte 0x07 MODR (Mode Command Request) 18159>>>4 byte 0x17 MODD (Mode Command Dump) 18160>>>4 byte 0x27 MODP (Mode Command Parameter Change) 18161>>>4 byte 0x37 MODQ (Mode Command Parameter Inquiry) 18162>>2 byte 0x03 Wave 18163>>>4 byte 0x00 SBPR (Soundprogram) 18164>>>4 byte 0x01 SAPR (Performance) 18165>>>4 byte 0x02 SWAVE (Wave) 18166>>>4 byte 0x03 SWTBL (Wave control table) 18167>>>4 byte 0x04 SVT (Velocity Curve) 18168>>>4 byte 0x05 STT (Tuning Table) 18169>>>4 byte 0x06 SGLB (Global Parameters) 18170>>>4 byte 0x07 SARRMAP (Performance Program Change Map) 18171>>>4 byte 0x08 SBPRMAP (Sound Program Change Map) 18172>>>4 byte 0x09 SBPRPAR (Sound Parameter) 18173>>>4 byte 0x0A SARRPAR (Performance Parameter) 18174>>>4 byte 0x0B SINSPAR (Instrument/External Parameter) 18175>>>4 byte 0x0F SBULK (Bulk Switch on/off) 18176 18177# Japanese Group 18178>1 byte 0x40 Kawai 18179>>3 byte 0x20 K1 18180>>3 byte 0x22 K4 18181 18182>1 byte 0x41 Roland 18183>>3 byte 0x14 D-50 18184>>3 byte 0x2b U-220 18185>>3 byte 0x02 TR-707 18186 18187>1 byte 0x42 Korg 18188>>3 byte 0x19 M1 18189 18190>1 byte 0x43 Yamaha 18191>1 byte 0x44 Casio 18192>1 byte 0x46 Kamiya 18193>1 byte 0x47 Akai 18194>1 byte 0x48 Victor 18195>1 byte 0x49 Mesosha 18196>1 byte 0x4b Fujitsu 18197>1 byte 0x4c Sony 18198>1 byte 0x4e Teac 18199>1 byte 0x50 Matsushita 18200>1 byte 0x51 Fostex 18201>1 byte 0x52 Zoom 18202>1 byte 0x54 Matsushita 18203>1 byte 0x57 Acoustic tech. lab. 18204# http://www.midi.org/techspecs/manid.php 18205>1 belong&0xffffff00 0x00007400 Ta Horng 18206>1 belong&0xffffff00 0x00007500 e-Tek 18207>1 belong&0xffffff00 0x00007600 E-Voice 18208>1 belong&0xffffff00 0x00007700 Midisoft 18209>1 belong&0xffffff00 0x00007800 Q-Sound 18210>1 belong&0xffffff00 0x00007900 Westrex 18211>1 belong&0xffffff00 0x00007a00 Nvidia* 18212>1 belong&0xffffff00 0x00007b00 ESS 18213>1 belong&0xffffff00 0x00007c00 Mediatrix 18214>1 belong&0xffffff00 0x00007d00 Brooktree 18215>1 belong&0xffffff00 0x00007e00 Otari 18216>1 belong&0xffffff00 0x00007f00 Key Electronics 18217>1 belong&0xffffff00 0x00010000 Shure 18218>1 belong&0xffffff00 0x00010100 AuraSound 18219>1 belong&0xffffff00 0x00010200 Crystal 18220>1 belong&0xffffff00 0x00010300 Rockwell 18221>1 belong&0xffffff00 0x00010400 Silicon Graphics 18222>1 belong&0xffffff00 0x00010500 Midiman 18223>1 belong&0xffffff00 0x00010600 PreSonus 18224>1 belong&0xffffff00 0x00010800 Topaz 18225>1 belong&0xffffff00 0x00010900 Cast Lightning 18226>1 belong&0xffffff00 0x00010a00 Microsoft 18227>1 belong&0xffffff00 0x00010b00 Sonic Foundry 18228>1 belong&0xffffff00 0x00010c00 Line 6 18229>1 belong&0xffffff00 0x00010d00 Beatnik Inc. 18230>1 belong&0xffffff00 0x00010e00 Van Koerving 18231>1 belong&0xffffff00 0x00010f00 Altech Systems 18232>1 belong&0xffffff00 0x00011000 S & S Research 18233>1 belong&0xffffff00 0x00011100 VLSI Technology 18234>1 belong&0xffffff00 0x00011200 Chromatic 18235>1 belong&0xffffff00 0x00011300 Sapphire 18236>1 belong&0xffffff00 0x00011400 IDRC 18237>1 belong&0xffffff00 0x00011500 Justonic Tuning 18238>1 belong&0xffffff00 0x00011600 TorComp 18239>1 belong&0xffffff00 0x00011700 Newtek Inc. 18240>1 belong&0xffffff00 0x00011800 Sound Sculpture 18241>1 belong&0xffffff00 0x00011900 Walker Technical 18242>1 belong&0xffffff00 0x00011a00 Digital Harmony 18243>1 belong&0xffffff00 0x00011b00 InVision 18244>1 belong&0xffffff00 0x00011c00 T-Square 18245>1 belong&0xffffff00 0x00011d00 Nemesys 18246>1 belong&0xffffff00 0x00011e00 DBX 18247>1 belong&0xffffff00 0x00011f00 Syndyne 18248>1 belong&0xffffff00 0x00012000 Bitheadz 18249>1 belong&0xffffff00 0x00012100 Cakewalk 18250>1 belong&0xffffff00 0x00012200 Staccato 18251>1 belong&0xffffff00 0x00012300 National Semicon. 18252>1 belong&0xffffff00 0x00012400 Boom Theory 18253>1 belong&0xffffff00 0x00012500 Virtual DSP Corp 18254>1 belong&0xffffff00 0x00012600 Antares 18255>1 belong&0xffffff00 0x00012700 Angel Software 18256>1 belong&0xffffff00 0x00012800 St Louis Music 18257>1 belong&0xffffff00 0x00012900 Lyrrus dba G-VOX 18258>1 belong&0xffffff00 0x00012a00 Ashley Audio 18259>1 belong&0xffffff00 0x00012b00 Vari-Lite 18260>1 belong&0xffffff00 0x00012c00 Summit Audio 18261>1 belong&0xffffff00 0x00012d00 Aureal Semicon. 18262>1 belong&0xffffff00 0x00012e00 SeaSound 18263>1 belong&0xffffff00 0x00012f00 U.S. Robotics 18264>1 belong&0xffffff00 0x00013000 Aurisis 18265>1 belong&0xffffff00 0x00013100 Nearfield Multimedia 18266>1 belong&0xffffff00 0x00013200 FM7 Inc. 18267>1 belong&0xffffff00 0x00013300 Swivel Systems 18268>1 belong&0xffffff00 0x00013400 Hyperactive 18269>1 belong&0xffffff00 0x00013500 MidiLite 18270>1 belong&0xffffff00 0x00013600 Radical 18271>1 belong&0xffffff00 0x00013700 Roger Linn 18272>1 belong&0xffffff00 0x00013800 Helicon 18273>1 belong&0xffffff00 0x00013900 Event 18274>1 belong&0xffffff00 0x00013a00 Sonic Network 18275>1 belong&0xffffff00 0x00013b00 Realtime Music 18276>1 belong&0xffffff00 0x00013c00 Apogee Digital 18277 18278>1 belong&0xffffff00 0x00202b00 Medeli Electronics 18279>1 belong&0xffffff00 0x00202c00 Charlie Lab 18280>1 belong&0xffffff00 0x00202d00 Blue Chip Music 18281>1 belong&0xffffff00 0x00202e00 BEE OH Corp 18282>1 belong&0xffffff00 0x00202f00 LG Semicon America 18283>1 belong&0xffffff00 0x00203000 TESI 18284>1 belong&0xffffff00 0x00203100 EMAGIC 18285>1 belong&0xffffff00 0x00203200 Behringer 18286>1 belong&0xffffff00 0x00203300 Access Music 18287>1 belong&0xffffff00 0x00203400 Synoptic 18288>1 belong&0xffffff00 0x00203500 Hanmesoft Corp 18289>1 belong&0xffffff00 0x00203600 Terratec 18290>1 belong&0xffffff00 0x00203700 Proel SpA 18291>1 belong&0xffffff00 0x00203800 IBK MIDI 18292>1 belong&0xffffff00 0x00203900 IRCAM 18293>1 belong&0xffffff00 0x00203a00 Propellerhead Software 18294>1 belong&0xffffff00 0x00203b00 Red Sound Systems 18295>1 belong&0xffffff00 0x00203c00 Electron ESI AB 18296>1 belong&0xffffff00 0x00203d00 Sintefex Audio 18297>1 belong&0xffffff00 0x00203e00 Music and More 18298>1 belong&0xffffff00 0x00203f00 Amsaro 18299>1 belong&0xffffff00 0x00204000 CDS Advanced Technology 18300>1 belong&0xffffff00 0x00204100 Touched by Sound 18301>1 belong&0xffffff00 0x00204200 DSP Arts 18302>1 belong&0xffffff00 0x00204300 Phil Rees Music 18303>1 belong&0xffffff00 0x00204400 Stamer Musikanlagen GmbH 18304>1 belong&0xffffff00 0x00204500 Soundart 18305>1 belong&0xffffff00 0x00204600 C-Mexx Software 18306>1 belong&0xffffff00 0x00204700 Klavis Tech. 18307>1 belong&0xffffff00 0x00204800 Noteheads AB 18308 183090 string T707 Roland TR-707 Data 18310#------------------------------------------------------------------------------ 18311# file: file(1) magic for Tcl scripting language 18312# URL: http://www.tcl.tk/ 18313# From: gustaf neumann 18314 18315# Tcl scripts 183160 search/1/w #!\ /usr/bin/tcl Tcl script text executable 18317!:mime text/x-tcl 183180 search/1/w #!\ /usr/local/bin/tcl Tcl script text executable 18319!:mime text/x-tcl 183200 search/1 #!/usr/bin/env\ tcl Tcl script text executable 18321!:mime text/x-tcl 183220 search/1 #!\ /usr/bin/env\ tcl Tcl script text executable 18323!:mime text/x-tcl 183240 search/1/w #!\ /usr/bin/wish Tcl/Tk script text executable 18325!:mime text/x-tcl 183260 search/1/w #!\ /usr/local/bin/wish Tcl/Tk script text executable 18327!:mime text/x-tcl 183280 search/1 #!/usr/bin/env\ wish Tcl/Tk script text executable 18329!:mime text/x-tcl 183300 search/1 #!\ /usr/bin/env\ wish Tcl/Tk script text executable 18331!:mime text/x-tcl 18332 18333# check the first line 183340 search/1 package\ req 18335>0 regex \^package[\ \t]+req Tcl script 18336# not 'p', check other lines 183370 search/1 !p 18338>0 regex \^package[\ \t]+req Tcl script 18339 18340#------------------------------------------------------------------------------ 18341# $File: teapot,v 1.4 2009/09/19 16:28:12 christos Exp $ 18342# teapot: file(1) magic for "teapot" spreadsheet 18343# 183440 string #!teapot\012xdr teapot work sheet (XDR format) 18345 18346#------------------------------------------------------------------------------ 18347# $File: terminfo,v 1.6 2009/09/19 16:28:12 christos Exp $ 18348# terminfo: file(1) magic for terminfo 18349# 18350# XXX - byte order for screen images? 18351# 183520 string \032\001 Compiled terminfo entry 183530 short 0433 Curses screen image 183540 short 0434 Curses screen image 18355 18356#------------------------------------------------------------------------------ 18357# $File: tex,v 1.19 2013/09/17 17:39:16 christos Exp $ 18358# tex: file(1) magic for TeX files 18359# 18360# XXX - needs byte-endian stuff (big-endian and little-endian DVI?) 18361# 18362# From <conklin@talisman.kaleida.com> 18363 18364# Although we may know the offset of certain text fields in TeX DVI 18365# and font files, we can't use them reliably because they are not 18366# zero terminated. [but we do anyway, christos] 183670 string \367\002 TeX DVI file 18368!:mime application/x-dvi 18369>16 string >\0 (%s) 183700 string \367\203 TeX generic font data 183710 string \367\131 TeX packed font data 18372>3 string >\0 (%s) 183730 string \367\312 TeX virtual font data 183740 search/1 This\ is\ TeX, TeX transcript text 183750 search/1 This\ is\ METAFONT, METAFONT transcript text 18376 18377# There is no way to detect TeX Font Metric (*.tfm) files without 18378# breaking them apart and reading the data. The following patterns 18379# match most *.tfm files generated by METAFONT or afm2tfm. 183802 string \000\021 TeX font metric data 18381!:mime application/x-tex-tfm 18382>33 string >\0 (%s) 183832 string \000\022 TeX font metric data 18384!:mime application/x-tex-tfm 18385>33 string >\0 (%s) 18386 18387# Texinfo and GNU Info, from Daniel Quinlan (quinlan@yggdrasil.com) 183880 search/1 \\input\ texinfo Texinfo source text 18389!:mime text/x-texinfo 183900 search/1 This\ is\ Info\ file GNU Info text 18391!:mime text/x-info 18392 18393# TeX documents, from Daniel Quinlan (quinlan@yggdrasil.com) 183940 search/4096 \\input TeX document text 18395!:mime text/x-tex 18396!:strength + 15 183970 search/4096 \\begin LaTeX document text 18398!:mime text/x-tex 18399!:strength + 15 184000 search/4096 \\section LaTeX document text 18401!:mime text/x-tex 18402!:strength + 18 184030 search/4096 \\setlength LaTeX document text 18404!:mime text/x-tex 18405!:strength + 15 184060 search/4096 \\documentstyle LaTeX document text 18407!:mime text/x-tex 18408!:strength + 18 184090 search/4096 \\chapter LaTeX document text 18410!:mime text/x-tex 18411!:strength + 18 184120 search/4096 \\documentclass LaTeX 2e document text 18413!:mime text/x-tex 18414!:strength + 15 184150 search/4096 \\relax LaTeX auxiliary file 18416!:mime text/x-tex 18417!:strength + 15 184180 search/4096 \\contentsline LaTeX table of contents 18419!:mime text/x-tex 18420!:strength + 15 184210 search/4096 %\ -*-latex-*- LaTeX document text 18422!:mime text/x-tex 18423 18424# Tex document, from Hendrik Scholz <hendrik@scholz.net> 184250 search/1 \\ifx TeX document text 18426 18427# Index and glossary files 184280 search/4096 \\indexentry LaTeX raw index file 184290 search/4096 \\begin{theindex} LaTeX sorted index 184300 search/4096 \\glossaryentry LaTeX raw glossary 184310 search/4096 \\begin{theglossary} LaTeX sorted glossary 184320 search/4096 This\ is\ makeindex Makeindex log file 18433 18434# End of TeX 18435 18436#------------------------------------------------------------------------------ 18437# file(1) magic for BibTex text files 18438# From Hendrik Scholz <hendrik@scholz.net> 18439 184400 search/1/c @article{ BibTeX text file 184410 search/1/c @book{ BibTeX text file 184420 search/1/c @inbook{ BibTeX text file 184430 search/1/c @incollection{ BibTeX text file 184440 search/1/c @inproceedings{ BibTeX text file 184450 search/1/c @manual{ BibTeX text file 184460 search/1/c @misc{ BibTeX text file 184470 search/1/c @preamble{ BibTeX text file 184480 search/1/c @phdthesis{ BibTeX text file 184490 search/1/c @techreport{ BibTeX text file 184500 search/1/c @unpublished{ BibTeX text file 18451 1845273 search/1 %%%\ \ BibTeX-file{ BibTex text file (with full header) 18453 1845473 search/1 %%%\ \ @BibTeX-style-file{ BibTeX style text file (with full header) 18455 184560 search/1 %\ BibTeX\ standard\ bibliography\ BibTeX standard bibliography style text file 18457 184580 search/1 %\ BibTeX\ ` BibTeX custom bibliography style text file 18459 184600 search/1 @c\ @mapfile{ TeX font aliases text file 18461 184620 string #LyX LyX document text 18463 18464#------------------------------------------------------------------------------ 18465# $File: tgif,v 1.7 2010/09/20 19:03:46 rrt Exp $ 18466# file(1) magic for tgif(1) files 18467# From Hendrik Scholz <hendrik@scholz.net> 184680 string %TGIF\ Tgif file version 18469>6 string x %s 18470 18471#------------------------------------------------------------------------------ 18472# $File: ti-8x,v 1.6 2009/09/19 16:28:12 christos Exp $ 18473# ti-8x: file(1) magic for the TI-8x and TI-9x Graphing Calculators. 18474# 18475# From: Ryan McGuire (rmcguire@freenet.columbus.oh.us). 18476# 18477# Update: Romain Lievin (roms@lpg.ticalc.org). 18478# 18479# NOTE: This list is not complete. 18480# Files for the TI-80 and TI-81 are pretty rare. I'm not going to put the 18481# program/group magic numbers in here because I cannot find any. 184820 string **TI80** TI-80 Graphing Calculator File. 184830 string **TI81** TI-81 Graphing Calculator File. 18484# 18485# Magic Numbers for the TI-73 18486# 184870 string **TI73** TI-73 Graphing Calculator 18488>0x00003B byte 0x00 (real number) 18489>0x00003B byte 0x01 (list) 18490>0x00003B byte 0x02 (matrix) 18491>0x00003B byte 0x03 (equation) 18492>0x00003B byte 0x04 (string) 18493>0x00003B byte 0x05 (program) 18494>0x00003B byte 0x06 (assembly program) 18495>0x00003B byte 0x07 (picture) 18496>0x00003B byte 0x08 (gdb) 18497>0x00003B byte 0x0C (complex number) 18498>0x00003B byte 0x0F (window settings) 18499>0x00003B byte 0x10 (zoom) 18500>0x00003B byte 0x11 (table setup) 18501>0x00003B byte 0x13 (backup) 18502 18503# Magic Numbers for the TI-82 18504# 185050 string **TI82** TI-82 Graphing Calculator 18506>0x00003B byte 0x00 (real) 18507>0x00003B byte 0x01 (list) 18508>0x00003B byte 0x02 (matrix) 18509>0x00003B byte 0x03 (Y-variable) 18510>0x00003B byte 0x05 (program) 18511>0x00003B byte 0x06 (protected prgm) 18512>0x00003B byte 0x07 (picture) 18513>0x00003B byte 0x08 (gdb) 18514>0x00003B byte 0x0B (window settings) 18515>0x00003B byte 0x0C (window settings) 18516>0x00003B byte 0x0D (table setup) 18517>0x00003B byte 0x0E (screenshot) 18518>0x00003B byte 0x0F (backup) 18519# 18520# Magic Numbers for the TI-83 18521# 185220 string **TI83** TI-83 Graphing Calculator 18523>0x00003B byte 0x00 (real) 18524>0x00003B byte 0x01 (list) 18525>0x00003B byte 0x02 (matrix) 18526>0x00003B byte 0x03 (Y-variable) 18527>0x00003B byte 0x04 (string) 18528>0x00003B byte 0x05 (program) 18529>0x00003B byte 0x06 (protected prgm) 18530>0x00003B byte 0x07 (picture) 18531>0x00003B byte 0x08 (gdb) 18532>0x00003B byte 0x0B (window settings) 18533>0x00003B byte 0x0C (window settings) 18534>0x00003B byte 0x0D (table setup) 18535>0x00003B byte 0x0E (screenshot) 18536>0x00003B byte 0x13 (backup) 18537# 18538# Magic Numbers for the TI-83+ 18539# 185400 string **TI83F* TI-83+ Graphing Calculator 18541>0x00003B byte 0x00 (real number) 18542>0x00003B byte 0x01 (list) 18543>0x00003B byte 0x02 (matrix) 18544>0x00003B byte 0x03 (equation) 18545>0x00003B byte 0x04 (string) 18546>0x00003B byte 0x05 (program) 18547>0x00003B byte 0x06 (assembly program) 18548>0x00003B byte 0x07 (picture) 18549>0x00003B byte 0x08 (gdb) 18550>0x00003B byte 0x0C (complex number) 18551>0x00003B byte 0x0F (window settings) 18552>0x00003B byte 0x10 (zoom) 18553>0x00003B byte 0x11 (table setup) 18554>0x00003B byte 0x13 (backup) 18555>0x00003B byte 0x15 (application variable) 18556>0x00003B byte 0x17 (group of variable) 18557 18558# 18559# Magic Numbers for the TI-85 18560# 185610 string **TI85** TI-85 Graphing Calculator 18562>0x00003B byte 0x00 (real number) 18563>0x00003B byte 0x01 (complex number) 18564>0x00003B byte 0x02 (real vector) 18565>0x00003B byte 0x03 (complex vector) 18566>0x00003B byte 0x04 (real list) 18567>0x00003B byte 0x05 (complex list) 18568>0x00003B byte 0x06 (real matrix) 18569>0x00003B byte 0x07 (complex matrix) 18570>0x00003B byte 0x08 (real constant) 18571>0x00003B byte 0x09 (complex constant) 18572>0x00003B byte 0x0A (equation) 18573>0x00003B byte 0x0C (string) 18574>0x00003B byte 0x0D (function GDB) 18575>0x00003B byte 0x0E (polar GDB) 18576>0x00003B byte 0x0F (parametric GDB) 18577>0x00003B byte 0x10 (diffeq GDB) 18578>0x00003B byte 0x11 (picture) 18579>0x00003B byte 0x12 (program) 18580>0x00003B byte 0x13 (range) 18581>0x00003B byte 0x17 (window settings) 18582>0x00003B byte 0x18 (window settings) 18583>0x00003B byte 0x19 (window settings) 18584>0x00003B byte 0x1A (window settings) 18585>0x00003B byte 0x1B (zoom) 18586>0x00003B byte 0x1D (backup) 18587>0x00003B byte 0x1E (unknown) 18588>0x00003B byte 0x2A (equation) 18589>0x000032 string ZS4 - ZShell Version 4 File. 18590>0x000032 string ZS3 - ZShell Version 3 File. 18591# 18592# Magic Numbers for the TI-86 18593# 185940 string **TI86** TI-86 Graphing Calculator 18595>0x00003B byte 0x00 (real number) 18596>0x00003B byte 0x01 (complex number) 18597>0x00003B byte 0x02 (real vector) 18598>0x00003B byte 0x03 (complex vector) 18599>0x00003B byte 0x04 (real list) 18600>0x00003B byte 0x05 (complex list) 18601>0x00003B byte 0x06 (real matrix) 18602>0x00003B byte 0x07 (complex matrix) 18603>0x00003B byte 0x08 (real constant) 18604>0x00003B byte 0x09 (complex constant) 18605>0x00003B byte 0x0A (equation) 18606>0x00003B byte 0x0C (string) 18607>0x00003B byte 0x0D (function GDB) 18608>0x00003B byte 0x0E (polar GDB) 18609>0x00003B byte 0x0F (parametric GDB) 18610>0x00003B byte 0x10 (diffeq GDB) 18611>0x00003B byte 0x11 (picture) 18612>0x00003B byte 0x12 (program) 18613>0x00003B byte 0x13 (range) 18614>0x00003B byte 0x17 (window settings) 18615>0x00003B byte 0x18 (window settings) 18616>0x00003B byte 0x19 (window settings) 18617>0x00003B byte 0x1A (window settings) 18618>0x00003B byte 0x1B (zoom) 18619>0x00003B byte 0x1D (backup) 18620>0x00003B byte 0x1E (unknown) 18621>0x00003B byte 0x2A (equation) 18622# 18623# Magic Numbers for the TI-89 18624# 186250 string **TI89** TI-89 Graphing Calculator 18626>0x000048 byte 0x00 (expression) 18627>0x000048 byte 0x04 (list) 18628>0x000048 byte 0x06 (matrix) 18629>0x000048 byte 0x0A (data) 18630>0x000048 byte 0x0B (text) 18631>0x000048 byte 0x0C (string) 18632>0x000048 byte 0x0D (graphic data base) 18633>0x000048 byte 0x0E (figure) 18634>0x000048 byte 0x10 (picture) 18635>0x000048 byte 0x12 (program) 18636>0x000048 byte 0x13 (function) 18637>0x000048 byte 0x14 (macro) 18638>0x000048 byte 0x1C (zipped) 18639>0x000048 byte 0x21 (assembler) 18640# 18641# Magic Numbers for the TI-92 18642# 186430 string **TI92** TI-92 Graphing Calculator 18644>0x000048 byte 0x00 (expression) 18645>0x000048 byte 0x04 (list) 18646>0x000048 byte 0x06 (matrix) 18647>0x000048 byte 0x0A (data) 18648>0x000048 byte 0x0B (text) 18649>0x000048 byte 0x0C (string) 18650>0x000048 byte 0x0D (graphic data base) 18651>0x000048 byte 0x0E (figure) 18652>0x000048 byte 0x10 (picture) 18653>0x000048 byte 0x12 (program) 18654>0x000048 byte 0x13 (function) 18655>0x000048 byte 0x14 (macro) 18656>0x000048 byte 0x1D (backup) 18657# 18658# Magic Numbers for the TI-92+/V200 18659# 186600 string **TI92P* TI-92+/V200 Graphing Calculator 18661>0x000048 byte 0x00 (expression) 18662>0x000048 byte 0x04 (list) 18663>0x000048 byte 0x06 (matrix) 18664>0x000048 byte 0x0A (data) 18665>0x000048 byte 0x0B (text) 18666>0x000048 byte 0x0C (string) 18667>0x000048 byte 0x0D (graphic data base) 18668>0x000048 byte 0x0E (figure) 18669>0x000048 byte 0x10 (picture) 18670>0x000048 byte 0x12 (program) 18671>0x000048 byte 0x13 (function) 18672>0x000048 byte 0x14 (macro) 18673>0x000048 byte 0x1C (zipped) 18674>0x000048 byte 0x21 (assembler) 18675# 18676# Magic Numbers for the TI-73/83+/89/92+/V200 FLASH upgrades 18677# 186780x0000016 string Advanced TI-XX Graphing Calculator (FLASH) 186790 string **TIFL** TI-XX Graphing Calculator (FLASH) 18680>8 byte >0 - Revision %d 18681>>9 byte x \b.%d, 18682>12 byte >0 Revision date %02x 18683>>13 byte x \b/%02x 18684>>14 beshort x \b/%04x, 18685>17 string >/0 name: '%s', 18686>48 byte 0x74 device: TI-73, 18687>48 byte 0x73 device: TI-83+, 18688>48 byte 0x98 device: TI-89, 18689>48 byte 0x88 device: TI-92+, 18690>49 byte 0x23 type: OS upgrade, 18691>49 byte 0x24 type: application, 18692>49 byte 0x25 type: certificate, 18693>49 byte 0x3e type: license, 18694>74 lelong >0 size: %ld bytes 18695 18696# VTi & TiEmu skins (TI Graphing Calculators). 18697# From: Romain Lievin (roms@lpg.ticalc.org). 18698# Magic Numbers for the VTi skins 186990 string VTI Virtual TI skin 18700>3 string v - Version 18701>>4 byte >0 \b %c 18702>>6 byte x \b.%c 18703# Magic Numbers for the TiEmu skins 187040 string TiEmu TiEmu skin 18705>6 string v - Version 18706>>7 byte >0 \b %c 18707>>9 byte x \b.%c 18708>>10 byte x \b%c 18709 18710#------------------------------------------------------------------------------ 18711# $File: timezone,v 1.11 2009/09/19 16:28:12 christos Exp $ 18712# timezone: file(1) magic for timezone data 18713# 18714# from Daniel Quinlan (quinlan@yggdrasil.com) 18715# this should work on Linux, SunOS, and maybe others 18716# Added new official magic number for recent versions of the Olson code 187170 string TZif timezone data 18718>4 byte 0 \b, old version 18719>4 byte >0 \b, version %c 18720>20 belong 0 \b, no gmt time flags 18721>20 belong 1 \b, 1 gmt time flag 18722>20 belong >1 \b, %d gmt time flags 18723>24 belong 0 \b, no std time flags 18724>20 belong 1 \b, 1 std time flag 18725>24 belong >1 \b, %d std time flags 18726>28 belong 0 \b, no leap seconds 18727>28 belong 1 \b, 1 leap second 18728>28 belong >1 \b, %d leap seconds 18729>32 belong 0 \b, no transition times 18730>32 belong 1 \b, 1 transition time 18731>32 belong >1 \b, %d transition times 18732>36 belong 0 \b, no abbreviation chars 18733>36 belong 1 \b, 1 abbreviation char 18734>36 belong >1 \b, %d abbreviation chars 187350 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 187360 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 187370 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 187380 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 187390 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 187400 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 18741 18742#------------------------------------------------------------------------------ 18743# $File: troff,v 1.10 2009/09/19 16:28:12 christos Exp $ 18744# troff: file(1) magic for *roff 18745# 18746# updated by Daniel Quinlan (quinlan@yggdrasil.com) 18747 18748# troff input 187490 search/1 .\\" troff or preprocessor input text 18750!:mime text/troff 187510 search/1 '\\" troff or preprocessor input text 18752!:mime text/troff 187530 search/1 '.\\" troff or preprocessor input text 18754!:mime text/troff 187550 search/1 \\" troff or preprocessor input text 18756!:mime text/troff 187570 search/1 ''' troff or preprocessor input text 18758!:mime text/troff 187590 regex/20 \^\\.[A-Za-z0-9][A-Za-z0-9][\ \t] troff or preprocessor input text 18760!:mime text/troff 187610 regex/20 \^\\.[A-Za-z0-9][A-Za-z0-9]$ troff or preprocessor input text 18762!:mime text/troff 18763 18764# ditroff intermediate output text 187650 search/1 x\ T ditroff output text 18766>4 search/1 cat for the C/A/T phototypesetter 18767>4 search/1 ps for PostScript 18768>4 search/1 dvi for DVI 18769>4 search/1 ascii for ASCII 18770>4 search/1 lj4 for LaserJet 4 18771>4 search/1 latin1 for ISO 8859-1 (Latin 1) 18772>4 search/1 X75 for xditview at 75dpi 18773>>7 search/1 -12 (12pt) 18774>4 search/1 X100 for xditview at 100dpi 18775>>8 search/1 -12 (12pt) 18776 18777# output data formats 187780 string \100\357 very old (C/A/T) troff output data 18779 18780#------------------------------------------------------------------------------ 18781# $File: tuxedo,v 1.4 2009/09/19 16:28:13 christos Exp $ 18782# tuxedo: file(1) magic for BEA TUXEDO data files 18783# 18784# from Ian Springer <ispringer@hotmail.com> 18785# 187860 string \0\0\1\236\0\0\0\0\0\0\0\0\0\0\0\0 BEA TUXEDO DES mask data 18787 18788#------------------------------------------------------------------------------ 18789# $File: typeset,v 1.8 2009/09/19 16:28:13 christos Exp $ 18790# typeset: file(1) magic for other typesetting 18791# 187920 string Interpress/Xerox Xerox InterPress data 18793>16 string / (version 18794>>17 string >\0 %s) 18795 18796#------------------------------------------------------------------------------ 18797# $File: unicode,v 1.6 2010/09/20 18:55:20 rrt Exp $ 18798# Unicode: BOM prefixed text files - Adrian Havill <havill@turbolinux.co.jp> 18799# GRR: These types should be recognised in file_ascmagic so these 18800# encodings can be treated by text patterns. 18801# Missing types are already dealt with internally. 18802# 188030 string +/v8 Unicode text, UTF-7 188040 string +/v9 Unicode text, UTF-7 188050 string +/v+ Unicode text, UTF-7 188060 string +/v/ Unicode text, UTF-7 188070 string \335\163\146\163 Unicode text, UTF-8-EBCDIC 188080 string \000\000\376\377 Unicode text, UTF-32, big-endian 188090 string \377\376\000\000 Unicode text, UTF-32, little-endian 188100 string \016\376\377 Unicode text, SCSU (Standard Compression Scheme for Unicode) 18811 18812#------------------------------------------------------------------------------ 18813# $File: unknown,v 1.8 2013/01/09 22:37:24 christos Exp $ 18814# unknown: file(1) magic for unknown machines 18815# 18816# 0x107 is 0407, 0x108 is 0410, and 0x109 is 0411; those are all PDP-11 18817# (executable, pure, and split I&D, respectively), but the PDP-11 version 18818# doesn't have the "version %ld", which may be a bogus COFFism (I don't 18819# think there was ever COFF for the PDP-11). 18820# 18821# 0x10B is 0413; that's VAX demand-paged, but this is a short, not a 18822# long, as it would be on a VAX. In any case, that could collide with 18823# VAX demand-paged files, as the magic number is little-endian on those 18824# binaries, so the first 16 bits of the file would contain 0x10B. 18825# 18826# Therefore, those entries are commented out. 18827# 18828# 0x10C is 0414 and 0x10E is 0416; those *are* unknown. 18829# 18830#0 short 0x107 unknown machine executable 18831#>8 short >0 not stripped 18832#>15 byte >0 - version %ld 18833#0 short 0x108 unknown pure executable 18834#>8 short >0 not stripped 18835#>15 byte >0 - version %ld 18836#0 short 0x109 PDP-11 separate I&D 18837#>8 short >0 not stripped 18838#>15 byte >0 - version %ld 18839#0 short 0x10b unknown pure executable 18840#>8 short >0 not stripped 18841#>15 byte >0 - version %ld 188420 long 0x10c unknown demand paged pure executable 18843>16 long >0 not stripped 188440 long 0x10e unknown readable demand paged pure executable 18845 18846#------------------------------------------------------------------------------ 18847# $File: uterus,v 1.1 2012/12/18 18:53:32 christos Exp $ 18848# file(1) magic for uterus files 18849# http://freecode.com/projects/uterus 18850# 188510 string UTE+ uterus file 18852>4 string v \b, version 18853>5 byte x %c 18854>6 string . \b. 18855>7 byte x \b%c 18856>8 string \<\> \b, big-endian 18857>>16 belong >0 \b, slut size %u 18858>8 string \>\< \b, litte-endian 18859>>16 lelong >0 \b, slut size %u 18860>10 byte &8 \b, compressed 18861 18862#------------------------------------------------------------------------------ 18863# $File: uuencode,v 1.7 2009/09/19 16:28:13 christos Exp $ 18864# uuencode: file(1) magic for ASCII-encoded files 18865# 18866 18867# GRR: the first line of xxencoded files is identical to that in uuencoded 18868# files, but the first character in most subsequent lines is 'h' instead of 18869# 'M'. (xxencoding uses lowercase letters in place of most of uuencode's 18870# punctuation and survives BITNET gateways better.) If regular expressions 18871# were supported, this entry could possibly be split into two with 18872# "begin\040\.\*\012M" or "begin\040\.\*\012h" (where \. and \* are REs). 188730 search/1 begin\ uuencoded or xxencoded text 18874 18875# btoa(1) is an alternative to uuencode that requires less space. 188760 search/1 xbtoa\ Begin btoa'd text 18877 18878# ship(1) is another, much cooler alternative to uuencode. 18879# Greg Roelofs, newt@uchicago.edu 188800 search/1 $\012ship ship'd binary text 18881 18882# bencode(8) is used to encode compressed news batches (Bnews/Cnews only?) 18883# Greg Roelofs, newt@uchicago.edu 188840 search/1 Decode\ the\ following\ with\ bdeco bencoded News text 18885 18886# BinHex is the Macintosh ASCII-encoded file format (see also "apple") 18887# Daniel Quinlan, quinlan@yggdrasil.com 1888811 search/1 must\ be\ converted\ with\ BinHex BinHex binary text 18889>41 search/1 x \b, version %.3s 18890 18891# GRR: handle BASE64 18892 18893#------------------------------------------------------------------------------ 18894# $File: varied.out,v 1.22 2010/07/02 00:06:27 christos Exp $ 18895# varied.out: file(1) magic for various USG systems 18896# 18897# Herewith many of the object file formats used by USG systems. 18898# Most have been moved to files for a particular processor, 18899# and deleted if they duplicate other entries. 18900# 189010 short 0610 Perkin-Elmer executable 18902# AMD 29K 189030 beshort 0572 amd 29k coff noprebar executable 189040 beshort 01572 amd 29k coff prebar executable 189050 beshort 0160007 amd 29k coff archive 18906# Cray 189076 beshort 0407 unicos (cray) executable 18908# Ultrix 4.3 18909596 string \130\337\377\377 Ultrix core file 18910>600 string >\0 from '%s' 18911# BeOS and MAcOS PEF executables 18912# From: hplus@zilker.net (Jon Watte) 189130 string Joy!peffpwpc header for PowerPC PEF executable 18914# 18915# ava assembler/linker Uros Platise <uros.platise@ijs.si> 189160 string avaobj AVR assembler object code 18917>7 string >\0 version '%s' 18918# gnu gmon magic From: Eugen Dedu <dedu@ese-metz.fr> 189190 string gmon GNU prof performance data 18920>4 long x - version %ld 18921# From: Dave Pearson <davep@davep.org> 18922# Harbour <URL:http://harbour-project.org/> HRB files. 189230 string \xc0HRB Harbour HRB file 18924>4 leshort x version %d 18925# Harbour HBV files 189260 string \xc0HBV Harbour variable dump file 18927>4 leshort x version %d 18928 18929# From: Alex Beregszaszi <alex@fsn.hu> 18930# 0 string exec BugOS executable 18931# 0 string pack BugOS archive 18932 18933# From: Jason Spence <jspence@lightconsulting.com> 18934# Generated by the "examples" in STM's ST40 devkit, and derived code. 189350 lelong 0x13a9f17e ST40 component image format 18936>4 string >\0 \b, name '%s' 18937 18938#------------------------------------------------------------------------------ 18939# $File: varied.script,v 1.9 2011/12/16 16:32:48 rrt Exp $ 18940# varied.script: file(1) magic for various interpreter scripts 18941 189420 string/t #!\ / a 18943>3 string >\0 %s script text executable 18944!:strength / 2 189450 string/t #!\t/ a 18946>3 string >\0 %s script text executable 18947!:strength / 2 189480 string/t #!/ a 18949>2 string >\0 %s script text executable 18950!:strength / 2 189510 string/t #!\ script text executable 18952>3 string >\0 for %s 18953!:strength / 3 18954 18955# using env 189560 string/t #!/usr/bin/env a 18957>15 string/t >\0 %s script text executable 18958!:strength / 10 189590 string/t #!\ /usr/bin/env a 18960>16 string/t >\0 %s script text executable 18961!:strength / 10 18962 18963# From: arno <arenevier@fdn.fr> 18964# mozilla xpconnect typelib 18965# see http://www.mozilla.org/scriptable/typelib_file.html 189660 string XPCOM\nTypeLib\r\n\032 XPConnect Typelib 18967>0x10 byte x version %d 18968>>0x11 byte x \b.%d 18969 18970#------------------------------------------------------------------------------ 18971# $File: vax,v 1.8 2013/01/09 22:37:24 christos Exp $ 18972# vax: file(1) magic for VAX executable/object and APL workspace 18973# 189740 lelong 0101557 VAX single precision APL workspace 189750 lelong 0101556 VAX double precision APL workspace 18976 18977# 18978# VAX a.out (BSD; others collide with 386 and other 32-bit little-endian 18979# executables, and are handled in aout) 18980# 189810 lelong 0420 a.out VAX demand paged (first page unmapped) pure executable 18982>16 lelong >0 not stripped 18983 18984# 18985# VAX COFF 18986# 18987# The `versions' were commented out, but have been un-commented out. 18988# (Was the problem just one of endianness?) 18989# 189900 leshort 0570 VAX COFF executable 18991>12 lelong >0 not stripped 18992>22 leshort >0 - version %ld 189930 leshort 0575 VAX COFF pure executable 18994>12 lelong >0 not stripped 18995>22 leshort >0 - version %ld 18996 18997#------------------------------------------------------------------------------ 18998# $File: vicar,v 1.4 2009/09/19 16:28:13 christos Exp $ 18999# vicar: file(1) magic for VICAR files. 19000# 19001# From: Ossama Othman <othman@astrosun.tn.cornell.edu 19002# VICAR is JPL's in-house spacecraft image processing program 19003# VICAR image 190040 string LBLSIZE= VICAR image data 19005>32 string BYTE \b, 8 bits = VAX byte 19006>32 string HALF \b, 16 bits = VAX word = Fortran INTEGER*2 19007>32 string FULL \b, 32 bits = VAX longword = Fortran INTEGER*4 19008>32 string REAL \b, 32 bits = VAX longword = Fortran REAL*4 19009>32 string DOUB \b, 64 bits = VAX quadword = Fortran REAL*8 19010>32 string COMPLEX \b, 64 bits = VAX quadword = Fortran COMPLEX*8 19011# VICAR label file 1901243 string SFDU_LABEL VICAR label file 19013 19014#------------------------------------------------------------------------------ 19015# $File: virtual,v 1.2 2011/11/22 13:30:05 christos Exp $ 19016# From: James Nobis <quel@quelrod.net> 19017# Microsoft hard disk images for: 19018# Virtual Server 19019# Virtual PC 19020# http://technet.microsoft.com/en-us/virtualserver/bb676673.aspx 19021# .vhd 190220 string conectix Microsoft Disk Image, Virtual Server or Virtual PC 19023 19024# Sun xVM VirtualBox Disk Image 19025# From: Richard W.M. Jones <rich@annexia.org> 19026# VirtualBox Disk Image 190270x40 ulelong 0xbeda107f VirtualBox Disk Image 19028>0x44 uleshort >0 \b, major %u 19029>0x46 uleshort >0 \b, minor %u 19030 19031#------------------------------------------------------------------------------ 19032# $File: virtutech,v 1.4 2009/09/19 16:28:13 christos Exp $ 19033# Virtutech Compressed Random Access File Format 19034# 19035# From <gustav@virtutech.com> 190360 string \211\277\036\203 Virtutech CRAFF 19037>4 belong x v%d 19038>20 belong 0 uncompressed 19039>20 belong 1 bzipp2ed 19040>20 belong 2 gzipped 19041>24 belong 0 not clean 19042 19043#------------------------------------------------------------------------------ 19044# $File: visx,v 1.5 2009/09/19 16:28:13 christos Exp $ 19045# visx: file(1) magic for Visx format files 19046# 190470 short 0x5555 VISX image file 19048>2 byte 0 (zero) 19049>2 byte 1 (unsigned char) 19050>2 byte 2 (short integer) 19051>2 byte 3 (float 32) 19052>2 byte 4 (float 64) 19053>2 byte 5 (signed char) 19054>2 byte 6 (bit-plane) 19055>2 byte 7 (classes) 19056>2 byte 8 (statistics) 19057>2 byte 10 (ascii text) 19058>2 byte 15 (image segments) 19059>2 byte 100 (image set) 19060>2 byte 101 (unsigned char vector) 19061>2 byte 102 (short integer vector) 19062>2 byte 103 (float 32 vector) 19063>2 byte 104 (float 64 vector) 19064>2 byte 105 (signed char vector) 19065>2 byte 106 (bit plane vector) 19066>2 byte 121 (feature vector) 19067>2 byte 122 (feature vector library) 19068>2 byte 124 (chain code) 19069>2 byte 126 (bit vector) 19070>2 byte 130 (graph) 19071>2 byte 131 (adjacency graph) 19072>2 byte 132 (adjacency graph library) 19073>2 string .VISIX (ascii text) 19074 19075#------------------------------------------------------------------------------ 19076# $File: vms,v 1.7 2013/03/09 22:36:00 christos Exp $ 19077# vms: file(1) magic for VMS executables (experimental) 19078# 19079# VMS .exe formats, both VAX and AXP (Greg Roelofs, newt@uchicago.edu) 19080 19081# GRR 950122: I'm just guessing on these, based on inspection of the headers 19082# of three executables each for Alpha and VAX architectures. The VAX files 19083# all had headers similar to this: 19084# 19085# 00000 b0 00 30 00 44 00 60 00 00 00 00 00 30 32 30 35 ..0.D.`.....0205 19086# 00010 01 01 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 ................ 19087# 190880 string \xb0\0\x30\0 VMS VAX executable 19089>44032 string PK\003\004 \b, Info-ZIP SFX archive v5.12 w/decryption 19090# 19091# The AXP files all looked like this, except that the byte at offset 0x22 19092# was 06 in some of them and 07 in others: 19093# 19094# 00000 03 00 00 00 00 00 00 00 ec 02 00 00 10 01 00 00 ................ 19095# 00010 68 00 00 00 98 00 00 00 b8 00 00 00 00 00 00 00 h............... 19096# 00020 00 00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 19097# 00030 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 ................ 19098# 00040 00 00 00 00 ff ff ff ff ff ff ff ff 02 00 00 00 ................ 19099# 19100# GRR this test is still too general as it catches example adressen.dbt 191010 belong 0x03000000 19102>8 ubelong 0xec020000 VMS Alpha executable 19103>>75264 string PK\003\004 \b, Info-ZIP SFX archive v5.12 w/decryption 19104 19105#------------------------------------------------------------------------------ 19106# $File: vmware,v 1.7 2009/09/19 16:28:13 christos Exp $ 19107# VMware specific files (deducted from version 1.1 and log file entries) 19108# Anthon van der Neut (anthon@mnt.org) 191090 belong 0x4d52564e VMware nvram 19110 19111#------------------------------------------------------------------------------ 19112# $File: vorbis,v 1.16 2009/09/19 16:28:13 christos Exp $ 19113# vorbis: file(1) magic for Ogg/Vorbis files 19114# 19115# From Felix von Leitner <leitner@fefe.de> 19116# Extended by Beni Cherniavsky <cben@crosswinds.net> 19117# Further extended by Greg Wooledge <greg@wooledge.org> 19118# 19119# Most (everything but the number of channels and bitrate) is commented 19120# out with `##' as it's not interesting to the average user. The most 19121# probable things advanced users would want to uncomment are probably 19122# the number of comments and the encoder version. 19123# 19124# FIXME: The first match has been made a search, so that it can skip 19125# over prepended ID3 tags. This will work for MIME type detection, but 19126# won't work for detecting other properties of the file (they all need 19127# to be made relative to the search). In any case, if the file has ID3 19128# tags, the ID3 information will be printed, not the Ogg information, 19129# so until that's fixed, this doesn't matter. 19130# FIXME[2]: Disable the above for now, since search assumes text mode. 19131# 19132# --- Ogg Framing --- 19133#0 search/1000 OggS Ogg data 191340 string OggS Ogg data 19135!:mime application/ogg 19136>4 byte !0 UNKNOWN REVISION %u 19137##>4 byte 0 revision 0 19138>4 byte 0 19139##>>14 lelong x (Serial %lX) 19140# non-Vorbis content: FLAC (Free Lossless Audio Codec, http://flac.sourceforge.net) 19141>>28 string \x7fFLAC \b, FLAC audio 19142# non-Vorbis content: Theora 19143>>28 string \x80theora \b, Theora video 19144# non-Vorbis content: Kate 19145>>28 string \x80kate\0\0\0\0 \b, Kate 19146>>>37 ubyte x v%u 19147>>>38 ubyte x \b.%u, 19148>>>40 byte 0 utf8 encoding, 19149>>>40 byte !0 unknown character encoding, 19150>>>60 string >\0 language %s, 19151>>>60 string \0 no language set, 19152>>>76 string >\0 category %s 19153>>>76 string \0 no category set 19154# non-Vorbis content: Skeleton 19155>>28 string fishead\0 \b, Skeleton 19156>>>36 short x v%u 19157>>>40 short x \b.%u 19158# non-Vorbis content: Speex 19159>>28 string Speex\ \ \ \b, Speex audio 19160# non-Vorbis content: OGM 19161>>28 string \x01video\0\0\0 \b, OGM video 19162>>>37 string/c div3 (DivX 3) 19163>>>37 string/c divx (DivX 4) 19164>>>37 string/c dx50 (DivX 5) 19165>>>37 string/c xvid (XviD) 19166# --- First vorbis packet - general header --- 19167>>28 string \x01vorbis \b, Vorbis audio, 19168>>>35 lelong !0 UNKNOWN VERSION %lu, 19169##>>>35 lelong 0 version 0, 19170>>>35 lelong 0 19171>>>>39 ubyte 1 mono, 19172>>>>39 ubyte 2 stereo, 19173>>>>39 ubyte >2 %u channels, 19174>>>>40 lelong x %lu Hz 19175# Minimal, nominal and maximal bitrates specified when encoding 19176>>>>48 string <\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff \b, 19177# The above tests if at least one of these is specified: 19178>>>>>52 lelong !-1 19179# Vorbis RC2 has a bug which puts -1000 in the min/max bitrate fields 19180# instead of -1. 19181# Vorbis 1.0 uses 0 instead of -1. 19182>>>>>>52 lelong !0 19183>>>>>>>52 lelong !-1000 19184>>>>>>>>52 lelong x <%lu 19185>>>>>48 lelong !-1 19186>>>>>>48 lelong x ~%lu 19187>>>>>44 lelong !-1 19188>>>>>>44 lelong !-1000 19189>>>>>>>44 lelong !0 19190>>>>>>>>44 lelong x >%lu 19191>>>>>48 string <\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff bps 19192# -- Second vorbis header packet - the comments 19193# A kludge to read the vendor string. It's a counted string, not a 19194# zero-terminated one, so file(1) can't read it in a generic way. 19195# libVorbis is the only one existing currently, so I detect specifically 19196# it. The interesting value is the cvs date (8 digits decimal). 19197# Post-RC1 Ogg files have the second header packet (and thus the version) 19198# in a different place, so we must use an indirect offset. 19199>>>(84.b+85) string \x03vorbis 19200>>>>(84.b+96) string/c Xiphophorus\ libVorbis\ I \b, created by: Xiphophorus libVorbis I 19201>>>>>(84.b+120) string >00000000 19202# Map to beta version numbers: 19203>>>>>>(84.b+120) string <20000508 (<beta1, prepublic) 19204>>>>>>(84.b+120) string 20000508 (1.0 beta 1 or beta 2) 19205>>>>>>(84.b+120) string >20000508 19206>>>>>>>(84.b+120) string <20001031 (beta2-3) 19207>>>>>>(84.b+120) string 20001031 (1.0 beta 3) 19208>>>>>>(84.b+120) string >20001031 19209>>>>>>>(84.b+120) string <20010225 (beta3-4) 19210>>>>>>(84.b+120) string 20010225 (1.0 beta 4) 19211>>>>>>(84.b+120) string >20010225 19212>>>>>>>(84.b+120) string <20010615 (beta4-RC1) 19213>>>>>>(84.b+120) string 20010615 (1.0 RC1) 19214>>>>>>(84.b+120) string 20010813 (1.0 RC2) 19215>>>>>>(84.b+120) string 20010816 (RC2 - Garf tuned v1) 19216>>>>>>(84.b+120) string 20011014 (RC2 - Garf tuned v2) 19217>>>>>>(84.b+120) string 20011217 (1.0 RC3) 19218>>>>>>(84.b+120) string 20011231 (1.0 RC3) 19219# Some pre-1.0 CVS snapshots still had "Xiphphorus"... 19220>>>>>>(84.b+120) string >20011231 (pre-1.0 CVS) 19221# For the 1.0 release, Xiphophorus is replaced by Xiph.Org 19222>>>>(84.b+96) string/c Xiph.Org\ libVorbis\ I \b, created by: Xiph.Org libVorbis I 19223>>>>>(84.b+117) string >00000000 19224>>>>>>(84.b+117) string <20020717 (pre-1.0 CVS) 19225>>>>>>(84.b+117) string 20020717 (1.0) 19226>>>>>>(84.b+117) string 20030909 (1.0.1) 19227>>>>>>(84.b+117) string 20040629 (1.1.0 RC1) 19228 19229#------------------------------------------------------------------------------ 19230# $File: vxl,v 1.4 2009/09/19 16:28:13 christos Exp $ 19231# VXL: file(1) magic for VXL binary IO data files 19232# 19233# from Ian Scott <scottim@sf.net> 19234# 19235# VXL is a collection of C++ libraries for Computer Vision. 19236# See the vsl chapter in the VXL Book for more info 19237# http://www.isbe.man.ac.uk/public_vxl_doc/books/vxl/book.html 19238# http:/vxl.sf.net 19239 192402 lelong 0x472b2c4e VXL data file, 19241>0 leshort >0 schema version no %d 19242 19243#------------------------------------------------------------------------------ 19244# $File: warc,v 1.3 2010/11/25 15:05:43 christos Exp $ 19245# warc: file(1) magic for WARC files 19246 192470 string WARC/ WARC Archive 19248>5 string x version %.4s 19249!:mime application/warc 19250 19251#------------------------------------------------------------------------------ 19252# Arc File Format from Internet Archive 19253# see http://www.archive.org/web/researcher/ArcFileFormat.php 192540 string filedesc:// Internet Archive File 19255!:mime application/x-ia-arc 19256>11 search/256 \x0A \b 19257>>&0 ubyte >0 \b version %c 19258 19259#------------------------------------------------------------------------------ 19260# weak: file(1) magic for very weak magic entries, disabled by default 19261# 19262# These entries are so weak that they might interfere identification of 19263# other formats. Example include: 19264# - Only identify for 1 or 2 bytes 19265# - Match against very wide range of values 19266# - Match against generic word in some spoken languages (e.g. English) 19267 19268# Summary: Computer Graphics Metafile 19269# Extension: .cgm 19270#0 beshort&0xffe0 0x0020 binary Computer Graphics Metafile 19271#0 beshort 0x3020 character Computer Graphics Metafile 19272 19273#0 string =!! Bennet Yee's "face" format 19274 19275#------------------------------------------------------------------------------ 19276# $File: windows,v 1.6 2013/04/19 20:12:29 christos Exp $ 19277# windows: file(1) magic for Microsoft Windows 19278# 19279# This file is mainly reserved for files where programs 19280# using them are run almost always on MS Windows 3.x or 19281# above, or files only used exclusively in Windows OS, 19282# where there is no better category to allocate for. 19283# For example, even though WinZIP almost run on Windows 19284# only, it is better to treat them as "archive" instead. 19285# For format usable in DOS, such as generic executable 19286# format, please specify under "msdos" file. 19287# 19288 19289 19290# Summary: Outlook Express DBX file 19291# Extension: .dbx 19292# Created by: Christophe Monniez 192930 string \xCF\xAD\x12\xFE MS Outlook Express DBX file 19294>4 byte =0xC5 \b, message database 19295>4 byte =0xC6 \b, folder database 19296>4 byte =0xC7 \b, account information 19297>4 byte =0x30 \b, offline database 19298 19299 19300# Summary: Windows crash dump 19301# Extension: .dmp 19302# Created by: Andreas Schuster (http://computer.forensikblog.de/) 19303# Reference (1): http://computer.forensikblog.de/en/2008/02/64bit_magic.html 19304# Modified by (1): Abel Cheung (Avoid match with first 4 bytes only) 193050 string PAGE 19306>4 string DUMP MS Windows 32bit crash dump 19307>>0x05c byte 0 \b, no PAE 19308>>0x05c byte 1 \b, PAE 19309>>0xf88 lelong 1 \b, full dump 19310>>0xf88 lelong 2 \b, kernel dump 19311>>0xf88 lelong 3 \b, small dump 19312>>0x068 lelong x \b, %ld pages 19313>4 string DU64 MS Windows 64bit crash dump 19314>>0xf98 lelong 1 \b, full dump 19315>>0xf98 lelong 2 \b, kernel dump 19316>>0xf98 lelong 3 \b, small dump 19317>>0x090 lequad x \b, %lld pages 19318 19319 19320# Summary: Vista Event Log 19321# Extension: .evtx 19322# Created by: Andreas Schuster (http://computer.forensikblog.de/) 19323# Reference (1): http://computer.forensikblog.de/en/2007/05/some_magic.html 193240 string ElfFile\0 MS Windows Vista Event Log 19325>0x2a leshort x \b, %d chunks 19326>>0x10 lelong x \b (no. %d in use) 19327>0x18 lelong >1 \b, next record no. %d 19328>0x18 lelong =1 \b, empty 19329>0x78 lelong &1 \b, DIRTY 19330>0x78 lelong &2 \b, FULL 19331 19332 19333# Summary: Windows 3.1 group files 19334# Extension: .grp 19335# Created by: unknown 193360 string \120\115\103\103 MS Windows 3.1 group files 19337 19338 19339# Summary: Old format help files 19340# Extension: .hlp 19341# Created by: Dirk Jagdmann <doj@cubic.org> 193420 lelong 0x00035f3f MS Windows 3.x help file 19343 19344 19345# Summary: Hyper terminal 19346# Extension: .ht 19347# Created by: unknown 193480 string HyperTerminal\ 19349>15 string 1.0\ --\ HyperTerminal\ data\ file MS Windows HyperTerminal profile 19350 19351# http://ithreats.files.wordpress.com/2009/05/\ 19352# lnk_the_windows_shortcut_file_format.pdf 19353# Summary: Windows shortcut 19354# Extension: .lnk 19355# Created by: unknown 19356# 'L' + GUUID 193570 string \114\0\0\0\001\024\002\0\0\0\0\0\300\0\0\0\0\0\0\106 MS Windows shortcut 19358>20 lelong&1 1 \b, Item id list present 19359>20 lelong&2 2 \b, Points to a file or directory 19360>20 lelong&4 4 \b, Has Description string 19361>20 lelong&8 8 \b, Has Relative path 19362>20 lelong&16 16 \b, Has Working directory 19363>20 lelong&32 32 \b, Has command line arguments 19364>20 lelong&64 64 \b, Icon 19365>>56 lelong \b number=%d 19366>24 lelong&1 1 \b, Read-Only 19367>24 lelong&2 2 \b, Hidden 19368>24 lelong&4 4 \b, System 19369>24 lelong&8 8 \b, Volume Label 19370>24 lelong&16 16 \b, Directory 19371>24 lelong&32 32 \b, Archive 19372>24 lelong&64 64 \b, Encrypted 19373>24 lelong&128 128 \b, Normal 19374>24 lelong&256 256 \b, Temporary 19375>24 lelong&512 512 \b, Sparse 19376>24 lelong&1024 1024 \b, Reparse point 19377>24 lelong&2048 2048 \b, Compressed 19378>24 lelong&4096 4096 \b, Offline 19379>28 leqwdate x \b, ctime=%s 19380>36 leqwdate x \b, mtime=%s 19381>44 leqwdate x \b, atime=%s 19382>52 lelong x \b, length=%u, window= 19383>60 lelong&1 1 \bhide 19384>60 lelong&2 2 \bnormal 19385>60 lelong&4 4 \bshowminimized 19386>60 lelong&8 8 \bshowmaximized 19387>60 lelong&16 16 \bshownoactivate 19388>60 lelong&32 32 \bminimize 19389>60 lelong&64 64 \bshowminnoactive 19390>60 lelong&128 128 \bshowna 19391>60 lelong&256 256 \brestore 19392>60 lelong&512 512 \bshowdefault 19393#>20 lelong&1 0 19394#>>20 lelong&2 2 19395#>>>(72.l-64) pstring/h x \b [%s] 19396#>20 lelong&1 1 19397#>>20 lelong&2 2 19398#>>>(72.s) leshort x 19399#>>>&75 pstring/h x \b [%s] 19400 19401# Summary: Outlook Personal Folders 19402# Created by: unknown 194030 lelong 0x4E444221 Microsoft Outlook email folder 19404>10 leshort 0x0e (<=2002) 19405>10 leshort 0x17 (>=2003) 19406 19407 19408# Summary: Windows help cache 19409# Created by: unknown 194100 string \164\146\115\122\012\000\000\000\001\000\000\000 MS Windows help cache 19411 19412 19413# Summary: IE cache file 19414# Created by: Christophe Monniez 194150 string Client\ UrlCache\ MMF Internet Explorer cache file 19416>20 string >\0 version %s 19417 19418 19419# Summary: Registry files 19420# Created by: unknown 19421# Modified by (1): Joerg Jenderek 194220 string regf MS Windows registry file, NT/2000 or above 194230 string CREG MS Windows 95/98/ME registry file 194240 string SHCC3 MS Windows 3.1 registry file 19425 19426 19427# Summary: Windows Registry text 19428# Extension: .reg 19429# Submitted by: Abel Cheung <abelcheung@gmail.com> 194300 string REGEDIT4\r\n\r\n Windows Registry text (Win95 or above) 194310 string Windows\ Registry\ Editor\ 19432>&0 string Version\ 5.00\r\n\r\n Windows Registry text (Win2K or above) 19433 19434# Windows *.INF *.INI files updated by Joerg Jenderek at Apr 2013 19435# emtpy ,comment , section , unicode line 194360 regex/s \\`(\r\n|;|[[]|\xFF\xFE) 19437# left bracket in section line 19438>&0 search/8192 [ 19439# http://en.wikipedia.org/wiki/Autorun.inf 19440# http://msdn.microsoft.com/en-us/library/windows/desktop/cc144200.aspx 19441>>&0 regex/c \^(autorun)]\r\n 19442>>>&0 ubyte =0x5b INItialization configuration 19443!:mime application/x-wine-extension-ini 19444# From: Pal Tamas <folti@balabit.hu> 19445# Autorun File 19446>>>&0 ubyte !0x5b Microsoft Windows Autorun file 19447!:mime application/x-setupscript 19448# http://msdn.microsoft.com/en-us/library/windows/hardware/ff549520(v=vs.85).aspx 19449# version strings ASCII coded case-independent for Windows setup information script file 19450>>&0 regex/c \^(version|strings)] Windows setup INFormation 19451!:mime application/x-setupscript 19452#!:mime application/inf 19453#!:mime application/x-wine-extension-inf 19454>>&0 regex/c \^(WinsockCRCList|OEMCPL)] Windows setup INFormation 19455!:mime text/inf 19456# http://www.winfaq.de/faq_html/Content/tip2500/onlinefaq.php?h=tip2653.htm 19457# http://msdn.microsoft.com/en-us/library/windows/desktop/cc144102.aspx 19458# .ShellClassInfo DeleteOnCopy LocalizedFileNames ASCII coded case-independent 19459>>&0 regex/c \^(\.ShellClassInfo|DeleteOnCopy|LocalizedFileNames)] Windows desktop.ini 19460!:mime application/x-wine-extension-ini 19461#!:mime text/plain 19462# http://support.microsoft.com/kb/84709/ 19463>>&0 regex/c \^(don't\ load)] Windows CONTROL.INI 19464!:mime application/x-wine-extension-ini 19465>>&0 regex/c \^(ndishlp\\$|protman\\$|NETBEUI\\$)] Windows PROTOCOL.INI 19466!:mime application/x-wine-extension-ini 19467# http://technet.microsoft.com/en-us/library/cc722567.aspx 19468# http://www.winfaq.de/faq_html/Content/tip0000/onlinefaq.php?h=tip0137.htm 19469>>&0 regex/c \^(windows|Compatibility|embedding)] Windows WIN.INI 19470!:mime application/x-wine-extension-ini 19471# http://en.wikipedia.org/wiki/SYSTEM.INI 19472>>&0 regex/c \^(boot|386enh|drivers)] Windows SYSTEM.INI 19473!:mime application/x-wine-extension-ini 19474# http://www.mdgx.com/newtip6.htm 19475>>&0 regex/c \^(SafeList)] Windows IOS.INI 19476!:mime application/x-wine-extension-ini 19477# http://en.wikipedia.org/wiki/NTLDR Windows Boot Loader information 19478>>&0 regex/c \^(boot\x20loader)] Windows boot.ini 19479!:mime application/x-wine-extension-ini 19480>>>&0 ubyte x 19481# http://en.wikipedia.org/wiki/CONFIG.SYS 19482>>&0 regex/c \^(menu)]\r\n MS-DOS CONFIG.SYS 19483# http://support.microsoft.com/kb/118579/ 19484>>&0 regex/c \^(Paths)]\r\n MS-DOS MSDOS.SYS 19485# VERS string unicoded case-independent 19486>>&0 ubequad&0xFFdfFFdfFFdfFFdf 0x0056004500520053 19487# ION] string unicoded case-independent 19488>>>&0 ubequad&0xFFdfFFdfFFdfFFff 0x0049004f004e005d Windows setup INFormation 19489!:mime application/x-setupscript 19490# STRI string unicoded case-independent 19491>>&0 ubequad&0xFFdfFFdfFFdfFFdf 0x0053005400520049 19492# NGS] string unicoded case-independent 19493>>>&0 ubequad&0xFFdfFFdfFFdfFFff 0x004e00470053005D Windows setup INFormation 19494!:mime application/x-setupscript 19495# unknown keyword after opening bracket 19496>>&0 default x 19497>>>&0 search/8192 [ 19498# version Strings FileIdentification 19499>>>>&0 string/c version Windows setup INFormation 19500!:mime application/x-setupscript 19501# VERS string unicoded case-independent 19502>>>>&0 ubequad&0xFFdfFFdfFFdfFFdf 0x0056004500520053 19503# ION] string unicoded case-independent 19504>>>>>&0 ubequad&0xFFdfFFdfFFdfFFff 0x0049004f004e005d Windows setup INFormation 19505!:mime application/x-setupscript 19506# http://en.wikipedia.org/wiki/Initialization_file Windows Initialization File or other 19507#>>>>&0 default x Generic INItialization configuration 19508#!:mime application/x-wine-extension-ini 19509 19510# Windows Precompiled INF files *.PNF added by Joerg Jenderek at Mar 2013 of _PNF_HEADER inf.h 19511# http://read.pudn.com/downloads3/sourcecode/windows/248345/win2k/private/windows/setup/setupapi/inf.h__.htm 19512# GRR: line below too general as it catches also PDP-11 UNIX/RT ldp 195130 leshort&0xFeFe 0x0000 19514# test for unused null bits in PNF_FLAGs 19515>4 ulelong&0xFCffFe00 0x00000000 19516# only found 58h for Offset of WinDirPath immediately after _PNF_HEADER structure 19517>>68 ulelong >0x57 19518# test for zero high byte of InfValueBlockSize, followed by WinDirPath like 19519# C:\WINDOWS (ASCII 0x433a5c.. , unicode 0x43003a005c..) or X:\MININT 19520>>>(68.l-1) ubelong&0xffE0C519 =0x00400018 Windows Precompiled iNF 19521!:mime application/x-pnf 19522# currently only found Major Version=1 and Minor Version=1 19523#>>>>0 uleshort =0x0101 19524#>>>>>1 ubyte x \b, version %u 19525#>>>>>0 ubyte x \b.%u 19526>>>>0 uleshort !0x0101 19527>>>>>1 ubyte x \b, version %u 19528>>>>>0 ubyte x \b.%u 19529# 1 ,2 (windows 98 SE) 19530#>>>>2 uleshort =2 \b, InfStyle %u 19531>>>>2 uleshort !2 \b, InfStyle %u 19532# PNF_FLAG_IS_UNICODE 0x00000001 19533# PNF_FLAG_HAS_STRINGS 0x00000002 19534# PNF_FLAG_SRCPATH_IS_URL 0x00000004 19535# PNF_FLAG_HAS_VOLATILE_DIRIDS 0x00000008 19536# PNF_FLAG_INF_VERIFIED 0x00000010 19537# PNF_FLAG_INF_DIGITALLY_SIGNED 0x00000020 19538# ?? 0x00000100 19539# ?? 0x01000000 19540# ?? 0x02000000 19541>>>>4 ulelong&0x00000001 0x00000001 \b, unicoded 19542>>>>4 ulelong&0x00000020 0x00000020 \b, digitally signed 19543#>>>>8 ulelong x \b, InfSubstValueListOffset 0x%x 19544# many 0, 1 lmouusb.PNF, 2 linkfx10.PNF , f webfdr16.PNF 19545#>>>>12 uleshort x \b, InfSubstValueCount 0x%x 19546# only < 9 found 19547#>>>>14 uleshort x \b, InfVersionDatumCount 0x%x 19548# only found values lower 0x0000ffff 19549#>>>>16 ulelong x \b, InfVersionDataSize 0x%x 19550# only found positive values lower 0x00ffFFff for InfVersionDataOffset 19551>>>>20 ulelong x \b, at 0x%x 19552>>>>4 ulelong&0x00000001 =0x00000001 19553# case independent: CatalogFile Class DriverVer layoutfile LayoutFile SetupClass signature Signature 19554>>>>>(20.l) lestring16 x "%s" 19555>>>>4 ulelong&0x00000001 !0x00000001 19556>>>>>(20.l) string x "%s" 19557# FILETIME is number of 100-nanosecond intervals since 1 January 1601 19558#>>>>24 ulequad x \b, InfVersionLastWriteTime %16.16llx 19559# only found values lower 0x00ffFFff 19560#>>>>32 ulelong x \b, StringTableBlockOffset 0x%x 19561#>>>>36 ulelong x \b, StringTableBlockSize 0x%x 19562#>>>>40 ulelong x \b, InfSectionCount 0x%x 19563#>>>>44 ulelong x \b, InfSectionBlockOffset 0x%x 19564#>>>>48 ulelong x \b, InfSectionBlockSize 0x%x 19565#>>>>52 ulelong x \b, InfLineBlockOffset 0x%x 19566#>>>>56 ulelong x \b, InfLineBlockSize 0x%x 19567#>>>>60 ulelong x \b, InfValueBlockOffset 0x%x 19568#>>>>64 ulelong x \b, InfValueBlockSize 0x%x 19569# WinDirPathOffset 19570#>>>>68 ulelong x \b, at 0x%x 19571>>>>68 ulelong >0x57 19572>>>>>4 ulelong&0x00000001 =0x00000001 19573>>>>>>(68.l) ubequad =0x43003a005c005700 19574# normally unicoded C:\Windows 19575#>>>>>>>(68.l) lestring16 x \b, WinDirPath "%s" 19576>>>>>>(68.l) ubequad !0x43003a005c005700 19577>>>>>>>(68.l) lestring16 x \b, WinDirPath "%s" 19578>>>>>4 ulelong&0x00000001 !0x00000001 19579# normally ASCII C:\WINDOWS 19580#>>>>>>(68.l) string =C:\\WINDOWS \b, WinDirPath "%s" 19581>>>>>>(68.l) string !C:\\WINDOWS \b, WinDirPath "%s" 19582# found OsLoaderPathOffset values often 0 , once 70h corelist.PNF, once 68h ASCII machine.PNF 19583#>>>>72 ulelong >0 \b, at 0x%x 19584>>>>72 ulelong >0 \b, 19585>>>>>4 ulelong&0x00000001 =0x00000001 19586>>>>>>(72.l) lestring16 x OsLoaderPath "%s" 19587>>>>>4 ulelong&0x00000001 !0x00000001 19588# seldom C:\ instead empty 19589>>>>>>(72.l) string x OsLoaderPath "%s" 19590# 1fdh 19591#>>>>76 uleshort x \b, StringTableHashBucketCount 0x%x 19592>>>>78 uleshort !0x407 \b, LanguageId %x 19593# only 407h found 19594#>>>>78 uleshort =0x407 \b, LanguageId %x 19595# InfSourcePathOffset often 0 19596#>>>>80 ulelong >0 \b, at 0x%x 19597>>>>80 ulelong >0 \b, 19598>>>>>4 ulelong&0x00000001 =0x00000001 19599>>>>>>(80.l) lestring16 x SourcePath "%s" 19600>>>>>4 ulelong&0x00000001 !0x00000001 19601>>>>>>(80.l) string >\0 SourcePath "%s" 19602# OriginalInfNameOffset often 0 19603#>>>>84 ulelong >0 \b, at 0x%x 19604>>>>84 ulelong >0 \b, 19605>>>>>4 ulelong&0x00000001 =0x00000001 19606>>>>>>(84.l) lestring16 x InfName "%s" 19607>>>>>4 ulelong&0x00000001 !0x00000001 19608>>>>>>(84.l) string >\0 InfName "%s" 19609 19610 19611#------------------------------------------------------------------------------ 19612# $File: wireless,v 1.2 2009/09/19 16:28:13 christos Exp $ 19613# wireless-regdb: file(1) magic for CRDA wireless-regdb file format 19614# 196150 string RGDB CRDA wireless regulatory database file 19616>4 belong 19 (Version 1) 19617 19618#------------------------------------------------------------------------------ 19619# $File: wordprocessors,v 1.18 2013/06/03 19:07:29 christos Exp $ 19620# wordprocessors: file(1) magic fo word processors. 19621# 19622####### PWP file format used on Smith Corona Personal Word Processors: 196232 string \040\040\040\040\040\040\040\040\040\040\040ML4D\040'92 Smith Corona PWP 19624>24 byte 2 \b, single spaced 19625>24 byte 3 \b, 1.5 spaced 19626>24 byte 4 \b, double spaced 19627>25 byte 0x42 \b, letter 19628>25 byte 0x54 \b, legal 19629>26 byte 0x46 \b, A4 19630 19631#WordPerfect type files Version 1.6 - PLEASE DO NOT REMOVE THIS LINE 196320 string \377WPC\020\000\000\000\022\012\001\001\000\000\000\000 (WP) loadable file 19633>15 byte 0 Optimized for Intel 19634>15 byte 1 Optimized for Non-Intel 196351 string WPC (Corel/WP) 19636>8 short 257 WordPerfect macro 19637>8 short 258 WordPerfect help file 19638>8 short 259 WordPerfect keyboard file 19639>8 short 266 WordPerfect document 19640>8 short 267 WordPerfect dictionary 19641>8 short 268 WordPerfect thesaurus 19642>8 short 269 WordPerfect block 19643>8 short 270 WordPerfect rectangular block 19644>8 short 271 WordPerfect column block 19645>8 short 272 WordPerfect printer data 19646>8 short 275 WordPerfect printer data 19647>8 short 276 WordPerfect driver resource data 19648>8 short 279 WordPerfect hyphenation code 19649>8 short 280 WordPerfect hyphenation data 19650>8 short 281 WordPerfect macro resource data 19651>8 short 283 WordPerfect hyphenation lex 19652>8 short 285 WordPerfect wordlist 19653>8 short 286 WordPerfect equation resource data 19654>8 short 289 WordPerfect spell rules 19655>8 short 290 WordPerfect dictionary rules 19656>8 short 295 WordPerfect spell rules (Microlytics) 19657>8 short 299 WordPerfect settings file 19658>8 short 301 WordPerfect 4.2 document 19659>8 short 325 WordPerfect dialog file 19660>8 short 332 WordPerfect button bar 19661>8 short 513 Shell macro 19662>8 short 522 Shell definition 19663>8 short 769 Notebook macro 19664>8 short 770 Notebook help file 19665>8 short 771 Notebook keyboard file 19666>8 short 778 Notebook definition 19667>8 short 1026 Calculator help file 19668>8 short 1538 Calendar help file 19669>8 short 1546 Calendar data file 19670>8 short 1793 Editor macro 19671>8 short 1794 Editor help file 19672>8 short 1795 Editor keyboard file 19673>8 short 1817 Editor macro resource file 19674>8 short 2049 Macro editor macro 19675>8 short 2050 Macro editor help file 19676>8 short 2051 Macro editor keyboard file 19677>8 short 2305 PlanPerfect macro 19678>8 short 2306 PlanPerfect help file 19679>8 short 2307 PlanPerfect keyboard file 19680>8 short 2314 PlanPerfect worksheet 19681>8 short 2319 PlanPerfect printer definition 19682>8 short 2322 PlanPerfect graphic definition 19683>8 short 2323 PlanPerfect data 19684>8 short 2324 PlanPerfect temporary printer 19685>8 short 2329 PlanPerfect macro resource data 19686>8 byte 11 Mail 19687>8 short 2818 help file 19688>8 short 2821 distribution list 19689>8 short 2826 out box 19690>8 short 2827 in box 19691>8 short 2836 users archived mailbox 19692>8 short 2837 archived message database 19693>8 short 2838 archived attachments 19694>8 short 3083 Printer temporary file 19695>8 short 3330 Scheduler help file 19696>8 short 3338 Scheduler in file 19697>8 short 3339 Scheduler out file 19698>8 short 3594 GroupWise settings file 19699>8 short 3601 GroupWise directory services 19700>8 short 3627 GroupWise settings file 19701>8 short 4362 Terminal resource data 19702>8 short 4363 Terminal resource data 19703>8 short 4395 Terminal resource data 19704>8 short 4619 GUI loadable text 19705>8 short 4620 graphics resource data 19706>8 short 4621 printer settings file 19707>8 short 4622 port definition file 19708>8 short 4623 print queue parameters 19709>8 short 4624 compressed file 19710>8 short 5130 Network service msg file 19711>8 short 5131 Network service msg file 19712>8 short 5132 Async gateway login msg 19713>8 short 5134 GroupWise message file 19714>8 short 7956 GroupWise admin domain database 19715>8 short 7957 GroupWise admin host database 19716>8 short 7959 GroupWise admin remote host database 19717>8 short 7960 GroupWise admin ADS deferment data file 19718>8 short 8458 IntelliTAG (SGML) compiled DTD 19719>8 long 18219264 WordPerfect graphic image (1.0) 19720>8 long 18219520 WordPerfect graphic image (2.0) 19721#end of WordPerfect type files Version 1.6 - PLEASE DO NOT REMOVE THIS LINE 19722 19723# Hangul (Korean) Word Processor File 197240 string HWP\ Document\ File Hangul (Korean) Word Processor File 3.0 19725# From: Won-Kyu Park <wkpark@kldp.org> 19726512 string R\0o\0o\0t\0 Hangul (Korean) Word Processor File 2000 19727!:mime application/x-hwp 19728 19729# CosmicBook, from Benoit Rouits 197300 string CSBK Ted Neslson's CosmicBook hypertext file 19731 197322 string EYWR AmigaWriter file 19733 19734# chi: file(1) magic for ChiWriter files 197350 string \\1cw\ ChiWriter file 19736>5 string >\0 version %s 197370 string \\1cw ChiWriter file 19738 19739# Quark Express from http://www.garykessler.net/library/file_sigs.html 197402 string IIXPR3 Intel Quark Express Document (English) 197412 string IIXPRa Intel Quark Express Document (Korean) 197422 string MMXPR3 Motorola Quark Express Document (English) 19743!:mime application/x-quark-xpress-3 197442 string MMXPRa Motorola Quark Express Document (Korean) 19745 19746# adobe indesign (document, whatever...) from querkan 197470 belong 0x0606edf5 Adobe InDesign 19748>16 string DOCUMENT Document 19749 19750#------------------------------------------------------------------------------ 19751# ichitaro456: file(1) magic for Just System Word Processor Ichitaro 19752# 19753# Contributor kenzo-: 19754# Reversed-engineered JS Ichitaro magic numbers 19755# 19756 197570 string DOC 19758>43 byte 0x14 Just System Word Processor Ichitaro v4 19759!:mime application/x-ichitaro4 19760>144 string JDASH application/x-ichitaro4 19761 197620 string DOC 19763>43 byte 0x15 Just System Word Processor Ichitaro v5 19764!:mime application/x-ichitaro5 19765 197660 string DOC 19767>43 byte 0x16 Just System Word Processor Ichitaro v6 19768!:mime application/x-ichitaro6 19769 19770# Type: Freemind mindmap documents 19771# From: Jamie Thompson <debian-bugs@jamie-thompson.co.uk> 197720 string/w \<map\ version Freemind document 19773!:mime application/x-freemind 19774 19775# Type: Freeplane mindmap documents 19776# From: Felix Natter <fnatter@gmx.net> 197770 string/w \<map\ version="freeplane Freeplane document 19778!:mime application/x-freeplane 19779 19780# Type: Scribus 19781# From: Werner Fink <werner@suse.de> 197820 string \<SCRIBUSUTF8\ Version Scribus Document 197830 string \<SCRIBUSUTF8NEW\ Version Scribus Document 19784!:mime application/x-scribus 19785 19786# help files .hlp compiled from html and used by gfxboot added by Joerg Jenderek 19787# markups page=0x04,label=0x12, followed by strings like "opt" or "main" and title=0x14 197880 ulelong&0x8080FFFF 0x00001204 gfxboot compiled html help file 19789 19790#------------------------------------------------------------------------------ 19791# $File: wsdl,v 1.3 2013/02/06 14:18:52 christos Exp $ 19792# wsdl: PHP WSDL Cache, http://www.php.net/manual/en/book.soap.php 19793# Cache format extracted from source: 19794# http://svn.php.net/viewvc/php/php-src/trunk/ext/soap/php_sdl.c?revision=HEAD&view=markup 19795# Requires file >= 5.05, see http://mx.gw.com/pipermail/file/2010/000683.html 19796# By Elan Ruusamae <glen@delfi.ee>, Patryk Zawadzki <patrys@pld-linux.org>, 2010-2011 197970 string wsdl PHP WSDL cache, 19798>4 byte x version 0x%02x 19799>6 ledate x \b, created %s 19800 19801# uri 19802>10 lelong <0x7fffffff 19803>>10 pstring/l x \b, uri: "%s" 19804 19805# source 19806>>>&0 lelong <0x7fffffff 19807>>>>&-4 pstring/l x \b, source: "%s" 19808 19809# target_ns 19810>>>>>&0 lelong <0x7fffffff 19811>>>>>>&-4 pstring/l x \b, target_ns: "%s" 19812 19813#------------------------------------------------------------------------------ 19814# $File: xdelta,v 1.5 2011/08/08 09:01:05 christos Exp $ 19815# file(1) magic(5) data for xdelta Josh MacDonald <jmacd@CS.Berkeley.EDU> 19816# 198170 string %XDELTA% XDelta binary patch file 0.14 198180 string %XDZ000% XDelta binary patch file 0.18 198190 string %XDZ001% XDelta binary patch file 0.20 198200 string %XDZ002% XDelta binary patch file 1.0 198210 string %XDZ003% XDelta binary patch file 1.0.4 198220 string %XDZ004% XDelta binary patch file 1.1 19823 198240 string \xD6\xC3\xC4\x00 VCDIFF binary diff 19825 19826#------------------------------------------------------------------------------ 19827# $File: xenix,v 1.9 2009/09/19 16:28:13 christos Exp $ 19828# xenix: file(1) magic for Microsoft Xenix 19829# 19830# "Middle model" stuff, and "Xenix 8086 relocatable or 80286 small 19831# model" lifted from "magic.xenix", with comment "derived empirically; 19832# treat as folklore until proven" 19833# 19834# "small model", "large model", "huge model" stuff lifted from XXX 19835# 19836# XXX - "x.out" collides with PDP-11 archives 19837# 198380 string core core file (Xenix) 198390 byte 0x80 8086 relocatable (Microsoft) 198400 leshort 0xff65 x.out 19841>2 string __.SYMDEF randomized 19842>0 byte x archive 198430 leshort 0x206 Microsoft a.out 19844>8 leshort 1 Middle model 19845>0x1e leshort &0x10 overlay 19846>0x1e leshort &0x2 separate 19847>0x1e leshort &0x4 pure 19848>0x1e leshort &0x800 segmented 19849>0x1e leshort &0x400 standalone 19850>0x1e leshort &0x8 fixed-stack 19851>0x1c byte &0x80 byte-swapped 19852>0x1c byte &0x40 word-swapped 19853>0x10 lelong >0 not-stripped 19854>0x1e leshort ^0xc000 pre-SysV 19855>0x1e leshort &0x4000 V2.3 19856>0x1e leshort &0x8000 V3.0 19857>0x1c byte &0x4 86 19858>0x1c byte &0xb 186 19859>0x1c byte &0x9 286 19860>0x1c byte &0xa 386 19861>0x1f byte <0x040 small model 19862>0x1f byte =0x048 large model 19863>0x1f byte =0x049 huge model 19864>0x1e leshort &0x1 executable 19865>0x1e leshort ^0x1 object file 19866>0x1e leshort &0x40 Large Text 19867>0x1e leshort &0x20 Large Data 19868>0x1e leshort &0x120 Huge Objects Enabled 19869>0x10 lelong >0 not stripped 19870 198710 leshort 0x140 old Microsoft 8086 x.out 19872>0x3 byte &0x4 separate 19873>0x3 byte &0x2 pure 19874>0 byte &0x1 executable 19875>0 byte ^0x1 relocatable 19876>0x14 lelong >0 not stripped 19877 198780 lelong 0x206 b.out 19879>0x1e leshort &0x10 overlay 19880>0x1e leshort &0x2 separate 19881>0x1e leshort &0x4 pure 19882>0x1e leshort &0x800 segmented 19883>0x1e leshort &0x400 standalone 19884>0x1e leshort &0x1 executable 19885>0x1e leshort ^0x1 object file 19886>0x1e leshort &0x4000 V2.3 19887>0x1e leshort &0x8000 V3.0 19888>0x1c byte &0x4 86 19889>0x1c byte &0xb 186 19890>0x1c byte &0x9 286 19891>0x1c byte &0x29 286 19892>0x1c byte &0xa 386 19893>0x1e leshort &0x4 Large Text 19894>0x1e leshort &0x2 Large Data 19895>0x1e leshort &0x102 Huge Objects Enabled 19896 198970 leshort 0x580 XENIX 8086 relocatable or 80286 small model 19898 19899#------------------------------------------------------------------------------ 19900# $File: xilinx,v 1.6 2013/11/19 23:15:13 christos Exp $ 19901# This is Aaron's attempt at a MAGIC file for Xilinx .bit files. 19902# Xilinx-Magic@RevRagnarok.com 19903# Got the info from FPGA-FAQ 0026 19904# 19905# Rewritten to use pstring/H instead of hardcoded lengths by O. Freyermuth, 19906# fixes at least reading of bitfiles from Spartan 2, 3, 6. 19907# http://www.fpga-faq.com/FAQ_Pages/0026_Tell_me_about_bit_files.htm 19908# 19909# First there is the sync header and its length 199100 beshort 0x0009 19911>2 belong =0x0ff00ff0 19912>>&0 belong =0x0ff00ff0 19913>>>&0 byte =0x00 19914>>>&1 beshort =0x0001 19915>>>&3 string a Xilinx BIT data 19916# Next is a Pascal-style string with the NCD name. We want to capture that. 19917>>>>&0 pstring/H x - from %s 19918# And then 'b' 19919>>>>>&1 string b 19920# Then the model / part number: 19921>>>>>>&0 pstring/H x - for %s 19922# Then 'c' 19923>>>>>>>&1 string c 19924# Then the build-date 19925>>>>>>>>&0 pstring/H x - built %s 19926# Then 'd' 19927>>>>>>>>>&1 string d 19928# Then the build-time 19929>>>>>>>>>>&0 pstring/H x \b(%s) 19930# Then 'e' 19931>>>>>>>>>>>&1 string e 19932# And length of data 19933>>>>>>>>>>>>&0 belong x - data length 0x%lx 19934 19935# Raw bitstream files 199360 long 0xffffffff 19937>&0 belong 0xaa995566 Xilinx RAW bitstream (.BIN) 19938 19939#------------------------------------------------------------------------------ 19940# $File: xo65,v 1.4 2009/09/19 16:28:13 christos Exp $ 19941# xo65 object files 19942# From: "Ullrich von Bassewitz" <uz@cc65.org> 19943# 199440 string \x55\x7A\x6E\x61 xo65 object, 19945>4 leshort x version %d, 19946>6 leshort&0x0001 =0x0001 with debug info 19947>6 leshort&0x0001 =0x0000 no debug info 19948 19949# xo65 library files 199500 string \x6E\x61\x55\x7A xo65 library, 19951>4 leshort x version %d 19952 19953# o65 object files 199540 string \x01\x00\x6F\x36\x35 o65 19955>6 leshort&0x1000 =0x0000 executable, 19956>6 leshort&0x1000 =0x1000 object, 19957>5 byte x version %d, 19958>6 leshort&0x8000 =0x8000 65816, 19959>6 leshort&0x8000 =0x0000 6502, 19960>6 leshort&0x2000 =0x2000 32 bit, 19961>6 leshort&0x2000 =0x0000 16 bit, 19962>6 leshort&0x4000 =0x4000 page reloc, 19963>6 leshort&0x4000 =0x0000 byte reloc, 19964>6 leshort&0x0003 =0x0000 alignment 1 19965>6 leshort&0x0003 =0x0001 alignment 2 19966>6 leshort&0x0003 =0x0002 alignment 4 19967>6 leshort&0x0003 =0x0003 alignment 256 19968 19969#------------------------------------------------------------------------------ 19970# $File: xwindows,v 1.8 2013/02/08 17:25:57 christos Exp $ 19971# xwindows: file(1) magic for various X/Window system file formats. 19972 19973# Compiled X Keymap 19974# XKM (compiled X keymap) files (including version and byte ordering) 199751 string mkx Compiled XKB Keymap: lsb, 19976>0 byte >0 version %d 19977>0 byte =0 obsolete 199780 string xkm Compiled XKB Keymap: msb, 19979>3 byte >0 version %d 19980>3 byte =0 obsolete 19981 19982# xfsdump archive 199830 string xFSdump0 xfsdump archive 19984>8 belong x (version %d) 19985 19986# Jaleo XFS files 199870 long 395726 Jaleo XFS file 19988>4 long x - version %ld 19989>8 long x - [%ld - 19990>20 long x \b%ldx 19991>24 long x \b%ldx 19992>28 long 1008 \bYUV422] 19993>28 long 1000 \bRGB24] 19994 19995# Xcursor data 19996# X11 mouse cursor format defined in libXcursor, see 19997# http://www.x.org/archive/X11R6.8.1/doc/Xcursor.3.html 19998# http://cgit.freedesktop.org/xorg/lib/libXcursor/tree/include/X11/Xcursor/Xcursor.h 199990 string Xcur Xcursor data 20000!:mime image/x-xcursor 20001>10 leshort x version %hd 20002>>8 leshort x \b.%hd 20003#------------------------------------------------------------------------------ 20004# zfs: file(1) magic for ZFS dumps 20005# 20006# From <rea-fbsd@codelabs.ru> 20007# ZFS dump header has the following structure (as per zfs_ioctl.h 20008# in FreeBSD with drr_type is set to DRR_BEGIN) 20009# 20010# enum { 20011# DRR_BEGIN, DRR_OBJECT, DRR_FREEOBJECTS, 20012# DRR_WRITE, DRR_FREE, DRR_END, 20013# } drr_type; 20014# uint32_t drr_pad; 20015# uint64_t drr_magic; 20016# uint64_t drr_version; 20017# uint64_t drr_creation_time; 20018# dmu_objset_type_t drr_type; 20019# uint32_t drr_pad; 20020# uint64_t drr_toguid; 20021# uint64_t drr_fromguid; 20022# char drr_toname[MAXNAMELEN]; 20023# 20024# Backup magic is 0x00000002f5bacbac (quad word) 20025# The drr_type is defined as 20026# typedef enum dmu_objset_type { 20027# DMU_OST_NONE, 20028# DMU_OST_META, 20029# DMU_OST_ZFS, 20030# DMU_OST_ZVOL, 20031# DMU_OST_OTHER, /* For testing only! */ 20032# DMU_OST_ANY, /* Be careful! */ 20033# DMU_OST_NUMTYPES 20034# } dmu_objset_type_t; 20035# 20036# Almost all uint64_t fields are printed as the 32-bit ones (with high 20037# 32 bits zeroed), because there is no simple way to print them as the 20038# full 64-bit values. 20039 20040# Big-endian values 200418 string \000\000\000\002\365\272\313\254 ZFS shapshot (big-endian machine), 20042>20 belong x version %lu, 20043>32 belong 0 type: NONE, 20044>32 belong 1 type: META, 20045>32 belong 2 type: ZFS, 20046>32 belong 3 type: ZVOL, 20047>32 belong 4 type: OTHER, 20048>32 belong 5 type: ANY, 20049>32 belong >5 type: UNKNOWN (%lu), 20050>40 byte x destination GUID: %02X 20051>41 byte x %02X 20052>42 byte x %02X 20053>43 byte x %02X 20054>44 byte x %02X 20055>45 byte x %02X 20056>46 byte x %02X 20057>47 byte x %02X, 20058>48 ulong >0 20059>>52 ulong >0 20060>>>48 byte x source GUID: %02X 20061>>>49 byte x %02X 20062>>>50 byte x %02X 20063>>>51 byte x %02X 20064>>>52 byte x %02X 20065>>>53 byte x %02X 20066>>>54 byte x %02X 20067>>>55 byte x %02X, 20068>56 string >\0 name: '%s' 20069 20070# Little-endian values 200718 string \254\313\272\365\002\000\000\000 ZFS shapshot (little-endian machine), 20072>16 lelong x version %lu, 20073>32 lelong 0 type: NONE, 20074>32 lelong 1 type: META, 20075>32 lelong 2 type: ZFS, 20076>32 lelong 3 type: ZVOL, 20077>32 lelong 4 type: OTHER, 20078>32 lelong 5 type: ANY, 20079>32 lelong >5 type: UNKNOWN (%lu), 20080>47 byte x destination GUID: %02X 20081>46 byte x %02X 20082>45 byte x %02X 20083>44 byte x %02X 20084>43 byte x %02X 20085>42 byte x %02X 20086>41 byte x %02X 20087>40 byte x %02X, 20088>48 ulong >0 20089>>52 ulong >0 20090>>>55 byte x source GUID: %02X 20091>>>54 byte x %02X 20092>>>53 byte x %02X 20093>>>52 byte x %02X 20094>>>51 byte x %02X 20095>>>50 byte x %02X 20096>>>49 byte x %02X 20097>>>48 byte x %02X, 20098>56 string >\0 name: '%s' 20099 20100#------------------------------------------------------------------------------ 20101# $File: zilog,v 1.7 2009/09/19 16:28:13 christos Exp $ 20102# zilog: file(1) magic for Zilog Z8000. 20103# 20104# Was it big-endian or little-endian? My Product Specification doesn't 20105# say. 20106# 201070 long 0xe807 object file (z8000 a.out) 201080 long 0xe808 pure object file (z8000 a.out) 201090 long 0xe809 separate object file (z8000 a.out) 201100 long 0xe805 overlay object file (z8000 a.out) 20111 20112#------------------------------------------------------------------------------ 20113# $File: zyxel,v 1.6 2009/09/19 16:28:13 christos Exp $ 20114# zyxel: file(1) magic for ZyXEL modems 20115# 20116# From <rob@pe1chl.ampr.org> 20117# These are the /etc/magic entries to decode datafiles as used for the 20118# ZyXEL U-1496E DATA/FAX/VOICE modems. (This header conforms to a 20119# ZyXEL-defined standard) 20120 201210 string ZyXEL\002 ZyXEL voice data 20122>10 byte 0 - CELP encoding 20123>10 byte&0x0B 1 - ADPCM2 encoding 20124>10 byte&0x0B 2 - ADPCM3 encoding 20125>10 byte&0x0B 3 - ADPCM4 encoding 20126>10 byte&0x0B 8 - New ADPCM3 encoding 20127>10 byte&0x04 4 with resync 20128