diff options
author | Thomas Bruederli <thomas@roundcube.net> | 2012-11-27 15:55:42 +0100 |
---|---|---|
committer | Thomas Bruederli <thomas@roundcube.net> | 2012-11-27 15:55:42 +0100 |
commit | 0a83971d3e6bc5dae958e304bea4bb1e7a33db59 (patch) | |
tree | 4fa01daab7b3b762d351285ef3fcb05f09af96ea /program | |
parent | 928cb3401bfb70b6a48fe60b198b672b4062f23a (diff) |
Clarify mime_magic config option; add new function to map mimetypes and filename extensions
Diffstat (limited to 'program')
-rw-r--r-- | program/lib/Roundcube/rcube_mime.php | 75 | ||||
-rw-r--r-- | program/lib/magic | 10810 |
2 files changed, 70 insertions, 10815 deletions
diff --git a/program/lib/Roundcube/rcube_mime.php b/program/lib/Roundcube/rcube_mime.php index 98761c503..17cb3f015 100644 --- a/program/lib/Roundcube/rcube_mime.php +++ b/program/lib/Roundcube/rcube_mime.php @@ -641,21 +641,22 @@ class rcube_mime /** * A method to guess the mime_type of an attachment. * - * @param string $path Path to the file. + * @param string $path Path to the file or file contents * @param string $name File name (with suffix) - * @param string $failover Mime type supplied for failover. - * @param string $is_stream Set to True if $path contains file body + * @param string $failover Mime type supplied for failover + * @param boolean $is_stream Set to True if $path contains file contents + * @param boolean $skip_suffix Set to True if the config/mimetypes.php mappig should be ignored * * @return string * @author Till Klampaeckel <till@php.net> * @see http://de2.php.net/manual/en/ref.fileinfo.php * @see http://de2.php.net/mime_content_type */ - public static function file_content_type($path, $name, $failover = 'application/octet-stream', $is_stream = false) + public static function file_content_type($path, $name, $failover = 'application/octet-stream', $is_stream = false, $skip_suffix = false) { $mime_type = null; $mime_magic = rcube::get_instance()->config->get('mime_magic'); - $mime_ext = @include RCUBE_CONFIG_DIR . '/mimetypes.php'; + $mime_ext = $skip_suffix ? null : @include(RCUBE_CONFIG_DIR . '/mimetypes.php'); // use file name suffix with hard-coded mime-type map if (is_array($mime_ext) && $name) { @@ -695,6 +696,70 @@ class rcube_mime /** + * Get mimetype => file extension mapping + * + * @param string Mime-Type to get extensions for + * @return array List of extensions matching the given mimetype or a hash array with ext -> mimetype mappings if $mimetype is not given + */ + public static function get_mime_extensions($mimetype = null) + { + static $mime_types, $mime_extensions; + + // return cached data + if (is_array($mime_types)) { + return $mimetype ? $mime_types[$mimetype] : $mime_extensions; + } + + // load mapping file + $file_paths = array(); + + if ($mime_types = rcube::get_instance()->config->get('mime_types')) + $file_paths[] = $mime_types; + + // try common locations + $file_paths[] = '/etc/httpd/mime.types'; + $file_paths[] = '/etc/httpd2/mime.types'; + $file_paths[] = '/etc/apache/mime.types'; + $file_paths[] = '/etc/apache2/mime.types'; + $file_paths[] = '/usr/local/etc/httpd/conf/mime.types'; + $file_paths[] = '/usr/local/etc/apache/conf/mime.types'; + + foreach ($file_paths as $fp) { + if (is_readable($fp)) { + $lines = file($fp, FILE_IGNORE_NEW_LINES); + break; + } + } + + $mime_types = $mime_extensions = array(); + $regex = "/([\w\+\-\.\/]+)\t+([\w\s]+)/i"; + foreach((array)$lines as $line) { + // skip comments or mime types w/o any extensions + if ($line[0] == '#' || !preg_match($regex, $line, $matches)) + continue; + + $mime = $matches[1]; + foreach (explode(' ', $matches[2]) as $ext) { + $ext = trim($ext); + $mime_types[$mime][] = $ext; + $mime_extensions[$ext] = $mime; + } + } + + // fallback to some well-known types most important for daily emails + if (empty($mime_types)) { + $mime_extensions = @include(RCUBE_CONFIG_DIR . '/mimetypes.php'); + $mime_extensions += array('gif' => 'image/gif', 'png' => 'image/png', 'jpg' => 'image/jpg', 'jpeg' => 'image/jpeg', 'tif' => 'image/tiff'); + + foreach ($mime_extensions as $ext => $mime) + $mime_types[$mime][] = $ext; + } + + return $mimetype ? $mime_types[$mimetype] : $mime_extensions; + } + + + /** * Detect image type of the given binary data by checking magic numbers. * * @param string $data Binary file content diff --git a/program/lib/magic b/program/lib/magic deleted file mode 100644 index 85b5e8b11..000000000 --- a/program/lib/magic +++ /dev/null @@ -1,10810 +0,0 @@ -# Magic -# Magic data for file(1) command. -# Machine-generated from src/cmd/file/magdir/*; edit there only! -# Format is described in magic(files), where: -# files is 5 on V7 and BSD, 4 on SV, and ?? in the SVID. - -#------------------------------------------------------------------------------ -# Localstuff: file(1) magic for locally observed files -# -# $Id: Localstuff,v 1.4 2003/03/23 04:17:27 christos Exp $ -# Add any locally observed files here. Remember: -# text if readable, executable if runnable binary, data if unreadable. - -#------------------------------------------------------------------------------ -# zyxel: file(1) magic for ZyXEL modems -# -# From <rob@pe1chl.ampr.org> -# These are the /etc/magic entries to decode datafiles as used for the -# ZyXEL U-1496E DATA/FAX/VOICE modems. (This header conforms to a -# ZyXEL-defined standard) - -0 string ZyXEL\002 ZyXEL voice data ->10 byte 0 - CELP encoding ->10 byte&0x0B 1 - ADPCM2 encoding ->10 byte&0x0B 2 - ADPCM3 encoding ->10 byte&0x0B 3 - ADPCM4 encoding ->10 byte&0x0B 8 - New ADPCM3 encoding ->10 byte&0x04 4 with resync - -#------------------------------------------------------------------------------ -# file(1) magic(5) data for xdelta Josh MacDonald <jmacd@CS.Berkeley.EDU> -# -0 string %XDELTA% XDelta binary patch file 0.14 -0 string %XDZ000% XDelta binary patch file 0.18 -0 string %XDZ001% XDelta binary patch file 0.20 -0 string %XDZ002% XDelta binary patch file 1.0 -0 string %XDZ003% XDelta binary patch file 1.0.4 -0 string %XDZ004% XDelta binary patch file 1.1 -#------------------------------------------------------------------------ -# sysex: file(1) magic for MIDI sysex files -# -# -0 byte 0xF0 SysEx File - - -# North American Group ->1 byte 0x01 Sequential ->1 byte 0x02 IDP ->1 byte 0x03 OctavePlateau ->1 byte 0x04 Moog ->1 byte 0x05 Passport ->1 byte 0x06 Lexicon ->1 byte 0x07 Kurzweil ->1 byte 0x08 Fender ->1 byte 0x09 Gulbransen ->1 byte 0x0a AKG ->1 byte 0x0b Voyce ->1 byte 0x0c Waveframe ->1 byte 0x0d ADA ->1 byte 0x0e Garfield ->1 byte 0x0f Ensoniq ->1 byte 0x10 Oberheim ->1 byte 0x11 Apple ->1 byte 0x12 GreyMatter ->1 byte 0x14 PalmTree ->1 byte 0x15 JLCooper ->1 byte 0x16 Lowrey ->1 byte 0x17 AdamsSmith ->1 byte 0x18 E-mu ->1 byte 0x19 Harmony ->1 byte 0x1a ART ->1 byte 0x1b Baldwin ->1 byte 0x1c Eventide ->1 byte 0x1d Inventronics ->1 byte 0x1f Clarity - -# European Group ->1 byte 0x21 SIEL ->1 byte 0x22 Synthaxe ->1 byte 0x24 Hohner ->1 byte 0x25 Twister ->1 byte 0x26 Solton ->1 byte 0x27 Jellinghaus ->1 byte 0x28 Southworth ->1 byte 0x29 PPG ->1 byte 0x2a JEN ->1 byte 0x2b SSL ->1 byte 0x2c AudioVertrieb - ->1 byte 0x2f ELKA ->>3 byte 0x09 EK-44 - ->1 byte 0x30 Dynacord ->1 byte 0x33 Clavia ->1 byte 0x39 Soundcraft - ->1 byte 0x3e Waldorf ->>3 byte 0x7f Microwave I - -# Japanese Group ->1 byte 0x40 Kawai ->>3 byte 0x20 K1 ->>3 byte 0x22 K4 - ->1 byte 0x41 Roland ->>3 byte 0x14 D-50 ->>3 byte 0x2b U-220 ->>3 byte 0x02 TR-707 - ->1 byte 0x42 Korg ->>3 byte 0x19 M1 - ->1 byte 0x43 Yamaha ->1 byte 0x44 Casio ->1 byte 0x46 Kamiya ->1 byte 0x47 Akai ->1 byte 0x48 Victor ->1 byte 0x49 Mesosha ->1 byte 0x4b Fujitsu ->1 byte 0x4c Sony ->1 byte 0x4e Teac ->1 byte 0x50 Matsushita ->1 byte 0x51 Fostex ->1 byte 0x52 Zoom ->1 byte 0x54 Matsushita ->1 byte 0x57 Acoustic tech. lab. - ->1 belong&0xffffff00 0x00007400 Ta Horng ->1 belong&0xffffff00 0x00007500 e-Tek ->1 belong&0xffffff00 0x00007600 E-Voice ->1 belong&0xffffff00 0x00007700 Midisoft ->1 belong&0xffffff00 0x00007800 Q-Sound ->1 belong&0xffffff00 0x00007900 Westrex ->1 belong&0xffffff00 0x00007a00 Nvidia* ->1 belong&0xffffff00 0x00007b00 ESS ->1 belong&0xffffff00 0x00007c00 Mediatrix ->1 belong&0xffffff00 0x00007d00 Brooktree ->1 belong&0xffffff00 0x00007e00 Otari ->1 belong&0xffffff00 0x00007f00 Key Electronics ->1 belong&0xffffff00 0x00010000 Shure ->1 belong&0xffffff00 0x00010100 AuraSound ->1 belong&0xffffff00 0x00010200 Crystal ->1 belong&0xffffff00 0x00010300 Rockwell ->1 belong&0xffffff00 0x00010400 Silicon Graphics ->1 belong&0xffffff00 0x00010500 Midiman ->1 belong&0xffffff00 0x00010600 PreSonus ->1 belong&0xffffff00 0x00010800 Topaz ->1 belong&0xffffff00 0x00010900 Cast Lightning ->1 belong&0xffffff00 0x00010a00 Microsoft ->1 belong&0xffffff00 0x00010b00 Sonic Foundry ->1 belong&0xffffff00 0x00010c00 Line 6 ->1 belong&0xffffff00 0x00010d00 Beatnik Inc. ->1 belong&0xffffff00 0x00010e00 Van Koerving ->1 belong&0xffffff00 0x00010f00 Altech Systems ->1 belong&0xffffff00 0x00011000 S & S Research ->1 belong&0xffffff00 0x00011100 VLSI Technology ->1 belong&0xffffff00 0x00011200 Chromatic ->1 belong&0xffffff00 0x00011300 Sapphire ->1 belong&0xffffff00 0x00011400 IDRC ->1 belong&0xffffff00 0x00011500 Justonic Tuning ->1 belong&0xffffff00 0x00011600 TorComp ->1 belong&0xffffff00 0x00011700 Newtek Inc. ->1 belong&0xffffff00 0x00011800 Sound Sculpture ->1 belong&0xffffff00 0x00011900 Walker Technical ->1 belong&0xffffff00 0x00011a00 Digital Harmony ->1 belong&0xffffff00 0x00011b00 InVision ->1 belong&0xffffff00 0x00011c00 T-Square ->1 belong&0xffffff00 0x00011d00 Nemesys ->1 belong&0xffffff00 0x00011e00 DBX ->1 belong&0xffffff00 0x00011f00 Syndyne ->1 belong&0xffffff00 0x00012000 Bitheadz ->1 belong&0xffffff00 0x00012100 Cakewalk ->1 belong&0xffffff00 0x00012200 Staccato ->1 belong&0xffffff00 0x00012300 National Semicon. ->1 belong&0xffffff00 0x00012400 Boom Theory ->1 belong&0xffffff00 0x00012500 Virtual DSP Corp ->1 belong&0xffffff00 0x00012600 Antares ->1 belong&0xffffff00 0x00012700 Angel Software ->1 belong&0xffffff00 0x00012800 St Louis Music ->1 belong&0xffffff00 0x00012900 Lyrrus dba G-VOX ->1 belong&0xffffff00 0x00012a00 Ashley Audio ->1 belong&0xffffff00 0x00012b00 Vari-Lite ->1 belong&0xffffff00 0x00012c00 Summit Audio ->1 belong&0xffffff00 0x00012d00 Aureal Semicon. ->1 belong&0xffffff00 0x00012e00 SeaSound ->1 belong&0xffffff00 0x00012f00 U.S. Robotics ->1 belong&0xffffff00 0x00013000 Aurisis ->1 belong&0xffffff00 0x00013100 Nearfield Multimedia ->1 belong&0xffffff00 0x00013200 FM7 Inc. ->1 belong&0xffffff00 0x00013300 Swivel Systems ->1 belong&0xffffff00 0x00013400 Hyperactive ->1 belong&0xffffff00 0x00013500 MidiLite ->1 belong&0xffffff00 0x00013600 Radical ->1 belong&0xffffff00 0x00013700 Roger Linn ->1 belong&0xffffff00 0x00013800 Helicon ->1 belong&0xffffff00 0x00013900 Event ->1 belong&0xffffff00 0x00013a00 Sonic Network ->1 belong&0xffffff00 0x00013b00 Realtime Music ->1 belong&0xffffff00 0x00013c00 Apogee Digital - ->1 belong&0xffffff00 0x00202b00 Medeli Electronics ->1 belong&0xffffff00 0x00202c00 Charlie Lab ->1 belong&0xffffff00 0x00202d00 Blue Chip Music ->1 belong&0xffffff00 0x00202e00 BEE OH Corp ->1 belong&0xffffff00 0x00202f00 LG Semicon America ->1 belong&0xffffff00 0x00203000 TESI ->1 belong&0xffffff00 0x00203100 EMAGIC ->1 belong&0xffffff00 0x00203200 Behringer ->1 belong&0xffffff00 0x00203300 Access Music ->1 belong&0xffffff00 0x00203400 Synoptic ->1 belong&0xffffff00 0x00203500 Hanmesoft Corp ->1 belong&0xffffff00 0x00203600 Terratec ->1 belong&0xffffff00 0x00203700 Proel SpA ->1 belong&0xffffff00 0x00203800 IBK MIDI ->1 belong&0xffffff00 0x00203900 IRCAM ->1 belong&0xffffff00 0x00203a00 Propellerhead Software ->1 belong&0xffffff00 0x00203b00 Red Sound Systems ->1 belong&0xffffff00 0x00203c00 Electron ESI AB ->1 belong&0xffffff00 0x00203d00 Sintefex Audio ->1 belong&0xffffff00 0x00203e00 Music and More ->1 belong&0xffffff00 0x00203f00 Amsaro ->1 belong&0xffffff00 0x00204000 CDS Advanced Technology ->1 belong&0xffffff00 0x00204100 Touched by Sound ->1 belong&0xffffff00 0x00204200 DSP Arts ->1 belong&0xffffff00 0x00204300 Phil Rees Music ->1 belong&0xffffff00 0x00204400 Stamer Musikanlagen GmbH ->1 belong&0xffffff00 0x00204500 Soundart ->1 belong&0xffffff00 0x00204600 C-Mexx Software ->1 belong&0xffffff00 0x00204700 Klavis Tech. ->1 belong&0xffffff00 0x00204800 Noteheads AB - -0 string T707 Roland TR-707 Data - -#------------------------------------------------------------------------------ -# sccs: file(1) magic for SCCS archives -# -# SCCS archive structure: -# \001h01207 -# \001s 00276/00000/00000 -# \001d D 1.1 87/09/23 08:09:20 ian 1 0 -# \001c date and time created 87/09/23 08:09:20 by ian -# \001e -# \001u -# \001U -# ... etc. -# Now '\001h' happens to be the same as the 3B20's a.out magic number (0550). -# *Sigh*. And these both came from various parts of the USG. -# Maybe we should just switch everybody from SCCS to RCS! -# Further, you can't just say '\001h0', because the five-digit number -# is a checksum that could (presumably) have any leading digit, -# and we don't have regular expression matching yet. -# Hence the following official kludge: -8 string \001s\ SCCS archive data -#------------------------------------------------------------------------------ -# allegro: file(1) magic for Allegro datafiles -# Toby Deshane <hac@shoelace.digivill.net> -# -0 belong 0x736C6821 Allegro datafile (packed) -0 belong 0x736C682E Allegro datafile (not packed/autodetect) -0 belong 0x736C682B Allegro datafile (appended exe data) -#------------------------------------------------------------------------------ -# file(1) magic for cvs(1) files -# From Hendrik Scholz <hendrik@scholz.net> - -0 string /1\ :pserver: cvs password text file - - -#------------------------------------------------------------------------------ -# vicar: file(1) magic for VICAR files. -# -# From: Ossama Othman <othman@astrosun.tn.cornell.edu -# VICAR is JPL's in-house spacecraft image processing program -# VICAR image -0 string LBLSIZE= VICAR image data ->32 string BYTE \b, 8 bits = VAX byte ->32 string HALF \b, 16 bits = VAX word = Fortran INTEGER*2 ->32 string FULL \b, 32 bits = VAX longword = Fortran INTEGER*4 ->32 string REAL \b, 32 bits = VAX longword = Fortran REAL*4 ->32 string DOUB \b, 64 bits = VAX quadword = Fortran REAL*8 ->32 string COMPLEX \b, 64 bits = VAX quadword = Fortran COMPLEX*8 -# VICAR label file -43 string SFDU_LABEL VICAR label file - -#------------------------------------------------------------------------------ -# varied.out: file(1) magic for various USG systems -# -# Herewith many of the object file formats used by USG systems. -# Most have been moved to files for a particular processor, -# and deleted if they duplicate other entries. -# -0 short 0610 Perkin-Elmer executable -# AMD 29K -0 beshort 0572 amd 29k coff noprebar executable -0 beshort 01572 amd 29k coff prebar executable -0 beshort 0160007 amd 29k coff archive -# Cray -6 beshort 0407 unicos (cray) executable -# Ultrix 4.3 -596 string \130\337\377\377 Ultrix core file ->600 string >\0 from '%s' -# BeOS and MAcOS PEF executables -# From: hplus@zilker.net (Jon Watte) -0 string Joy!peffpwpc header for PowerPC PEF executable -# -# ava assembler/linker Uros Platise <uros.platise@ijs.si> -0 string avaobj AVR assembler object code ->7 string >\0 version '%s' -# gnu gmon magic From: Eugen Dedu <dedu@ese-metz.fr> -0 string gmon GNU prof performance data ->4 long x - version %ld -# From: Dave Pearson <davep@davep.org> -# Harbour <URL:http://www.harbour-project.org/> HRB files. -0 string \xc0HRB Harbour HRB file ->4 short x version %d - -# From: "Stefan A. Haubenthal" <polluks@web.de> -0 belong 0x000001EB Plan 9 executable - -#------------------------------------------------------------------------------ -# c64: file(1) magic for various commodore 64 related files -# -# From <doj@cubic.org> - -0x16500 belong 0x12014100 D64 Image -0x16500 belong 0x12014180 D71 Image -0x61800 belong 0x28034400 D81 Image -0 string C64\40CARTRIDGE CCS C64 Emultar Cartridge Image -0 belong 0x43154164 X64 Image - -0 string GCR-1541 GCR Image ->8 byte x version: $i ->9 byte x tracks: %i - -9 string PSUR ARC archive (c64) -2 string -LH1- LHA archive (c64) - -0 string C64File PC64 Emulator file ->8 string >\0 "%s" -0 string C64Image PC64 Freezer Image - -0 beshort 0x38CD C64 PCLink Image -0 string CBM\144\0\0 Power 64 C64 Emulator Snapshot - -0 belong 0xFF424CFF WRAptor packer (c64) -#------------------------------------------------------------------------------ -# games: file(1) for games - -# Thomas M. Ott (ThMO) -1 string =WAD DOOM data, ->0 string =I main wad ->0 string =P patch wad ->0 byte x unknown junk - -# Fabio Bonelli <fabiobonelli@libero.it> -# Quake II - III data files -0 string IDP2 Quake II 3D Model file, ->20 long x %lu skin(s), ->8 long x (%lu x ->12 long x %lu), ->40 long x %lu frame(s), ->16 long x Frame size %lu bytes, ->24 long x %lu vertices/frame, ->28 long x %lu texture coordinates, ->32 long x %lu triangles/frame - -0 string IBSP Quake ->4 long 0x26 II Map file (BSP) ->4 long 0x2E III Map file (BSP) - -0 string IDS2 Quake II SP2 sprite file - -#--------------------------------------------------------------------------- -# Doom and Quake -# submitted by Nicolas Patrois - -# DOOM - -0 string IWAD DOOM or DOOM ][ world -0 string PWAD DOOM or DOOM ][ extension world - -0 string \xcb\x1dBoom\xe6\xff\x03\x01 Boom or linuxdoom demo -# some doom lmp files don't match, I've got one beginning with \x6d\x02\x01\x01 - -24 string LxD\ 203 Linuxdoom save ->0 string x , name=%s ->44 string x , world=%s - -# Quake - -0 string PACK Quake I or II world or extension - -#0 string -1\x0a Quake I demo -#>30 string x version %.4s -#>61 string x level %s - -#0 string 5\x0a Quake I save - -# The levels - -# Quake 1 - -0 string 5\x0aIntroduction Quake I save: start Introduction -0 string 5\x0athe_Slipgate_Complex Quake I save: e1m1 The slipgate complex -0 string 5\x0aCastle_of_the_Damned Quake I save: e1m2 Castle of the damned -0 string 5\x0athe_Necropolis Quake I save: e1m3 The necropolis -0 string 5\x0athe_Grisly_Grotto Quake I save: e1m4 The grisly grotto -0 string 5\x0aZiggurat_Vertigo Quake I save: e1m8 Ziggurat vertigo (secret) -0 string 5\x0aGloom_Keep Quake I save: e1m5 Gloom keep -0 string 5\x0aThe_Door_To_Chthon Quake I save: e1m6 The door to Chthon -0 string 5\x0aThe_House_of_Chthon Quake I save: e1m7 The house of Chthon -0 string 5\x0athe_Installation Quake I save: e2m1 The installation -0 string 5\x0athe_Ogre_Citadel Quake I save: e2m2 The ogre citadel -0 string 5\x0athe_Crypt_of_Decay Quake I save: e2m3 The crypt of decay (dopefish lives!) -0 string 5\x0aUnderearth Quake I save: e2m7 Underearth (secret) -0 string 5\x0athe_Ebon_Fortress Quake I save: e2m4 The ebon fortress -0 string 5\x0athe_Wizard's_Manse Quake I save: e2m5 The wizard's manse -0 string 5\x0athe_Dismal_Oubliette Quake I save: e2m6 The dismal oubliette -0 string 5\x0aTermination_Central Quake I save: e3m1 Termination central -0 string 5\x0aVaults_of_Zin Quake I save: e3m2 Vaults of Zin -0 string 5\x0athe_Tomb_of_Terror Quake I save: e3m3 The tomb of terror -0 string 5\x0aSatan's_Dark_Delight Quake I save: e3m4 Satan's dark delight -0 string 5\x0athe_Haunted_Halls Quake I save: e3m7 The haunted halls (secret) -0 string 5\x0aWind_Tunnels Quake I save: e3m5 Wind tunnels -0 string 5\x0aChambers_of_Torment Quake I save: e3m6 Chambers of torment -0 string 5\x0athe_Sewage_System Quake I save: e4m1 The sewage system -0 string 5\x0aThe_Tower_of_Despair Quake I save: e4m2 The tower of despair -0 string 5\x0aThe_Elder_God_Shrine Quake I save: e4m3 The elder god shrine -0 string 5\x0athe_Palace_of_Hate Quake I save: e4m4 The palace of hate -0 string 5\x0aHell's_Atrium Quake I save: e4m5 Hell's atrium -0 string 5\x0athe_Nameless_City Quake I save: e4m8 The nameless city (secret) -0 string 5\x0aThe_Pain_Maze Quake I save: e4m6 The pain maze -0 string 5\x0aAzure_Agony Quake I save: e4m7 Azure agony -0 string 5\x0aShub-Niggurath's_Pit Quake I save: end Shub-Niggurath's pit - -# Quake DeathMatch levels - -0 string 5\x0aPlace_of_Two_Deaths Quake I save: dm1 Place of two deaths -0 string 5\x0aClaustrophobopolis Quake I save: dm2 Claustrophobopolis -0 string 5\x0aThe_Abandoned_Base Quake I save: dm3 The abandoned base -0 string 5\x0aThe_Bad_Place Quake I save: dm4 The bad place -0 string 5\x0aThe_Cistern Quake I save: dm5 The cistern -0 string 5\x0aThe_Dark_Zone Quake I save: dm6 The dark zone - -# Scourge of Armagon - -0 string 5\x0aCommand_HQ Quake I save: start Command HQ -0 string 5\x0aThe_Pumping_Station Quake I save: hip1m1 The pumping station -0 string 5\x0aStorage_Facility Quake I save: hip1m2 Storage facility -0 string 5\x0aMilitary_Complex Quake I save: hip1m5 Military complex (secret) -0 string 5\x0athe_Lost_Mine Quake I save: hip1m3 The lost mine -0 string 5\x0aResearch_Facility Quake I save: hip1m4 Research facility -0 string 5\x0aAncient_Realms Quake I save: hip2m1 Ancient realms -0 string 5\x0aThe_Gremlin's_Domain Quake I save: hip2m6 The gremlin's domain (secret) -0 string 5\x0aThe_Black_Cathedral Quake I save: hip2m2 The black cathedral -0 string 5\x0aThe_Catacombs Quake I save: hip2m3 The catacombs -0 string 5\x0athe_Crypt__ Quake I save: hip2m4 The crypt -0 string 5\x0aMortum's_Keep Quake I save: hip2m5 Mortum's keep -0 string 5\x0aTur_Torment Quake I save: hip3m1 Tur torment -0 string 5\x0aPandemonium Quake I save: hip3m2 Pandemonium -0 string 5\x0aLimbo Quake I save: hip3m3 Limbo -0 string 5\x0athe_Edge_of_Oblivion Quake I save: hipdm1 The edge of oblivion (secret) -0 string 5\x0aThe_Gauntlet Quake I save: hip3m4 The gauntlet -0 string 5\x0aArmagon's_Lair Quake I save: hipend Armagon's lair - -# Malice - -0 string 5\x0aThe_Academy Quake I save: start The academy -0 string 5\x0aThe_Lab Quake I save: d1 The lab -0 string 5\x0aArea_33 Quake I save: d1b Area 33 -0 string 5\x0aSECRET_MISSIONS Quake I save: d3b Secret missions -0 string 5\x0aThe_Hospital Quake I save: d10 The hospital (secret) -0 string 5\x0aThe_Genetics_Lab Quake I save: d11 The genetics lab (secret) -0 string 5\x0aBACK_2_MALICE Quake I save: d4b Back to Malice -0 string 5\x0aArea44 Quake I save: d1c Area 44 -0 string 5\x0aTakahiro_Towers Quake I save: d2 Takahiro towers -0 string 5\x0aA_Rat's_Life Quake I save: d3 A rat's life -0 string 5\x0aInto_The_Flood Quake I save: d4 Into the flood -0 string 5\x0aThe_Flood Quake I save: d5 The flood -0 string 5\x0aNuclear_Plant Quake I save: d6 Nuclear plant -0 string 5\x0aThe_Incinerator_Plant Quake I save: d7 The incinerator plant -0 string 5\x0aThe_Foundry Quake I save: d7b The foundry -0 string 5\x0aThe_Underwater_Base Quake I save: d8 The underwater base -0 string 5\x0aTakahiro_Base Quake I save: d9 Takahiro base -0 string 5\x0aTakahiro_Laboratories Quake I save: d12 Takahiro laboratories -0 string 5\x0aStayin'_Alive Quake I save: d13 Stayin' alive -0 string 5\x0aB.O.S.S._HQ Quake I save: d14 B.O.S.S. HQ -0 string 5\x0aSHOWDOWN! Quake I save: d15 Showdown! - -# Malice DeathMatch levels - -0 string 5\x0aThe_Seventh_Precinct Quake I save: ddm1 The seventh precinct -0 string 5\x0aSub_Station Quake I save: ddm2 Sub station -0 string 5\x0aCrazy_Eights! Quake I save: ddm3 Crazy eights! -0 string 5\x0aEast_Side_Invertationa Quake I save: ddm4 East side invertationa -0 string 5\x0aSlaughterhouse Quake I save: ddm5 Slaughterhouse -0 string 5\x0aDOMINO Quake I save: ddm6 Domino -0 string 5\x0aSANDRA'S_LADDER Quake I save: ddm7 Sandra's ladder - - -0 string MComprHD MAME CHD compressed hard disk image, ->12 belong x version %lu -#------------------------------------------------------------------------------ -# Mavroyanopoulos Nikos <nmav@hellug.gr> -# mcrypt: file(1) magic for mcrypt 2.2.x; -0 string \0m\3 mcrypt 2.5 encrypted data, ->4 string >\0 algorithm: %s, ->>&1 leshort >0 keysize: %d bytes, ->>>&0 string >\0 mode: %s, - -0 string \0m\2 mcrypt 2.2 encrypted data, ->3 byte 0 algorithm: blowfish-448, ->3 byte 1 algorithm: DES, ->3 byte 2 algorithm: 3DES, ->3 byte 3 algorithm: 3-WAY, ->3 byte 4 algorithm: GOST, ->3 byte 6 algorithm: SAFER-SK64, ->3 byte 7 algorithm: SAFER-SK128, ->3 byte 8 algorithm: CAST-128, ->3 byte 9 algorithm: xTEA, ->3 byte 10 algorithm: TWOFISH-128, ->3 byte 11 algorithm: RC2, ->3 byte 12 algorithm: TWOFISH-192, ->3 byte 13 algorithm: TWOFISH-256, ->3 byte 14 algorithm: blowfish-128, ->3 byte 15 algorithm: blowfish-192, ->3 byte 16 algorithm: blowfish-256, ->3 byte 100 algorithm: RC6, ->3 byte 101 algorithm: IDEA, ->4 byte 0 mode: CBC, ->4 byte 1 mode: ECB, ->4 byte 2 mode: CFB, ->4 byte 3 mode: OFB, ->4 byte 4 mode: nOFB, ->5 byte 0 keymode: 8bit ->5 byte 1 keymode: 4bit ->5 byte 2 keymode: SHA-1 hash ->5 byte 3 keymode: MD5 hash - -#------------------------------------------------------------------------------ -# archive: file(1) magic for archive formats (see also "msdos" for self- -# extracting compressed archives) -# -# cpio, ar, arc, arj, hpack, lha/lharc, rar, squish, uc2, zip, zoo, etc. -# pre-POSIX "tar" archives are handled in the C code. - -# POSIX tar archives -257 string ustar\0 POSIX tar archive -257 string ustar\040\040\0 GNU tar archive - -# cpio archives -# -# Yes, the top two "cpio archive" formats *are* supposed to just be "short". -# The idea is to indicate archives produced on machines with the same -# byte order as the machine running "file" with "cpio archive", and -# to indicate archives produced on machines with the opposite byte order -# from the machine running "file" with "byte-swapped cpio archive". -# -# The SVR4 "cpio(4)" hints that there are additional formats, but they -# are defined as "short"s; I think all the new formats are -# character-header formats and thus are strings, not numbers. -0 short 070707 cpio archive -0 short 0143561 byte-swapped cpio archive -0 string 070707 ASCII cpio archive (pre-SVR4 or odc) -0 string 070701 ASCII cpio archive (SVR4 with no CRC) -0 string 070702 ASCII cpio archive (SVR4 with CRC) - -# Debian package (needs to go before regular portable archives) -# -0 string !<arch>\ndebian ->8 string debian-split part of multipart Debian package ->8 string debian-binary Debian binary package ->68 string >\0 (format %s) ->81 string bz2 \b, uses bzip2 compression ->84 string gz \b, uses gzip compression -#>136 ledate x created: %s - -# other archives -0 long 0177555 very old archive -0 short 0177555 very old PDP-11 archive -0 long 0177545 old archive -0 short 0177545 old PDP-11 archive -0 long 0100554 apl workspace -0 string =<ar> archive - -# MIPS archive (needs to go before regular portable archives) -# -0 string !<arch>\n__________E MIPS archive ->20 string U with MIPS Ucode members ->21 string L with MIPSEL members ->21 string B with MIPSEB members ->19 string L and an EL hash table ->19 string B and an EB hash table ->22 string X -- out of date - -0 string -h- Software Tools format archive text - -# -# XXX - why are there multiple <ar> thingies? Note that 0x213c6172 is -# "!<ar", so, for new-style (4.xBSD/SVR2andup) archives, we have: -# -# 0 string !<arch> current ar archive -# 0 long 0x213c6172 archive file -# -# and for SVR1 archives, we have: -# -# 0 string \<ar> System V Release 1 ar archive -# 0 string =<ar> archive -# -# XXX - did Aegis really store shared libraries, breakpointed modules, -# and absolute code program modules in the same format as new-style -# "ar" archives? -# -0 string !<arch> current ar archive ->8 string __.SYMDEF random library ->0 belong =65538 - pre SR9.5 ->0 belong =65539 - post SR9.5 ->0 beshort 2 - object archive ->0 beshort 3 - shared library module ->0 beshort 4 - debug break-pointed module ->0 beshort 5 - absolute code program module -0 string \<ar> System V Release 1 ar archive -0 string =<ar> archive -# -# XXX - from "vax", which appears to collect a bunch of byte-swapped -# thingies, to help you recognize VAX files on big-endian machines; -# with "leshort", "lelong", and "string", that's no longer necessary.... -# -0 belong 0x65ff0000 VAX 3.0 archive -0 belong 0x3c61723e VAX 5.0 archive -# -0 long 0x213c6172 archive file -0 lelong 0177555 very old VAX archive -0 leshort 0177555 very old PDP-11 archive -# -# XXX - "pdp" claims that 0177545 can have an __.SYMDEF member and thus -# be a random library (it said 0xff65 rather than 0177545). -# -0 lelong 0177545 old VAX archive ->8 string __.SYMDEF random library -0 leshort 0177545 old PDP-11 archive ->8 string __.SYMDEF random library -# -# From "pdp" (but why a 4-byte quantity?) -# -0 lelong 0x39bed PDP-11 old archive -0 lelong 0x39bee PDP-11 4.0 archive - -# ARC archiver, from Daniel Quinlan (quinlan@yggdrasil.com) -# -# The first byte is the magic (0x1a), byte 2 is the compression type for -# the first file (0x01 through 0x09), and bytes 3 to 15 are the MS-DOS -# filename of the first file (null terminated). Since some types collide -# we only test some types on basis of frequency: 0x08 (83%), 0x09 (5%), -# 0x02 (5%), 0x03 (3%), 0x04 (2%), 0x06 (2%). 0x01 collides with terminfo. -0 lelong&0x8080ffff 0x0000081a ARC archive data, dynamic LZW -0 lelong&0x8080ffff 0x0000091a ARC archive data, squashed -0 lelong&0x8080ffff 0x0000021a ARC archive data, uncompressed -0 lelong&0x8080ffff 0x0000031a ARC archive data, packed -0 lelong&0x8080ffff 0x0000041a ARC archive data, squeezed -0 lelong&0x8080ffff 0x0000061a ARC archive data, crunched - -# Acorn archive formats (Disaster prone simpleton, m91dps@ecs.ox.ac.uk) -# I can't create either SPARK or ArcFS archives so I have not tested this stuff -# [GRR: the original entries collide with ARC, above; replaced with combined -# version (not tested)] -#0 byte 0x1a RISC OS archive -#>1 string archive (ArcFS format) -#0 string \032archive RISC OS archive (ArcFS format) -0 string \032 RISC OS archive (spark format) -0 string Archive\000 RISC OS archive (ArcFS format) - -# ARJ archiver (jason@jarthur.Claremont.EDU) -0 leshort 0xea60 ARJ archive data ->5 byte x \b, v%d, ->8 byte &0x04 multi-volume, ->8 byte &0x10 slash-switched, ->8 byte &0x20 backup, ->34 string x original name: %s, ->7 byte 0 os: MS-DOS ->7 byte 1 os: PRIMOS ->7 byte 2 os: Unix ->7 byte 3 os: Amiga ->7 byte 4 os: Macintosh ->7 byte 5 os: OS/2 ->7 byte 6 os: Apple ][ GS ->7 byte 7 os: Atari ST ->7 byte 8 os: NeXT ->7 byte 9 os: VAX/VMS ->3 byte >0 %d] - -# HA archiver (Greg Roelofs, newt@uchicago.edu) -# This is a really bad format. A file containing HAWAII will match this... -#0 string HA HA archive data, -#>2 leshort =1 1 file, -#>2 leshort >1 %u files, -#>4 byte&0x0f =0 first is type CPY -#>4 byte&0x0f =1 first is type ASC -#>4 byte&0x0f =2 first is type HSC -#>4 byte&0x0f =0x0e first is type DIR -#>4 byte&0x0f =0x0f first is type SPECIAL - -# HPACK archiver (Peter Gutmann, pgut1@cs.aukuni.ac.nz) -0 string HPAK HPACK archive data - -# JAM Archive volume format, by Dmitry.Kohmanyuk@UA.net -0 string \351,\001JAM\ JAM archive, ->7 string >\0 version %.4s ->0x26 byte =0x27 - ->>0x2b string >\0 label %.11s, ->>0x27 lelong x serial %08x, ->>0x36 string >\0 fstype %.8s - -# LHARC/LHA archiver (Greg Roelofs, newt@uchicago.edu) -2 string -lh0- LHarc 1.x archive data [lh0] -2 string -lh1- LHarc 1.x archive data [lh1] -2 string -lz4- LHarc 1.x archive data [lz4] -2 string -lz5- LHarc 1.x archive data [lz5] -# [never seen any but the last; -lh4- reported in comp.compression:] -2 string -lzs- LHa 2.x? archive data [lzs] -2 string -lh\40- LHa 2.x? archive data [lh ] -2 string -lhd- LHa 2.x? archive data [lhd] -2 string -lh2- LHa 2.x? archive data [lh2] -2 string -lh3- LHa 2.x? archive data [lh3] -2 string -lh4- LHa (2.x) archive data [lh4] -2 string -lh5- LHa (2.x) archive data [lh5] -2 string -lh6- LHa (2.x) archive data [lh6] -2 string -lh7- LHa (2.x) archive data [lh7] ->20 byte x - header level %d - -# RAR archiver (Greg Roelofs, newt@uchicago.edu) -0 string Rar! RAR archive data, ->44 byte x v%0x, ->35 byte 0 os: MS-DOS ->35 byte 1 os: OS/2 ->35 byte 2 os: Win32 ->35 byte 3 os: Unix - -# SQUISH archiver (Greg Roelofs, newt@uchicago.edu) -0 string SQSH squished archive data (Acorn RISCOS) - -# UC2 archiver (Greg Roelofs, newt@uchicago.edu) -# I can't figure out the self-extracting form of these buggers... -0 string UC2\x1a UC2 archive data - -# ZIP archives (Greg Roelofs, c/o zip-bugs@wkuvx1.wku.edu) -0 string PK\003\004 Zip archive data ->4 byte 0x09 \b, at least v0.9 to extract ->4 byte 0x0a \b, at least v1.0 to extract ->4 byte 0x0b \b, at least v1.1 to extract ->4 byte 0x14 \b, at least v2.0 to extract - -# Zoo archiver -20 lelong 0xfdc4a7dc Zoo archive data ->4 byte >48 \b, v%c. ->>6 byte >47 \b%c ->>>7 byte >47 \b%c ->32 byte >0 \b, modify: v%d ->>33 byte x \b.%d+ ->42 lelong 0xfdc4a7dc \b, ->>70 byte >0 extract: v%d ->>>71 byte x \b.%d+ - -# Shell archives -10 string #\ This\ is\ a\ shell\ archive shell archive text - -# -# LBR. NB: May conflict with the questionable -# "binary Computer Graphics Metafile" format. -# -0 string \0\ \ \ \ \ \ \ \ \ \ \ \0\0 LBR archive data -# -# PMA (CP/M derivative of LHA) -# -2 string -pm0- PMarc archive data [pm0] -2 string -pm1- PMarc archive data [pm1] -2 string -pm2- PMarc archive data [pm2] -2 string -pms- PMarc SFX archive (CP/M, DOS) -5 string -pc1- PopCom compressed executable (CP/M) - -# From Rafael Laboissiere <rafael@laboissiere.net> -# The Project Revision Control System (see -# http://prcs.sourceforge.net) generates a packaged project -# file which is recognized by the following entry: -0 leshort 0xeb81 PRCS packaged project - -# Microsoft cabinets -# by David Necas (Yeti) <yeti@physics.muni.cz> -#0 string MSCF\0\0\0\0 Microsoft cabinet file data, -#>25 byte x v%d -#>24 byte x \b.%d -# MPi: All CABs have version 1.3, so this is pointless. -# Better magic in debian-additions. - -# GTKtalog catalogs -# by David Necas (Yeti) <yeti@physics.muni.cz> -4 string gtktalog\ GTKtalog catalog data, ->13 string 3 version 3 ->>14 beshort 0x677a (gzipped) ->>14 beshort !0x677a (not gzipped) ->13 string >3 version %s - -############################################################################ -# Parity archive reconstruction file, the 'par' file format now used on Usenet. -0 string PAR\0 PARity archive data ->48 leshort =0 - Index file ->48 leshort >0 - file number %d - -# Felix von Leitner <felix-file@fefe.de> -0 string d8:announce BitTorrent file - -# Atari MSA archive - Teemu Hukkanen <tjhukkan@iki.fi> -0 beshort 0x0e0f Atari MSA archive data ->2 beshort x \b, %d sectors per track ->4 beshort 0 \b, 1 sided ->4 beshort 1 \b, 2 sided ->6 beshort x \b, starting track: %d ->8 beshort x \b, ending track: %d - -# Alternate ZIP string (amc@arwen.cs.berkeley.edu) -0 string PK00PK\003\004 Zip archive data - -# ACE archive (from http://www.wotsit.org/download.asp?f=ace) -# by Stefan `Sec` Zehl <sec@42.org> -7 string **ACE** ACE compressed archive ->15 byte >0 version %d ->16 byte =0x00 \b, from MS-DOS ->16 byte =0x01 \b, from OS/2 ->16 byte =0x02 \b, from Win/32 ->16 byte =0x03 \b, from Unix ->16 byte =0x04 \b, from MacOS ->16 byte =0x05 \b, from WinNT ->16 byte =0x06 \b, from Primos ->16 byte =0x07 \b, from AppleGS ->16 byte =0x08 \b, from Atari ->16 byte =0x09 \b, from Vax/VMS ->16 byte =0x0A \b, from Amiga ->16 byte =0x0B \b, from Next ->14 byte x \b, version %d to extract ->5 leshort &0x0080 \b, multiple volumes, ->>17 byte x \b (part %d), ->5 leshort &0x0002 \b, contains comment ->5 leshort &0x0200 \b, sfx ->5 leshort &0x0400 \b, small dictionary ->5 leshort &0x0800 \b, multi-volume ->5 leshort &0x1000 \b, contains AV-String ->>30 string\x16*UNREGISTERED\x20VERSION* (unregistered) ->5 leshort &0x2000 \b, with recovery record ->5 leshort &0x4000 \b, locked ->5 leshort &0x8000 \b, solid -# Date in MS-DOS format (whatever that is) -#>18 lelong x Created on - -# sfArk : compression program for Soundfonts (sf2) by Dirk Jagdmann -# <doj@cubic.org> -0x1A string sfArk sfArk compressed Soundfont ->0x15 string 2 ->>0x1 string >\0 Version %s ->>0x2A string >\0 : %s - -#------------------------------------------------------------------------------ -# citrus locale declaration -# - -0 string RuneCT Citrus locale declaration for LC_CTYPE - - -#------------------------------------------------------------------------------ -# compress: file(1) magic for pure-compression formats (no archives) -# -# compress, gzip, pack, compact, huf, squeeze, crunch, freeze, yabba, etc. -# -# Formats for various forms of compressed data -# Formats for "compress" proper have been moved into "compress.c", -# because it tries to uncompress it to figure out what's inside. - -# standard unix compress -0 string \037\235 compress'd data ->2 byte&0x80 >0 block compressed ->2 byte&0x1f x %d bits - -# gzip (GNU zip, not to be confused with Info-ZIP or PKWARE zip archiver) -# Edited by Chris Chittleborough <cchittleborough@yahoo.com.au>, March 2002 -# * Original filename is only at offset 10 if "extra field" absent -# * Produce shorter output - notably, only report compression methods -# other than 8 ("deflate", the only method defined in RFC 1952). -0 string \037\213 gzip compressed data ->2 byte <8 \b, reserved method ->2 byte >8 \b, unknown method ->3 byte &0x01 \b, ASCII ->3 byte &0x02 \b, continuation ->3 byte &0x04 \b, extra field ->3 byte&0xC =0x08 ->>10 string x \b, was "%s" ->9 byte =0x00 \b, from MS-DOS ->9 byte =0x01 \b, from Amiga ->9 byte =0x02 \b, from VMS ->9 byte =0x03 \b, from Unix ->9 byte =0x05 \b, from Atari ->9 byte =0x06 \b, from OS/2 ->9 byte =0x07 \b, from MacOS ->9 byte =0x0A \b, from Tops/20 ->9 byte =0x0B \b, from Win/32 ->3 byte &0x10 \b, comment ->3 byte &0x20 \b, encrypted -### >4 ledate x last modified: %s, ->8 byte 2 \b, max compression ->8 byte 4 \b, max speed - -# packed data, Huffman (minimum redundancy) codes on a byte-by-byte basis -0 string \037\036 packed data ->2 belong >1 \b, %d characters originally ->2 belong =1 \b, %d character originally -# -# This magic number is byte-order-independent. -0 short 0x1f1f old packed data - -# XXX - why *two* entries for "compacted data", one of which is -# byte-order independent, and one of which is byte-order dependent? -# -0 short 0x1fff compacted data -# This string is valid for SunOS (BE) and a matching "short" is listed -# in the Ultrix (LE) magic file. -0 string \377\037 compacted data -0 short 0145405 huf output - -# bzip2 -0 string BZh bzip2 compressed data ->3 byte >47 \b, block size = %c00k - -# squeeze and crunch -# Michael Haardt <michael@cantor.informatik.rwth-aachen.de> -0 beshort 0x76FF squeezed data, ->4 string x original name %s -0 beshort 0x76FE crunched data, ->2 string x original name %s -0 beshort 0x76FD LZH compressed data, ->2 string x original name %s - -# Freeze -0 string \037\237 frozen file 2.1 -0 string \037\236 frozen file 1.0 (or gzip 0.5) - -# SCO compress -H (LZH) -0 string \037\240 SCO compress -H (LZH) data - -# European GSM 06.10 is a provisional standard for full-rate speech -# transcoding, prI-ETS 300 036, which uses RPE/LTP (residual pulse -# excitation/long term prediction) coding at 13 kbit/s. -# -# There's only a magic nibble (4 bits); that nibble repeats every 33 -# bytes. This isn't suited for use, but maybe we can use it someday. -# -# This will cause very short GSM files to be declared as data and -# mismatches to be declared as data too! -#0 byte&0xF0 0xd0 data -#>33 byte&0xF0 0xd0 -#>66 byte&0xF0 0xd0 -#>99 byte&0xF0 0xd0 -#>132 byte&0xF0 0xd0 GSM 06.10 compressed audio - -# bzip a block-sorting file compressor -# by Julian Seward <sewardj@cs.man.ac.uk> and others -# -0 string BZ bzip compressed data ->2 byte x \b, version: %c ->3 string =1 \b, compression block size 100k ->3 string =2 \b, compression block size 200k ->3 string =3 \b, compression block size 300k ->3 string =4 \b, compression block size 400k ->3 string =5 \b, compression block size 500k ->3 string =6 \b, compression block size 600k ->3 string =7 \b, compression block size 700k ->3 string =8 \b, compression block size 800k ->3 string =9 \b, compression block size 900k - -# lzop from <markus.oberhumer@jk.uni-linz.ac.at> -0 string \x89\x4c\x5a\x4f\x00\x0d\x0a\x1a\x0a lzop compressed data ->9 beshort <0x0940 ->>9 byte&0xf0 =0x00 - version 0. ->>9 beshort&0x0fff x \b%03x, ->>13 byte 1 LZO1X-1, ->>13 byte 2 LZO1X-1(15), ->>13 byte 3 LZO1X-999, -## >>22 bedate >0 last modified: %s, ->>14 byte =0x00 os: MS-DOS ->>14 byte =0x01 os: Amiga ->>14 byte =0x02 os: VMS ->>14 byte =0x03 os: Unix ->>14 byte =0x05 os: Atari ->>14 byte =0x06 os: OS/2 ->>14 byte =0x07 os: MacOS ->>14 byte =0x0A os: Tops/20 ->>14 byte =0x0B os: WinNT ->>14 byte =0x0E os: Win32 ->9 beshort >0x0939 ->>9 byte&0xf0 =0x00 - version 0. ->>9 byte&0xf0 =0x10 - version 1. ->>9 byte&0xf0 =0x20 - version 2. ->>9 beshort&0x0fff x \b%03x, ->>15 byte 1 LZO1X-1, ->>15 byte 2 LZO1X-1(15), ->>15 byte 3 LZO1X-999, -## >>25 bedate >0 last modified: %s, ->>17 byte =0x00 os: MS-DOS ->>17 byte =0x01 os: Amiga ->>17 byte =0x02 os: VMS ->>17 byte =0x03 os: Unix ->>17 byte =0x05 os: Atari ->>17 byte =0x06 os: OS/2 ->>17 byte =0x07 os: MacOS ->>17 byte =0x0A os: Tops/20 ->>17 byte =0x0B os: WinNT ->>17 byte =0x0E os: Win32 - -# 4.3BSD-Quasijarus Strong Compression -# http://minnie.tuhs.org/Quasijarus/compress.html -0 string \037\241 Quasijarus strong compressed data - -# From: Cory Dikkers <cdikkers@swbell.net> -0 string XPKF Amiga xpkf.library compressed data -0 string PP11 Power Packer 1.1 compressed data -0 string PP20 Power Packer 2.0 compressed data, ->4 belong 0x09090909 fast compression ->4 belong 0x090A0A0A mediocre compression ->4 belong 0x090A0B0B good compression ->4 belong 0x090A0C0C very good compression ->4 belong 0x090A0C0D best compression - -# 7z archiver, from Thomas Klausner (wiz@danbala.tuwien.ac.at) -# http://www.7-zip.org or DOC/7zFormat.txt -# -0 string 7z\274\257\047\034 7z archive data, ->6 byte x version %d ->7 byte x \b.%d - -# AFX compressed files (Wolfram Kleff) -2 string -afx- AFX compressed file data - -#------------------------------------------------------------------------------ -# fsav: file(1) magic for datafellows fsav virus definition files -# Anthon van der Neut (anthon@mnt.org) -0 beshort 0x1575 fsav (linux) macro virus ->8 leshort >0 (%d- ->11 byte >0 \b%02d- ->10 byte >0 \b%02d) - -# comment this out for now because it regognizes every file where -# the eighth character is \n -#8 byte 0x0a -#>12 byte 0x07 -#>11 leshort >0 fsav (linux) virus (%d- -#>10 byte 0 \b01- -#>10 byte 1 \b02- -#>10 byte 2 \b03- -#>10 byte 3 \b04- -#>10 byte 4 \b05- -#>10 byte 5 \b06- -#>10 byte 6 \b07- -#>10 byte 7 \b08- -#>10 byte 8 \b08- -#>10 byte 9 \b10- -#>10 byte 10 \b11- -#>10 byte 11 \b12- -#>9 byte >0 \b%02d) - -#------------------------------------------------------------------------------ -# GEOS files (Vidar Madsen, vidar@gimp.org) -# semi-commonly used in embedded and handheld systems. -0 belong 0xc745c153 GEOS ->40 byte 1 executable ->40 byte 2 VMFile ->40 byte 3 binary ->40 byte 4 directory label ->40 byte <1 unknown ->40 byte >4 unknown ->4 string >\0 \b, name "%s" -#>44 short x \b, version %d -#>46 short x \b.%d -#>48 short x \b, rev %d -#>50 short x \b.%d -#>52 short x \b, proto %d -#>54 short x \br%d -#>168 string >\0 \b, copyright "%s" -#------------------------------------------------------------ -# Java ByteCode -# From Larry Schwimmer (schwim@cs.stanford.edu) -0 belong 0xcafebabe compiled Java class data, ->6 beshort x version %d. ->4 beshort x \b%d -#------------------------------------------------------------ -# Java serialization -# From Martin Pool (m.pool@pharos.com.au) -0 beshort 0xaced Java serialization data ->2 beshort >0x0004 \b, version %d - -#------------------------------------------------------------------------------ -# mlssa: file(1) magic for MLSSA datafiles -# -0 lelong 0xffffabcd MLSSA datafile, ->4 leshort x algorithm %d, ->10 lelong x %d samples - -#------------------------------------------------------------------------------ -# mmdf: file(1) magic for MMDF mail files -# -0 string \001\001\001\001 MMDF mailbox - -#------------------------------------------------------------------------------ -# msdos: file(1) magic for MS-DOS files -# - -# .BAT files (Daniel Quinlan, quinlan@yggdrasil.com) -0 string/c @echo\ off MS-DOS batch file text - -# XXX - according to Microsoft's spec, at an offset of 0x3c in a -# PE-format executable is the offset in the file of the PE header; -# unfortunately, that's a little-endian offset, and there's no way -# to specify an indirect offset with a specified byte order. -# So, for now, we assume the standard MS-DOS stub, which puts the -# PE header at 0x80 = 128. -# -# Required OS version and subsystem version were 4.0 on some NT 3.51 -# executables built with Visual C++ 4.0, so it's not clear that -# they're interesting. The user version was 0.0, but there's -# probably some linker directive to set it. The linker version was -# 3.0, except for one ".exe" which had it as 4.20 (same damn linker!). -# -128 string PE\0\0 MS Windows PE ->150 leshort&0x0100 >0 32-bit ->132 leshort 0x0 unknown processor ->132 leshort 0x14c Intel 80386 ->132 leshort 0x166 MIPS R4000 ->132 leshort 0x184 Alpha ->132 leshort 0x268 Motorola 68000 ->132 leshort 0x1f0 PowerPC ->132 leshort 0x290 PA-RISC ->148 leshort >27 ->>220 leshort 0 unknown subsystem ->>220 leshort 1 native ->>220 leshort 2 GUI ->>220 leshort 3 console ->>220 leshort 7 POSIX ->150 leshort&0x2000 =0 executable -#>>136 ledate x stamp %s, ->>150 leshort&0x0001 >0 not relocatable -#>>150 leshort&0x0004 =0 with line numbers, -#>>150 leshort&0x0008 =0 with local symbols, -#>>150 leshort&0x0200 =0 with debug symbols, ->>150 leshort&0x1000 >0 system file -#>>148 leshort >0 -#>>>154 byte x linker %d -#>>>155 byte x \b.%d, -#>>148 leshort >27 -#>>>192 leshort x requires OS %d -#>>>194 leshort x \b.%d, -#>>>196 leshort x user version %d -#>>>198 leshort x \b.%d, -#>>>200 leshort x subsystem version %d -#>>>202 leshort x \b.%d, ->150 leshort&0x2000 >0 DLL -#>>136 ledate x stamp %s, ->>150 leshort&0x0001 >0 not relocatable -#>>150 leshort&0x0004 =0 with line numbers, -#>>150 leshort&0x0008 =0 with local symbols, -#>>150 leshort&0x0200 =0 with debug symbols, ->>150 leshort&0x1000 >0 system file -#>>148 leshort >0 -#>>>154 byte x linker %d -#>>>155 byte x \b.%d, -#>>148 leshort >27 -#>>>192 leshort x requires OS %d -#>>>194 leshort x \b.%d, -#>>>196 leshort x user version %d -#>>>198 leshort x \b.%d, -#>>>200 leshort x subsystem version %d -#>>>202 leshort x \b.%d, -0 leshort 0x14c MS Windows COFF Intel 80386 object file -#>4 ledate x stamp %s -0 leshort 0x166 MS Windows COFF MIPS R4000 object file -#>4 ledate x stamp %s -0 leshort 0x184 MS Windows COFF Alpha object file -#>4 ledate x stamp %s -0 leshort 0x268 MS Windows COFF Motorola 68000 object file -#>4 ledate x stamp %s -0 leshort 0x1f0 MS Windows COFF PowerPC object file -#>4 ledate x stamp %s -0 leshort 0x290 MS Windows COFF PA-RISC object file -#>4 ledate x stamp %s - -# .EXE formats (Greg Roelofs, newt@uchicago.edu) -# -0 string MZ MS-DOS executable (EXE) ->24 string @ \b, OS/2 or MS Windows ->>0xe7 string LH/2\ Self-Extract \b, %s ->>0xe9 string PKSFX2 \b, %s ->>122 string Windows\ self-extracting\ ZIP \b, %s ->0x1c string RJSX\xff\xff \b, ARJ SFX ->0x1c string diet\xf9\x9c \b, diet compressed ->0x1c string LZ09 \b, LZEXE v0.90 compressed ->0x1c string LZ91 \b, LZEXE v0.91 compressed ->0x1e string Copyright\ 1989-1990\ PKWARE\ Inc. \b, PKSFX -# JM: 0x1e "PKLITE Copr. 1990-92 PKWARE Inc. All Rights Reserved\7\0\0\0" ->0x1e string PKLITE\ Copr. \b, %.6s compressed ->0x24 string LHa's\ SFX \b, %.15s ->0x24 string LHA's\ SFX \b, %.15s ->1638 string -lh5- \b, LHa SFX archive v2.13S ->7195 string Rar! \b, RAR self-extracting archive -# -# [GRR 950118: file 3.15 has a buffer-size limitation; offsets bigger than -# 8161 bytes are ignored. To make the following entries work, increase -# HOWMANY in file.h to 32K at least, and maybe to 70K or more for OS/2, -# NT/Win32 and VMS.] -# [GRR: some company sells a self-extractor/displayer for image data(!)] -# ->11696 string PK\003\004 \b, PKZIP SFX archive v1.1 ->13297 string PK\003\004 \b, PKZIP SFX archive v1.93a ->15588 string PK\003\004 \b, PKZIP2 SFX archive v1.09 ->15770 string PK\003\004 \b, PKZIP SFX archive v2.04g ->28374 string PK\003\004 \b, PKZIP2 SFX archive v1.02 -# -# Info-ZIP self-extractors -# these are the DOS versions: ->25115 string PK\003\004 \b, Info-ZIP SFX archive v5.12 ->26331 string PK\003\004 \b, Info-ZIP SFX archive v5.12 w/decryption -# these are the OS/2 versions (OS/2 is flagged above): ->47031 string PK\003\004 \b, Info-ZIP SFX archive v5.12 ->49845 string PK\003\004 \b, Info-ZIP SFX archive v5.12 w/decryption -# this is the NT/Win32 version: ->69120 string PK\003\004 \b, Info-ZIP NT SFX archive v5.12 w/decryption -# -# TELVOX Teleinformatica CODEC self-extractor for OS/2: ->49801 string \x79\xff\x80\xff\x76\xff \b, CODEC archive v3.21 ->>49824 leshort =1 \b, 1 file ->>49824 leshort >1 \b, %u files - -# .COM formats (Daniel Quinlan, quinlan@yggdrasil.com) -# Uncommenting only the first two lines will cover about 2/3 of COM files, -# but it isn't feasible to match all COM files since there must be at least -# two dozen different one-byte "magics". -#0 byte 0xe9 MS-DOS executable (COM) -#>6 string SFX\ of\ LHarc (%s) -#0 byte 0x8c MS-DOS executable (COM) -# 0xeb conflicts with "sequent" magic -#0 byte 0xeb MS-DOS executable (COM) -#0 byte 0xb8 MS-DOS executable (COM) - -# miscellaneous formats -0 string LZ MS-DOS executable (built-in) -#0 byte 0xf0 MS-DOS program library data -# - -# -# Windows Registry files. -# -0 string regf Windows NT registry file -0 string CREG Windows 95 registry file - - -# AAF files: -# <stuartc@rd.bbc.co.uk> Stuart Cunningham -0 string \320\317\021\340\241\261\032\341AAFB\015\000OM\006\016\053\064\001\001\001\377 AAF legacy file using MS Structured Storage ->30 byte 9 (512B sectors) ->30 byte 12 (4kB sectors) -0 string \320\317\021\340\241\261\032\341\001\002\001\015\000\002\000\000\006\016\053\064\003\002\001\001 AAF file using MS Structured Storage ->30 byte 9 (512B sectors) ->30 byte 12 (4kB sectors) - -# Popular applications -2080 string Microsoft\ Word\ 6.0\ Document %s -2080 string Documento\ Microsoft\ Word\ 6 Spanish Microsoft Word 6 document data -# Pawel Wiecek <coven@i17linuxb.ists.pwr.wroc.pl> (for polish Word) -2112 string MSWordDoc Microsoft Word document data -# -0 belong 0x31be0000 Microsoft Word Document -# -0 string PO^Q` Microsoft Word 6.0 Document -# -0 string \376\067\0\043 Microsoft Office Document -0 string \320\317\021\340\241\261\032\341 Microsoft Office Document -0 string \333\245-\0\0\0 Microsoft Office Document -# -2080 string Microsoft\ Excel\ 5.0\ Worksheet %s -2080 string Foglio\ di\ lavoro\ Microsoft\ Exce %s -# -# Pawel Wiecek <coven@i17linuxb.ists.pwr.wroc.pl> (for polish Excel) -2114 string Biff5 Microsoft Excel 5.0 Worksheet -# Italian MS-Excel -2121 string Biff5 Microsoft Excel 5.0 Worksheet -0 string \x09\x04\x06\x00\x00\x00\x10\x00 Microsoft Excel Worksheet -# -0 belong 0x00001a00 Lotus 1-2-3 ->4 belong 0x00100400 wk3 document data ->4 belong 0x02100400 wk4 document data ->4 belong 0x07800100 fm3 or fmb document data ->4 belong 0x07800000 fm3 or fmb document data -# -0 belong 0x00000200 Lotus 1-2-3 ->4 belong 0x06040600 wk1 document data ->4 belong 0x06800200 fmt document data - -# Help files -0 string ?_\3\0 MS Windows Help Data - -# DeIsL1.isu what this is I don't know -0 string \161\250\000\000\001\002 DeIsL1.isu whatever that is - -# Winamp .avs -#0 string Nullsoft\ AVS\ Preset\ \060\056\061\032 A plug in for Winamp ms-windows Freeware media player -0 string Nullsoft\ AVS\ Preset\ Winamp plug in - -# Hyper terminal: -0 string HyperTerminal\ hyperterm ->15 string 1.0\ --\ HyperTerminal\ data\ file MS-windows Hyperterminal - -# Windows Metafont .WMF -0 string \327\315\306\232\000\000\000\000\000\000 ms-windows metafont .wmf - -#tz3 files whatever that is (MS Works files) -0 string \003\001\001\004\070\001\000\000 tz3 ms-works file -0 string \003\002\001\004\070\001\000\000 tz3 ms-works file -0 string \003\003\001\004\070\001\000\000 tz3 ms-works file - -# PGP sig files .sig -#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 -0 string \211\000\077\003\005\000\063\237\127\065\027\266\151\064\005\045\101\233\021\002 PGP sig -0 string \211\000\077\003\005\000\063\237\127\066\027\266\151\064\005\045\101\233\021\002 PGP sig -0 string \211\000\077\003\005\000\063\237\127\067\027\266\151\064\005\045\101\233\021\002 PGP sig -0 string \211\000\077\003\005\000\063\237\127\070\027\266\151\064\005\045\101\233\021\002 PGP sig -0 string \211\000\077\003\005\000\063\237\127\071\027\266\151\064\005\045\101\233\021\002 PGP sig -0 string \211\000\225\003\005\000\062\122\207\304\100\345\042 PGP sig - -# windows zips files .dmf -0 string MDIF\032\000\010\000\000\000\372\046\100\175\001\000\001\036\001\000 Ms-windows special zipped file - - -# Windows help file FTG FTS -0 string \164\146\115\122\012\000\000\000\001\000\000\000 ms-windows help cache - -# grp old windows 3.1 group files -0 string \120\115\103\103 Ms-windows 3.1 group files - - -# lnk files windows symlinks -0 string \114\000\000\000\001\024\002\000\000\000\000\000\300\000\000\000\000\000\000\106 ms-Windows shortcut - -#ico files -0 string \102\101\050\000\000\000\056\000\000\000\000\000\000\000 Icon for ms-windows - -# Windows icons (Ian Springer <ips@fpk.hp.com>) -0 string \000\000\001\000 ms-windows icon resource ->4 byte 1 - 1 icon ->4 byte >1 - %d icons ->>6 byte >0 \b, %dx ->>>7 byte >0 \b%d ->>8 byte 0 \b, 256-colors ->>8 byte >0 \b, %d-colors - - -# .chr files -0 string PK\010\010BGI Borland font ->4 string >\0 %s -# then there is a copyright notice - - -# .bgi files -0 string pk\010\010BGI Borland device ->4 string >\0 %s -# then there is a copyright notice - - -# recycled/info the windows trash bin index -9 string \000\000\000\030\001\000\000\000 ms-windows recycled bin info - - -##### put in Either Magic/font or Magic/news -# Acroread or something files wrongly identified as G3 .pfm -# these have the form \000 \001 any? \002 \000 \000 -# or \000 \001 any? \022 \000 \000 -#0 string \000\001 pfm? -#>3 string \022\000\000Copyright\ yes -#>3 string \002\000\000Copyright\ yes -#>3 string >\0 oops, not a font file. Cancel that. -#it clashes with ttf files so put it lower down. - -# From Doug Lee via a FreeBSD pr -9 string GERBILDOC First Choice document -9 string GERBILDB First Choice database -9 string GERBILCLIP First Choice database -0 string GERBIL First Choice device file -9 string RABBITGRAPH RabbitGraph file -0 string DCU1 Borland Delphi .DCU file -0 string !<spell> MKS Spell hash list (old format) -0 string !<spell2> MKS Spell hash list -# Too simple - MPi -#0 string AH Halo(TM) bitmapped font file -0 lelong 0x08086b70 TurboC BGI file -0 lelong 0x08084b50 TurboC Font file - -# WARNING: below line conflicts with Infocom game data Z-machine 3 -0 byte 0x03 DBase 3 data file ->0x04 lelong 0 (no records) ->0x04 lelong >0 (%ld records) -0 byte 0x83 DBase 3 data file with memo(s) ->0x04 lelong 0 (no records) ->0x04 lelong >0 (%ld records) -0 leshort 0x0006 DBase 3 index file -0 string PMCC Windows 3.x .GRP file -1 string RDC-meg MegaDots ->8 byte >0x2F version %c ->9 byte >0x2F \b.%c file -0 lelong 0x4C ->4 lelong 0x00021401 Windows shortcut file - -# DOS EPS Binary File Header -# From: Ed Sznyter <ews@Black.Market.NET> -0 belong 0xC5D0D3C6 DOS EPS Binary File ->4 long >0 Postscript starts at byte %d ->>8 long >0 length %d ->>>12 long >0 Metafile starts at byte %d ->>>>16 long >0 length %d ->>>20 long >0 TIFF starts at byte %d ->>>>24 long >0 length %d - -# TNEF magic From "Joomy" <joomy@se-ed.net> -0 leshort 0x223e9f78 TNEF - -# HtmlHelp files (.chm) -0 string ITSF\003\000\000\000\x60\000\000\000\001\000\000\000 MS Windows HtmlHelp Data - -# GFA-BASIC (Wolfram Kleff) -2 string GFA-BASIC3 GFA-BASIC 3 data - -# DJGPP compiled files -# v >2, uses DPMI & small(2k) stub (Robert vd Boon, rjvdboon@europe.com) -0x200 string go32stub DOS-executable compiled w/DJGPP ->0x20c string >0 (stub v%.4s) ->>0x8b2 string djp [compressed w/%s ->>>&1 string >\0 %.4s] ->>0x8ad string UPX [compressed w/%s ->>>&1 string >\0 %.4s] ->>0x1c string pmodedj stubbed with %s - -# QDOS -4 belong 0x4AFB QDOS executable ->9 pstring x '%s' -0 beshort 0xFB01 QDOS object ->2 pstring x '%s' - -#------------------------------------------------------------------------------ -# From Stuart Caie <kyzer@4u.net> (developer of cabextract) -# Microsoft Cabinet files -0 string MSCF\0\0\0\0 Microsoft Cabinet file ->8 lelong x \b, %u bytes ->28 leshort 1 \b, 1 file ->28 leshort >1 \b, %u files - -# InstallShield Cabinet files -0 string ISc( InstallShield Cabinet file ->5 byte&0xf0 =0x60 version 6, ->5 byte&0xf0 !0x60 version 4/5, ->(12.l+40) lelong x %u files - -# Windows CE package files -0 string MSCE\0\0\0\0 Microsoft WinCE install header ->20 lelong 0 \b, architecture-independent ->20 lelong 103 \b, Hitachi SH3 ->20 lelong 104 \b, Hitachi SH4 ->20 lelong 0xA11 \b, StrongARM ->20 lelong 4000 \b, MIPS R4000 ->20 lelong 10003 \b, Hitachi SH3 ->20 lelong 10004 \b, Hitachi SH3E ->20 lelong 10005 \b, Hitachi SH4 ->20 lelong 70001 \b, ARM 7TDMI ->52 leshort 1 \b, 1 file ->52 leshort >1 \b, %u files ->56 leshort 1 \b, 1 registry entry ->56 leshort >1 \b, %u registry entries - -# Outlook Personal Folders -0 lelong 0x4E444221 Microsoft Outlook binary email folder - -# From: Dirk Jagdmann <doj@cubic.org> -0 lelong 0x00035f3f Windows 3.x help file - -# Christophe Monniez -0 string Client\ UrlCache\ MMF Microsoft Internet Explorer Cache File ->20 string >\0 Version %s -0 string \xCF\xAD\x12\xFE Microsoft Outlook Express DBX File ->4 byte =0xC5 Message database ->4 byte =0xC6 Folder database ->4 byte =0xC7 Accounts informations ->4 byte =0x30 Offline database - - -# Windows Enhanced Metafile (EMF) -# See msdn.microsoft.com/archive/en-us/dnargdi/html/msdn_enhmeta.asp -# for further information. Note that "0 lelong 1" should be true i.e. -# the first double word in the file should be 1. With the extended -# syntax available by some file commands you could write: -# 0 lelong 1 -# &40 ulelong 0x464D4520 Windows Enhanced Metafile (EMF) image data -40 ulelong 0x464D4520 Windows Enhanced Metafile (EMF) image data ->44 ulelong x version 0x%x. -# If the description has a length greater than zero, it exists and is -# found at offset (*64). ->64 ulelong >0 Description available at offset 0x%x ->>60 ulelong >0 (length 0x%x) -# Note it would be better to print out the description, which is found -# as below. Unfortunately the following only prints out the first couple -# of characters instead of all the "description length" -# number of characters -- indicated by the ulelong at offset 60. ->>(64.l) lestring16 >0 Description: %15.15s -#WordPerfect type files Version 1.6 - PLEASE DO NOT REMOVE THIS LINE -0 string \377WPC\020\000\000\000\022\012\001\001\000\000\000\000 (WP) loadable text ->15 byte 0 Optimized for Intel ->15 byte 1 Optimized for Non-Intel -1 string WPC (Corel/WP) ->8 short 257 WordPerfect macro ->8 short 258 WordPerfect help file ->8 short 259 WordPerfect keyboard file ->8 short 266 WordPerfect document ->8 short 267 WordPerfect dictionary ->8 short 268 WordPerfect thesaurus ->8 short 269 WordPerfect block ->8 short 270 WordPerfect rectangular block ->8 short 271 WordPerfect column block ->8 short 272 WordPerfect printer data ->8 short 275 WordPerfect printer data ->8 short 276 WordPerfect driver resource data ->8 short 279 WordPerfect hyphenation code ->8 short 280 WordPerfect hyphenation data ->8 short 281 WordPerfect macro resource data ->8 short 283 WordPerfect hyphenation lex ->8 short 285 WordPerfect wordlist ->8 short 286 WordPerfect equation resource data ->8 short 289 WordPerfect spell rules ->8 short 290 WordPerfect dictionary rules ->8 short 295 WordPerfect spell rules (Microlytics) ->8 short 299 WordPerfect settings file ->8 short 301 WordPerfect 4.2 document ->8 short 325 WordPerfect dialog file ->8 short 332 WordPerfect button bar ->8 short 513 Shell macro ->8 short 522 Shell definition ->8 short 769 Notebook macro ->8 short 770 Notebook help file ->8 short 771 Notebook keyboard file ->8 short 778 Notebook definition ->8 short 1026 Calculator help file ->8 short 1538 Calendar help file ->8 short 1546 Calendar data file ->8 short 1793 Editor macro ->8 short 1794 Editor help file ->8 short 1795 Editor keyboard file ->8 short 1817 Editor macro resource file ->8 short 2049 Macro editor macro ->8 short 2050 Macro editor help file ->8 short 2051 Macro editor keyboard file ->8 short 2305 PlanPerfect macro ->8 short 2306 PlanPerfect help file ->8 short 2307 PlanPerfect keyboard file ->8 short 2314 PlanPerfect worksheet ->8 short 2319 PlanPerfect printer definition ->8 short 2322 PlanPerfect graphic definition ->8 short 2323 PlanPerfect data ->8 short 2324 PlanPerfect temporary printer ->8 short 2329 PlanPerfect macro resource data ->8 byte 11 Mail ->8 short 2818 help file ->8 short 2821 distribution list ->8 short 2826 out box ->8 short 2827 in box ->8 short 2836 users archived mailbox ->8 short 2837 archived message database ->8 short 2838 archived attachments ->8 short 3083 Printer temporary file ->8 short 3330 Scheduler help file ->8 short 3338 Scheduler in file ->8 short 3339 Scheduler out file ->8 short 3594 GroupWise settings file ->8 short 3601 GroupWise directory services ->8 short 3627 GroupWise settings file ->8 short 4362 Terminal resource data ->8 short 4363 Terminal resource data ->8 short 4395 Terminal resource data ->8 short 4619 GUI loadable text ->8 short 4620 graphics resource data ->8 short 4621 printer settings file ->8 short 4622 port definition file ->8 short 4623 print queue parameters ->8 short 4624 compressed file ->8 short 5130 Network service msg file ->8 short 5131 Network service msg file ->8 short 5132 Async gateway login msg ->8 short 5134 GroupWise message file ->8 short 7956 GroupWise admin domain database ->8 short 7957 GroupWise admin host database ->8 short 7959 GroupWise admin remote host database ->8 short 7960 GroupWise admin ADS deferment data file ->8 short 8458 IntelliTAG (SGML) compiled DTD ->8 long 18219264 WordPerfect graphic image (1.0) ->8 long 18219520 WordPerfect graphic image (2.0) -#end of WordPerfect type files Version 1.6 - PLEASE DO NOT REMOVE THIS LINE - -#------------------------------------------------------------------------------ -# rtf: file(1) magic for Rich Text Format (RTF) -# -# Duncan P. Simpson, D.P.Simpson@dcs.warwick.ac.uk -# -0 string {\\rtf Rich Text Format data, ->5 byte x version %c, ->6 string \\ansi ANSI ->6 string \\mac Apple Macintosh ->6 string \\pc IBM PC, code page 437 ->6 string \\pca IBM PS/2, code page 850 - -#------------------------------------------------------------------------------ -# animation: file(1) magic for animation/movie formats -# -# animation formats -# MPEG, FLI, DL originally from vax@ccwf.cc.utexas.edu (VaX#n8) -# FLC, SGI, Apple originally from Daniel Quinlan (quinlan@yggdrasil.com) - -# MPEG sequences -# Scans for all common MPEG header start codes -0 belong&0xFFFFFF00 0x00000100 MPEG sequence ->3 byte 0xBA ->>4 byte &0x40 \b, v2, program multiplex ->>4 byte ^0x40 \b, v1, system multiplex ->3 byte 0xBB \b, v1/2, multiplex (missing pack header) ->3 byte 0xB0 \b, v4 ->>5 belong 0x000001B5 ->>>9 byte &0x80 ->>>>10 byte&0xF0 16 \b, video ->>>>10 byte&0xF0 32 \b, still texture ->>>>10 byte&0xF0 48 \b, mesh ->>>>10 byte&0xF0 64 \b, face ->>>9 byte ^0x80 ->>>>9 byte&0xF8 8 \b, video ->>>>9 byte&0xF8 16 \b, still texture ->>>>9 byte&0xF8 24 \b, mesh ->>>>9 byte&0xF8 32 \b, face ->>4 byte 1 \b, simple @ L1 ->>4 byte 2 \b, simple @ L2 ->>4 byte 3 \b, simple @ L3 ->>4 byte 4 \b, simple @ L0 ->>4 byte 17 \b, simple scalable @ L1 ->>4 byte 18 \b, simple scalable @ L2 ->>4 byte 33 \b, core @ L1 ->>4 byte 34 \b, core @ L2 ->>4 byte 50 \b, main @ L2 ->>4 byte 51 \b, main @ L3 ->>4 byte 53 \b, main @ L4 ->>4 byte 66 \b, n-bit @ L2 ->>4 byte 81 \b, scalable texture @ L1 ->>4 byte 97 \b, simple face animation @ L1 ->>4 byte 98 \b, simple face animation @ L2 ->>4 byte 99 \b, simple face basic animation @ L1 ->>4 byte 100 \b, simple face basic animation @ L2 ->>4 byte 113 \b, basic animation text @ L1 ->>4 byte 114 \b, basic animation text @ L2 ->>4 byte 129 \b, hybrid @ L1 ->>4 byte 130 \b, hybrid @ L2 ->>4 byte 145 \b, advanced RT simple @ L! ->>4 byte 146 \b, advanced RT simple @ L2 ->>4 byte 147 \b, advanced RT simple @ L3 ->>4 byte 148 \b, advanced RT simple @ L4 ->>4 byte 161 \b, core scalable @ L1 ->>4 byte 162 \b, core scalable @ L2 ->>4 byte 163 \b, core scalable @ L3 ->>4 byte 177 \b, advanced coding efficiency @ L1 ->>4 byte 178 \b, advanced coding efficiency @ L2 ->>4 byte 179 \b, advanced coding efficiency @ L3 ->>4 byte 180 \b, advanced coding efficiency @ L4 ->>4 byte 193 \b, advanced core @ L1 ->>4 byte 194 \b, advanced core @ L2 ->>4 byte 209 \b, advanced scalable texture @ L1 ->>4 byte 210 \b, advanced scalable texture @ L2 ->>4 byte 211 \b, advanced scalable texture @ L3 ->>4 byte 225 \b, simple studio @ L1 ->>4 byte 226 \b, simple studio @ L2 ->>4 byte 227 \b, simple studio @ L3 ->>4 byte 228 \b, simple studio @ L4 ->>4 byte 229 \b, core studio @ L1 ->>4 byte 230 \b, core studio @ L2 ->>4 byte 231 \b, core studio @ L3 ->>4 byte 232 \b, core studio @ L4 ->>4 byte 240 \b, advanced simple @ L0 ->>4 byte 241 \b, advanced simple @ L1 ->>4 byte 242 \b, advanced simple @ L2 ->>4 byte 243 \b, advanced simple @ L3 ->>4 byte 244 \b, advanced simple @ L4 ->>4 byte 245 \b, advanced simple @ L5 ->>4 byte 247 \b, advanced simple @ L3b ->>4 byte 248 \b, FGS @ L0 ->>4 byte 249 \b, FGS @ L1 ->>4 byte 250 \b, FGS @ L2 ->>4 byte 251 \b, FGS @ L3 ->>4 byte 252 \b, FGS @ L4 ->>4 byte 253 \b, FGS @ L5 ->3 byte 0xB5 \b, v4 ->>4 byte &0x80 ->>>5 byte&0xF0 16 \b, video (missing profile header) ->>>5 byte&0xF0 32 \b, still texture (missing profile header) ->>>5 byte&0xF0 48 \b, mesh (missing profile header) ->>>5 byte&0xF0 64 \b, face (missing profile header) ->>4 byte ^0x80 ->>>4 byte&0xF8 8 \b, video (missing profile header) ->>>4 byte&0xF8 16 \b, still texture (missing profile header) ->>>4 byte&0xF8 24 \b, mesh (missing profile header) ->>>4 byte&0xF8 32 \b, face (missing profile header) ->3 byte 0xB3 ->>12 belong 0x000001B8 \b, v1, progressive Y'CbCr 4:2:0 video ->>12 belong 0x000001B2 \b, v1, progressive Y'CbCr 4:2:0 video ->>12 belong 0x000001B5 \b, v2, ->>>16 byte&0x0F 1 \b HP ->>>16 byte&0x0F 2 \b Spt ->>>16 byte&0x0F 3 \b SNR ->>>16 byte&0x0F 4 \b MP ->>>16 byte&0x0F 5 \b SP ->>>17 byte&0xF0 64 \b@HL ->>>17 byte&0xF0 96 \b@H-14 ->>>17 byte&0xF0 128 \b@ML ->>>17 byte&0xF0 160 \b@LL ->>>17 byte &0x08 \b progressive ->>>17 byte ^0x08 \b interlaced ->>>17 byte&0x06 2 \b Y'CbCr 4:2:0 video ->>>17 byte&0x06 4 \b Y'CbCr 4:2:2 video ->>>17 byte&0x06 6 \b Y'CbCr 4:4:4 video ->>11 byte &0x02 ->>>75 byte &0x01 ->>>>140 belong 0x000001B8 \b, v1, progressive Y'CbCr 4:2:0 video ->>>>140 belong 0x000001B2 \b, v1, progressive Y'CbCr 4:2:0 video ->>>>140 belong 0x000001B5 \b, v2, ->>>>>144 byte&0x0F 1 \b HP ->>>>>144 byte&0x0F 2 \b Spt ->>>>>144 byte&0x0F 3 \b SNR ->>>>>144 byte&0x0F 4 \b MP ->>>>>144 byte&0x0F 5 \b SP ->>>>>145 byte&0xF0 64 \b@HL ->>>>>145 byte&0xF0 96 \b@H-14 ->>>>>145 byte&0xF0 128 \b@ML ->>>>>145 byte&0xF0 160 \b@LL ->>>>>145 byte &0x08 \b progressive ->>>>>145 byte ^0x08 \b interlaced ->>>>>145 byte&0x06 2 \b Y'CbCr 4:2:0 video ->>>>>145 byte&0x06 4 \b Y'CbCr 4:2:2 video ->>>>>145 byte&0x06 6 \b Y'CbCr 4:4:4 video ->>>76 belong 0x000001B8 \b, v1, progressive Y'CbCr 4:2:0 video ->>>76 belong 0x000001B2 \b, v1, progressive Y'CbCr 4:2:0 video ->>>76 belong 0x000001B5 \b, v2, ->>>80 byte&0x0F 1 \b HP ->>>80 byte&0x0F 2 \b Spt ->>>80 byte&0x0F 3 \b SNR ->>>80 byte&0x0F 4 \b MP ->>>80 byte&0x0F 5 \b SP ->>>81 byte&0xF0 64 \b@HL ->>>81 byte&0xF0 96 \b@H-14 ->>>81 byte&0xF0 128 \b@ML ->>>81 byte&0xF0 160 \b@LL ->>>81 byte &0x08 \b progressive ->>>81 byte ^0x08 \b interlaced ->>>81 byte&0x06 2 \b Y'CbCr 4:2:0 video ->>>81 byte&0x06 4 \b Y'CbCr 4:2:2 video ->>>81 byte&0x06 6 \b Y'CbCr 4:4:4 video ->>4 belong&0xFFFFFF00 0x78043800 \b, HD-TV 1920P ->>>7 byte&0xF0 0x10 \b, 16:9 ->>4 belong&0xFFFFFF00 0x50002D00 \b, SD-TV 1280I ->>>7 byte&0xF0 0x10 \b, 16:9 ->>4 belong&0xFFFFFF00 0x30024000 \b, PAL Capture ->>>7 byte&0xF0 0x10 \b, 4:3 ->>4 beshort&0xFFF0 0x2C00 \b, 4CIF ->>>5 beshort&0x0FFF 0x01E0 \b NTSC ->>>5 beshort&0x0FFF 0x0240 \b PAL ->>>7 byte&0xF0 0x20 \b, 4:3 ->>>7 byte&0xF0 0x30 \b, 16:9 ->>>7 byte&0xF0 0x40 \b, 11:5 ->>>7 byte&0xF0 0x80 \b, PAL 4:3 ->>>7 byte&0xF0 0xC0 \b, NTSC 4:3 ->>4 belong&0xFFFFFF00 0x2801E000 \b, LD-TV 640P ->>>7 byte&0xF0 0x10 \b, 4:3 ->>4 belong&0xFFFFFF00 0x1400F000 \b, 320x240 ->>>7 byte&0xF0 0x10 \b, 4:3 ->>4 belong&0xFFFFFF00 0x0F00A000 \b, 240x160 ->>>7 byte&0xF0 0x10 \b, 4:3 ->>4 belong&0xFFFFFF00 0x0A007800 \b, 160x120 ->>>7 byte&0xF0 0x10 \b, 4:3 ->>4 beshort&0xFFF0 0x1600 \b, CIF ->>>5 beshort&0x0FFF 0x00F0 \b NTSC ->>>5 beshort&0x0FFF 0x0120 \b PAL ->>>7 byte&0xF0 0x20 \b, 4:3 ->>>7 byte&0xF0 0x30 \b, 16:9 ->>>7 byte&0xF0 0x40 \b, 11:5 ->>>7 byte&0xF0 0x80 \b, PAL 4:3 ->>>7 byte&0xF0 0xC0 \b, NTSC 4:3 ->>>5 beshort&0x0FFF 0x0240 \b PAL 625 ->>>>7 byte&0xF0 0x20 \b, 4:3 ->>>>7 byte&0xF0 0x30 \b, 16:9 ->>>>7 byte&0xF0 0x40 \b, 11:5 ->>4 beshort&0xFFF0 0x2D00 \b, CCIR/ITU ->>>5 beshort&0x0FFF 0x01E0 \b NTSC 525 ->>>5 beshort&0x0FFF 0x0240 \b PAL 625 ->>>7 byte&0xF0 0x20 \b, 4:3 ->>>7 byte&0xF0 0x30 \b, 16:9 ->>>7 byte&0xF0 0x40 \b, 11:5 ->>4 beshort&0xFFF0 0x1E00 \b, SVCD ->>>5 beshort&0x0FFF 0x01E0 \b NTSC 525 ->>>5 beshort&0x0FFF 0x0240 \b PAL 625 ->>>7 byte&0xF0 0x20 \b, 4:3 ->>>7 byte&0xF0 0x30 \b, 16:9 ->>>7 byte&0xF0 0x40 \b, 11:5 ->>7 byte&0x0F 1 \b, 23.976 fps ->>7 byte&0x0F 2 \b, 24 fps ->>7 byte&0x0F 3 \b, 25 fps ->>7 byte&0x0F 4 \b, 29.97 fps ->>7 byte&0x0F 5 \b, 30 fps ->>7 byte&0x0F 6 \b, 50 fps ->>7 byte&0x0F 7 \b, 59.94 fps ->>7 byte&0x0F 8 \b, 60 fps ->>11 byte &0x04 \b, Constrained - -# MPEG ADTS Audio (*.mpx/mxa/aac) -# from dreesen@math.fu-berlin.de -# modified to fully support MPEG ADTS - -# MP3, M1A -0 beshort&0xFFFE 0xFFFA MPEG ADTS, layer III, v1 -# rates ->2 byte&0xF0 0x10 \b, 32 kBits ->2 byte&0xF0 0x20 \b, 40 kBits ->2 byte&0xF0 0x30 \b, 48 kBits ->2 byte&0xF0 0x40 \b, 56 kBits ->2 byte&0xF0 0x50 \b, 64 kBits ->2 byte&0xF0 0x60 \b, 80 kBits ->2 byte&0xF0 0x70 \b, 96 kBits ->2 byte&0xF0 0x80 \b, 112 kBits ->2 byte&0xF0 0x90 \b, 128 kBits ->2 byte&0xF0 0xA0 \b, 160 kBits ->2 byte&0xF0 0xB0 \b, 192 kBits ->2 byte&0xF0 0xC0 \b, 224 kBits ->2 byte&0xF0 0xD0 \b, 256 kBits ->2 byte&0xF0 0xE0 \b, 320 kBits -# timing ->2 byte&0x0C 0x00 \b, 44.1 kHz ->2 byte&0x0C 0x04 \b, 48 kHz ->2 byte&0x0C 0x08 \b, 32 kHz -# channels/options ->3 byte&0xC0 0x00 \b, Stereo ->3 byte&0xC0 0x40 \b, JntStereo ->3 byte&0xC0 0x80 \b, 2x Monaural ->3 byte&0xC0 0xC0 \b, Monaural -#>1 byte ^0x01 \b, Data Verify -#>2 byte &0x02 \b, Packet Pad -#>2 byte &0x01 \b, Custom Flag -#>3 byte &0x08 \b, Copyrighted -#>3 byte &0x04 \b, Original Source -#>3 byte&0x03 1 \b, NR: 50/15 ms -#>3 byte&0x03 3 \b, NR: CCIT J.17 - -# MP2, M1A -0 beshort&0xFFFE 0xFFFC MPEG ADTS, layer II, v1 -# rates ->2 byte&0xF0 0x10 \b, 32 kBits ->2 byte&0xF0 0x20 \b, 48 kBits ->2 byte&0xF0 0x30 \b, 56 kBits ->2 byte&0xF0 0x40 \b, 64 kBits ->2 byte&0xF0 0x50 \b, 80 kBits ->2 byte&0xF0 0x60 \b, 96 kBits ->2 byte&0xF0 0x70 \b, 112 kBits ->2 byte&0xF0 0x80 \b, 128 kBits ->2 byte&0xF0 0x90 \b, 160 kBits ->2 byte&0xF0 0xA0 \b, 192 kBits ->2 byte&0xF0 0xB0 \b, 224 kBits ->2 byte&0xF0 0xC0 \b, 256 kBits ->2 byte&0xF0 0xD0 \b, 320 kBits ->2 byte&0xF0 0xE0 \b, 384 kBits -# timing ->2 byte&0x0C 0x00 \b, 44.1 kHz ->2 byte&0x0C 0x04 \b, 48 kHz ->2 byte&0x0C 0x08 \b, 32 kHz -# channels/options ->3 byte&0xC0 0x00 \b, Stereo ->3 byte&0xC0 0x40 \b, JntStereo ->3 byte&0xC0 0x80 \b, 2x Monaural ->3 byte&0xC0 0xC0 \b, Monaural -#>1 byte ^0x01 \b, Data Verify -#>2 byte &0x02 \b, Packet Pad -#>2 byte &0x01 \b, Custom Flag -#>3 byte &0x08 \b, Copyrighted -#>3 byte &0x04 \b, Original Source -#>3 byte&0x03 1 \b, NR: 50/15 ms -#>3 byte&0x03 3 \b, NR: CCIT J.17 - -# MPA, M1A -0 beshort&0xFFFE 0xFFFE MPEG ADTS, layer I, v1 -# rate ->2 byte&0xF0 0x10 \b, 32 kBits ->2 byte&0xF0 0x20 \b, 64 kBits ->2 byte&0xF0 0x30 \b, 96 kBits ->2 byte&0xF0 0x40 \b, 128 kBits ->2 byte&0xF0 0x50 \b, 160 kBits ->2 byte&0xF0 0x60 \b, 192 kBits ->2 byte&0xF0 0x70 \b, 224 kBits ->2 byte&0xF0 0x80 \b, 256 kBits ->2 byte&0xF0 0x90 \b, 288 kBits ->2 byte&0xF0 0xA0 \b, 320 kBits ->2 byte&0xF0 0xB0 \b, 352 kBits ->2 byte&0xF0 0xC0 \b, 384 kBits ->2 byte&0xF0 0xD0 \b, 416 kBits ->2 byte&0xF0 0xE0 \b, 448 kBits -# timing ->2 byte&0x0C 0x00 \b, 44.1 kHz ->2 byte&0x0C 0x04 \b, 48 kHz ->2 byte&0x0C 0x08 \b, 32 kHz -# channels/options ->3 byte&0xC0 0x00 \b, Stereo ->3 byte&0xC0 0x40 \b, JntStereo ->3 byte&0xC0 0x80 \b, 2x Monaural ->3 byte&0xC0 0xC0 \b, Monaural -#>1 byte ^0x01 \b, Data Verify -#>2 byte &0x02 \b, Packet Pad -#>2 byte &0x01 \b, Custom Flag -#>3 byte &0x08 \b, Copyrighted -#>3 byte &0x04 \b, Original Source -#>3 byte&0x03 1 \b, NR: 50/15 ms -#>3 byte&0x03 3 \b, NR: CCIT J.17 - -# MP3, M2A -0 beshort&0xFFFE 0xFFF2 MPEG ADTS, layer III, v2 -# rate ->2 byte&0xF0 0x10 \b, 8 kBits ->2 byte&0xF0 0x20 \b, 16 kBits ->2 byte&0xF0 0x30 \b, 24 kBits ->2 byte&0xF0 0x40 \b, 32 kBits ->2 byte&0xF0 0x50 \b, 40 kBits ->2 byte&0xF0 0x60 \b, 48 kBits ->2 byte&0xF0 0x70 \b, 56 kBits ->2 byte&0xF0 0x80 \b, 64 kBits ->2 byte&0xF0 0x90 \b, 80 kBits ->2 byte&0xF0 0xA0 \b, 96 kBits ->2 byte&0xF0 0xB0 \b, 112 kBits ->2 byte&0xF0 0xC0 \b, 128 kBits ->2 byte&0xF0 0xD0 \b, 144 kBits ->2 byte&0xF0 0xE0 \b, 160 kBits -# timing ->2 byte&0x0C 0x00 \b, 22.05 kHz ->2 byte&0x0C 0x04 \b, 24 kHz ->2 byte&0x0C 0x08 \b, 16 kHz -# channels/options ->3 byte&0xC0 0x00 \b, Stereo ->3 byte&0xC0 0x40 \b, JntStereo ->3 byte&0xC0 0x80 \b, 2x Monaural ->3 byte&0xC0 0xC0 \b, Monaural -#>1 byte ^0x01 \b, Data Verify -#>2 byte &0x02 \b, Packet Pad -#>2 byte &0x01 \b, Custom Flag -#>3 byte &0x08 \b, Copyrighted -#>3 byte &0x04 \b, Original Source -#>3 byte&0x03 1 \b, NR: 50/15 ms -#>3 byte&0x03 3 \b, NR: CCIT J.17 - -# MP2, M2A -0 beshort&0xFFFE 0xFFF4 MPEG ADTS, layer II, v2 -# rate ->2 byte&0xF0 0x10 \b, 8 kBits ->2 byte&0xF0 0x20 \b, 16 kBits ->2 byte&0xF0 0x30 \b, 24 kBits ->2 byte&0xF0 0x40 \b, 32 kBits ->2 byte&0xF0 0x50 \b, 40 kBits ->2 byte&0xF0 0x60 \b, 48 kBits ->2 byte&0xF0 0x70 \b, 56 kBits ->2 byte&0xF0 0x80 \b, 64 kBits ->2 byte&0xF0 0x90 \b, 80 kBits ->2 byte&0xF0 0xA0 \b, 96 kBits ->2 byte&0xF0 0xB0 \b, 112 kBits ->2 byte&0xF0 0xC0 \b, 128 kBits ->2 byte&0xF0 0xD0 \b, 144 kBits ->2 byte&0xF0 0xE0 \b, 160 kBits -# timing ->2 byte&0x0C 0x00 \b, 22.05 kHz ->2 byte&0x0C 0x04 \b, 24 kHz ->2 byte&0x0C 0x08 \b, 16 kHz -# channels/options ->3 byte&0xC0 0x00 \b, Stereo ->3 byte&0xC0 0x40 \b, JntStereo ->3 byte&0xC0 0x80 \b, 2x Monaural ->3 byte&0xC0 0xC0 \b, Monaural -#>1 byte ^0x01 \b, Data Verify -#>2 byte &0x02 \b, Packet Pad -#>2 byte &0x01 \b, Custom Flag -#>3 byte &0x08 \b, Copyrighted -#>3 byte &0x04 \b, Original Source -#>3 byte&0x03 1 \b, NR: 50/15 ms -#>3 byte&0x03 3 \b, NR: CCIT J.17 - -# MPA, M2A -0 beshort&0xFFFE 0xFFF6 MPEG ADTS, layer I, v2 -# rate ->2 byte&0xF0 0x10 \b, 32 kBits ->2 byte&0xF0 0x20 \b, 48 kBits ->2 byte&0xF0 0x30 \b, 56 kBits ->2 byte&0xF0 0x40 \b, 64 kBits ->2 byte&0xF0 0x50 \b, 80 kBits ->2 byte&0xF0 0x60 \b, 96 kBits ->2 byte&0xF0 0x70 \b, 112 kBits ->2 byte&0xF0 0x80 \b, 128 kBits ->2 byte&0xF0 0x90 \b, 144 kBits ->2 byte&0xF0 0xA0 \b, 160 kBits ->2 byte&0xF0 0xB0 \b, 176 kBits ->2 byte&0xF0 0xC0 \b, 192 kBits ->2 byte&0xF0 0xD0 \b, 224 kBits ->2 byte&0xF0 0xE0 \b, 256 kBits -# timing ->2 byte&0x0C 0x00 \b, 22.05 kHz ->2 byte&0x0C 0x04 \b, 24 kHz ->2 byte&0x0C 0x08 \b, 16 kHz -# channels/options ->3 byte&0xC0 0x00 \b, Stereo ->3 byte&0xC0 0x40 \b, JntStereo ->3 byte&0xC0 0x80 \b, 2x Monaural ->3 byte&0xC0 0xC0 \b, Monaural -#>1 byte ^0x01 \b, Data Verify -#>2 byte &0x02 \b, Packet Pad -#>2 byte &0x01 \b, Custom Flag -#>3 byte &0x08 \b, Copyrighted -#>3 byte &0x04 \b, Original Source -#>3 byte&0x03 1 \b, NR: 50/15 ms -#>3 byte&0x03 3 \b, NR: CCIT J.17 - -# MP3, M25A -0 beshort&0xFFFE 0xFFE2 MPEG ADTS, layer III, v2.5 -# rate ->2 byte&0xF0 0x10 \b, 8 kBits ->2 byte&0xF0 0x20 \b, 16 kBits ->2 byte&0xF0 0x30 \b, 24 kBits ->2 byte&0xF0 0x40 \b, 32 kBits ->2 byte&0xF0 0x50 \b, 40 kBits ->2 byte&0xF0 0x60 \b, 48 kBits ->2 byte&0xF0 0x70 \b, 56 kBits ->2 byte&0xF0 0x80 \b, 64 kBits ->2 byte&0xF0 0x90 \b, 80 kBits ->2 byte&0xF0 0xA0 \b, 96 kBits ->2 byte&0xF0 0xB0 \b, 112 kBits ->2 byte&0xF0 0xC0 \b, 128 kBits ->2 byte&0xF0 0xD0 \b, 144 kBits ->2 byte&0xF0 0xE0 \b, 160 kBits -# timing ->2 byte&0x0C 0x00 \b, 11.025 kHz ->2 byte&0x0C 0x04 \b, 12 kHz ->2 byte&0x0C 0x08 \b, 8 kHz -# channels/options ->3 byte&0xC0 0x00 \b, Stereo ->3 byte&0xC0 0x40 \b, JntStereo ->3 byte&0xC0 0x80 \b, 2x Monaural ->3 byte&0xC0 0xC0 \b, Monaural -#>1 byte ^0x01 \b, Data Verify -#>2 byte &0x02 \b, Packet Pad -#>2 byte &0x01 \b, Custom Flag -#>3 byte &0x08 \b, Copyrighted -#>3 byte &0x04 \b, Original Source -#>3 byte&0x03 1 \b, NR: 50/15 ms -#>3 byte&0x03 3 \b, NR: CCIT J.17 - -# AAC (aka MPEG-2 NBC audio) and MPEG-4 audio - -# Stored AAC streams (instead of the MP4 format) -0 string ADIF MPEG ADIF, AAC ->4 byte &0x80 ->>13 byte &0x10 \b, VBR ->>13 byte ^0x10 \b, CBR ->>16 byte&0x1E 0x02 \b, single stream ->>16 byte&0x1E 0x04 \b, 2 streams ->>16 byte&0x1E 0x06 \b, 3 streams ->>16 byte &0x08 \b, 4 or more streams ->>16 byte &0x10 \b, 8 or more streams ->>4 byte &0x80 \b, Copyrighted ->>13 byte &0x40 \b, Original Source ->>13 byte &0x20 \b, Home Flag ->4 byte ^0x80 ->>4 byte &0x10 \b, VBR ->>4 byte ^0x10 \b, CBR ->>7 byte&0x1E 0x02 \b, single stream ->>7 byte&0x1E 0x04 \b, 2 streams ->>7 byte&0x1E 0x06 \b, 3 streams ->>7 byte &0x08 \b, 4 or more streams ->>7 byte &0x10 \b, 8 or more streams ->>4 byte &0x40 \b, Original Stream(s) ->>4 byte &0x20 \b, Home Source - -# Live or stored single AAC stream (used with MPEG-2 systems) -0 beshort&0xFFF6 0xFFF0 MPEG ADTS, AAC ->1 byte ^0x08 \b, v2 ->1 byte &0x08 \b, v4 -# profile ->>2 byte &0xC0 \b LTP ->2 byte&0xc0 0x00 \b, Main ->2 byte&0xc0 0x40 \b, LC ->2 byte&0xc0 0x80 \b, SSR -# timing ->2 byte&0x3c 0x00 \b, 96 kHz ->2 byte&0x3c 0x04 \b, 88.2 kHz ->2 byte&0x3c 0x08 \b, 64 kHz ->2 byte&0x3c 0x0c \b, 48 kHz ->2 byte&0x3c 0x10 \b, 44.1 kHz ->2 byte&0x3c 0x14 \b, 32 kHz ->2 byte&0x3c 0x18 \b, 24 kHz ->2 byte&0x3c 0x1c \b, 22.05 kHz ->2 byte&0x3c 0x20 \b, 16 kHz ->2 byte&0x3c 0x24 \b, 12 kHz ->2 byte&0x3c 0x28 \b, 11.025 kHz ->2 byte&0x3c 0x2c \b, 8 kHz -# channels/options ->2 beshort&0x01c0 0x0040 \b, monaural ->2 beshort&0x01c0 0x0080 \b, stereo ->2 beshort&0x01c0 0x00c0 \b, stereo + center ->2 beshort&0x01c0 0x0100 \b, stereo+center+LFE ->2 beshort&0x01c0 0x0140 \b, surround ->2 beshort&0x01c0 0x0180 \b, surround + LFE ->2 beshort &0x01C0 \b, surround + side -#>1 byte ^0x01 \b, Data Verify -#>2 byte &0x02 \b, Custom Flag -#>3 byte &0x20 \b, Original Stream -#>3 byte &0x10 \b, Home Source -#>3 byte &0x08 \b, Copyrighted - -# Live MPEG-4 audio streams (instead of RTP FlexMux) -0 beshort&0xFFE0 0x56E0 MPEG-4 LOAS -#>1 beshort&0x1FFF x \b, %u byte packet ->3 byte&0xE0 0x40 ->>4 byte&0x3C 0x04 \b, single stream ->>4 byte&0x3C 0x08 \b, 2 streams ->>4 byte&0x3C 0x0C \b, 3 streams ->>4 byte &0x08 \b, 4 or more streams ->>4 byte &0x20 \b, 8 or more streams ->3 byte&0xC0 0 ->>4 byte&0x78 0x08 \b, single stream ->>4 byte&0x78 0x10 \b, 2 streams ->>4 byte&0x78 0x18 \b, 3 streams ->>4 byte &0x20 \b, 4 or more streams ->>4 byte &0x40 \b, 8 or more streams -0 beshort 0x4DE1 MPEG-4 LO-EP audio stream - -# FLI animation format -4 leshort 0xAF11 FLI file ->6 leshort x - %d frames, ->8 leshort x width=%d pixels, ->10 leshort x height=%d pixels, ->12 leshort x depth=%d, ->16 leshort x ticks/frame=%d -# FLC animation format -4 leshort 0xAF12 FLC file ->6 leshort x - %d frames ->8 leshort x width=%d pixels, ->10 leshort x height=%d pixels, ->12 leshort x depth=%d, ->16 leshort x ticks/frame=%d - -# DL animation format -# XXX - collision with most `mips' magic -# -# I couldn't find a real magic number for these, however, this -# -appears- to work. Note that it might catch other files, too, so be -# careful! -# -# Note that title and author appear in the two 20-byte chunks -# at decimal offsets 2 and 22, respectively, but they are XOR'ed with -# 255 (hex FF)! The DL format is really bad. -# -#0 byte 1 DL version 1, medium format (160x100, 4 images/screen) -#>42 byte x - %d screens, -#>43 byte x %d commands -#0 byte 2 DL version 2 -#>1 byte 1 - large format (320x200,1 image/screen), -#>1 byte 2 - medium format (160x100,4 images/screen), -#>1 byte >2 - unknown format, -#>42 byte x %d screens, -#>43 byte x %d commands -# Based on empirical evidence, DL version 3 have several nulls following the -# \003. Most of them start with non-null values at hex offset 0x34 or so. -#0 string \3\0\0\0\0\0\0\0\0\0\0\0 DL version 3 - -# SGI formats -0 string MOVI Silicon Graphics movie file - -# Apple Quicktime and ISO types -4 string moov Apple QuickTime ->12 string mvhd \b movie (fast start) ->12 string mdra \b URL ->12 string cmov \b movie (fast start, compressed header) ->12 string rmra \b multiple URLs -4 string mdat Apple QuickTime movie (unoptimized) -4 string wide Apple QuickTime movie (unoptimized) -4 string skip Apple QuickTime movie (modified) -4 string free Apple QuickTime movie (modified) -4 string idsc Apple QuickTime image (fast start) -4 string idat Apple QuickTime image (unoptimized) -4 string pckg Apple QuickTime compressed archive -4 string/B jP JPEG 2000 image -4 string ftyp ISO Media ->8 string isom \b, MPEG v4 system ->8 string mp41 \b, MPEG v4 system, version 1 ->8 string mp42 \b, MPEG v4 system, version 2 ->8 string/B jp2 \b, JPEG 2000 image ->8 string 3gp \b, MPEG v4 system, 3GPP (H.263/AMR) ->8 string mmp4 \b, MPEG v4 system, Mobile ->8 string/B M4A \b, MPEG v4 system, iTunes AAC-LC ->8 string/B M4P \b, MPEG v4 system, ISMA encrypted AAC-LC ->8 string/B M4B \b, MPEG v4 system, iTunes AAC-LC/AMR ->8 string/B qt \b, Apple QuickTime movie - -# iso 13818 transport stream -# -# from Oskar Schirmer <schirmer@scara.com> Feb 3, 2001 (ISO 13818.1) -# (the following is a little bit restrictive and works fine for a stream -# that starts with PAT properly. it won't work for stream data, that is -# cut from an input device data right in the middle, but this shouldn't -# disturb) -# syncbyte 8 bit 0x47 -# error_ind 1 bit - -# payload_start 1 bit 1 -# priority 1 bit - -# PID 13 bit 0x0000 -# scrambling 2 bit - -# adaptfld_ctrl 2 bit 1 or 3 -# conti_count 4 bit 0 -0 belong&0xFF5FFF1F 0x47400010 MPEG transport stream data ->188 byte !0x47 CORRUPTED - -# DIF digital video file format <mpruett@sgi.com> -0 belong&0xffffff00 0x1f070000 DIF ->4 byte &0x01 (DVCPRO) movie file ->4 byte ^0x01 (DV) movie file ->3 byte &0x80 (PAL) ->3 byte ^0x80 (NTSC) - -# Microsoft Advanced Streaming Format (ASF) <mpruett@sgi.com> -0 belong 0x3026b275 Microsoft ASF - -# MNG Video Format, <URL:http://www.libpng.org/pub/mng/spec/> -0 string \x8aMNG MNG video data, ->4 belong !0x0d0a1a0a CORRUPTED, ->4 belong 0x0d0a1a0a ->>16 belong x %ld x ->>20 belong x %ld - -# JNG Video Format, <URL:http://www.libpng.org/pub/mng/spec/> -0 string \x8bJNG JNG video data, ->4 belong !0x0d0a1a0a CORRUPTED, ->4 belong 0x0d0a1a0a ->>16 belong x %ld x ->>20 belong x %ld - -# Vivo video (Wolfram Kleff) -3 string \x0D\x0AVersion:Vivo Vivo video data - -# VRML (Virtual Reality Modelling Language) -0 string/b #VRML\ V1.0\ ascii VRML 1 file -0 string/b #VRML\ V2.0\ utf8 ISO/IEC 14772 VRML 97 file - -#--------------------------------------------------------------------------- -# HVQM4: compressed movie format designed by Hudson for Nintendo GameCube -# From Mark Sheppard <msheppard@climax.co.uk>, 2002-10-03 -# -0 string HVQM4 %s ->6 string >\0 v%s ->0 byte x GameCube movie, ->0x34 ubeshort x %d x ->0x36 ubeshort x %d, ->0x26 ubeshort x %dµs, ->0x42 ubeshort 0 no audio ->0x42 ubeshort >0 %dHz audio - -#------------------------------------------------------------------------------ -# chi: file(1) magic for ChiWriter files -# -0 string \\1cw\ ChiWriter file ->5 string >\0 version %s -0 string \\1cw ChiWriter file - -#------------------------------------------------------------------------------ -# claris: file(1) magic for claris -# "H. Nanosecond" <aldomel@ix.netcom.com> -# Claris Works a word processor, etc. -# Version 3.0 - -# .pct claris works clip art files -#0000000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 -#* -#0001000 #010 250 377 377 377 377 000 213 000 230 000 021 002 377 014 000 -#null to byte 1000 octal -514 string \377\377\377\377\000 Claris clip art? ->0 string \0\0\0\0\0\0\0\0\0\0\0\0\0 yes. -514 string \377\377\377\377\001 Claris clip art? ->0 string \0\0\0\0\0\0\0\0\0\0\0\0\0 yes. - -# Claris works files -# .cwk -0 string \002\000\210\003\102\117\102\117\000\001\206 Claris works document -# .plt -0 string \020\341\000\000\010\010 Claris Works pallete files .plt - -# .msp a dictionary file I am not sure about this I have only one .msp file -0 string \002\271\262\000\040\002\000\164 Claris works dictionary - -# .usp are user dictionary bits -# I am not sure about a magic header: -#0000000 001 123 160 146 070 125 104 040 136 123 015 012 160 157 144 151 -# soh S p f 8 U D sp ^ S cr nl p o d i -#0000020 141 164 162 151 163 164 040 136 123 015 012 144 151 166 040 043 -# a t r i s t sp ^ S cr nl d i v sp # - -# .mth Thesaurus -# starts with \0 but no magic header - -# .chy Hyphenation file -# I am not sure: 000 210 034 000 000 - -# other claris files -#./windows/claris/useng.ndx: data -#./windows/claris/xtndtran.l32: data -#./windows/claris/xtndtran.lst: data -#./windows/claris/clworks.lbl: data -#./windows/claris/clworks.prf: data -#./windows/claris/userd.spl: data - -#------------------------------------------------------------------------------ -# fonts: file(1) magic for font data -# -0 string FONT ASCII vfont text -0 short 0436 Berkeley vfont data -0 short 017001 byte-swapped Berkeley vfont data - -# PostScript fonts (must precede "printer" entries), quinlan@yggdrasil.com -0 string %!PS-AdobeFont-1. PostScript Type 1 font text ->20 string >\0 (%s) -6 string %!PS-AdobeFont-1. PostScript Type 1 font program data - -# X11 font files in SNF (Server Natural Format) format -0 belong 00000004 X11 SNF font data, MSB first -0 lelong 00000004 X11 SNF font data, LSB first - -# X11 Bitmap Distribution Format, from Daniel Quinlan (quinlan@yggdrasil.com) -0 string STARTFONT\040 X11 BDF font text - -# X11 fonts, from Daniel Quinlan (quinlan@yggdrasil.com) -# PCF must come before SGI additions ("MIPSEL MIPS-II COFF" collides) -0 string \001fcp X11 Portable Compiled Font data ->12 byte 0x02 \b, LSB first ->12 byte 0x0a \b, MSB first -0 string D1.0\015 X11 Speedo font data - -#------------------------------------------------------------------------------ -# FIGlet fonts and controlfiles -# From figmagic supplied with Figlet version 2.2 -# "David E. O'Brien" <obrien@FreeBSD.ORG> -0 string flf FIGlet font ->3 string >2a version %-2.2s -0 string flc FIGlet controlfile ->3 string >2a version %-2.2s - -# libGrx graphics lib fonts, from Albert Cahalan (acahalan@cs.uml.edu) -# Used with djgpp (DOS Gnu C++), sometimes Linux or Turbo C++ -0 belong 0x14025919 libGrx font data, ->8 leshort x %dx ->10 leshort x \b%d ->40 string x %s -# Misc. DOS VGA fonts, from Albert Cahalan (acahalan@cs.uml.edu) -0 belong 0xff464f4e DOS code page font data collection -7 belong 0x00454741 DOS code page font data -7 belong 0x00564944 DOS code page font data (from Linux?) -4098 string DOSFONT DOSFONT2 encrypted font data - -# downloadable fonts for browser (prints type) anthon@mnt.org -0 string PFR1 PFR1 font ->102 string >0 \b: %s - -# True Type fonts -0 string \000\001\000\000\000 TrueType font data - -0 string \007\001\001\000Copyright\ (c)\ 199 Adobe Multiple Master font -0 string \012\001\001\000Copyright\ (c)\ 199 Adobe Multiple Master font - -# Opentype font data from Avi Bercovich -0 string OTTO OpenType font data - - -#------------------------------------------------------------------------------ -# macintosh description -# -# BinHex is the Macintosh ASCII-encoded file format (see also "apple") -# Daniel Quinlan, quinlan@yggdrasil.com -11 string must\ be\ converted\ with\ BinHex BinHex binary text ->41 string x \b, version %.3s - -# Stuffit archives are the de facto standard of compression for Macintosh -# files obtained from most archives. (franklsm@tuns.ca) -0 string SIT! StuffIt Archive (data) ->2 string x : %s -0 string SITD StuffIt Deluxe (data) ->2 string x : %s -0 string Seg StuffIt Deluxe Segment (data) ->2 string x : %s - -# Newer StuffIt archives (grant@netbsd.org) -0 string StuffIt StuffIt Archive ->162 string >0 : %s - -# Macintosh Applications and Installation binaries (franklsm@tuns.ca) -0 string APPL Macintosh Application (data) ->2 string x \b: %s - -# Macintosh System files (franklsm@tuns.ca) -0 string zsys Macintosh System File (data) -0 string FNDR Macintosh Finder (data) -0 string libr Macintosh Library (data) ->2 string x : %s -0 string shlb Macintosh Shared Library (data) ->2 string x : %s -0 string cdev Macintosh Control Panel (data) ->2 string x : %s -0 string INIT Macintosh Extension (data) ->2 string x : %s -0 string FFIL Macintosh Truetype Font (data) ->2 string x : %s -0 string LWFN Macintosh Postscript Font (data) ->2 string x : %s - -# Additional Macintosh Files (franklsm@tuns.ca) -0 string PACT Macintosh Compact Pro Archive (data) ->2 string x : %s -0 string ttro Macintosh TeachText File (data) ->2 string x : %s -0 string TEXT Macintosh TeachText File (data) ->2 string x : %s -0 string PDF Macintosh PDF File (data) ->2 string x : %s - -# MacBinary format (Eric Fischer, enf@pobox.com) -# -# Unfortunately MacBinary doesn't really have a magic number prior -# to the MacBinary III format. The checksum is really the way to -# do it, but the magic file format isn't up to the challenge. -# -# 0 byte 0 -# 1 byte # filename length -# 2 string # filename -# 65 string # file type -# 69 string # file creator -# 73 byte # Finder flags -# 74 byte 0 -# 75 beshort # vertical posn in window -# 77 beshort # horiz posn in window -# 79 beshort # window or folder ID -# 81 byte # protected? -# 82 byte 0 -# 83 belong # length of data segment -# 87 belong # length of resource segment -# 91 belong # file creation date -# 95 belong # file modification date -# 99 beshort # length of comment after resource -# 101 byte # new Finder flags -# 102 string mBIN # (only in MacBinary III) -# 106 byte # char. code of file name -# 107 byte # still more Finder flags -# 116 belong # total file length -# 120 beshort # length of add'l header -# 122 byte 129 # for MacBinary II -# 122 byte 130 # for MacBinary III -# 123 byte 129 # minimum version that can read fmt -# 124 beshort # checksum -# -# This attempts to use the version numbers as a magic number, requiring -# that the first one be 0x80, 0x81, 0x82, or 0x83, and that the second -# be 0x81. This works for the files I have, but maybe not for everyone's. - -# Unfortunately, this magic is quite weak - MPi -#122 beshort&0xFCFF 0x8081 Macintosh MacBinary data - -# MacBinary I doesn't have the version number field at all, but MacBinary II -# has been in use since 1987 so I hope there aren't many really old files -# floating around that this will miss. The original spec calls for using -# the nulls in 0, 74, and 82 as the magic number. -# -# Another possibility, that would also work for MacBinary I, is to use -# the assumption that 65-72 will all be ASCII (0x20-0x7F), that 73 will -# have bits 1 (changed), 2 (busy), 3 (bozo), and 6 (invisible) unset, -# and that 74 will be 0. So something like -# -# 71 belong&0x80804EFF 0x00000000 Macintosh MacBinary data -# -# >73 byte&0x01 0x01 \b, inited -# >73 byte&0x02 0x02 \b, changed -# >73 byte&0x04 0x04 \b, busy -# >73 byte&0x08 0x08 \b, bozo -# >73 byte&0x10 0x10 \b, system -# >73 byte&0x10 0x20 \b, bundle -# >73 byte&0x10 0x40 \b, invisible -# >73 byte&0x10 0x80 \b, locked - -#>65 string x \b, type "%4.4s" - -#>65 string 8BIM (PhotoShop) -#>65 string ALB3 (PageMaker 3) -#>65 string ALB4 (PageMaker 4) -#>65 string ALT3 (PageMaker 3) -#>65 string APPL (application) -#>65 string AWWP (AppleWorks word processor) -#>65 string CIRC (simulated circuit) -#>65 string DRWG (MacDraw) -#>65 string EPSF (Encapsulated PostScript) -#>65 string FFIL (font suitcase) -#>65 string FKEY (function key) -#>65 string FNDR (Macintosh Finder) -#>65 string GIFf (GIF image) -#>65 string Gzip (GNU gzip) -#>65 string INIT (system extension) -#>65 string LIB\ (library) -#>65 string LWFN (PostScript font) -#>65 string MSBC (Microsoft BASIC) -#>65 string PACT (Compact Pro archive) -#>65 string PDF\ (Portable Document Format) -#>65 string PICT (picture) -#>65 string PNTG (MacPaint picture) -#>65 string PREF (preferences) -#>65 string PROJ (Think C project) -#>65 string QPRJ (Think Pascal project) -#>65 string SCFL (Defender scores) -#>65 string SCRN (startup screen) -#>65 string SITD (StuffIt Deluxe) -#>65 string SPn3 (SuperPaint) -#>65 string STAK (HyperCard stack) -#>65 string Seg\ (StuffIt segment) -#>65 string TARF (Unix tar archive) -#>65 string TEXT (ASCII) -#>65 string TIFF (TIFF image) -#>65 string TOVF (Eudora table of contents) -#>65 string WDBN (Microsoft Word word processor) -#>65 string WORD (MacWrite word processor) -#>65 string XLS\ (Microsoft Excel) -#>65 string ZIVM (compress (.Z)) -#>65 string ZSYS (Pre-System 7 system file) -#>65 string acf3 (Aldus FreeHand) -#>65 string cdev (control panel) -#>65 string dfil (Desk Acessory suitcase) -#>65 string libr (library) -#>65 string nX^d (WriteNow word processor) -#>65 string nX^w (WriteNow dictionary) -#>65 string rsrc (resource) -#>65 string scbk (Scrapbook) -#>65 string shlb (shared library) -#>65 string ttro (SimpleText read-only) -#>65 string zsys (system file) - -#>69 string x \b, creator "%4.4s" - -# Somewhere, Apple has a repository of registered Creator IDs. These are -# just the ones that I happened to have files from and was able to identify. - -#>69 string 8BIM (Adobe Photoshop) -#>69 string ALD3 (PageMaker 3) -#>69 string ALD4 (PageMaker 4) -#>69 string ALFA (Alpha editor) -#>69 string APLS (Apple Scanner) -#>69 string APSC (Apple Scanner) -#>69 string BRKL (Brickles) -#>69 string BTFT (BitFont) -#>69 string CCL2 (Common Lisp 2) -#>69 string CCL\ (Common Lisp) -#>69 string CDmo (The Talking Moose) -#>69 string CPCT (Compact Pro) -#>69 string CSOm (Eudora) -#>69 string DMOV (Font/DA Mover) -#>69 string DSIM (DigSim) -#>69 string EDIT (Macintosh Edit) -#>69 string ERIK (Macintosh Finder) -#>69 string EXTR (self-extracting archive) -#>69 string Gzip (GNU gzip) -#>69 string KAHL (Think C) -#>69 string LWFU (LaserWriter Utility) -#>69 string LZIV (compress) -#>69 string MACA (MacWrite) -#>69 string MACS (Macintosh operating system) -#>69 string MAcK (MacKnowledge terminal emulator) -#>69 string MLND (Defender) -#>69 string MPNT (MacPaint) -#>69 string MSBB (Microsoft BASIC (binary)) -#>69 string MSWD (Microsoft Word) -#>69 string NCSA (NCSA Telnet) -#>69 string PJMM (Think Pascal) -#>69 string PSAL (Hunt the Wumpus) -#>69 string PSI2 (Apple File Exchange) -#>69 string R*ch (BBEdit) -#>69 string RMKR (Resource Maker) -#>69 string RSED (Resource Editor) -#>69 string Rich (BBEdit) -#>69 string SIT! (StuffIt) -#>69 string SPNT (SuperPaint) -#>69 string Unix (NeXT Mac filesystem) -#>69 string VIM! (Vim editor) -#>69 string WILD (HyperCard) -#>69 string XCEL (Microsoft Excel) -#>69 string aCa2 (Fontographer) -#>69 string aca3 (Aldus FreeHand) -#>69 string dosa (Macintosh MS-DOS file system) -#>69 string movr (Font/DA Mover) -#>69 string nX^n (WriteNow) -#>69 string pdos (Apple ProDOS file system) -#>69 string scbk (Scrapbook) -#>69 string ttxt (SimpleText) -#>69 string ufox (Foreign File Access) - -# Just in case... - -102 string mBIN MacBinary III data with surprising version number - -# sas magic from Bruce Foster (bef@nwu.edu) -# -#0 string SAS SAS -#>8 string x %s -0 string SAS SAS ->24 string DATA data file ->24 string CATALOG catalog ->24 string INDEX data file index ->24 string VIEW data view -# sas 7+ magic from Reinhold Koch (reinhold.koch@roche.com) -# -0x54 string SAS SAS 7+ ->0x9C string DATA data file ->0x9C string CATALOG catalog ->0x9C string INDEX data file index ->0x9C string VIEW data view - -# spss magic for SPSS system and portable files, -# from Bruce Foster (bef@nwu.edu). - -0 long 0xc1e2c3c9 SPSS Portable File ->40 string x %s - -0 string $FL2 SPSS System File ->24 string x %s - -# Macintosh filesystem data -# From "Tom N Harris" <telliamed@mac.com> -# Fixed HFS+ and Partition map magic: Ethan Benson <erbenson@alaska.net> -# The MacOS epoch begins on 1 Jan 1904 instead of 1 Jan 1970, so these -# entries depend on the data arithmetic added after v.35 -# There's also some Pascal strings in here, ditto... - -# The boot block signature, according to IM:Files, is -# "for HFS volumes, this field always contains the value 0x4C4B." -# But if this is true for MFS or HFS+ volumes, I don't know. -# Alternatively, the boot block is supposed to be zeroed if it's -# unused, so a simply >0 should suffice. - -0x400 beshort 0xD2D7 Macintosh MFS data ->0 beshort 0x4C4B (bootable) ->0x40a beshort &0x8000 (locked) ->0x402 beldate-0x7C25B080 x created: %s, ->0x406 beldate-0x7C25B080 >0 last backup: %s, ->0x414 belong x block size: %d, ->0x412 beshort x number of blocks: %d, ->0x424 pstring x volume name: %s - -# "BD" is has many false positives -#0x400 beshort 0x4244 Macintosh HFS data -#>0 beshort 0x4C4B (bootable) -#>0x40a beshort &0x8000 (locked) -#>0x40a beshort ^0x0100 (mounted) -#>0x40a beshort &0x0200 (spared blocks) -#>0x40a beshort &0x0800 (unclean) -#>0x47C beshort 0x482B (Embedded HFS+ Volume) -#>0x402 beldate-0x7C25B080 x created: %s, -#>0x406 beldate-0x7C25B080 x last modified: %s, -#>0x440 beldate-0x7C25B080 >0 last backup: %s, -#>0x414 belong x block size: %d, -#>0x412 beshort x number of blocks: %d, -#>0x424 pstring x volume name: %s - -0x400 beshort 0x482B Macintosh HFS Extended ->&0 beshort x version %d data ->0 beshort 0x4C4B (bootable) ->0x404 belong ^0x00000100 (mounted) ->&2 belong &0x00000200 (spared blocks) ->&2 belong &0x00000800 (unclean) ->&2 belong &0x00008000 (locked) ->&6 string x last mounted by: '%.4s', -# really, that should be treated as a belong and we print a string -# based on the value. TN1150 only mentions '8.10' for "MacOS 8.1" ->&14 beldate-0x7C25B080 x created: %s, -# only the creation date is local time, all other timestamps in HFS+ are UTC. ->&18 bedate-0x7C25B080 x last modified: %s, ->&22 bedate-0x7C25B080 >0 last backup: %s, ->&26 bedate-0x7C25B080 >0 last checked: %s, ->&38 belong x block size: %d, ->&42 belong x number of blocks: %d, ->&46 belong x free blocks: %d - -# I don't think this is really necessary since it doesn't do much and -# anything with a valid driver descriptor will also have a valid -# partition map -#0 beshort 0x4552 Apple Device Driver data -#>&24 beshort =1 \b, MacOS - -# Is that the partition type a cstring or a pstring? Well, IM says "strings -# shorter than 32 bytes must be terminated with NULL" so I'll treat it as a -# cstring. Of course, partitions can contain more than four entries, but -# what're you gonna do? -0x200 beshort 0x504D Apple Partition data ->0x2 beshort x block size: %d, ->0x230 string x first type: %s, ->0x210 string x name: %s, ->0x254 belong x number of blocks: %d, ->0x400 beshort 0x504D ->>0x430 string x second type: %s, ->>0x410 string x name: %s, ->>0x454 belong x number of blocks: %d, ->>0x800 beshort 0x504D ->>>0x830 string x third type: %s, ->>>0x810 string x name: %s, ->>>0x854 belong x number of blocks: %d, ->>>0xa00 beshort 0x504D ->>>>0xa30 string x fourth type: %s, ->>>>0xa10 string x name: %s, ->>>>0xa54 belong x number of blocks: %d -# AFAIK, only the signature is different -0x200 beshort 0x5453 Apple Old Partition data ->0x2 beshort x block size: %d, ->0x230 string x first type: %s, ->0x210 string x name: %s, ->0x254 belong x number of blocks: %d, ->0x400 beshort 0x504D ->>0x430 string x second type: %s, ->>0x410 string x name: %s, ->>0x454 belong x number of blocks: %d, ->>0x800 beshort 0x504D ->>>0x830 string x third type: %s, ->>>0x810 string x name: %s, ->>>0x854 belong x number of blocks: %d, ->>>0xa00 beshort 0x504D ->>>>0xa30 string x fourth type: %s, ->>>>0xa10 string x name: %s, ->>>>0xa54 belong x number of blocks: %d - -# From: Remi Mommsen <mommsen@slac.stanford.edu> -0 string BOMStore Mac OS X bill of materials (BOM) fil - -#------------------------------------------------------------------------------ -# mathematica: file(1) magic for mathematica files -# "H. Nanosecond" <aldomel@ix.netcom.com> -# Mathematica a multi-purpose math program -# versions 2.2 and 3.0 - -#mathematica .mb -0 string \064\024\012\000\035\000\000\000 Mathematica version 2 notebook -0 string \064\024\011\000\035\000\000\000 Mathematica version 2 notebook - -# .ma -# multiple possibilites: - -0 string (*^\n\n::[\011frontEndVersion\ =\ Mathematica notebook -#>41 string >\0 %s - -#0 string (*^\n\n::[\011palette Mathematica notebook version 2.x - -#0 string (*^\n\n::[\011Information Mathematica notebook version 2.x -#>675 string >\0 %s #doesn't work well - -# there may be 'cr' instread of 'nl' in some does this matter? - -# generic: -0 string (*^\r\r::[\011 Mathematica notebook version 2.x -0 string \(\*\^\r\n\r\n\:\:\[\011 Mathematica notebook version 2.x -0 string (*^\015 Mathematica notebook version 2.x -0 string (*^\n\r\n\r::[\011 Mathematica notebook version 2.x -0 string (*^\r::[\011 Mathematica notebook version 2.x -0 string (*^\r\n::[\011 Mathematica notebook version 2.x -0 string (*^\n\n::[\011 Mathematica notebook version 2.x -0 string (*^\n::[\011 Mathematica notebook version 2.x - - -# Mathematica .mx files - -#0 string (*This\ is\ a\ Mathematica\ binary\ dump\ file.\ It\ can\ be\ loaded\ with\ Get.*) Mathematica binary file -0 string (*This\ is\ a\ Mathematica\ binary\ Mathematica binary file -#>71 string \000\010\010\010\010\000\000\000\000\000\000\010\100\010\000\000\000 -# >71... is optional ->88 string >\0 from %s - - -# Mathematica files PBF: -# 115 115 101 120 102 106 000 001 000 000 000 203 000 001 000 -0 string MMAPBF\000\001\000\000\000\203\000\001\000 Mathematica PBF (fonts I think) - -# .ml files These are menu resources I think -# these start with "[0-9][0-9][0-9]\ A~[0-9][0-9][0-9]\ -# how to put that into a magic rule? -4 string \ A~ MAthematica .ml file - -# .nb files -#too long 0 string (***********************************************************************\n\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Mathematica-Compatible Notebook Mathematica 3.0 notebook -0 string (*********************** Mathematica 3.0 notebook - -# other (* matches it is a comment start in these langs -0 string (* Mathematica, or Pascal, Modula-2 or 3 code text - -######################### -# MatLab v5 -0 string MATLAB Matlab v5 mat-file ->126 short 0x494d (big endian) ->>124 beshort x version 0x%04x ->126 short 0x4d49 (little endian) ->>124 leshort x version 0x%04x - -#------------------------------------------------------------------------------ -# teapot: file(1) magic for "teapot" spreadsheet -# -0 string #!teapot\012xdr teapot work sheet (XDR format) - -#------------------------------------------------------------------------------ -# psion: file(1) magic for Psion handhelds data -# from: Peter Breitenlohner <peb@mppmu.mpg.de> -# -0 lelong 0x10000037 Psion Series 5 ->4 lelong 0x10000039 font file ->4 lelong 0x1000003A printer driver ->4 lelong 0x1000003B clipboard ->4 lelong 0x10000042 multi-bitmap image ->4 lelong 0x1000006A application infomation file ->4 lelong 0x1000006D ->>8 lelong 0x1000007D sketch image ->>8 lelong 0x1000007E voice note ->>8 lelong 0x1000007F word file ->>8 lelong 0x10000085 OPL program ->>8 lelong 0x10000088 sheet file ->>8 lelong 0x100001C4 EasyFax initialisation file ->4 lelong 0x10000073 OPO module ->4 lelong 0x10000074 OPL application ->4 lelong 0x1000008A exported multi-bitmap image - -0 lelong 0x10000041 Psion Series 5 ROM multi-bitmap image - -0 lelong 0x10000050 Psion Series 5 ->4 lelong 0x1000006D database ->4 lelong 0x100000E4 ini file - -0 lelong 0x10000079 Psion Series 5 binary: ->4 lelong 0x00000000 DLL ->4 lelong 0x10000049 comms hardware library ->4 lelong 0x1000004A comms protocol library ->4 lelong 0x1000005D OPX ->4 lelong 0x1000006C application ->4 lelong 0x1000008D DLL ->4 lelong 0x100000AC logical device driver ->4 lelong 0x100000AD physical device driver ->4 lelong 0x100000E5 file transfer protocol ->4 lelong 0x100000E5 file transfer protocol ->4 lelong 0x10000140 printer defintion ->4 lelong 0x10000141 printer defintion - -0 lelong 0x1000007A Psion Series 5 executable - -#------------------------------------------------------------------------------ -# diff: file(1) magic for diff(1) output -# -0 string diff\ 'diff' output text -0 string ***\ 'diff' output text -0 string Only\ in\ 'diff' output text -0 string Common\ subdirectories:\ 'diff' output text - -#------------------------------------------------------------------------------ -# ESRI Shapefile format (.shp .shx .dbf=DBaseIII) -# Based on info from -# <URL:http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf> -0 belong 9994 ESRI Shapefile ->4 belong =0 ->8 belong =0 ->12 belong =0 ->16 belong =0 ->20 belong =0 ->28 lelong x version %d ->24 belong x length %d ->32 lelong =0 type Null Shape ->32 lelong =1 type Point ->32 lelong =3 type PolyLine ->32 lelong =5 type Polygon ->32 lelong =8 type MultiPoint ->32 lelong =11 type PointZ ->32 lelong =13 type PolyLineZ ->32 lelong =15 type PolygonZ ->32 lelong =18 type MultiPointZ ->32 lelong =21 type PointM ->32 lelong =23 type PolyLineM ->32 lelong =25 type PolygonM ->32 lelong =28 type MultiPointM ->32 lelong =31 type MultiPatch -#------------------------------------------------------------------------------ -# GIMP Gradient: file(1) magic for the GIMP's gradient data files -# by Federico Mena <federico@nuclecu.unam.mx> - -0 string GIMP\ Gradient GIMP gradient data - -#------------------------------------------------------------------------------ -# XCF: file(1) magic for the XCF image format used in the GIMP developed -# by Spencer Kimball and Peter Mattis -# ('Bucky' LaDieu, nega@vt.edu) - -0 string gimp\ xcf GIMP XCF image data, ->9 string file version 0, ->9 string v version ->>10 string >\0 %s, ->14 belong x %lu x ->18 belong x %lu, ->22 belong 0 RGB Color ->22 belong 1 Greyscale ->22 belong 2 Indexed Color ->22 belong >2 Unknown Image Type. - -#------------------------------------------------------------------------------ -# XCF: file(1) magic for the patterns used in the GIMP, developed -# by Spencer Kimball and Peter Mattis -# ('Bucky' LaDieu, nega@vt.edu) - -20 string GPAT GIMP pattern data, ->24 string x %s - -#------------------------------------------------------------------------------ -# XCF: file(1) magic for the brushes used in the GIMP, developed -# by Spencer Kimball and Peter Mattis -# ('Bucky' LaDieu, nega@vt.edu) - -20 string GIMP GIMP brush data - -#------------------------------------------------------------------------------ -# adi: file(1) magic for ADi's objects -# From Gregory McGarry <g.mcgarry@ieee.org> -# -0 leshort 0x521c COFF DSP21k ->18 lelong &02 executable, ->18 lelong ^02 ->>18 lelong &01 static object, ->>18 lelong ^01 relocatable object, ->18 lelong &010 stripped ->18 lelong ^010 not stripped - -#------------------------------------------------------------------------------ -# autocad: file(1) magic for cad files -# - -# AutoCAD DWG versions R13/R14 (www.autodesk.com) -# Written December 01, 2003 by Lester Hightower -# Based on the DWG File Format Specifications at http://www.opendwg.org/ -0 string \101\103\061\060\061 AutoCAD ->5 string \062\000\000\000\000 DWG ver. R13 ->5 string \064\000\000\000\000 DWG ver. R14 - -# Microstation DGN/CIT Files (www.bentley.com) -# Written October 30, 2003 by Lester Hightower -# DGN is the default file extension of Microstation/Intergraph CAD files. -# CIT is the proprietary raster format (similar to TIFF) used to attach -# raster underlays to Microstation DGN (vector) drawings. -# -# http://www.wotsit.org/search.asp -# http://filext.com/detaillist.php?extdetail=DGN -# http://filext.com/detaillist.php?extdetail=CIT -# -# http://www.bentley.com/products/default.cfm?objectid=97F351F5-9C35-4E5E-89C2 -# 3F86C928&method=display&p_objectid=97F351F5-9C35-4E5E-89C280A93F86C928 -# http://www.bentley.com/products/default.cfm?objectid=A5C2FD43-3AC9-4C71-B682 -# 721C479F&method=display&p_objectid=A5C2FD43-3AC9-4C71-B682C7BE721C479F -0 string \010\011\376 Microstation ->3 string \002 ->>30 string \372\104 DGN File ->>30 string \172\104 DGN File ->>30 string \026\105 DGN File ->4 string \030\000\000 CIT File - -# AutoCad, from Nahuel Greco -0 string AC1012 AutoCad (release 12) -0 string AC1014 AutoCad (release 14) - -#------------------------------------------------------------------------------ -# T602 editor documents -# by David Necas <yeti@physics.muni.cz> -0 string @CT\ T602 document data, ->4 string 0 Kamenicky ->4 string 1 CP 852 ->4 string 2 KOI8-CS ->4 string >2 unknown encoding - -# Vi IMproved Encrypted file -# by David Necas <yeti@physics.muni.cz> -0 string VimCrypt~ Vim encrypted file data - -#------------------------------------------------------------------------------ -# tex: file(1) magic for TeX files -# -# From <conklin@talisman.kaleida.com> - -# Although we may know the offset of certain text fields in TeX DVI -# and font files, we can't use them reliably because they are not -# zero terminated. [but we do anyway, christos] -0 string \367\002 TeX DVI file ->16 string >\0 (%s) -0 string \367\203 TeX generic font data -0 string \367\131 TeX packed font data ->3 string >\0 (%s) -0 string \367\312 TeX virtual font data -0 string This\ is\ TeX, TeX transcript text -0 string This\ is\ METAFONT, METAFONT transcript text - -# There is no way to detect TeX Font Metric (*.tfm) files without -# breaking them apart and reading the data. The following patterns -# match most *.tfm files generated by METAFONT or afm2tfm. -2 string \000\021 TeX font metric data ->33 string >\0 (%s) -2 string \000\022 TeX font metric data ->33 string >\0 (%s) - -# Texinfo and GNU Info, from Daniel Quinlan (quinlan@yggdrasil.com) -0 string \\input\ texinfo Texinfo source text -0 string This\ is\ Info\ file GNU Info text - -# TeX documents, from Daniel Quinlan (quinlan@yggdrasil.com) -0 string \\input TeX document text -0 string \\section LaTeX document text -0 string \\setlength LaTeX document text -0 string \\documentstyle LaTeX document text -0 string \\chapter LaTeX document text -0 string \\documentclass LaTeX 2e document text -0 string \\relax LaTeX auxiliary file -0 string \\contentsline LaTeX table of contents -0 string %\ -*-latex-*- LaTeX document text - -# Tex document, from Hendrik Scholz <hendrik@scholz.net> -0 string \\ifx TeX document text - -# Index and glossary files -0 string \\indexentry LaTeX raw index file -0 string \\begin{theindex} LaTeX sorted index -0 string \\glossaryentry LaTeX raw glossary -0 string \\begin{theglossary} LaTeX sorted glossary -0 string This\ is\ makeindex Makeindex log file - -# End of TeX - -#------------------------------------------------------------------------------ -# file(1) magic for BibTex text files -# From Hendrik Scholz <hendrik@scholz.net> - -0 string/c @article{ BibTeX text file -0 string/c @book{ BibTeX text file -0 string/c @inbook{ BibTeX text file -0 string/c @incollection{ BibTeX text file -0 string/c @inproceedings{ BibTeX text file -0 string/c @manual{ BibTeX text file -0 string/c @misc{ BibTeX text file -0 string/c @preamble{ BibTeX text file -0 string/c @phdthesis{ BibTeX text file -0 string/c @techreport{ BibTeX text file -0 string/c @unpublished{ BibTeX text file - -73 string %%%\ \ BibTeX-file{ BibTex text file (with full header) - -73 string %%%\ \ @BibTeX-style-file{ BibTeX style text file (with full header) - -0 string %\ BibTeX\ standard\ bibliography\ BibTeX standard bibliography style text file - -0 string %\ BibTeX\ ` BibTeX custom bibliography style text file - -0 string @c\ @mapfile{ TeX font aliases text file - - -#------------------------------------------------------------------------------ -# psdbms: file(1) magic for psdatabase -# -0 belong&0xff00ffff 0x56000000 ps database ->1 string >\0 version %s ->4 string >\0 from kernel %s -#------------------------------------------------------------------------------ -# convex: file(1) magic for Convex boxes -# -# Convexes are big-endian. -# -# /*\ -# * Below are the magic numbers and tests added for Convex. -# * Added at beginning, because they are expected to be used most. -# \*/ -0 belong 0507 Convex old-style object ->16 belong >0 not stripped -0 belong 0513 Convex old-style demand paged executable ->16 belong >0 not stripped -0 belong 0515 Convex old-style pre-paged executable ->16 belong >0 not stripped -0 belong 0517 Convex old-style pre-paged, non-swapped executable ->16 belong >0 not stripped -0 belong 0x011257 Core file -# -# The following are a series of dump format magic numbers. Each one -# corresponds to a drastically different dump format. The first on is -# the original dump format on a 4.1 BSD or earlier file system. The -# second marks the change between the 4.1 file system and the 4.2 file -# system. The Third marks the changing of the block size from 1K -# to 2K to be compatible with an IDC file system. The fourth indicates -# a dump that is dependent on Convex Storage Manager, because data in -# secondary storage is not physically contained within the dump. -# The restore program uses these number to determine how the data is -# to be extracted. -# -24 belong =60011 dump format, 4.1 BSD or earlier -24 belong =60012 dump format, 4.2 or 4.3 BSD without IDC -24 belong =60013 dump format, 4.2 or 4.3 BSD (IDC compatible) -24 belong =60014 dump format, Convex Storage Manager by-reference dump -# -# what follows is a bunch of bit-mask checks on the flags field of the opthdr. -# If there is no `=' sign, assume just checking for whether the bit is set? -# -0 belong 0601 Convex SOFF ->88 belong&0x000f0000 =0x00000000 c1 ->88 belong &0x00010000 c2 ->88 belong &0x00020000 c2mp ->88 belong &0x00040000 parallel ->88 belong &0x00080000 intrinsic ->88 belong &0x00000001 demand paged ->88 belong &0x00000002 pre-paged ->88 belong &0x00000004 non-swapped ->88 belong &0x00000008 POSIX -# ->84 belong &0x80000000 executable ->84 belong &0x40000000 object ->84 belong&0x20000000 =0 not stripped ->84 belong&0x18000000 =0x00000000 native fpmode ->84 belong&0x18000000 =0x10000000 ieee fpmode ->84 belong&0x18000000 =0x18000000 undefined fpmode -# -0 belong 0605 Convex SOFF core -# -0 belong 0607 Convex SOFF checkpoint ->88 belong&0x000f0000 =0x00000000 c1 ->88 belong &0x00010000 c2 ->88 belong &0x00020000 c2mp ->88 belong &0x00040000 parallel ->88 belong &0x00080000 intrinsic ->88 belong &0x00000008 POSIX -# ->84 belong&0x18000000 =0x00000000 native fpmode ->84 belong&0x18000000 =0x10000000 ieee fpmode ->84 belong&0x18000000 =0x18000000 undefined fpmode - -#------------------------------------------------------------------------------ -# freebsd: file(1) magic for FreeBSD objects -# -# All new-style FreeBSD magic numbers are in host byte order (i.e., -# little-endian on x86). -# -# XXX - this comes from the file "freebsd" in a recent FreeBSD version of -# "file"; it, and the NetBSD stuff in "netbsd", appear to use different -# schemes for distinguishing between executable images, shared libraries, -# and object files. -# -# FreeBSD says: -# -# Regardless of whether it's pure, demand-paged, or none of the -# above: -# -# if the entry point is < 4096, then it's a shared library if -# the "has run-time loader information" bit is set, and is -# position-independent if the "is position-independent" bit -# is set; -# -# if the entry point is >= 4096 (or >4095, same thing), then it's -# an executable, and is dynamically-linked if the "has run-time -# loader information" bit is set. -# -# On x86, NetBSD says: -# -# If it's neither pure nor demand-paged: -# -# if it has the "has run-time loader information" bit set, it's -# a dynamically-linked executable; -# -# if it doesn't have that bit set, then: -# -# if it has the "is position-independent" bit set, it's -# position-independent; -# -# if the entry point is non-zero, it's an executable, otherwise -# it's an object file. -# -# If it's pure: -# -# if it has the "has run-time loader information" bit set, it's -# a dynamically-linked executable, otherwise it's just an -# executable. -# -# If it's demand-paged: -# -# if it has the "has run-time loader information" bit set, -# then: -# -# if the entry point is < 4096, it's a shared library; -# -# if the entry point is = 4096 or > 4096 (i.e., >= 4096), -# it's a dynamically-linked executable); -# -# if it doesn't have the "has run-time loader information" bit -# set, then it's just an executable. -# -# (On non-x86, NetBSD does much the same thing, except that it uses -# 8192 on 68K - except for "68k4k", which is presumably "68K with 4K -# pages - SPARC, and MIPS, presumably because Sun-3's and Sun-4's -# had 8K pages; dunno about MIPS.) -# -# I suspect the two will differ only in perverse and uninteresting cases -# ("shared" libraries that aren't demand-paged and whose pages probably -# won't actually be shared, executables with entry points <4096). -# -# I leave it to those more familiar with FreeBSD and NetBSD to figure out -# what the right answer is (although using ">4095", FreeBSD-style, is -# probably better than separately checking for "=4096" and ">4096", -# NetBSD-style). (The old "netbsd" file analyzed FreeBSD demand paged -# executables using the NetBSD technique.) -# -0 lelong&0377777777 041400407 FreeBSD/i386 ->20 lelong <4096 ->>3 byte&0xC0 &0x80 shared library ->>3 byte&0xC0 0x40 PIC object ->>3 byte&0xC0 0x00 object ->20 lelong >4095 ->>3 byte&0x80 0x80 dynamically linked executable ->>3 byte&0x80 0x00 executable ->16 lelong >0 not stripped - -0 lelong&0377777777 041400410 FreeBSD/i386 pure ->20 lelong <4096 ->>3 byte&0xC0 &0x80 shared library ->>3 byte&0xC0 0x40 PIC object ->>3 byte&0xC0 0x00 object ->20 lelong >4095 ->>3 byte&0x80 0x80 dynamically linked executable ->>3 byte&0x80 0x00 executable ->16 lelong >0 not stripped - -0 lelong&0377777777 041400413 FreeBSD/i386 demand paged ->20 lelong <4096 ->>3 byte&0xC0 &0x80 shared library ->>3 byte&0xC0 0x40 PIC object ->>3 byte&0xC0 0x00 object ->20 lelong >4095 ->>3 byte&0x80 0x80 dynamically linked executable ->>3 byte&0x80 0x00 executable ->16 lelong >0 not stripped - -0 lelong&0377777777 041400314 FreeBSD/i386 compact demand paged ->20 lelong <4096 ->>3 byte&0xC0 &0x80 shared library ->>3 byte&0xC0 0x40 PIC object ->>3 byte&0xC0 0x00 object ->20 lelong >4095 ->>3 byte&0x80 0x80 dynamically linked executable ->>3 byte&0x80 0x00 executable ->16 lelong >0 not stripped - -# XXX gross hack to identify core files -# cores start with a struct tss; we take advantage of the following: -# byte 7: highest byte of the kernel stack pointer, always 0xfe -# 8/9: kernel (ring 0) ss value, always 0x0010 -# 10 - 27: ring 1 and 2 ss/esp, unused, thus always 0 -# 28: low order byte of the current PTD entry, always 0 since the -# PTD is page-aligned -# -7 string \357\020\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 FreeBSD/i386 a.out core file ->1039 string >\0 from '%s' - -# /var/run/ld.so.hints -# What are you laughing about? -0 lelong 011421044151 ld.so hints file (Little Endian ->4 lelong >0 \b, version %d) ->4 belong <=0 \b) -0 belong 011421044151 ld.so hints file (Big Endian ->4 belong >0 \b, version %d) ->4 belong <=0 \b) - -# -# Files generated by FreeBSD scrshot(1)/vidcontrol(1) utilities -# -0 string SCRSHOT_ scrshot(1) screenshot, ->8 byte x version %d, ->9 byte 2 %d bytes in header, ->>10 byte x %d chars wide by ->>11 byte x %d chars high - -#------------------------------------------------------------------------------ -# gcc: file(1) magic for GCC special files -# -0 string gpch GCC precompiled header - -# The version field is annoying. It's 3 characters, not zero-terminated. ->5 byte x (version %c ->6 byte x \b%c ->7 byte x \b%c) - -# 67 = 'C', 111 = 'o', 43 = '+', 79 = 'O' ->4 byte 67 for C ->4 byte 111 for Objective C ->4 byte 43 for C++ ->4 byte 79 for Objective C++ - -#----------------------------------------------------------------------------- -# natinst: file(1) magic for National Instruments Code Files - -# -# From <egamez@fcfm.buap.mx> Enrique Gámez-Flores -# version 1 -# Many formats still missing, we use, for the moment LabVIEW -# We guess VXI format file. VISA, LabWindowsCVI, BridgeVIEW, etc, are missing -# -0 string RSRC National Instruments, -# Check if it's a LabVIEW File ->8 string LV LabVIEW File, -# Check wich kind of file is ->>10 string SB Code Resource File, data ->>10 string IN Virtual Instrument Program, data ->>10 string AR VI Library, data -# This is for Menu Libraries ->8 string LMNULBVW Portable File Names, data -# This is for General Resources ->8 string rsc Resources File, data -# This is for VXI Package -0 string VMAP National Instruments, VXI File, data -#------------------------------------------------------------------------------ -# nitpicker: file(1) magic for Flowfiles. -# From: Christian Jachmann <C.Jachmann@gmx.net> http://www.nitpicker.de -0 string NPFF NItpicker Flow File ->4 byte x V%d. ->5 byte x %d ->6 bedate x started: %s ->10 bedate x stopped: %s ->14 belong x Bytes: %u ->18 belong x Bytes1: %u ->22 belong x Flows: %u ->26 belong x Pkts: %u - -#------------------------------------------------------------------------------ -# typeset: file(1) magic for other typesetting -# -0 string Interpress/Xerox Xerox InterPress data ->16 string / (version ->>17 string >\0 %s) - -#------------------------------------------------------------------------------ -# commands: file(1) magic for various shells and interpreters -# -0 string : shell archive or script for antique kernel text -0 string/b #!\ /bin/sh Bourne shell script text executable -0 string/b #!\ /bin/csh C shell script text executable -# korn shell magic, sent by George Wu, gwu@clyde.att.com -0 string/b #!\ /bin/ksh Korn shell script text executable -0 string/b #!\ /bin/tcsh Tenex C shell script text executable -0 string/b #!\ /usr/local/tcsh Tenex C shell script text executable -0 string/b #!\ /usr/local/bin/tcsh Tenex C shell script text executable - -# -# zsh/ash/ae/nawk/gawk magic from cameron@cs.unsw.oz.au (Cameron Simpson) -0 string/b #!\ /bin/zsh Paul Falstad's zsh script text executable -0 string/b #!\ /usr/bin/zsh Paul Falstad's zsh script text executable -0 string/b #!\ /usr/local/bin/zsh Paul Falstad's zsh script text executable -0 string/b #!\ /usr/local/bin/ash Neil Brown's ash script text executable -0 string/b #!\ /usr/local/bin/ae Neil Brown's ae script text executable -0 string/b #!\ /bin/nawk new awk script text executable -0 string/b #!\ /usr/bin/nawk new awk script text executable -0 string/b #!\ /usr/local/bin/nawk new awk script text executable -0 string/b #!\ /bin/gawk GNU awk script text executable -0 string/b #!\ /usr/bin/gawk GNU awk script text executable -0 string/b #!\ /usr/local/bin/gawk GNU awk script text executable -# -0 string/b #!\ /bin/awk awk script text executable -0 string/b #!\ /usr/bin/awk awk script text executable -0 string BEGIN awk script text - -# AT&T Bell Labs' Plan 9 shell -0 string/b #!\ /bin/rc Plan 9 rc shell script text executable - -# bash shell magic, from Peter Tobias (tobias@server.et-inf.fho-emden.de) -0 string/b #!\ /bin/bash Bourne-Again shell script text executable -0 string/b #!\ /usr/local/bin/bash Bourne-Again shell script text executable - -# using env -0 string #!/usr/bin/env a ->15 string >\0 %s script text executable -0 string #!\ /usr/bin/env a ->16 string >\0 %s script text executable - -# PHP scripts -# Ulf Harnhammar <ulfh@update.uu.se> -0 string/c =<?php PHP script text -0 string =<?\n PHP script text -0 string =<?\r PHP script text -0 string/b #!\ /usr/local/bin/php PHP script text executable -0 string/b #!\ /usr/bin/php PHP script text executable - -0 string Zend\x00 PHP script Zend Optimizer data - -#------------------------------------------------------------------------------ -# encore: file(1) magic for Encore machines -# -# XXX - needs to have the byte order specified (NS32K was little-endian, -# dunno whether they run the 88K in little-endian mode or not). -# -0 short 0x154 Encore ->20 short 0x107 executable ->20 short 0x108 pure executable ->20 short 0x10b demand-paged executable ->20 short 0x10f unsupported executable ->12 long >0 not stripped ->22 short >0 - version %ld ->22 short 0 - -#>4 date x stamp %s -0 short 0x155 Encore unsupported executable ->12 long >0 not stripped ->22 short >0 - version %ld ->22 short 0 - -#>4 date x stamp %s - -#------------------------------------------------------------------------------ -# filesystems: file(1) magic for different filesystems -# -0 string \366\366\366\366 PC formatted floppy with no filesystem -# Sun disk labels -# From /usr/include/sun/dklabel.h: -0774 beshort 0xdabe Sun disk label ->0 string x '%s ->>31 string >\0 \b%s ->>>63 string >\0 \b%s ->>>>95 string >\0 \b%s ->0 string x \b' ->0734 short >0 %d rpm, ->0736 short >0 %d phys cys, ->0740 short >0 %d alts/cyl, ->0746 short >0 %d interleave, ->0750 short >0 %d data cyls, ->0752 short >0 %d alt cyls, ->0754 short >0 %d heads/partition, ->0756 short >0 %d sectors/track, ->0764 long >0 start cyl %ld, ->0770 long x %ld blocks -# Is there a boot block written 1 sector in? ->512 belong&077777777 0600407 \b, boot block present -0x1FE leshort 0xAA55 x86 boot sector ->2 string OSBS \b, OS/BS MBR -# J\xf6rg Jenderek <joerg.jenderek@gmx.net> ->0x8C string Invalid\ partition\ table \b, MS-DOS MBR ->0x9D string Invalid\ partition\ table \b, DR-DOS MBR, version 7.01 to 7.03 ->0x10F string Ung\201ltige\ Partitionstabelle \b, MS-DOS MBR, german version 4.10.1998, 4.10.2222 ->0x8B string Ung\201ltige\ Partitionstabelle \b, MS-DOS MBR, german version 5.00 to 4.00.950 ->0x145 string Default:\ F \b, FREE-DOS MBR ->0 string \0\0\0\0 \b, extended partition table -# JuMP short bootcodeoffset NOP assembler instructions will usually be EB xx 90 -# older drives may use E9 xx xx ->0 lelong&0x009000EB 0x009000EB ->0 lelong&0x000000E9 0x000000E9 ->>1 ubyte >37 \b, code offset 0x%x -# mtools-3.9.8/msdos.h -# usual values are marked with comments to get only informations of strange FAT systems -# valid sectorsize are from 32 to 2048 ->>>11 uleshort <2049 ->>>>11 uleshort >31 ->>>>>3 string >\0 \b, OEM-ID "%8.8s" ->>>>>11 uleshort >512 \b, Bytes/sector %u -#>>>>>11 uleshort =512 \b, Bytes/sector %u=512 (usual) ->>>>>11 uleshort <512 \b, Bytes/sector %u ->>>>>13 ubyte >1 \b, sectors/cluster %u -#>>>>>13 ubyte =1 \b, sectors/cluster %u (usual on Floppies) ->>>>>14 uleshort >32 \b, reserved sectors %u -#>>>>>14 uleshort =32 \b, reserved sectors %u (usual Fat32) -#>>>>>14 uleshort >1 \b, reserved sectors %u -#>>>>>14 uleshort =1 \b, reserved sectors %u (usual FAT12,FAT16) ->>>>>14 uleshort <1 \b, reserved sectors %u ->>>>>16 ubyte >2 \b, FATs %u -#>>>>>16 ubyte =2 \b, FATs %u (usual) ->>>>>16 ubyte =1 \b, FAT %u ->>>>>16 ubyte >0 ->>>>>17 uleshort >0 \b, root entries %u -#>>>>>17 uleshort =0 \b, root entries %u=0 (usual Fat32) ->>>>>19 uleshort >0 \b, sectors %u (volumes <=32 MB) -#>>>>>19 uleshort =0 \b, sectors %u=0 (usual Fat32) ->>>>>21 ubyte >0xF0 \b, Media descriptor 0x%x -#>>>>>21 ubyte =0xF0 \b, Media descriptor 0x%x (usual floppy) ->>>>>21 ubyte <0xF0 \b, Media descriptor 0x%x ->>>>>22 uleshort >0 \b, sectors/FAT %u -#>>>>>22 uleshort =0 \b, sectors/FAT %u=0 (usual Fat32) ->>>>>26 ubyte >2 \b, heads %u -#>>>>>26 ubyte =2 \b, heads %u (usual floppy) ->>>>>26 ubyte =1 \b, heads %u ->>>>>28 ulelong >0 \b, hidden sectors %u -#>>>>>28 ulelong =0 \b, hidden sectors %u (usual floppy) ->>>>>32 ulelong >0 \b, sectors %u (volumes > 32 MB) -#>>>>>32 ulelong =0 \b, sectors %u (volumes > 32 MB) -# FAT<32 specific -# NOT le FAT3=NOT 3TAF=0xCCABBEB9 ->>>>>82 ulelong&0xCCABBEB9 >0 ->>>>>>36 ubyte >0x80 \b, physical drive 0x%x -#>>>>>>36 ubyte =0x80 \b, physical drive 0x%x=0x80 (usual harddisk) ->>>>>>36 ubyte&0x7F >0 \b, physical drive 0x%x -#>>>>>>36 ubyte =0 \b, physical drive 0x%x=0 (usual floppy) ->>>>>>37 ubyte >0 \b, reserved 0x%x -#>>>>>>37 ubyte =0 \b, reserved 0x%x ->>>>>>38 ubyte >0x29 \b, dos < 4.0 BootSector (0x%x) ->>>>>>38 ubyte <0x29 \b, dos < 4.0 BootSector (0x%x) ->>>>>>38 ubyte =0x29 ->>>>>>>39 ulelong x \b, serial number 0x%x ->>>>>>>43 string <NO\ NAME \b, label: "%11.11s" ->>>>>>>43 string >NO\ NAME \b, label: "%11.11s" ->>>>>>>43 string =NO\ NAME \b, unlabeled ->>>>>>54 string FAT1 \b, FAT ->>>>>>>54 string FAT12 \b (12 bit) ->>>>>>>54 string FAT16 \b (16 bit) -# FAT32 specific ->>>>>82 string FAT32 \b, FAT (32 bit) ->>>>>>36 ulelong x \b, sectors/FAT %u ->>>>>>40 uleshort >0 \b, extension flags %u -#>>>>>>40 uleshort =0 \b, extension flags %u ->>>>>>42 uleshort >0 \b, fsVersion %u -#>>>>>>42 uleshort =0 \b, fsVersion %u (usual) ->>>>>>44 ulelong >2 \b, rootdir cluster %u -#>>>>>>44 ulelong =2 \b, rootdir cluster %u -#>>>>>>44 ulelong =1 \b, rootdir cluster %u ->>>>>>48 uleshort >1 \b, infoSector %u -#>>>>>>48 uleshort =1 \b, infoSector %u (usual) ->>>>>>48 uleshort <1 \b, infoSector %u ->>>>>>50 uleshort >6 \b, Backup boot sector %u -#>>>>>>50 uleshort =6 \b, Backup boot sector %u (usual) ->>>>>>50 uleshort <6 \b, Backup boot sector %u ->>>>>>54 ulelong >0 \b, reserved1 0x%x ->>>>>>58 ulelong >0 \b, reserved2 0x%x ->>>>>>62 ulelong >0 \b, reserved3 0x%x -# same structure as FAT1X ->>>>>>64 ubyte >0x80 \b, physical drive 0x%x -#>>>>>>64 ubyte =0x80 \b, physical drive 0x%x=80 (usual harddisk) ->>>>>>64 ubyte&0x7F >0 \b, physical drive 0x%x -#>>>>>>64 ubyte =0 \b, physical drive 0x%x=0 (usual floppy) ->>>>>>65 ubyte >0 \b, reserved 0x%x ->>>>>>66 ubyte >0x29 \b, dos < 4.0 BootSector (0x%x) ->>>>>>66 ubyte <0x29 \b, dos < 4.0 BootSector (0x%x) ->>>>>>66 ubyte =0x29 ->>>>>>>67 ulelong x \b, serial number 0x%x ->>>>>>>71 string <NO\ NAME \b, label: "%11.11s" ->>>>>>71 string >NO\ NAME \b, label: "%11.11s" ->>>>>>71 string =NO\ NAME \b, unlabeled -### FATs end ->0x200 lelong 0x82564557 \b, BSD disklabel -# FATX -0 string FATX FATX filesystem data - - -# Minix filesystems - Juan Cespedes <cespedes@debian.org> -0x410 leshort 0x137f Minix filesystem -0x410 beshort 0x137f Minix filesystem (big endian), ->0x402 beshort !0 \b, %d zones ->0x1e string minix \b, bootable -0x410 leshort 0x138f Minix filesystem, 30 char names -0x410 leshort 0x2468 Minix filesystem, version 2 -0x410 leshort 0x2478 Minix filesystem, version 2, 30 char names - -# romfs filesystems - Juan Cespedes <cespedes@debian.org> -0 string -rom1fs-\0 romfs filesystem, version 1 ->8 belong x %d bytes, ->16 string x named %s. - -# netboot image - Juan Cespedes <cespedes@debian.org> -0 lelong 0x1b031336L Netboot image, ->4 lelong&0xFFFFFF00 0 ->>4 lelong&0x100 0x000 mode 2 ->>4 lelong&0x100 0x100 mode 3 ->4 lelong&0xFFFFFF00 !0 unknown mode - -0x18b string OS/2 OS/2 Boot Manager - -9564 lelong 0x00011954 Unix Fast File system (little-endian), ->8404 string x last mounted on %s, -#>9504 ledate x last checked at %s, ->8224 ledate x last written at %s, ->8401 byte x clean flag %d, ->8228 lelong x number of blocks %d, ->8232 lelong x number of data blocks %d, ->8236 lelong x number of cylinder groups %d, ->8240 lelong x block size %d, ->8244 lelong x fragment size %d, ->8252 lelong x minimum percentage of free blocks %d, ->8256 lelong x rotational delay %dms, ->8260 lelong x disk rotational speed %drps, ->8320 lelong 0 TIME optimization ->8320 lelong 1 SPACE optimization - -9564 belong 0x00011954 Unix Fast File system (big-endian), ->7168 long 0x4c41424c Apple UFS Volume ->>7186 string x named %s, ->>7176 belong x volume label version %d, ->>7180 bedate x created on %s, ->8404 string x last mounted on %s, -#>9504 bedate x last checked at %s, ->8224 bedate x last written at %s, ->8401 byte x clean flag %d, ->8228 belong x number of blocks %d, ->8232 belong x number of data blocks %d, ->8236 belong x number of cylinder groups %d, ->8240 belong x block size %d, ->8244 belong x fragment size %d, ->8252 belong x minimum percentage of free blocks %d, ->8256 belong x rotational delay %dms, ->8260 belong x disk rotational speed %drps, ->8320 belong 0 TIME optimization ->8320 belong 1 SPACE optimization - -# ext2/ext3 filesystems - Andreas Dilger <adilger@turbolabs.com> -0x438 leshort 0xEF53 Linux ->0x44c lelong x rev %d ->0x43e leshort x \b.%d ->0x45c lelong ^0x0000004 ext2 filesystem data ->>0x43a leshort ^0x0000001 (mounted or unclean) ->0x45c lelong &0x0000004 ext3 filesystem data ->>0x460 lelong &0x0000004 (needs journal recovery) ->0x43a leshort &0x0000002 (errors) ->0x460 lelong &0x0000001 (compressed) -#>0x460 lelong &0x0000002 (filetype) -#>0x464 lelong &0x0000001 (sparse_super) ->0x464 lelong &0x0000002 (large files) - -# SGI disk labels - Nathan Scott <nathans@debian.org> -0 belong 0x0BE5A941 SGI disk label (volume header) - -# SGI XFS filesystem - Nathan Scott <nathans@debian.org> -0 belong 0x58465342 SGI XFS filesystem data ->0x4 belong x (blksz %d, ->0x68 beshort x inosz %d, ->0x64 beshort ^0x2004 v1 dirs) ->0x64 beshort &0x2004 v2 dirs) - -############################################################################ -# Minix-ST kernel floppy -0x800 belong 0x46fc2700 Atari-ST Minix kernel image ->19 string \240\5\371\5\0\011\0\2\0 \b, 720k floppy ->19 string \320\2\370\5\0\011\0\1\0 \b, 360k floppy - -############################################################################ -# Hmmm, is this a better way of detecting _standard_ floppy images ? -19 string \320\2\360\3\0\011\0\1\0 DOS floppy 360k ->0x1FE leshort 0xAA55 \b, x86 hard disk boot sector -19 string \240\5\371\3\0\011\0\2\0 DOS floppy 720k ->0x1FE leshort 0xAA55 \b, x86 hard disk boot sector -19 string \100\013\360\011\0\022\0\2\0 DOS floppy 1440k ->0x1FE leshort 0xAA55 \b, x86 hard disk boot sector - -19 string \240\5\371\5\0\011\0\2\0 DOS floppy 720k, IBM ->0x1FE leshort 0xAA55 \b, x86 hard disk boot sector -19 string \100\013\371\5\0\011\0\2\0 DOS floppy 1440k, mkdosfs ->0x1FE leshort 0xAA55 \b, x86 hard disk boot sector - -19 string \320\2\370\5\0\011\0\1\0 Atari-ST floppy 360k -19 string \240\5\371\5\0\011\0\2\0 Atari-ST floppy 720k - -# Valid media descriptor bytes for MS-DOS: -# -# Byte Capacity Media Size and Type -# ------------------------------------------------- -# -# F0 2.88 MB 3.5-inch, 2-sided, 36-sector -# F0 1.44 MB 3.5-inch, 2-sided, 18-sector -# F9 720K 3.5-inch, 2-sided, 9-sector -# F9 1.2 MB 5.25-inch, 2-sided, 15-sector -# FD 360K 5.25-inch, 2-sided, 9-sector -# FF 320K 5.25-inch, 2-sided, 8-sector -# FC 180K 5.25-inch, 1-sided, 9-sector -# FE 160K 5.25-inch, 1-sided, 8-sector -# FE 250K 8-inch, 1-sided, single-density -# FD 500K 8-inch, 2-sided, single-density -# FE 1.2 MB 8-inch, 2-sided, double-density -# F8 ----- Fixed disk -# -# FC xxxK Apricot 70x1x9 boot disk. -# -# Originally a bitmap: -# xxxxxxx0 Not two sided -# xxxxxxx1 Double sided -# xxxxxx0x Not 8 SPT -# xxxxxx1x 8 SPT -# xxxxx0xx Not Removable drive -# xxxxx1xx Removable drive -# 11111xxx Must be one. -# -# But now it's rather random: -# 111111xx Low density disk -# 00 SS, Not 8 SPT -# 01 DS, Not 8 SPT -# 10 SS, 8 SPT -# 11 DS, 8 SPT -# -# 11111001 Double density 3½ floppy disk, high density 5¼ -# 11110000 High density 3½ floppy disk -# 11111000 Hard disk any format -# - -# CDROM Filesystems -32769 string CD001 ISO 9660 CD-ROM filesystem data -# "application id" which appears to be used as a volume label ->32808 string >\0 '%s' ->34816 string \000CD001\001EL\ TORITO\ SPECIFICATION (bootable) -37633 string CD001 ISO 9660 CD-ROM filesystem data (raw 2352 byte sectors) -32776 string CDROM High Sierra CD-ROM filesystem data - -# cramfs filesystem - russell@coker.com.au -0 lelong 0x28cd3d45 Linux Compressed ROM File System data, little endian ->4 lelong x size %d ->8 lelong &1 version #2 ->8 lelong &2 sorted_dirs ->8 lelong &4 hole_support ->32 lelong x CRC 0x%x, ->36 lelong x edition %d, ->40 lelong x %d blocks, ->44 lelong x %d files - -0 belong 0x28cd3d45 Linux Compressed ROM File System data, big endian ->4 belong x size %d ->8 belong &1 version #2 ->8 belong &2 sorted_dirs ->8 belong &4 hole_support ->32 belong x CRC 0x%x, ->36 belong x edition %d, ->40 belong x %d blocks, ->44 belong x %d files - -# reiserfs - russell@coker.com.au -0x10034 string ReIsErFs ReiserFS V3.5 -0x10034 string ReIsEr2Fs ReiserFS V3.6 ->0x1002c leshort x block size %d ->0x10032 leshort &2 (mounted or unclean) ->0x10000 lelong x num blocks %d ->0x10040 lelong 1 tea hash ->0x10040 lelong 2 yura hash ->0x10040 lelong 3 r5 hash - -# JFFS - russell@coker.com.au -0 lelong 0x34383931 Linux Journalled Flash File system, little endian -0 belong 0x34383931 Linux Journalled Flash File system, big endian - -# EST flat binary format (which isn't, but anyway) -# From: Mark Brown <broonie@sirena.org.uk> -0 string ESTFBINR EST flat binary - -# Aculab VoIP firmware -# From: Mark Brown <broonie@sirena.org.uk> -0 string VoIP\ Startup\ and Aculab VoIP firmware ->35 string x format %s - -# PPCBoot image file -# From: Mark Brown <broonie@sirena.org.uk> -0 belong 0x27051956 PPCBoot image ->4 string PPCBoot ->>12 string x version %s - -# JFFS2 file system -0 leshort 0x1984 Linux old jffs2 filesystem data little endian -0 lelong 0xe0011985 Linux jffs2 filesystem data little endian - -#------------------------------------------------------------------------------ -# hp: file(1) magic for Hewlett Packard machines (see also "printer") -# -# XXX - somebody should figure out whether any byte order needs to be -# applied to the "TML" stuff; I'm assuming the Apollo stuff is -# big-endian as it was mostly 68K-based. -# -# I think the 500 series was the old stack-based machines, running a -# UNIX environment atop the "SUN kernel"; dunno whether it was -# big-endian or little-endian. -# -# Daniel Quinlan (quinlan@yggdrasil.com): hp200 machines are 68010 based; -# hp300 are 68020+68881 based; hp400 are also 68k. The following basic -# HP magic is useful for reference, but using "long" magic is a better -# practice in order to avoid collisions. -# -# Guy Harris (guy@netapp.com): some additions to this list came from -# HP-UX 10.0's "/usr/include/sys/unistd.h" (68030, 68040, PA-RISC 1.1, -# 1.2, and 2.0). The 1.2 and 2.0 stuff isn't in the HP-UX 10.0 -# "/etc/magic", though, except for the "archive file relocatable library" -# stuff, and the 68030 and 68040 stuff isn't there at all - are they not -# used in executables, or have they just not yet updated "/etc/magic" -# completely? -# -# 0 beshort 200 hp200 (68010) BSD binary -# 0 beshort 300 hp300 (68020+68881) BSD binary -# 0 beshort 0x20c hp200/300 HP-UX binary -# 0 beshort 0x20d hp400 (68030) HP-UX binary -# 0 beshort 0x20e hp400 (68040?) HP-UX binary -# 0 beshort 0x20b PA-RISC1.0 HP-UX binary -# 0 beshort 0x210 PA-RISC1.1 HP-UX binary -# 0 beshort 0x211 PA-RISC1.2 HP-UX binary -# 0 beshort 0x214 PA-RISC2.0 HP-UX binary - -# -# The "misc" stuff needs a byte order; the archives look suspiciously -# like the old 177545 archives (0xff65 = 0177545). -# -#### Old Apollo stuff -0 beshort 0627 Apollo m68k COFF executable ->18 beshort ^040000 not stripped ->22 beshort >0 - version %ld -0 beshort 0624 apollo a88k COFF executable ->18 beshort ^040000 not stripped ->22 beshort >0 - version %ld -0 long 01203604016 TML 0123 byte-order format -0 long 01702407010 TML 1032 byte-order format -0 long 01003405017 TML 2301 byte-order format -0 long 01602007412 TML 3210 byte-order format -#### PA-RISC 1.1 -0 belong 0x02100106 PA-RISC1.1 relocatable object -0 belong 0x02100107 PA-RISC1.1 executable ->168 belong &0x00000004 dynamically linked ->(144) belong 0x054ef630 dynamically linked ->96 belong >0 - not stripped - -0 belong 0x02100108 PA-RISC1.1 shared executable ->168 belong&0x4 0x4 dynamically linked ->(144) belong 0x054ef630 dynamically linked ->96 belong >0 - not stripped - -0 belong 0x0210010b PA-RISC1.1 demand-load executable ->168 belong&0x4 0x4 dynamically linked ->(144) belong 0x054ef630 dynamically linked ->96 belong >0 - not stripped - -0 belong 0x0210010e PA-RISC1.1 shared library ->96 belong >0 - not stripped - -0 belong 0x0210010d PA-RISC1.1 dynamic load library ->96 belong >0 - not stripped - -#### PA-RISC 2.0 -0 belong 0x02140106 PA-RISC2.0 relocatable object - -0 belong 0x02140107 PA-RISC2.0 executable ->168 belong &0x00000004 dynamically linked ->(144) belong 0x054ef630 dynamically linked ->96 belong >0 - not stripped - -0 belong 0x02140108 PA-RISC2.0 shared executable ->168 belong &0x00000004 dynamically linked ->(144) belong 0x054ef630 dynamically linked ->96 belong >0 - not stripped - -0 belong 0x0214010b PA-RISC2.0 demand-load executable ->168 belong &0x00000004 dynamically linked ->(144) belong 0x054ef630 dynamically linked ->96 belong >0 - not stripped - -0 belong 0x0214010e PA-RISC2.0 shared library ->96 belong >0 - not stripped - -0 belong 0x0214010d PA-RISC2.0 dynamic load library ->96 belong >0 - not stripped - -#### 800 -0 belong 0x020b0106 PA-RISC1.0 relocatable object - -0 belong 0x020b0107 PA-RISC1.0 executable ->168 belong&0x4 0x4 dynamically linked ->(144) belong 0x054ef630 dynamically linked ->96 belong >0 - not stripped - -0 belong 0x020b0108 PA-RISC1.0 shared executable ->168 belong&0x4 0x4 dynamically linked ->(144) belong 0x054ef630 dynamically linked ->96 belong >0 - not stripped - -0 belong 0x020b010b PA-RISC1.0 demand-load executable ->168 belong&0x4 0x4 dynamically linked ->(144) belong 0x054ef630 dynamically linked ->96 belong >0 - not stripped - -0 belong 0x020b010e PA-RISC1.0 shared library ->96 belong >0 - not stripped - -0 belong 0x020b010d PA-RISC1.0 dynamic load library ->96 belong >0 - not stripped - -0 belong 0x213c6172 archive file ->68 belong 0x020b0619 - PA-RISC1.0 relocatable library ->68 belong 0x02100619 - PA-RISC1.1 relocatable library ->68 belong 0x02110619 - PA-RISC1.2 relocatable library ->68 belong 0x02140619 - PA-RISC2.0 relocatable library - -#### 500 -0 long 0x02080106 HP s500 relocatable executable ->16 long >0 - version %ld - -0 long 0x02080107 HP s500 executable ->16 long >0 - version %ld - -0 long 0x02080108 HP s500 pure executable ->16 long >0 - version %ld - -#### 200 -0 belong 0x020c0108 HP s200 pure executable ->4 beshort >0 - version %ld ->8 belong &0x80000000 save fp regs ->8 belong &0x40000000 dynamically linked ->8 belong &0x20000000 debuggable ->36 belong >0 not stripped - -0 belong 0x020c0107 HP s200 executable ->4 beshort >0 - version %ld ->8 belong &0x80000000 save fp regs ->8 belong &0x40000000 dynamically linked ->8 belong &0x20000000 debuggable ->36 belong >0 not stripped - -0 belong 0x020c010b HP s200 demand-load executable ->4 beshort >0 - version %ld ->8 belong &0x80000000 save fp regs ->8 belong &0x40000000 dynamically linked ->8 belong &0x20000000 debuggable ->36 belong >0 not stripped - -0 belong 0x020c0106 HP s200 relocatable executable ->4 beshort >0 - version %ld ->6 beshort >0 - highwater %d ->8 belong &0x80000000 save fp regs ->8 belong &0x20000000 debuggable ->8 belong &0x10000000 PIC - -0 belong 0x020a0108 HP s200 (2.x release) pure executable ->4 beshort >0 - version %ld ->36 belong >0 not stripped - -0 belong 0x020a0107 HP s200 (2.x release) executable ->4 beshort >0 - version %ld ->36 belong >0 not stripped - -0 belong 0x020c010e HP s200 shared library ->4 beshort >0 - version %ld ->6 beshort >0 - highwater %d ->36 belong >0 not stripped - -0 belong 0x020c010d HP s200 dynamic load library ->4 beshort >0 - version %ld ->6 beshort >0 - highwater %d ->36 belong >0 not stripped - -#### MISC -0 long 0x0000ff65 HP old archive -0 long 0x020aff65 HP s200 old archive -0 long 0x020cff65 HP s200 old archive -0 long 0x0208ff65 HP s500 old archive - -0 long 0x015821a6 HP core file - -0 long 0x4da7eee8 HP-WINDOWS font ->8 byte >0 - version %ld -0 string Bitmapfile HP Bitmapfile - -0 string IMGfile CIS compimg HP Bitmapfile -# XXX - see "lif" -#0 short 0x8000 lif file -0 long 0x020c010c compiled Lisp - -0 string msgcat01 HP NLS message catalog, ->8 long >0 %d messages - -# addendum to /etc/magic with HP-48sx file-types by phk@data.fls.dk 1jan92 -0 string HPHP48- HP48 binary ->7 byte >0 - Rev %c ->8 beshort 0x1129 (ADR) ->8 beshort 0x3329 (REAL) ->8 beshort 0x5529 (LREAL) ->8 beshort 0x7729 (COMPLX) ->8 beshort 0x9d29 (LCOMPLX) ->8 beshort 0xbf29 (CHAR) ->8 beshort 0xe829 (ARRAY) ->8 beshort 0x0a2a (LNKARRAY) ->8 beshort 0x2c2a (STRING) ->8 beshort 0x4e2a (HXS) ->8 beshort 0x742a (LIST) ->8 beshort 0x962a (DIR) ->8 beshort 0xb82a (ALG) ->8 beshort 0xda2a (UNIT) ->8 beshort 0xfc2a (TAGGED) ->8 beshort 0x1e2b (GROB) ->8 beshort 0x402b (LIB) ->8 beshort 0x622b (BACKUP) ->8 beshort 0x882b (LIBDATA) ->8 beshort 0x9d2d (PROG) ->8 beshort 0xcc2d (CODE) ->8 beshort 0x482e (GNAME) ->8 beshort 0x6d2e (LNAME) ->8 beshort 0x922e (XLIB) -0 string %%HP: HP48 text ->6 string T(0) - T(0) ->6 string T(1) - T(1) ->6 string T(2) - T(2) ->6 string T(3) - T(3) ->10 string A(D) A(D) ->10 string A(R) A(R) ->10 string A(G) A(G) ->14 string F(.) F(.); ->14 string F(,) F(,); - -# hpBSD magic numbers -0 beshort 200 hp200 (68010) BSD ->2 beshort 0407 impure binary ->2 beshort 0410 read-only binary ->2 beshort 0413 demand paged binary -0 beshort 300 hp300 (68020+68881) BSD ->2 beshort 0407 impure binary ->2 beshort 0410 read-only binary ->2 beshort 0413 demand paged binary -# -# From David Gero <dgero@nortelnetworks.com> -# HP-UX 10.20 core file format from /usr/include/sys/core.h -# Unfortunately, HP-UX uses corehead blocks without specifying the order -# There are four we care about: -# CORE_KERNEL, which starts with the string "HP-UX" -# CORE_EXEC, which contains the name of the command -# CORE_PROC, which contains the signal number that caused the core dump -# CORE_FORMAT, which contains the version of the core file format (== 1) -# The only observed order in real core files is KERNEL, EXEC, FORMAT, PROC -# but we include all 6 variations of the order of the first 3, and -# assume that PROC will always be last -# Order 1: KERNEL, EXEC, FORMAT, PROC -0x10 string HP-UX ->0 belong 2 ->>0xC belong 0x3C ->>>0x4C belong 0x100 ->>>>0x58 belong 0x44 ->>>>>0xA0 belong 1 ->>>>>>0xAC belong 4 ->>>>>>>0xB0 belong 1 ->>>>>>>>0xB4 belong 4 core file ->>>>>>>>>0x90 string >\0 from '%s' ->>>>>>>>>0xC4 belong 3 - received SIGQUIT ->>>>>>>>>0xC4 belong 4 - received SIGILL ->>>>>>>>>0xC4 belong 5 - received SIGTRAP ->>>>>>>>>0xC4 belong 6 - received SIGABRT ->>>>>>>>>0xC4 belong 7 - received SIGEMT ->>>>>>>>>0xC4 belong 8 - received SIGFPE ->>>>>>>>>0xC4 belong 10 - received SIGBUS ->>>>>>>>>0xC4 belong 11 - received SIGSEGV ->>>>>>>>>0xC4 belong 12 - received SIGSYS ->>>>>>>>>0xC4 belong 33 - received SIGXCPU ->>>>>>>>>0xC4 belong 34 - received SIGXFSZ -# Order 2: KERNEL, FORMAT, EXEC, PROC ->>>0x4C belong 1 ->>>>0x58 belong 4 ->>>>>0x5C belong 1 ->>>>>>0x60 belong 0x100 ->>>>>>>0x6C belong 0x44 ->>>>>>>>0xB4 belong 4 core file ->>>>>>>>>0xA4 string >\0 from '%s' ->>>>>>>>>0xC4 belong 3 - received SIGQUIT ->>>>>>>>>0xC4 belong 4 - received SIGILL ->>>>>>>>>0xC4 belong 5 - received SIGTRAP ->>>>>>>>>0xC4 belong 6 - received SIGABRT ->>>>>>>>>0xC4 belong 7 - received SIGEMT ->>>>>>>>>0xC4 belong 8 - received SIGFPE ->>>>>>>>>0xC4 belong 10 - received SIGBUS ->>>>>>>>>0xC4 belong 11 - received SIGSEGV ->>>>>>>>>0xC4 belong 12 - received SIGSYS ->>>>>>>>>0xC4 belong 33 - received SIGXCPU ->>>>>>>>>0xC4 belong 34 - received SIGXFSZ -# Order 3: FORMAT, KERNEL, EXEC, PROC -0x24 string HP-UX ->0 belong 1 ->>0xC belong 4 ->>>0x10 belong 1 ->>>>0x14 belong 2 ->>>>>0x20 belong 0x3C ->>>>>>0x60 belong 0x100 ->>>>>>>0x6C belong 0x44 ->>>>>>>>0xB4 belong 4 core file ->>>>>>>>>0xA4 string >\0 from '%s' ->>>>>>>>>0xC4 belong 3 - received SIGQUIT ->>>>>>>>>0xC4 belong 4 - received SIGILL ->>>>>>>>>0xC4 belong 5 - received SIGTRAP ->>>>>>>>>0xC4 belong 6 - received SIGABRT ->>>>>>>>>0xC4 belong 7 - received SIGEMT ->>>>>>>>>0xC4 belong 8 - received SIGFPE ->>>>>>>>>0xC4 belong 10 - received SIGBUS ->>>>>>>>>0xC4 belong 11 - received SIGSEGV ->>>>>>>>>0xC4 belong 12 - received SIGSYS ->>>>>>>>>0xC4 belong 33 - received SIGXCPU ->>>>>>>>>0xC4 belong 34 - received SIGXFSZ -# Order 4: EXEC, KERNEL, FORMAT, PROC -0x64 string HP-UX ->0 belong 0x100 ->>0xC belong 0x44 ->>>0x54 belong 2 ->>>>0x60 belong 0x3C ->>>>>0xA0 belong 1 ->>>>>>0xAC belong 4 ->>>>>>>0xB0 belong 1 ->>>>>>>>0xB4 belong 4 core file ->>>>>>>>>0x44 string >\0 from '%s' ->>>>>>>>>0xC4 belong 3 - received SIGQUIT ->>>>>>>>>0xC4 belong 4 - received SIGILL ->>>>>>>>>0xC4 belong 5 - received SIGTRAP ->>>>>>>>>0xC4 belong 6 - received SIGABRT ->>>>>>>>>0xC4 belong 7 - received SIGEMT ->>>>>>>>>0xC4 belong 8 - received SIGFPE ->>>>>>>>>0xC4 belong 10 - received SIGBUS ->>>>>>>>>0xC4 belong 11 - received SIGSEGV ->>>>>>>>>0xC4 belong 12 - received SIGSYS ->>>>>>>>>0xC4 belong 33 - received SIGXCPU ->>>>>>>>>0xC4 belong 34 - received SIGXFSZ -# Order 5: FORMAT, EXEC, KERNEL, PROC -0x78 string HP-UX ->0 belong 1 ->>0xC belong 4 ->>>0x10 belong 1 ->>>>0x14 belong 0x100 ->>>>>0x20 belong 0x44 ->>>>>>0x68 belong 2 ->>>>>>>0x74 belong 0x3C ->>>>>>>>0xB4 belong 4 core file ->>>>>>>>>0x58 string >\0 from '%s' ->>>>>>>>>0xC4 belong 3 - received SIGQUIT ->>>>>>>>>0xC4 belong 4 - received SIGILL ->>>>>>>>>0xC4 belong 5 - received SIGTRAP ->>>>>>>>>0xC4 belong 6 - received SIGABRT ->>>>>>>>>0xC4 belong 7 - received SIGEMT ->>>>>>>>>0xC4 belong 8 - received SIGFPE ->>>>>>>>>0xC4 belong 10 - received SIGBUS ->>>>>>>>>0xC4 belong 11 - received SIGSEGV ->>>>>>>>>0xC4 belong 12 - received SIGSYS ->>>>>>>>>0xC4 belong 33 - received SIGXCPU ->>>>>>>>>0xC4 belong 34 - received SIGXFSZ -# Order 6: EXEC, FORMAT, KERNEL, PROC ->0 belong 0x100 ->>0xC belong 0x44 ->>>0x54 belong 1 ->>>>0x60 belong 4 ->>>>>0x64 belong 1 ->>>>>>0x68 belong 2 ->>>>>>>0x74 belong 0x2C ->>>>>>>>0xB4 belong 4 core file ->>>>>>>>>0x44 string >\0 from '%s' ->>>>>>>>>0xC4 belong 3 - received SIGQUIT ->>>>>>>>>0xC4 belong 4 - received SIGILL ->>>>>>>>>0xC4 belong 5 - received SIGTRAP ->>>>>>>>>0xC4 belong 6 - received SIGABRT ->>>>>>>>>0xC4 belong 7 - received SIGEMT ->>>>>>>>>0xC4 belong 8 - received SIGFPE ->>>>>>>>>0xC4 belong 10 - received SIGBUS ->>>>>>>>>0xC4 belong 11 - received SIGSEGV ->>>>>>>>>0xC4 belong 12 - received SIGSYS ->>>>>>>>>0xC4 belong 33 - received SIGXCPU ->>>>>>>>>0xC4 belong 34 - received SIGXFSZ - -# From: AMAKAWA Shuhei <sa264@cam.ac.uk> -0 string HPHP49- HP49 binary - - -#------------------------------------------------------------------------------ -# JPEG images -# SunOS 5.5.1 had -# -# 0 string \377\330\377\340 JPEG file -# 0 string \377\330\377\356 JPG file -# -# both of which turn into "JPEG image data" here. -# -0 beshort 0xffd8 JPEG image data ->6 string JFIF \b, JFIF standard -# The following added by Erik Rossen <rossen@freesurf.ch> 1999-09-06 -# in a vain attempt to add image size reporting for JFIF. Note that these -# tests are not fool-proof since some perfectly valid JPEGs are currently -# impossible to specify in magic(4) format. -# First, a little JFIF version info: ->>11 byte x \b %d. ->>12 byte x \b%02d -# Next, the resolution or aspect ratio of the image: -#>>13 byte 0 \b, aspect ratio -#>>13 byte 1 \b, resolution (DPI) -#>>13 byte 2 \b, resolution (DPCM) -#>>4 beshort x \b, segment length %d -# Next, show thumbnail info, if it exists: ->>18 byte !0 \b, thumbnail %dx ->>>19 byte x \b%d - -# EXIF moved down here to avoid reporting a bogus version number, -# and EXIF version number printing added. -# - Patrik R=E5dman <patrik+file-magic@iki.fi> ->6 string Exif \b, EXIF standard -# Look for EXIF IFD offset in IFD 0, and then look for EXIF version tag in EXIF IFD. -# All possible combinations of entries have to be enumerated, since no looping -# is possible. And both endians are possible... -# The combinations included below are from real-world JPEGs. -# Little-endian ->>12 string II -# IFD 0 Entry #5: ->>>70 leshort 0x8769 -# EXIF IFD Entry #1: ->>>>(78.l+14) leshort 0x9000 ->>>>>(78.l+23) byte x %c ->>>>>(78.l+24) byte x \b.%c ->>>>>(78.l+25) byte !0x30 \b%c -# IFD 0 Entry #9: ->>>118 leshort 0x8769 -# EXIF IFD Entry #3: ->>>>(126.l+38) leshort 0x9000 ->>>>>(126.l+47) byte x %c ->>>>>(126.l+48) byte x \b.%c ->>>>>(126.l+49) byte !0x30 \b%c -# IFD 0 Entry #10 ->>>130 leshort 0x8769 -# EXIF IFD Entry #3: ->>>>(138.l+38) leshort 0x9000 ->>>>>(138.l+47) byte x %c ->>>>>(138.l+48) byte x \b.%c ->>>>>(138.l+49) byte !0x30 \b%c -# EXIF IFD Entry #4: ->>>>(138.l+50) leshort 0x9000 ->>>>>(138.l+59) byte x %c ->>>>>(138.l+60) byte x \b.%c ->>>>>(138.l+61) byte !0x30 \b%c -# EXIF IFD Entry #5: ->>>>(138.l+62) leshort 0x9000 ->>>>>(138.l+71) byte x %c ->>>>>(138.l+72) byte x \b.%c ->>>>>(138.l+73) byte !0x30 \b%c -# IFD 0 Entry #11 ->>>142 leshort 0x8769 -# EXIF IFD Entry #3: ->>>>(150.l+38) leshort 0x9000 ->>>>>(150.l+47) byte x %c ->>>>>(150.l+48) byte x \b.%c ->>>>>(150.l+49) byte !0x30 \b%c -# EXIF IFD Entry #4: ->>>>(150.l+50) leshort 0x9000 ->>>>>(150.l+59) byte x %c ->>>>>(150.l+60) byte x \b.%c ->>>>>(150.l+61) byte !0x30 \b%c -# EXIF IFD Entry #5: ->>>>(150.l+62) leshort 0x9000 ->>>>>(150.l+71) byte x %c ->>>>>(150.l+72) byte x \b.%c ->>>>>(150.l+73) byte !0x30 \b%c -# Big-endian ->>12 string MM -# IFD 0 Entry #9: ->>>118 beshort 0x8769 -# EXIF IFD Entry #1: ->>>>(126.L+14) beshort 0x9000 ->>>>>(126.L+23) byte x %c ->>>>>(126.L+24) byte x \b.%c ->>>>>(126.L+25) byte !0x30 \b%c -# EXIF IFD Entry #3: ->>>>(126.L+38) beshort 0x9000 ->>>>>(126.L+47) byte x %c ->>>>>(126.L+48) byte x \b.%c ->>>>>(126.L+49) byte !0x30 \b%c -# IFD 0 Entry #10 ->>>130 beshort 0x8769 -# EXIF IFD Entry #3: ->>>>(138.L+38) beshort 0x9000 ->>>>>(138.L+47) byte x %c ->>>>>(138.L+48) byte x \b.%c ->>>>>(138.L+49) byte !0x30 \b%c -# EXIF IFD Entry #5: ->>>>(138.L+62) beshort 0x9000 ->>>>>(138.L+71) byte x %c ->>>>>(138.L+72) byte x \b.%c ->>>>>(138.L+73) byte !0x30 \b%c -# IFD 0 Entry #11 ->>>142 beshort 0x8769 -# EXIF IFD Entry #4: ->>>>(150.L+50) beshort 0x9000 ->>>>>(150.L+59) byte x %c ->>>>>(150.L+60) byte x \b.%c ->>>>>(150.L+61) byte !0x30 \b%c -# Here things get sticky. We can do ONE MORE marker segment with -# indirect addressing, and that's all. It would be great if we could -# do pointer arithemetic like in an assembler language. Christos? -# And if there was some sort of looping construct to do searches, plus a few -# named accumulators, it would be even more effective... -# At least we can show a comment if no other segments got inserted before: ->(4.S+5) byte 0xFE ->>(4.S+8) string >\0 \b, comment: "%s" -#>(4.S+5) byte 0xFE \b, comment -#>>(4.S+6) beshort x \b length=%d -#>>(4.S+8) string >\0 \b, "%s" -# Or, we can show the encoding type (I've included only the three most common) -# and image dimensions if we are lucky and the SOFn (image segment) is here: ->(4.S+5) byte 0xC0 \b, baseline ->>(4.S+6) byte x \b, precision %d ->>(4.S+7) beshort x \b, %dx ->>(4.S+9) beshort x \b%d ->(4.S+5) byte 0xC1 \b, extended sequential ->>(4.S+6) byte x \b, precision %d ->>(4.S+7) beshort x \b, %dx ->>(4.S+9) beshort x \b%d ->(4.S+5) byte 0xC2 \b, progressive ->>(4.S+6) byte x \b, precision %d ->>(4.S+7) beshort x \b, %dx ->>(4.S+9) beshort x \b%d -# I've commented-out quantisation table reporting. I doubt anyone cares yet. -#>(4.S+5) byte 0xDB \b, quantisation table -#>>(4.S+6) beshort x \b length=%d -#>14 beshort x \b, %d x -#>16 beshort x \b %d - -# HSI is Handmade Software's proprietary JPEG encoding scheme -0 string hsi1 JPEG image data, HSI proprietary - -# From: David Santinoli <david@santinoli.com> -0 string \x00\x00\x00\x0C\x6A\x50\x20\x20\x0D\x0A\x87\x0A JPEG 2000 image data - -#------------------------------------------------------------------------------ -# sinclair: file(1) sinclair QL - -# additions to /etc/magic by Thomas M. Ott (ThMO) - -# Sinclair QL floppy disk formats (ThMO) -0 string =QL5 QL disk dump data, ->3 string =A 720 KB, ->3 string =B 1.44 MB, ->3 string =C 3.2 MB, ->4 string >\0 label:%.10s - -# Sinclair QL OS dump (ThMO) -# (NOTE: if `file' would be able to use indirect references in a endian format -# differing from the natural host format, this could be written more -# reliably and faster...) -# -# we *can't* lookup QL OS code dumps, because `file' is UNABLE to read more -# than the first 8K of a file... #-( -# -#0 belong =0x30000 -#>49124 belong <47104 -#>>49128 belong <47104 -#>>>49132 belong <47104 -#>>>>49136 belong <47104 QL OS dump data, -#>>>>>49148 string >\0 type %.3s, -#>>>>>49142 string >\0 version %.4s - -# Sinclair QL firmware executables (ThMO) -0 string NqNqNq`\004 QL firmware executable (BCPL) - -# Sinclair QL libraries (was ThMO) -0 beshort 0xFB01 QDOS object ->2 pstring x '%s' - -# Sinclair QL executables (was ThMO) -4 belong 0x4AFB QDOS executable ->9 pstring x '%s' - -# Sinclair QL ROM (ThMO) -0 belong =0x4AFB0001 QL plugin-ROM data, ->9 pstring =\0 un-named ->9 pstring >\0 named: %s -#------------------------------------------------------------------------------ -# acorn: file(1) magic for files found on Acorn systems -# - -# RISC OS Chunk File Format -# From RISC OS Programmer's Reference Manual, Appendix D -# We guess the file type from the type of the first chunk. -0 lelong 0xc3cbc6c5 RISC OS Chunk data ->12 string OBJ_ \b, AOF object ->12 string LIB_ \b, ALF library - -# RISC OS AIF, contains "SWI OS_Exit" at offset 16. -16 lelong 0xef000011 RISC OS AIF executable - -# RISC OS Draw files -# From RISC OS Programmer's Reference Manual, Appendix E -0 string Draw RISC OS Draw file data - -# RISC OS new format font files -# From RISC OS Programmer's Reference Manual, Appendix E -0 string FONT\0 RISC OS outline font data, ->5 byte x version %d -0 string FONT\1 RISC OS 1bpp font data, ->5 byte x version %d -0 string FONT\4 RISC OS 4bpp font data ->5 byte x version %d - -# RISC OS Music files -# From RISC OS Programmer's Reference Manual, Appendix E -0 string Maestro\r RISC OS music file ->8 byte x version %d - - -#------------------------------------------------------------------------------ -# iff: file(1) magic for Interchange File Format (see also "audio" & "images") -# -# Daniel Quinlan (quinlan@yggdrasil.com) -- IFF was designed by Electronic -# Arts for file interchange. It has also been used by Apple, SGI, and -# especially Commodore-Amiga. -# -# IFF files begin with an 8 byte FORM header, followed by a 4 character -# FORM type, which is followed by the first chunk in the FORM. - -0 string FORM IFF data -#>4 belong x \b, FORM is %d bytes long -# audio formats ->8 string AIFF \b, AIFF audio ->8 string AIFC \b, AIFF-C compressed audio ->8 string 8SVX \b, 8SVX 8-bit sampled sound voice ->8 string SAMP \b, SAMP sampled audio ->8 string DTYP \b, DTYP datatype description ->8 string PTCH \b, PTCH binary patch -# image formats ->8 string ILBMBMHD \b, ILBM interleaved image ->>20 beshort x \b, %d x ->>22 beshort x %d ->8 string RGBN \b, RGBN 12-bit RGB image ->8 string RGB8 \b, RGB8 24-bit RGB image ->8 string DR2D \b, DR2D 2-D object ->8 string TDDD \b, TDDD 3-D rendering -# other formats ->8 string FTXT \b, FTXT formatted text ->8 string CTLG \b, CTLG message catalog ->8 string PREF \b, PREF preferences - -#------------------------------------------------------------------------------ -# lif: file(1) magic for lif -# -# (Daniel Quinlan <quinlan@yggdrasil.com>) -# -0 beshort 0x8000 lif file - -#------------------------------------------------------------------------------ -# mirage: file(1) magic for Mirage executables -# -# XXX - byte order? -# -0 long 31415 Mirage Assembler m.out executable - -#------------------------------------------------------------------------------ -# netscape: file(1) magic for Netscape files -# "H. Nanosecond" <aldomel@ix.netcom.com> -# version 3 and 4 I think -# - -# Netscape Address book .nab -0 string \000\017\102\104\000\000\000\000\000\000\001\000\000\000\000\002\000\000\000\002\000\000\004\000 Netscape Address book - -# Netscape Communicator address book -0 string \000\017\102\111 Netscape Communicator address book - -# .snm Caches -0 string #\ Netscape\ folder\ cache Netscape folder cache -0 string \000\036\204\220\000 Netscape folder cache -# .n2p -# Net 2 Phone -#0 string 123\130\071\066\061\071\071\071\060\070\061\060\061\063\060 -0 string SX961999 Net2phone - -# -#This is files ending in .art, FIXME add more rules -0 string JG\004\016\0\0\0\0 ART - -#------------------------------------------------------------------------------ -# olf: file(1) magic for OLF executables -# -# We have to check the byte order flag to see what byte order all the -# other stuff in the header is in. -# -# MIPS R3000 may also be for MIPS R2000. -# What're the correct byte orders for the nCUBE and the Fujitsu VPP500? -# -# Created by Erik Theisen <etheisen@openbsd.org> -# Based on elf from Daniel Quinlan <quinlan@yggdrasil.com> -0 string \177OLF OLF ->4 byte 0 invalid class ->4 byte 1 32-bit ->4 byte 2 64-bit ->7 byte 0 invalid os ->7 byte 1 OpenBSD ->7 byte 2 NetBSD ->7 byte 3 FreeBSD ->7 byte 4 4.4BSD ->7 byte 5 Linux ->7 byte 6 SVR4 ->7 byte 7 esix ->7 byte 8 Solaris ->7 byte 9 Irix ->7 byte 10 SCO ->7 byte 11 Dell ->7 byte 12 NCR ->5 byte 0 invalid byte order ->5 byte 1 LSB ->>16 leshort 0 no file type, ->>16 leshort 1 relocatable, ->>16 leshort 2 executable, ->>16 leshort 3 shared object, -# Core handling from Peter Tobias <tobias@server.et-inf.fho-emden.de> -# corrections by Christian 'Dr. Disk' Hechelmann <drdisk@ds9.au.s.shuttle.de> ->>16 leshort 4 core file ->>>(0x38+0xcc) string >\0 of '%s' ->>>(0x38+0x10) lelong >0 (signal %d), ->>16 leshort &0xff00 processor-specific, ->>18 leshort 0 no machine, ->>18 leshort 1 AT&T WE32100 - invalid byte order, ->>18 leshort 2 SPARC - invalid byte order, ->>18 leshort 3 Intel 80386, ->>18 leshort 4 Motorola 68000 - invalid byte order, ->>18 leshort 5 Motorola 88000 - invalid byte order, ->>18 leshort 6 Intel 80486, ->>18 leshort 7 Intel 80860, ->>18 leshort 8 MIPS R3000_BE - invalid byte order, ->>18 leshort 9 Amdahl - invalid byte order, ->>18 leshort 10 MIPS R3000_LE, ->>18 leshort 11 RS6000 - invalid byte order, ->>18 leshort 15 PA-RISC - invalid byte order, ->>18 leshort 16 nCUBE, ->>18 leshort 17 VPP500, ->>18 leshort 18 SPARC32PLUS, ->>18 leshort 20 PowerPC, ->>18 leshort 0x9026 Alpha, ->>20 lelong 0 invalid version ->>20 lelong 1 version 1 ->>36 lelong 1 MathCoPro/FPU/MAU Required ->8 string >\0 (%s) ->5 byte 2 MSB ->>16 beshort 0 no file type, ->>16 beshort 1 relocatable, ->>16 beshort 2 executable, ->>16 beshort 3 shared object, ->>16 beshort 4 core file, ->>>(0x38+0xcc) string >\0 of '%s' ->>>(0x38+0x10) belong >0 (signal %d), ->>16 beshort &0xff00 processor-specific, ->>18 beshort 0 no machine, ->>18 beshort 1 AT&T WE32100, ->>18 beshort 2 SPARC, ->>18 beshort 3 Intel 80386 - invalid byte order, ->>18 beshort 4 Motorola 68000, ->>18 beshort 5 Motorola 88000, ->>18 beshort 6 Intel 80486 - invalid byte order, ->>18 beshort 7 Intel 80860, ->>18 beshort 8 MIPS R3000_BE, ->>18 beshort 9 Amdahl, ->>18 beshort 10 MIPS R3000_LE - invalid byte order, ->>18 beshort 11 RS6000, ->>18 beshort 15 PA-RISC, ->>18 beshort 16 nCUBE, ->>18 beshort 17 VPP500, ->>18 beshort 18 SPARC32PLUS, ->>18 beshort 20 PowerPC or cisco 4500, ->>18 beshort 21 cisco 7500, ->>18 beshort 24 cisco SVIP, ->>18 beshort 25 cisco 7200, ->>18 beshort 36 cisco 12000, ->>18 beshort 0x9026 Alpha, ->>20 belong 0 invalid version ->>20 belong 1 version 1 ->>36 belong 1 MathCoPro/FPU/MAU Required - -#------------------------------------------------------------------------------ -# VXL: file(1) magic for VXL binary IO data files -# -# from Ian Scott <scottim@sf.net> -# -# VXL is a collection of C++ libraries for Computer Vision. -# See the vsl chapter in the VXL Book for more info -# http://www.isbe.man.ac.uk/public_vxl_doc/books/vxl/book.html -# http:/vxl.sf.net - -2 lelong 0x472b2c4e VXL data file, ->0 leshort >0 schema version no %d - -#------------------------------------------------------------------------------ -# unknown: file(1) magic for unknown machines -# -# XXX - this probably should be pruned, as it'll match PDP-11 and -# VAX image formats. -# -# 0x107 is 0407; 0x108 is 0410; both are PDP-11 (executable and pure, -# respectively). -# -# 0x109 is 0411; that's PDP-11 split I&D, but the PDP-11 version doesn't -# have the "version %ld", which may be a bogus COFFism (I don't think -# there ever was COFF for the PDP-11). -# -# 0x10B is 0413; that's VAX demand-paged, but this is a short, not a -# long, as it would be on a VAX. -# -# 0x10C is 0414 and 0x10E is 416; those *are* unknown. -# -0 short 0x107 unknown machine executable ->8 short >0 not stripped ->15 byte >0 - version %ld -0 short 0x108 unknown pure executable ->8 short >0 not stripped ->15 byte >0 - version %ld -0 short 0x109 PDP-11 separate I&D ->8 short >0 not stripped ->15 byte >0 - version %ld -0 short 0x10b unknown pure executable ->8 short >0 not stripped ->15 byte >0 - version %ld -0 long 0x10c unknown demand paged pure executable ->16 long >0 not stripped -0 long 0x10e unknown readable demand paged pure executable - -#------------------------------------------------------------------------------ -# Hierarchical Data Format, used to facilitate scientific data exchange -# specifications at http://hdf.ncsa.uiuc.edu/ - -0 belong 0x0e031301 Hierarchical Data Format (version 4) data -0 string \211HDF\r\n\032 Hierarchical Data Format (version 5) data - -#------------------------------------------------------------------------------ -# mail.news: file(1) magic for mail and news -# -# Unfortunately, saved netnews also has From line added in some news software. -#0 string From mail text -# There are tests to ascmagic.c to cope with mail and news. -0 string Relay-Version: old news text -0 string #!\ rnews batched news text -0 string N#!\ rnews mailed, batched news text -0 string Forward\ to mail forwarding text -0 string Pipe\ to mail piping text -0 string Return-Path: smtp mail text -0 string Path: news text -0 string Xref: news text -0 string From: news or mail text -0 string Article saved news text -0 string BABYL Emacs RMAIL text -0 string Received: RFC 822 mail text -0 string MIME-Version: MIME entity text -#0 string Content- MIME entity text - -# TNEF files... -0 lelong 0x223E9F78 Transport Neutral Encapsulation Format - -# From: Kevin Sullivan <ksulliva@psc.edu> -0 string *mbx* MBX mail folder - -# From: Simon Matter <simon.matter@invoca.ch> -0 string \241\002\213\015skiplist\ file\0\0\0 Cyrus skiplist DB - -# JAM(mbp) Fidonet message area databases -# JHR file -0 string JAM\0 JAM message area header file ->12 leshort >0 (%d messages) - -# Squish Fidonet message area databases -# SQD file (requires at least one message in the area) -256 leshort 0xAFAE4453 Squish message area data file ->4 leshort >0 (%d messages) -#------------------------------------------------------------------------------ -# modem: file(1) magic for modem programs -# -# From: Florian La Roche <florian@knorke.saar.de> -4 string Research, Digifax-G3-File ->29 byte 1 , fine resolution ->29 byte 0 , normal resolution - -0 short 0x0100 raw G3 data, byte-padded -0 short 0x1400 raw G3 data -# -# Magic data for vgetty voice formats -# (Martin Seine & Marc Eberhard) - -# -# raw modem data version 1 -# -0 string RMD1 raw modem data ->4 string >\0 (%s / ->20 short >0 compression type 0x%04x) - -# -# portable voice format 1 -# -0 string PVF1\n portable voice format ->5 string >\0 (binary %s) - -# -# portable voice format 2 -# -0 string PVF2\n portable voice format ->5 string >\0 (ascii %s) - - -#------------------------------------------------------------------------------ -# xwindows: file(1) magic for various X/Window system file formats. - -# Compiled X Keymap -# XKM (compiled X keymap) files (including version and byte ordering) -1 string mkx Compiled XKB Keymap: lsb, ->0 byte >0 version %d ->0 byte =0 obsolete -0 string xkm Compiled XKB Keymap: msb, ->3 byte >0 version %d ->0 byte =0 obsolete - -# xfsdump archive -0 string xFSdump0 xfsdump archive ->8 long x (version %d) - -# Jaleo XFS files -0 long 395726 Jaleo XFS file ->4 long x - version %ld ->8 long x - [%ld - ->20 long x %ldx ->24 long x %ldx ->28 long 1008 YUV422] ->28 long 1000 RGB24] - -#------------------------------------------------------------------------------ -# wordprocessors: file(1) magic fo word processors. -# -####### PWP file format used on Smith Corona Personal Word Processors: -2 string \040\040\040\040\040\040\040\040\040\040\040ML4D\040\'92 Smith Corona PWP ->24 byte 2 \b, single spaced ->24 byte 3 \b, 1.5 spaced ->24 byte 4 \b, double spaced ->25 byte 0x42 \b, letter ->25 byte 0x54 \b, legal ->26 byte 0x46 \b, A4 - -#WordPerfect type files Version 1.6 - PLEASE DO NOT REMOVE THIS LINE -0 string \377WPC\020\000\000\000\022\012\001\001\000\000\000\000 (WP) loadable text ->15 byte 0 Optimized for Intel ->15 byte 1 Optimized for Non-Intel -1 string WPC (Corel/WP) ->8 short 257 WordPerfect macro ->8 short 258 WordPerfect help file ->8 short 259 WordPerfect keyboard file ->8 short 266 WordPerfect document ->8 short 267 WordPerfect dictionary ->8 short 268 WordPerfect thesaurus ->8 short 269 WordPerfect block ->8 short 270 WordPerfect rectangular block ->8 short 271 WordPerfect column block ->8 short 272 WordPerfect printer data ->8 short 275 WordPerfect printer data ->8 short 276 WordPerfect driver resource data ->8 short 279 WordPerfect hyphenation code ->8 short 280 WordPerfect hyphenation data ->8 short 281 WordPerfect macro resource data ->8 short 283 WordPerfect hyphenation lex ->8 short 285 WordPerfect wordlist ->8 short 286 WordPerfect equation resource data ->8 short 289 WordPerfect spell rules ->8 short 290 WordPerfect dictionary rules ->8 short 295 WordPerfect spell rules (Microlytics) ->8 short 299 WordPerfect settings file ->8 short 301 WordPerfect 4.2 document ->8 short 325 WordPerfect dialog file ->8 short 332 WordPerfect button bar ->8 short 513 Shell macro ->8 short 522 Shell definition ->8 short 769 Notebook macro ->8 short 770 Notebook help file ->8 short 771 Notebook keyboard file ->8 short 778 Notebook definition ->8 short 1026 Calculator help file ->8 short 1538 Calendar help file ->8 short 1546 Calendar data file ->8 short 1793 Editor macro ->8 short 1794 Editor help file ->8 short 1795 Editor keyboard file ->8 short 1817 Editor macro resource file ->8 short 2049 Macro editor macro ->8 short 2050 Macro editor help file ->8 short 2051 Macro editor keyboard file ->8 short 2305 PlanPerfect macro ->8 short 2306 PlanPerfect help file ->8 short 2307 PlanPerfect keyboard file ->8 short 2314 PlanPerfect worksheet ->8 short 2319 PlanPerfect printer definition ->8 short 2322 PlanPerfect graphic definition ->8 short 2323 PlanPerfect data ->8 short 2324 PlanPerfect temporary printer ->8 short 2329 PlanPerfect macro resource data ->8 byte 11 Mail ->8 short 2818 help file ->8 short 2821 distribution list ->8 short 2826 out box ->8 short 2827 in box ->8 short 2836 users archived mailbox ->8 short 2837 archived message database ->8 short 2838 archived attachments ->8 short 3083 Printer temporary file ->8 short 3330 Scheduler help file ->8 short 3338 Scheduler in file ->8 short 3339 Scheduler out file ->8 short 3594 GroupWise settings file ->8 short 3601 GroupWise directory services ->8 short 3627 GroupWise settings file ->8 short 4362 Terminal resource data ->8 short 4363 Terminal resource data ->8 short 4395 Terminal resource data ->8 short 4619 GUI loadable text ->8 short 4620 graphics resource data ->8 short 4621 printer settings file ->8 short 4622 port definition file ->8 short 4623 print queue parameters ->8 short 4624 compressed file ->8 short 5130 Network service msg file ->8 short 5131 Network service msg file ->8 short 5132 Async gateway login msg ->8 short 5134 GroupWise message file ->8 short 7956 GroupWise admin domain database ->8 short 7957 GroupWise admin host database ->8 short 7959 GroupWise admin remote host database ->8 short 7960 GroupWise admin ADS deferment data file ->8 short 8458 IntelliTAG (SGML) compiled DTD ->8 long 18219264 WordPerfect graphic image (1.0) ->8 long 18219520 WordPerfect graphic image (2.0) -#end of WordPerfect type files Version 1.6 - PLEASE DO NOT REMOVE THIS LINE - -# Hangul (Korean) Word Processor File -0 string HWP\ Document\ File Hangul (Korean) Word Processor File - -# CosmicBook, from Benoît Rouits -0 string CSBK Ted Neslson's CosmicBook hypertext file - - -#------------------------------------------------------------------------------ -# sun: file(1) magic for Sun machines -# -# Values for big-endian Sun (MC680x0, SPARC) binaries on pre-5.x -# releases. (5.x uses ELF.) -# -0 belong&077777777 0600413 sparc demand paged ->0 byte &0x80 ->>20 belong <4096 shared library ->>20 belong =4096 dynamically linked executable ->>20 belong >4096 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped -0 belong&077777777 0600410 sparc pure ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped -0 belong&077777777 0600407 sparc ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped - -0 belong&077777777 0400413 mc68020 demand paged ->0 byte &0x80 ->>20 belong <4096 shared library ->>20 belong =4096 dynamically linked executable ->>20 belong >4096 dynamically linked executable ->16 belong >0 not stripped -0 belong&077777777 0400410 mc68020 pure ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped -0 belong&077777777 0400407 mc68020 ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped - -0 belong&077777777 0200413 mc68010 demand paged ->0 byte &0x80 ->>20 belong <4096 shared library ->>20 belong =4096 dynamically linked executable ->>20 belong >4096 dynamically linked executable ->16 belong >0 not stripped -0 belong&077777777 0200410 mc68010 pure ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped -0 belong&077777777 0200407 mc68010 ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped - -# reworked these to avoid anything beginning with zero becoming "old sun-2" -0 belong 0407 old sun-2 executable ->16 belong >0 not stripped -0 belong 0410 old sun-2 pure executable ->16 belong >0 not stripped -0 belong 0413 old sun-2 demand paged executable ->16 belong >0 not stripped - -# -# Core files. "SPARC 4.x BCP" means "core file from a SunOS 4.x SPARC -# binary executed in compatibility mode under SunOS 5.x". -# -0 belong 0x080456 SunOS core file ->4 belong 432 (SPARC) ->>132 string >\0 from '%s' ->>116 belong =3 (quit) ->>116 belong =4 (illegal instruction) ->>116 belong =5 (trace trap) ->>116 belong =6 (abort) ->>116 belong =7 (emulator trap) ->>116 belong =8 (arithmetic exception) ->>116 belong =9 (kill) ->>116 belong =10 (bus error) ->>116 belong =11 (segmentation violation) ->>116 belong =12 (bad argument to system call) ->>116 belong =29 (resource lost) ->>120 belong x (T=%dK, ->>124 belong x D=%dK, ->>128 belong x S=%dK) ->4 belong 826 (68K) ->>128 string >\0 from '%s' ->4 belong 456 (SPARC 4.x BCP) ->>152 string >\0 from '%s' -# Sun SunPC -0 long 0xfa33c08e SunPC 4.0 Hard Disk -0 string #SUNPC_CONFIG SunPC 4.0 Properties Values -# Sun snoop (see RFC 1761, which describes the capture file format). -# -0 string snoop Snoop capture file ->8 belong >0 - version %ld ->12 belong 0 (IEEE 802.3) ->12 belong 1 (IEEE 802.4) ->12 belong 2 (IEEE 802.5) ->12 belong 3 (IEEE 802.6) ->12 belong 4 (Ethernet) ->12 belong 5 (HDLC) ->12 belong 6 (Character synchronous) ->12 belong 7 (IBM channel-to-channel adapter) ->12 belong 8 (FDDI) ->12 belong 9 (Unknown) - -# Microsoft ICM color profile -36 string acspMSFT Microsoft ICM Color Profile -# Sun KCMS -36 string acsp Kodak Color Management System, ICC Profile - -#--------------------------------------------------------------------------- -# The following entries have been tested by Duncan Laurie <duncan@sun.com> (a -# lead Sun/Cobalt developer) who agrees that they are good and worthy of -# inclusion. - -# Boot ROM images for Sun/Cobalt Linux server appliances -0 string Cobalt\ Networks\ Inc.\nFirmware\ v Paged COBALT boot rom ->38 string x V%.4s - -# New format for Sun/Cobalt boot ROMs is annoying, it stores the version code -# at the very end where file(1) can't get it. -0 string CRfs COBALT boot rom data (Flat boot rom or file system) - - - -#------------------------------------------------------------------------------ -# Sketch Drawings: http://sketch.sourceforge.net/ -# From: Edwin Mons <e@ik.nu> -0 string ##Sketch Sketch document text -#------------------------------------------------------------------------------ -# bFLT: file(1) magic for BFLT uclinux binary files -# -# From Philippe De Muyter <phdm@macqel.be> -# -0 string bFLT BFLT executable ->4 belong x - version %ld ->4 belong 4 ->>36 belong&0x1 0x1 ram ->>36 belong&0x2 0x2 gotpic ->>36 belong&0x4 0x4 gzip ->>36 belong&0x8 0x8 gzdata -# -# i80960 b.out objects and archives -# -0 long 0x10d i960 b.out relocatable object ->16 long >0 not stripped -# -# b.out archive (hp-rt on i960) -0 string !<bout> b.out archive ->8 string __.SYMDEF random library - -#------------------------------------------------------------------------------ -# hitach-sh: file(1) magic for Hitachi Super-H -# -# Super-H COFF -# -0 beshort 0x0500 Hitachi SH big-endian COFF ->18 beshort&0x0002 =0x0000 object ->18 beshort&0x0002 =0x0002 executable ->18 beshort&0x0008 =0x0008 \b, stripped ->18 beshort&0x0008 =0x0000 \b, not stripped -# -0 leshort 0x0550 Hitachi SH little-endian COFF ->18 leshort&0x0002 =0x0000 object ->18 leshort&0x0002 =0x0002 executable ->18 leshort&0x0008 =0x0008 \b, stripped ->18 leshort&0x0008 =0x0000 \b, not stripped - - -#------------------------------------------------------------------------------ -# matroska: file(1) magic for Matroska files -# -# See http://www.matroska.org/ -# - -# EBML id: -0 belong 0x1a45dfa3 -# DocType id: ->5 beshort 0x4282 -# DocType contents: ->>8 string matroska Matroska data - - -#------------------------------------------------------------------------------ -# ocaml: file(1) magic for Objective Caml files. -0 string Caml1999 Objective caml ->8 string X exec file ->8 string I interface file (.cmi) ->8 string O object file (.cmo) ->8 string A library file (.cma) ->8 string Y native object file (.cmx) ->8 string Z native library file (.cmxa) ->8 string M abstract syntax tree implementation file ->8 string N abstract syntax tree interface file ->9 string >\0 (Version %3.3s). - -#------------------------------------------------------------------------------ -# vax: file(1) magic for VAX executable/object and APL workspace -# -0 lelong 0101557 VAX single precision APL workspace -0 lelong 0101556 VAX double precision APL workspace - -# -# VAX a.out (32V, BSD) -# -0 lelong 0407 VAX executable ->16 lelong >0 not stripped - -0 lelong 0410 VAX pure executable ->16 lelong >0 not stripped - -0 lelong 0413 VAX demand paged pure executable ->16 lelong >0 not stripped - -0 lelong 0420 VAX demand paged (first page unmapped) pure executable ->16 lelong >0 not stripped - -# -# VAX COFF -# -# The `versions' should be un-commented if they work for you. -# (Was the problem just one of endianness?) -# -0 leshort 0570 VAX COFF executable ->12 lelong >0 not stripped ->22 leshort >0 - version %ld -0 leshort 0575 VAX COFF pure executable ->12 lelong >0 not stripped ->22 leshort >0 - version %ld - -#------------------------------------------------------------------------------ -# clipper: file(1) magic for Intergraph (formerly Fairchild) Clipper. -# -# XXX - what byte order does the Clipper use? -# -# XXX - what's the "!" stuff: -# -# >18 short !074000,000000 C1 R1 -# >18 short !074000,004000 C2 R1 -# >18 short !074000,010000 C3 R1 -# >18 short !074000,074000 TEST -# -# I shall assume it's ANDing the field with the first value and -# comparing it with the second, and rewrite it as: -# -# >18 short&074000 000000 C1 R1 -# >18 short&074000 004000 C2 R1 -# >18 short&074000 010000 C3 R1 -# >18 short&074000 074000 TEST -# -# as SVR3.1's "file" doesn't support anything of the "!074000,000000" -# sort, nor does SunOS 4.x, so either it's something Intergraph added -# in CLIX, or something AT&T added in SVR3.2 or later, or something -# somebody else thought was a good idea; it's not documented in the -# man page for this version of "magic", nor does it appear to be -# implemented (at least not after I blew off the bogus code to turn -# old-style "&"s into new-style "&"s, which just didn't work at all). -# -0 short 0575 CLIPPER COFF executable (VAX #) ->20 short 0407 (impure) ->20 short 0410 (5.2 compatible) ->20 short 0411 (pure) ->20 short 0413 (demand paged) ->20 short 0443 (target shared library) ->12 long >0 not stripped ->22 short >0 - version %ld -0 short 0577 CLIPPER COFF executable ->18 short&074000 000000 C1 R1 ->18 short&074000 004000 C2 R1 ->18 short&074000 010000 C3 R1 ->18 short&074000 074000 TEST ->20 short 0407 (impure) ->20 short 0410 (pure) ->20 short 0411 (separate I&D) ->20 short 0413 (paged) ->20 short 0443 (target shared library) ->12 long >0 not stripped ->22 short >0 - version %ld ->48 long&01 01 alignment trap enabled ->52 byte 1 -Ctnc ->52 byte 2 -Ctsw ->52 byte 3 -Ctpw ->52 byte 4 -Ctcb ->53 byte 1 -Cdnc ->53 byte 2 -Cdsw ->53 byte 3 -Cdpw ->53 byte 4 -Cdcb ->54 byte 1 -Csnc ->54 byte 2 -Cssw ->54 byte 3 -Cspw ->54 byte 4 -Cscb -4 string pipe CLIPPER instruction trace -4 string prof CLIPPER instruction profile - -#------------------------------------------------------------------------------ -# frame: file(1) magic for FrameMaker files -# -# This stuff came on a FrameMaker demo tape, most of which is -# copyright, but this file is "published" as witness the following: -# -0 string \<MakerFile FrameMaker document ->11 string 5.5 (5.5 ->11 string 5.0 (5.0 ->11 string 4.0 (4.0 ->11 string 3.0 (3.0 ->11 string 2.0 (2.0 ->11 string 1.0 (1.0 ->14 byte x %c) -0 string \<MIFFile FrameMaker MIF (ASCII) file ->9 string 4.0 (4.0) ->9 string 3.0 (3.0) ->9 string 2.0 (2.0) ->9 string 1.0 (1.x) -0 string \<MakerDictionary FrameMaker Dictionary text ->17 string 3.0 (3.0) ->17 string 2.0 (2.0) ->17 string 1.0 (1.x) -0 string \<MakerScreenFont FrameMaker Font file ->17 string 1.01 (%s) -0 string \<MML FrameMaker MML file -0 string \<BookFile FrameMaker Book file ->10 string 3.0 (3.0 ->10 string 2.0 (2.0 ->10 string 1.0 (1.0 ->13 byte x %c) -# XXX - this book entry should be verified, if you find one, uncomment this -#0 string \<Book\ FrameMaker Book (ASCII) file -#>6 string 3.0 (3.0) -#>6 string 2.0 (2.0) -#>6 string 1.0 (1.0) -0 string \<Maker Intermediate Print File FrameMaker IPL file - -#------------------------------------------------------------------------------ -# magic: file(1) magic for magic files -# -0 string #\ Magic magic text file for file(1) cmd -0 lelong 0xF11E041C magic binary file for file(1) cmd ->4 lelong x (version %d) (little endian) -0 belong 0xF11E041C magic binary file for file(1) cmd ->4 belong x (version %d) (big endian) - -#------------------------------------------------------------------------------ -# sql: file(1) magic for SQL files -# -# From: "Marty Leisner" <mleisner@eng.mc.xerox.com> -# Recognize some MySQL files. -# -0 beshort 0xfe01 MySQL table definition file ->2 byte x Version %d -0 belong&0xffffff00 0xfefe0300 MySQL MISAM index file ->3 byte x Version %d -0 belong&0xffffff00 0xfefe0700 MySQL MISAM compressed data file ->3 byte x Version %d -0 belong&0xffffff00 0xfefe0500 MySQL ISAM index file ->3 byte x Version %d -0 belong&0xffffff00 0xfefe0600 MySQL ISAM compressed data file ->3 byte x Version %d -0 string \376bin MySQL replication log - -#------------------------------------------------------------------------------ -# dact: file(1) magic for DACT compressed files -# -0 long 0x444354C3 DACT compressed data ->4 byte >-1 (version %i. ->5 byte >-1 $BS%i. ->6 byte >-1 $BS%i) ->7 long >0 $BS, original size: %i bytes ->15 long >30 $BS, block size: %i bytes -# -# GNU nlsutils message catalog file format -# -0 string \336\22\4\225 GNU message catalog (little endian), ->4 lelong x revision %d, ->8 lelong x %d messages -0 string \225\4\22\336 GNU message catalog (big endian), ->4 belong x revision %d, ->8 belong x %d messages -# message catalogs, from Mitchum DSouza <m.dsouza@mrc-apu.cam.ac.uk> -0 string *nazgul* Nazgul style compiled message catalog ->8 lelong >0 \b, version %ld -# GnuPG -# The format is very similar to pgp -0 string \001gpg GPG key trust database ->4 byte x version %d -0 beshort 0x9901 GPG key public ring -# This magic is not particularly good, as the keyrings don't have true -# magic. Nevertheless, it covers many keyrings. - -# Gnumeric spreadsheet -# This entry is only semi-helpful, as Gnumeric compresses its files, so -# they will ordinarily reported as "compressed", but at least -z helps -39 string =<gmr:Workbook Gnumeric spreadsheet - -#------------------------------------------------------------------------------ -# ibm6000: file(1) magic for RS/6000 and the RT PC. -# -0 beshort 0x01df executable (RISC System/6000 V3.1) or obj module ->12 belong >0 not stripped -# Breaks sun4 statically linked execs. -#0 beshort 0x0103 executable (RT Version 2) or obj module -#>2 byte 0x50 pure -#>28 belong >0 not stripped -#>6 beshort >0 - version %ld -0 beshort 0x0104 shared library -0 beshort 0x0105 ctab data -0 beshort 0xfe04 structured file -0 string 0xabcdef AIX message catalog -0 belong 0x000001f9 AIX compiled message catalog -0 string \<aiaff> archive -0 string \<bigaf> archive (big format) - - -#------------------------------------------------------------------------------ -# os2: file(1) magic for OS/2 files -# - -# Provided 1998/08/22 by -# David Mediavilla <davidme.news@REMOVEIFNOTSPAMusa.net> -1 string InternetShortcut MS Windows 95 Internet shortcut text ->24 string >\ (URL=<%s>) - -# OS/2 URL objects -# Provided 1998/08/22 by -# David Mediavilla <davidme.news@REMOVEIFNOTSPAMusa.net> -#0 string http: OS/2 URL object text -#>5 string >\ (WWW) <http:%s> -#0 string mailto: OS/2 URL object text -#>7 string >\ (email) <%s> -#0 string news: OS/2 URL object text -#>5 string >\ (Usenet) <%s> -#0 string ftp: OS/2 URL object text -#>4 string >\ (FTP) <ftp:%s> -#0 string file: OS/2 URL object text -#>5 string >\ (Local file) <%s> - -# >>>>> OS/2 INF/HLP <<<<< (source: Daniel Dissett ddissett@netcom.com) -# Carl Hauser (chauser.parc@xerox.com) and -# Marcus Groeber (marcusg@ph-cip.uni-koeln.de) -# list the following header format in inf02a.doc: -# -# int16 ID; // ID magic word (5348h = "HS") -# int8 unknown1; // unknown purpose, could be third letter of ID -# int8 flags; // probably a flag word... -# // bit 0: set if INF style file -# // bit 4: set if HLP style file -# // patching this byte allows reading HLP files -# // using the VIEW command, while help files -# // seem to work with INF settings here as well. -# int16 hdrsize; // total size of header -# int16 unknown2; // unknown purpose -# -0 string HSP\x01\x9b\x00 OS/2 INF ->107 string >0 (%s) -0 string HSP\x10\x9b\x00 OS/2 HLP ->107 string >0 (%s) - -# OS/2 INI (this is a guess) -0 string \xff\xff\xff\xff\x14\0\0\0 OS/2 INI -#------------------------------------------------------------------------------ -# -# RPM: file(1) magic for Red Hat Packages Erik Troan (ewt@redhat.com) -# -0 beshort 0xedab ->2 beshort 0xeedb RPM ->>4 byte x v%d ->>6 beshort 0 bin ->>6 beshort 1 src ->>8 beshort 1 i386 ->>8 beshort 2 Alpha ->>8 beshort 3 Sparc ->>8 beshort 4 MIPS ->>8 beshort 5 PowerPC ->>8 beshort 6 68000 ->>8 beshort 7 SGI ->>8 beshort 8 RS6000 ->>8 beshort 9 IA64 ->>8 beshort 10 Sparc64 ->>8 beshort 11 MIPSel ->>8 beshort 12 ARM ->>10 string x %s -#----------------------------------------------------------------------------- -# misctools: file(1) magic for miscelanous UNIX tools. -# -0 string %%!! X-Post-It-Note text -0 string BEGIN:VCALENDAR vCalendar calendar file - -#------------------------------------------------------------------------------ -# motorola: file(1) magic for Motorola 68K and 88K binaries -# -# 68K -# -0 beshort 0520 mc68k COFF ->18 beshort ^00000020 object ->18 beshort &00000020 executable ->12 belong >0 not stripped ->168 string .lowmem Apple toolbox ->20 beshort 0407 (impure) ->20 beshort 0410 (pure) ->20 beshort 0413 (demand paged) ->20 beshort 0421 (standalone) -0 beshort 0521 mc68k executable (shared) ->12 belong >0 not stripped -0 beshort 0522 mc68k executable (shared demand paged) ->12 belong >0 not stripped -# -# Motorola/UniSoft 68K Binary Compatibility Standard (BCS) -# -0 beshort 0554 68K BCS executable -# -# 88K -# -# Motorola/88Open BCS -# -0 beshort 0555 88K BCS executable -# -# Motorola S-Records, from Gerd Truschinski <gt@freebsd.first.gmd.de> -0 string S0 Motorola S-Record; binary data in text format - -# ATARI ST relocatable PRG -# -# from Oskar Schirmer <schirmer@scara.com> Feb 3, 2001 -# (according to Roland Waldi, Oct 21, 1987) -# besides the magic 0x601a, the text segment size is checked to be -# not larger than 1 MB (which is a lot on ST). -# The additional 0x601b distinction I took from Doug Lee's magic. -0 belong&0xFFFFFFF0 0x601A0000 Atari ST M68K contiguous executable ->2 belong x (txt=%ld, ->6 belong x dat=%ld, ->10 belong x bss=%ld, ->14 belong x sym=%ld) -0 belong&0xFFFFFFF0 0x601B0000 Atari ST M68K non-contig executable ->2 belong x (txt=%ld, ->6 belong x dat=%ld, ->10 belong x bss=%ld, ->14 belong x sym=%ld) - -# Atari ST/TT... program format (sent by Wolfram Kleff <kleff@cs.uni-bonn.de>) -0 beshort 0x601A Atari 68xxx executable, ->2 belong x text len %lu, ->6 belong x data len %lu, ->10 belong x BSS len %lu, ->14 belong x symboltab len %lu, ->18 belong 0 ->22 belong &0x01 fastload flag, ->22 belong &0x02 may be loaded to alternate RAM, ->22 belong &0x04 malloc may be from alternate RAM, ->22 belong x flags: 0x%lX, ->26 beshort 0 no relocation tab ->26 beshort !0 + relocation tab ->30 string SFX [Self-Extracting LZH SFX archive] ->38 string SFX [Self-Extracting LZH SFX archive] ->44 string ZIP! [Self-Extracting ZIP SFX archive] - -0 beshort 0x0064 Atari 68xxx CPX file ->8 beshort x (version %04lx) -# -# Mach magic number info -# -0 long 0xefbe OSF/Rose object -# I386 magic number info -# -0 short 0565 i386 COFF object - -#------------------------------------------------------------------------------ -# perl: file(1) magic for Larry Wall's perl language. -# -# The ``eval'' line recognizes an outrageously clever hack for USG systems. -# Keith Waclena <keith@cerberus.uchicago.edu> -# Send additions to <perl5-porters@perl.org> -0 string/b #!\ /bin/perl perl script text executable -0 string eval\ "exec\ /bin/perl perl script text -0 string/b #!\ /usr/bin/perl perl script text executable -0 string eval\ "exec\ /usr/bin/perl perl script text -0 string/b #!\ /usr/local/bin/perl perl script text -0 string eval\ "exec\ /usr/local/bin/perl perl script text executable -0 string eval\ '(exit\ $?0)'\ &&\ eval\ 'exec perl script text - -# a couple more, by me -# XXX: christos matches -#0 regex package Perl5 module source text (via regex) -0 string package Perl5 module source text - -# Perl Storable data files. -0 string perl-store perl Storable(v0.6) data ->4 byte >0 (net-order %d) ->>4 byte &01 (network-ordered) ->>4 byte =3 (major 1) ->>4 byte =2 (major 1) - -0 string pst0 perl Storable(v0.7) data ->4 byte >0 ->>4 byte &01 (network-ordered) ->>4 byte =5 (major 2) ->>4 byte =4 (major 2) ->>5 byte >0 (minor %d) - -#------------------------------------------------------------------------------ -# xenix: file(1) magic for Microsoft Xenix -# -# "Middle model" stuff, and "Xenix 8086 relocatable or 80286 small -# model" lifted from "magic.xenix", with comment "derived empirically; -# treat as folklore until proven" -# -# "small model", "large model", "huge model" stuff lifted from XXX -# -# XXX - "x.out" collides with PDP-11 archives -# -0 string core core file (Xenix) -0 byte 0x80 8086 relocatable (Microsoft) -0 leshort 0xff65 x.out ->2 string __.SYMDEF randomized ->0 byte x archive -0 leshort 0x206 Microsoft a.out ->8 leshort 1 Middle model ->0x1e leshort &0x10 overlay ->0x1e leshort &0x2 separate ->0x1e leshort &0x4 pure ->0x1e leshort &0x800 segmented ->0x1e leshort &0x400 standalone ->0x1e leshort &0x8 fixed-stack ->0x1c byte &0x80 byte-swapped ->0x1c byte &0x40 word-swapped ->0x10 lelong >0 not-stripped ->0x1e leshort ^0xc000 pre-SysV ->0x1e leshort &0x4000 V2.3 ->0x1e leshort &0x8000 V3.0 ->0x1c byte &0x4 86 ->0x1c byte &0xb 186 ->0x1c byte &0x9 286 ->0x1c byte &0xa 386 ->0x1f byte <0x040 small model ->0x1f byte =0x048 large model ->0x1f byte =0x049 huge model ->0x1e leshort &0x1 executable ->0x1e leshort ^0x1 object file ->0x1e leshort &0x40 Large Text ->0x1e leshort &0x20 Large Data ->0x1e leshort &0x120 Huge Objects Enabled ->0x10 lelong >0 not stripped - -0 leshort 0x140 old Microsoft 8086 x.out ->0x3 byte &0x4 separate ->0x3 byte &0x2 pure ->0 byte &0x1 executable ->0 byte ^0x1 relocatable ->0x14 lelong >0 not stripped - -0 lelong 0x206 b.out ->0x1e leshort &0x10 overlay ->0x1e leshort &0x2 separate ->0x1e leshort &0x4 pure ->0x1e leshort &0x800 segmented ->0x1e leshort &0x400 standalone ->0x1e leshort &0x1 executable ->0x1e leshort ^0x1 object file ->0x1e leshort &0x4000 V2.3 ->0x1e leshort &0x8000 V3.0 ->0x1c byte &0x4 86 ->0x1c byte &0xb 186 ->0x1c byte &0x9 286 ->0x1c byte &0x29 286 ->0x1c byte &0xa 386 ->0x1e leshort &0x4 Large Text ->0x1e leshort &0x2 Large Data ->0x1e leshort &0x102 Huge Objects Enabled - -0 leshort 0x580 XENIX 8086 relocatable or 80286 small model -#------------------------------------------------------------------------------ -# file(1) magic for tgif(1) files -# From Hendrik Scholz <hendrik@scholz.net> - -0 string %TGIF\ 4 tgif version 4 object file - - -#------------------------------------------------------------------------------ -# sc: file(1) magic for "sc" spreadsheet -# -38 string Spreadsheet sc spreadsheet file - -#------------------------------------------------------------------------------ -# pyramid: file(1) magic for Pyramids -# -# XXX - byte order? -# -0 long 0x50900107 Pyramid 90x family executable -0 long 0x50900108 Pyramid 90x family pure executable ->16 long >0 not stripped -0 long 0x5090010b Pyramid 90x family demand paged pure executable ->16 long >0 not stripped - -#------------------------------------------------------------------------------ -# adventure: file(1) magic for Adventure game files -# -# from Allen Garvin <earendil@faeryland.tamu-commerce.edu> -# Edited by Dave Chapeskie <dchapes@ddm.on.ca> Jun 28, 1998 -# Edited by Chris Chittleborough <cchittleborough@yahoo.com.au>, March 2002 -# -# ALAN -# I assume there are other, lower versions, but these are the only ones I -# saw in the archive. -0 beshort 0x0206 ALAN game data ->2 byte <10 version 2.6%d - -# Conflicts with too much other stuff! -# Infocom -# (Note: to avoid false matches Z-machine version 1 and 2 are not -# recognized since only the oldest Zork I and II used them. Similarly -# there are 4 Infocom games that use version 4 that are not recognized.) -#0 byte 3 Infocom game data (Z-machine 3, -#>2 beshort <0x7fff Release %3d, -#>26 beshort >0 Size %d*2 -#>18 string >\0 Serial %.6s) -#0 byte 5 Infocom game data (Z-machine 5, -#>2 beshort <0x7fff Release %3d, -#>26 beshort >0 Size %d*4 -#>18 string >\0 Serial %.6s) -#0 byte 6 Infocom game data (Z-machine 6, -#>2 beshort <0x7fff Release %3d, -#>26 beshort >0 Size %d*8 -#>18 string >\0 Serial %.6s) -#0 byte 8 Infocom game data (Z-machine 8, -#>2 beshort <0x7fff Release %3d, -#>26 beshort >0 Size %d*8 -#>18 string >\0 Serial %.6s) - -# TADS (Text Adventure Development System) -# All files are machine-independent (games compile to byte-code) and are tagged -# with a version string of the form "V2.<digit>.<digit>\0" (but TADS 3 is -# on the way). -# Game files start with "TADS2 bin\n\r\032\0" then the compiler version. -0 string TADS2\ bin TADS ->9 belong !0x0A0D1A00 game data, CORRUPTED ->9 belong 0x0A0D1A00 ->>13 string >\0 %s game data -# Resource files start with "TADS2 rsc\n\r\032\0" then the compiler version. -0 string TADS2\ rsc TADS ->9 belong !0x0A0D1A00 resource data, CORRUPTED ->9 belong 0x0A0D1A00 ->>13 string >\0 %s resource data -# Some saved game files start with "TADS2 save/g\n\r\032\0", a little-endian -# 2-byte length N, the N-char name of the game file *without* a NUL (darn!), -# "TADS2 save\n\r\032\0" and the interpreter version. -0 string TADS2\ save/g TADS ->12 belong !0x0A0D1A00 saved game data, CORRUPTED ->12 belong 0x0A0D1A00 ->>(16.s+32) string >\0 %s saved game data -# Other saved game files start with "TADS2 save\n\r\032\0" and the interpreter -# version. -0 string TADS2\ save TADS ->10 belong !0x0A0D1A00 saved game data, CORRUPTED ->10 belong 0x0A0D1A00 ->>14 string >\0 %s saved game data - -#------------------------------------------------------------------------------ -# att3b: file(1) magic for AT&T 3B machines -# -# The `versions' should be un-commented if they work for you. -# (Was the problem just one of endianness?) -# -# 3B20 -# -# The 3B20 conflicts with SCCS. -#0 beshort 0550 3b20 COFF executable -#>12 belong >0 not stripped -#>22 beshort >0 - version %ld -#0 beshort 0551 3b20 COFF executable (TV) -#>12 belong >0 not stripped -#>22 beshort >0 - version %ld -# -# WE32K -# -0 beshort 0560 WE32000 COFF ->18 beshort ^00000020 object ->18 beshort &00000020 executable ->12 belong >0 not stripped ->18 beshort ^00010000 N/A on 3b2/300 w/paging ->18 beshort &00020000 32100 required ->18 beshort &00040000 and MAU hardware required ->20 beshort 0407 (impure) ->20 beshort 0410 (pure) ->20 beshort 0413 (demand paged) ->20 beshort 0443 (target shared library) ->22 beshort >0 - version %ld -0 beshort 0561 WE32000 COFF executable (TV) ->12 belong >0 not stripped -#>18 beshort &00020000 - 32100 required -#>18 beshort &00040000 and MAU hardware required -#>22 beshort >0 - version %ld -# -# core file for 3b2 -0 string \000\004\036\212\200 3b2 core file ->364 string >\0 of '%s' - -#------------------------------------------------------------------------------ -# flash: file(1) magic for Macromedia Flash file format -# -# See -# -# http://www.macromedia.com/software/flash/open/ -# -0 string FWS Macromedia Flash data, ->3 byte x version %d -0 string CWS Macromedia Flash data (compressed), ->3 byte x version %d -# -# From Dave Wilson -0 string AGD4\xbe\xb8\xbb\xcb\x00 Macromedia Freehand 9 Document - -#------------------------------------------------------------------------------ -# karma: file(1) magic for Karma data files -# -# From <rgooch@atnf.csiro.au> - -0 string KarmaRHD Version Karma Data Structure Version ->16 belong x %lu -#------------------------------------------------------------------------------ -# octave binary data file(1) magic, from Dirk Eddelbuettel <edd@debian.org> -0 string Octave-1-L Octave binary data (little endian) -0 string Octave-1-B Octave binary data (big endian) - -#------------------------------------------------------------------------------ -# -# Parix COFF executables -# From: Ignatios Souvatzis <ignatios@cs.uni-bonn.de> -# -0 beshort&0xfff 0xACE PARIX ->0 byte&0xf0 0x80 T800 ->0 byte&0xf0 0x90 T9000 ->19 byte&0x02 0x02 executable ->19 byte&0x02 0x00 object ->19 byte&0x0c 0x00 not stripped - -#------------------------------------------------------------------------------ -# plan9: file(1) magic for AT&T Bell Labs' Plan 9 executables -# From: "Stefan A. Haubenthal" <polluks@web.de> -# -0 belong 0x00000107 Plan 9 executable, Motorola 68k -0 belong 0x000001EB Plan 9 executable, Intel 386 -0 belong 0x00000247 Plan 9 executable, Intel 960 -0 belong 0x000002AB Plan 9 executable, SPARC -0 belong 0x00000407 Plan 9 executable, MIPS R3000 -0 belong 0x0000048B Plan 9 executable, AT&T DSP 3210 -0 belong 0x00000517 Plan 9 executable, MIPS R4000 BE -0 belong 0x000005AB Plan 9 executable, AMD 29000 -0 belong 0x00000647 Plan 9 executable, ARM 7-something -0 belong 0x000006EB Plan 9 executable, PowerPC -0 belong 0x00000797 Plan 9 executable, MIPS R4000 LE -0 belong 0x0000084B Plan 9 executable, DEC Alpha - -#------------------------------------------------------------------------------ -# troff: file(1) magic for *roff -# -# updated by Daniel Quinlan (quinlan@yggdrasil.com) - -# troff input -0 string .\\" troff or preprocessor input text -0 string '\\" troff or preprocessor input text -0 string '.\\" troff or preprocessor input text -0 string \\" troff or preprocessor input text -0 string ''' troff or preprocessor input text - -# ditroff intermediate output text -0 string x\ T ditroff output text ->4 string cat for the C/A/T phototypesetter ->4 string ps for PostScript ->4 string dvi for DVI ->4 string ascii for ASCII ->4 string lj4 for LaserJet 4 ->4 string latin1 for ISO 8859-1 (Latin 1) ->4 string X75 for xditview at 75dpi ->>7 string -12 (12pt) ->4 string X100 for xditview at 100dpi ->>8 string -12 (12pt) - -# output data formats -0 string \100\357 very old (C/A/T) troff output data - -#------------------------------------------------------------------------------ -# spectrum: file(1) magic for Spectrum emulator files. -# -# John Elliott <jce@seasip.demon.co.uk> - -# -# Spectrum +3DOS header -# -0 string PLUS3DOS\032 Spectrum +3 data ->15 byte 0 - BASIC program ->15 byte 1 - number array ->15 byte 2 - character array ->15 byte 3 - memory block ->>16 belong 0x001B0040 (screen) ->15 byte 4 - Tasword document ->15 string TAPEFILE - ZXT tapefile -# -# Tape file. This assumes the .TAP starts with a Spectrum-format header, -# which nearly all will. -# -0 string \023\000\000 Spectrum .TAP data ->4 string x "%-10.10s" ->3 byte 0 - BASIC program ->3 byte 1 - number array ->3 byte 2 - character array ->3 byte 3 - memory block ->>14 belong 0x001B0040 (screen) - -# The following three blocks are from pak21-spectrum@srcf.ucam.org -# TZX tape images -0 string ZXTape!\x1a Spectrum .TZX data ->8 byte x version %d ->9 byte x .%d - -# RZX input recording files -0 string RZX! Spectrum .RZX data ->4 byte x version %d ->5 byte x .%d - -# And three sorts of disk image -0 string MV\ -\ CPCEMU\ Disk-Fil Amstrad/Spectrum .DSK data -0 string MV\ -\ CPC\ format\ Dis Amstrad/Spectrum DU54 .DSK data -0 string EXTENDED\ CPC\ DSK\ Fil Amstrad/Spectrum Extended .DSK data - -#------------------------------------------------------------------------------ -# softquad: file(1) magic for SoftQuad Publishing Software -# -# Author/Editor and RulesBuilder -# -# XXX - byte order? -# -0 string \<!SQ\ DTD> Compiled SGML rules file ->9 string >\0 Type %s -0 string \<!SQ\ A/E> A/E SGML Document binary ->9 string >\0 Type %s -0 string \<!SQ\ STS> A/E SGML binary styles file ->9 string >\0 Type %s -0 short 0xc0de Compiled PSI (v1) data -0 short 0xc0da Compiled PSI (v2) data ->3 string >\0 (%s) -# Binary sqtroff font/desc files... -0 short 0125252 SoftQuad DESC or font file binary ->2 short >0 - version %d -# Bitmaps... -0 string SQ\ BITMAP1 SoftQuad Raster Format text -#0 string SQ\ BITMAP2 SoftQuad Raster Format data -# sqtroff intermediate language (replacement for ditroff int. lang.) -0 string X\ SoftQuad troff Context intermediate ->2 string 495 for AT&T 495 laser printer ->2 string hp for Hewlett-Packard LaserJet ->2 string impr for IMAGEN imPRESS ->2 string ps for PostScript - -#------------------------------------------------------------------------------ -# Dyadic: file(1) magic for Dyalog APL. -# -0 byte 0xaa ->1 byte <4 Dyalog APL ->>1 byte 0x00 incomplete workspace ->>1 byte 0x01 component file ->>1 byte 0x02 external variable ->>1 byte 0x03 workspace ->>2 byte x version %d ->>3 byte x .%d - -#------------------------------------------------------------------------------ -# palm: file(1) magic for PalmOS {.prc,.pdb}: applications, docfiles, and hacks -# -# Brian Lalor <blalor@hcirisc.cs.binghamton.edu> - -# appl -60 belong 0x6170706c PalmOS application ->0 string >\0 "%s" -# TEXt -60 belong 0x54455874 AportisDoc file ->0 string >\0 "%s" -# HACK -60 belong 0x4841434b HackMaster hack ->0 string >\0 "%s" - -# Variety of PalmOS document types -# Michael-John Turner <mj@debian.org> -# Thanks to Hasan Umit Ezerce <humit@tr-net.net.tr> for his DocType -60 string BVokBDIC BDicty PalmOS document ->0 string >\0 "%s" -60 string DB99DBOS DB PalmOS document ->0 string >\0 "%s" -60 string vIMGView FireViewer/ImageViewer PalmOS document ->0 string >\0 "%s" -60 string PmDBPmDB HanDBase PalmOS document ->0 string >\0 "%s" -60 string InfoINDB InfoView PalmOS document ->0 string >\0 "%s" -60 string ToGoToGo iSilo PalmOS document ->0 string >\0 "%s" -60 string JfDbJBas JFile PalmOS document ->0 string >\0 "%s" -60 string JfDbJFil JFile Pro PalmOS document ->0 string >\0 "%s" -60 string DATALSdb List PalmOS document ->0 string >\0 "%s" -60 string Mdb1Mdb1 MobileDB PalmOS document ->0 string >\0 "%s" -60 string PNRdPPrs PeanutPress PalmOS document ->0 string >\0 "%s" -60 string DataPlkr Plucker PalmOS document ->0 string >\0 "%s" -60 string DataSprd QuickSheet PalmOS document ->0 string >\0 "%s" -60 string SM01SMem SuperMemo PalmOS document ->0 string >\0 "%s" -60 string DataTlPt TealDoc PalmOS document ->0 string >\0 "%s" -60 string InfoTlIf TealInfo PalmOS document ->0 string >\0 "%s" -60 string DataTlMl TealMeal PalmOS document ->0 string >\0 "%s" -60 string DataTlPt TealPaint PalmOS document ->0 string >\0 "%s" -60 string dataTDBP ThinkDB PalmOS document ->0 string >\0 "%s" -60 string TdatTide Tides PalmOS document ->0 string >\0 "%s" -60 string ToRaTRPW TomeRaider PalmOS document ->0 string >\0 "%s" - -# A GutenPalm zTXT etext for use on Palm Pilots (http://gutenpalm.sf.net) -# For version 1.xx zTXTs, outputs version and numbers of bookmarks and -# annotations. -# For other versions, just outputs version. -# -60 string zTXT A GutenPalm zTXT e-book ->0 string >\0 "%s" ->(0x4E.L) byte 0 ->>(0x4E.L+1) byte x (v0.%02d) ->(0x4E.L) byte 1 ->>(0x4E.L+1) byte x (v1.%02d) ->>>(0x4E.L+10) beshort >0 ->>>>(0x4E.L+10) beshort <2 - 1 bookmark ->>>>(0x4E.L+10) beshort >1 - %d bookmarks ->>>(0x4E.L+14) beshort >0 ->>>>(0x4E.L+14) beshort <2 - 1 annotation ->>>>(0x4E.L+14) beshort >1 - %d annotations ->(0x4E.L) byte >1 (v%d. ->>(0x4E.L+1) byte x %02d) - -# Palm OS .prc file types -60 string libr Palm OS dynamic library data ->0 string >\0 "%s" -60 string ptch Palm OS operating system patch data ->0 string >\0 "%s" - -# Mobipocket (www.mobipocket.com), donated by Carl Witty -60 string BOOKMOBI Mobipocket E-book ->0 string >\0 "%s" -#------------------------------------------------------------------------------ -# pdf: file(1) magic for Portable Document Format -# - -0 string %PDF- PDF document ->5 byte x \b, version %c ->7 byte x \b.%c - -#------------------------------------------------------------------------------ -# vorbis: file(1) magic for Ogg/Vorbis files -# -# From Felix von Leitner <leitner@fefe.de> -# Extended by Beni Cherniavsky <cben@crosswinds.net> -# Further extended by Greg Wooledge <greg@wooledge.org> -# -# Most (everything but the number of channels and bitrate) is commented -# out with `##' as it's not interesting to the average user. The most -# probable things advanced users would want to uncomment are probably -# the number of comments and the encoder version. -# -# --- Ogg Framing --- -0 string OggS Ogg data ->4 byte !0 UNKNOWN REVISION %u -##>4 byte 0 revision 0 ->4 byte 0 -##>>14 lelong x (Serial %lX) -# non-Vorbis content: FLAC (Free Lossless Audio Codec, http://flac.sourceforge.net) ->>28 string fLaC \b, FLAC audio -# non-Vorbis content: Theora ->>28 string \x80theora \b, Theora video -# non-Vorbis content: Speex ->>28 string Speex\ \ \ \b, Speex audio -# non-Vorbis content: OGM ->>28 string \x01video\0\0\0 \b, OGM video ->>>37 string/c div3 (DivX 3) ->>>37 string/c divx (DivX 4) ->>>37 string/c dx50 (DivX 5) ->>>37 string/c xvid (XviD) -# --- First vorbis packet - general header --- ->>28 string \x01vorbis \b, Vorbis audio, ->>>35 lelong !0 UNKNOWN VERSION %lu, -##>>>35 lelong 0 version 0, ->>>35 lelong 0 ->>>>39 ubyte 1 mono, ->>>>39 ubyte 2 stereo, ->>>>39 ubyte >2 %u channels, ->>>>40 lelong x %lu Hz -# Minimal, nominal and maximal bitrates specified when encoding ->>>>48 string <\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff \b, -# The above tests if at least one of these is specified: ->>>>>52 lelong !-1 -# Vorbis RC2 has a bug which puts -1000 in the min/max bitrate fields -# instead of -1. -# Vorbis 1.0 uses 0 instead of -1. ->>>>>>52 lelong !0 ->>>>>>>52 lelong !-1000 ->>>>>>>>52 lelong x <%lu ->>>>>48 lelong !-1 ->>>>>>48 lelong x ~%lu ->>>>>44 lelong !-1 ->>>>>>44 lelong !-1000 ->>>>>>>44 lelong !0 ->>>>>>>>44 lelong x >%lu ->>>>>48 string <\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff bps -# -- Second vorbis header packet - the comments -# A kludge to read the vendor string. It's a counted string, not a -# zero-terminated one, so file(1) can't read it in a generic way. -# libVorbis is the only one existing currently, so I detect specifically -# it. The interesting value is the cvs date (8 digits decimal). -# Post-RC1 Ogg files have the second header packet (and thus the version) -# in a different place, so we must use an indirect offset. ->>>(84.b+85) string \x03vorbis ->>>>(84.b+96) string/c Xiphophorus\ libVorbis\ I \b, created by: Xiphophorus libVorbis I ->>>>>(84.b+120) string >00000000 -# Map to beta version numbers: ->>>>>>(84.b+120) string <20000508 (<beta1, prepublic) ->>>>>>(84.b+120) string 20000508 (1.0 beta 1 or beta 2) ->>>>>>(84.b+120) string >20000508 ->>>>>>>(84.b+120) string <20001031 (beta2-3) ->>>>>>(84.b+120) string 20001031 (1.0 beta 3) ->>>>>>(84.b+120) string >20001031 ->>>>>>>(84.b+120) string <20010225 (beta3-4) ->>>>>>(84.b+120) string 20010225 (1.0 beta 4) ->>>>>>(84.b+120) string >20010225 ->>>>>>>(84.b+120) string <20010615 (beta4-RC1) ->>>>>>(84.b+120) string 20010615 (1.0 RC1) ->>>>>>(84.b+120) string 20010813 (1.0 RC2) ->>>>>>(84.b+120) string 20010816 (RC2 - Garf tuned v1) ->>>>>>(84.b+120) string 20011014 (RC2 - Garf tuned v2) ->>>>>>(84.b+120) string 20011217 (1.0 RC3) ->>>>>>(84.b+120) string 20011231 (1.0 RC3) -# Some pre-1.0 CVS snapshots still had "Xiphphorus"... ->>>>>>(84.b+120) string >20011231 (pre-1.0 CVS) -# For the 1.0 release, Xiphophorus is replaced by Xiph.Org ->>>>(84.b+96) string/c Xiph.Org\ libVorbis\ I \b, created by: Xiph.Org libVorbis I ->>>>>(84.b+117) string >00000000 ->>>>>>(84.b+117) string <20020717 (pre-1.0 CVS) ->>>>>>(84.b+117) string 20020717 (1.0) ->>>>>>(84.b+117) string 20030909 (1.0.1) ->>>>>>(84.b+117) string 20040629 (1.1.0 RC1) - -#----------------------------------------------- -# GNU Smalltalk image, starting at version 1.6.2 -# From: catull_us@yahoo.com -# -0 string GSTIm\0\0 GNU SmallTalk -# little-endian ->7 byte&1 =0 LE image version ->>10 byte x %d. ->>9 byte x \b%d. ->>8 byte x \b%d -#>>12 lelong x , data: %ld -#>>16 lelong x , table: %ld -#>>20 lelong x , memory: %ld -# big-endian ->7 byte&1 =1 BE image version ->>8 byte x %d. ->>9 byte x \b%d. ->>10 byte x \b%d -#>>12 belong x , data: %ld -#>>16 belong x , table: %ld -#>>20 belong x , memory: %ld - - - -#------------------------------------------------------------------------------ -# sgml: file(1) magic for Standard Generalized Markup Language -# HyperText Markup Language (HTML) is an SGML document type, -# from Daniel Quinlan (quinlan@yggdrasil.com) -# adapted to string extenstions by Anthon van der Neut <anthon@mnt.org) -0 string/cB \<!DOCTYPE\ html HTML document text -0 string/cb \<head HTML document text -0 string/cb \<title HTML document text -0 string/cb \<html HTML document text - -# Extensible markup language (XML), a subset of SGML -# from Marc Prud'hommeaux (marc@apocalypse.org) -0 string/cb \<?xml XML document text -0 string \<?xml\ version " XML -0 string \<?xml\ version=" XML ->15 string >\0 %.3s document text ->>23 string \<xsl:stylesheet (XSL stylesheet) ->>24 string \<xsl:stylesheet (XSL stylesheet) -0 string/b \<?xml XML document text -0 string/cb \<?xml broken XML document text - - -# SGML, mostly from rph@sq -0 string/cb \<!doctype exported SGML document text -0 string/cb \<!subdoc exported SGML subdocument text -0 string/cb \<!-- exported SGML document text - -# Web browser cookie files -# (Mozilla, Galeon, Netscape 4, Konqueror..) -# Ulf Harnhammar <ulfh@update.uu.se> -0 string #\ HTTP\ Cookie\ File Web browser cookie text -0 string #\ Netscape\ HTTP\ Cookie\ File Netscape cookie text -0 string #\ KDE\ Cookie\ File Konqueror cookie text - -#------------------------------------------------------------------------------ -# msvc: file(1) magic for msvc -# "H. Nanosecond" <aldomel@ix.netcom.com> -# Microsoft visual C -# -# I have version 1.0 - -# .aps -0 string HWB\000\377\001\000\000\000 Microsoft Visual C .APS file - -# .ide -#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 -0 string \102\157\162\154\141\156\144\040\103\053\053\040\120\162\157 MSVC .ide - -# .res -0 string \000\000\000\000\040\000\000\000\377 MSVC .res -0 string \377\003\000\377\001\000\020\020\350 MSVC .res -0 string \377\003\000\377\001\000\060\020\350 MSVC .res - -#.lib -0 string \360\015\000\000 Microsoft Visual C library -0 string \360\075\000\000 Microsoft Visual C library -0 string \360\175\000\000 Microsoft Visual C library - -#.pch -0 string DTJPCH0\000\022\103\006\200 Microsoft Visual C .pch - -# .pdb -# too long 0 string Microsoft\ C/C++\ program\ database\ -0 string Microsoft\ C/C++\ MSVC program database ->18 string program\ database\ ->33 string >\0 ver %s - -#.sbr -0 string \000\002\000\007\000 MSVC .sbr ->5 string >\0 %s - -#.bsc -0 string \002\000\002\001 MSVC .bsc - -#.wsp -0 string 1.00\ .0000.0000\000\003 MSVC .wsp version 1.0000.0000 -# these seem to start with the version and contain menus - -#------------------------------------------------------------------------------ -# news: file(1) magic for SunOS NeWS fonts (not "news" as in "netnews") -# -0 string StartFontMetrics ASCII font metrics -0 string StartFont ASCII font bits -0 belong 0x137A2944 NeWS bitmap font -0 belong 0x137A2947 NeWS font family -0 belong 0x137A2950 scalable OpenFont binary -0 belong 0x137A2951 encrypted scalable OpenFont binary -8 belong 0x137A2B45 X11/NeWS bitmap font -8 belong 0x137A2B48 X11/NeWS font family - -# ----------------------------------------------------------- -# VMware specific files (deducted from version 1.1 and log file entries) -# Anthon van der Neut (anthon@mnt.org) -0 belong 0x4d52564e VMware nvram -0 belong 0x434f5744 VMware ->4 byte 3 virtual disk ->>32 lelong x (%d/ ->>36 lelong x \b%d/ ->>40 lelong x \b%d) ->4 byte 2 undoable disk ->>32 string >\0 (%s) - -#------------------------------------------------------------------------------ -# diamond: file(1) magic for Diamond system -# -# ... diamond is a multi-media mail and electronic conferencing system.... -# -# XXX - I think it was either renamed Slate, or replaced by Slate.... -# -# The full deal is too long... -#0 string <list>\n<protocol\ bbn-multimedia-format> Diamond Multimedia Document -0 string =<list>\n<protocol\ bbn-m Diamond Multimedia Document - -#------------------------------------------------------------------------------ -# dump: file(1) magic for dump file format--for new and old dump filesystems -# -# We specify both byte orders in order to recognize byte-swapped dumps. -# -24 belong 60012 new-fs dump file (big endian), ->4 bedate x Previous dump %s, ->8 bedate x This dump %s, ->12 belong >0 Volume %ld, ->692 belong 0 Level zero, type: ->692 belong >0 Level %d, type: ->0 belong 1 tape header, ->0 belong 2 beginning of file record, ->0 belong 3 map of inodes on tape, ->0 belong 4 continuation of file record, ->0 belong 5 end of volume, ->0 belong 6 map of inodes deleted, ->0 belong 7 end of medium (for floppy), ->676 string >\0 Label %s, ->696 string >\0 Filesystem %s, ->760 string >\0 Device %s, ->824 string >\0 Host %s, ->888 belong >0 Flags %x - -24 belong 60011 old-fs dump file (big endian), -#>4 bedate x Previous dump %s, -#>8 bedate x This dump %s, ->12 belong >0 Volume %ld, ->692 belong 0 Level zero, type: ->692 belong >0 Level %d, type: ->0 belong 1 tape header, ->0 belong 2 beginning of file record, ->0 belong 3 map of inodes on tape, ->0 belong 4 continuation of file record, ->0 belong 5 end of volume, ->0 belong 6 map of inodes deleted, ->0 belong 7 end of medium (for floppy), ->676 string >\0 Label %s, ->696 string >\0 Filesystem %s, ->760 string >\0 Device %s, ->824 string >\0 Host %s, ->888 belong >0 Flags %x - -24 lelong 60012 new-fs dump file (little endian), ->4 ledate x This dump %s, ->8 ledate x Previous dump %s, ->12 lelong >0 Volume %ld, ->692 lelong 0 Level zero, type: ->692 lelong >0 Level %d, type: ->0 lelong 1 tape header, ->0 lelong 2 beginning of file record, ->0 lelong 3 map of inodes on tape, ->0 lelong 4 continuation of file record, ->0 lelong 5 end of volume, ->0 lelong 6 map of inodes deleted, ->0 lelong 7 end of medium (for floppy), ->676 string >\0 Label %s, ->696 string >\0 Filesystem %s, ->760 string >\0 Device %s, ->824 string >\0 Host %s, ->888 lelong >0 Flags %x - -24 lelong 60011 old-fs dump file (little endian), -#>4 ledate x Previous dump %s, -#>8 ledate x This dump %s, ->12 lelong >0 Volume %ld, ->692 lelong 0 Level zero, type: ->692 lelong >0 Level %d, type: ->0 lelong 1 tape header, ->0 lelong 2 beginning of file record, ->0 lelong 3 map of inodes on tape, ->0 lelong 4 continuation of file record, ->0 lelong 5 end of volume, ->0 lelong 6 map of inodes deleted, ->0 lelong 7 end of medium (for floppy), ->676 string >\0 Label %s, ->696 string >\0 Filesystem %s, ->760 string >\0 Device %s, ->824 string >\0 Host %s, ->888 lelong >0 Flags %x - -#------------------------------------------------------------------------------ -# linux: file(1) magic for Linux files -# -# Values for Linux/i386 binaries, from Daniel Quinlan <quinlan@yggdrasil.com> -# The following basic Linux magic is useful for reference, but using -# "long" magic is a better practice in order to avoid collisions. -# -# 2 leshort 100 Linux/i386 -# >0 leshort 0407 impure executable (OMAGIC) -# >0 leshort 0410 pure executable (NMAGIC) -# >0 leshort 0413 demand-paged executable (ZMAGIC) -# >0 leshort 0314 demand-paged executable (QMAGIC) -# -0 lelong 0x00640107 Linux/i386 impure executable (OMAGIC) ->16 lelong 0 \b, stripped -0 lelong 0x00640108 Linux/i386 pure executable (NMAGIC) ->16 lelong 0 \b, stripped -0 lelong 0x0064010b Linux/i386 demand-paged executable (ZMAGIC) ->16 lelong 0 \b, stripped -0 lelong 0x006400cc Linux/i386 demand-paged executable (QMAGIC) ->16 lelong 0 \b, stripped -# -0 string \007\001\000 Linux/i386 object file ->20 lelong >0x1020 \b, DLL library -# Linux-8086 stuff: -0 string \01\03\020\04 Linux-8086 impure executable ->28 long !0 not stripped -0 string \01\03\040\04 Linux-8086 executable ->28 long !0 not stripped -# -0 string \243\206\001\0 Linux-8086 object file -# -0 string \01\03\020\20 Minix-386 impure executable ->28 long !0 not stripped -0 string \01\03\040\20 Minix-386 executable ->28 long !0 not stripped -# core dump file, from Bill Reynolds <bill@goshawk.lanl.gov> -216 lelong 0421 Linux/i386 core file ->220 string >\0 of '%s' ->200 lelong >0 (signal %d) -# -# LILO boot/chain loaders, from Daniel Quinlan <quinlan@yggdrasil.com> -# this can be overridden by the DOS executable (COM) entry -2 string LILO Linux/i386 LILO boot/chain loader -# -# PSF fonts, from H. Peter Anvin <hpa@yggdrasil.com> -0 leshort 0x0436 Linux/i386 PC Screen Font data, ->2 byte 0 256 characters, no directory, ->2 byte 1 512 characters, no directory, ->2 byte 2 256 characters, Unicode directory, ->2 byte 3 512 characters, Unicode directory, ->3 byte >0 8x%d -# Linux swap file, from Daniel Quinlan <quinlan@yggdrasil.com> -4086 string SWAP-SPACE Linux/i386 swap file -# according to man page of mkswap (8) March 1999 -4086 string SWAPSPACE2 Linux/i386 swap file (new style) ->0x400 long x %d (4K pages) ->0x404 long x size %d pages -# ECOFF magic for OSF/1 and Linux (only tested under Linux though) -# -# from Erik Troan (ewt@redhat.com) examining od dumps, so this -# could be wrong -# updated by David Mosberger (davidm@azstarnet.com) based on -# GNU BFD and MIPS info found below. -# -0 leshort 0x0183 ECOFF alpha ->24 leshort 0407 executable ->24 leshort 0410 pure ->24 leshort 0413 demand paged ->8 long >0 not stripped ->8 long 0 stripped ->23 leshort >0 - version %ld. -# -# Linux kernel boot images, from Albert Cahalan <acahalan@cs.uml.edu> -# and others such as Axel Kohlmeyer <akohlmey@rincewind.chemie.uni-ulm.de> -# and Nicolás Lichtmaier <nick@debian.org> -# All known start with: b8 c0 07 8e d8 b8 00 90 8e c0 b9 00 01 29 f6 29 -# Linux kernel boot images (i386 arch) (Wolfram Kleff) -514 string HdrS Linux kernel ->510 leshort 0xAA55 x86 boot executable ->>518 leshort >=3D0x200 ->>529 byte 0 zImage, ->>>529 byte 1 bzImage, ->>>(526.s+0x200) string >\0 version %s, ->>498 leshort 1 RO-rootFS, ->>498 leshort 0 RW-rootFS, ->>508 leshort >0 root_dev 0x%X, ->>502 leshort >0 swap_dev 0x%X, ->>504 leshort >0 RAMdisksize %u KB, ->>506 leshort 0xFFFF Normal VGA ->>506 leshort 0xFFFE Extended VGA ->>506 leshort 0xFFFD Prompt for Videomode ->>506 leshort >0 Video mode %d -# This also matches new kernels, which were caught above by "HdrS". -0 belong 0xb8c0078e Linux kernel ->0x1e3 string Loading version 1.3.79 or older ->0x1e9 string Loading from prehistoric times - -# System.map files - Nicolás Lichtmaier <nick@debian.org> -8 string \ A\ _text Linux kernel symbol map text - -# LSM entries - Nicolás Lichtmaier <nick@debian.org> -0 string Begin3 Linux Software Map entry text -0 string Begin4 Linux Software Map entry text (new format) - -# From Matt Zimmerman -0 belong 0x4f4f4f4d User-mode Linux COW file ->4 belong x \b, version %d ->8 string >\0 \b, backing file %s - -############################################################################ -# Linux kernel versions - -0 string \xb8\xc0\x07\x8e\xd8\xb8\x00\x90 Linux ->497 leshort 0 x86 boot sector ->>514 belong 0x8e of a kernel from the dawn of time! ->>514 belong 0x908ed8b4 version 0.99-1.1.42 ->>514 belong 0x908ed8b8 for memtest86 - ->497 leshort !0 x86 kernel ->>504 leshort >0 RAMdisksize=%u KB ->>502 leshort >0 swap=0x%X ->>508 leshort >0 root=0x%X ->>>498 leshort 1 \b-ro ->>>498 leshort 0 \b-rw ->>506 leshort 0xFFFF vga=normal ->>506 leshort 0xFFFE vga=extended ->>506 leshort 0xFFFD vga=ask ->>506 leshort >0 vga=%d ->>514 belong 0x908ed881 version 1.1.43-1.1.45 ->>514 belong 0x15b281cd ->>>0xa8e belong 0x55AA5a5a version 1.1.46-1.2.13,1.3.0 ->>>0xa99 belong 0x55AA5a5a version 1.3.1,2 ->>>0xaa3 belong 0x55AA5a5a version 1.3.3-1.3.30 ->>>0xaa6 belong 0x55AA5a5a version 1.3.31-1.3.41 ->>>0xb2b belong 0x55AA5a5a version 1.3.42-1.3.45 ->>>0xaf7 belong 0x55AA5a5a version 1.3.46-1.3.72 ->>514 string HdrS ->>>518 leshort >0x1FF ->>>>529 byte 0 \b, zImage ->>>>529 byte 1 \b, bzImage ->>>>(526.s+0x200) string >\0 \b, version %s - -# Linux boot sector thefts. -0 belong 0xb8c0078e Linux ->0x1e6 belong 0x454c4b53 ELKS Kernel ->0x1e6 belong !0x454c4b53 style boot sector - -############################################################################ -# Linux 8086 executable -0 lelong&0xFF0000FF 0xC30000E9 Linux-Dev86 executable, headerless ->5 string . ->>4 string >\0 \b, libc version %s - -0 lelong&0xFF00FFFF 0x4000301 Linux-8086 executable ->2 byte&0x01 !0 \b, unmapped zero page ->2 byte&0x20 0 \b, impure ->2 byte&0x20 !0 ->>2 byte&0x10 !0 \b, A_EXEC ->2 byte&0x02 !0 \b, A_PAL ->2 byte&0x04 !0 \b, A_NSYM ->2 byte&0x08 !0 \b, A_STAND ->2 byte&0x40 !0 \b, A_PURE ->2 byte&0x80 !0 \b, A_TOVLY ->28 long !0 \b, not stripped ->37 string . ->>36 string >\0 \b, libc version %s - -# 0 lelong&0xFF00FFFF 0x10000301 ld86 I80386 executable -# 0 lelong&0xFF00FFFF 0xB000301 ld86 M68K executable -# 0 lelong&0xFF00FFFF 0xC000301 ld86 NS16K executable -# 0 lelong&0xFF00FFFF 0x17000301 ld86 SPARC executable - -# SYSLINUX boot logo files (from 'ppmtolss16' sources) -# http://syslinux.zytor.com/ -# -0 lelong =0x1413f33d SYSLINUX' LSS16 image data ->4 leshort x \b, width %d ->6 leshort x \b, height %d -#------------------------------------------------------------------------------ -# mime: file(1) magic for MIME encoded files -# -0 string Content-Type:\ ->14 string >\0 %s -0 string Content-Type: ->13 string >\0 %s - -#------------------------------------------------------------------------------ -# zilog: file(1) magic for Zilog Z8000. -# -# Was it big-endian or little-endian? My Product Specification doesn't -# say. -# -0 long 0xe807 object file (z8000 a.out) -0 long 0xe808 pure object file (z8000 a.out) -0 long 0xe809 separate object file (z8000 a.out) -0 long 0xe805 overlay object file (z8000 a.out) - -#------------------------------------------------------------------------------ -# sgi: file(1) magic for Silicon Graphics applications - -# -# -# Performance Co-Pilot file types -0 string PmNs PCP compiled namespace (V.0) -0 string PmN PCP compiled namespace ->3 string >\0 (V.%1.1s) -3 lelong 0x84500526 PCP archive ->7 byte x (V.%d) ->20 lelong -2 temporal index ->20 lelong -1 metadata ->20 lelong 0 log volume #0 ->20 lelong >0 log volume #%ld ->24 string >\0 host: %s -0 string PCPFolio PCP ->9 string Version: Archive Folio ->18 string >\0 (V.%s) -0 string #pmchart PCP pmchart view ->9 string Version ->17 string >\0 (V%-3.3s) -0 string pmview PCP pmview config ->7 string Version ->15 string >\0 (V%-3.3s) -0 string #pmlogger PCP pmlogger config ->10 string Version ->18 string >\0 (V%1.1s) -0 string PcPh PCP Help ->4 string 1 Index ->4 string 2 Text ->5 string >\0 (V.%1.1s) -0 string #pmieconf-rules PCP pmieconf rules ->16 string >\0 (V.%1.1s) -3 string pmieconf-pmie PCP pmie config ->17 string >\0 (V.%1.1s) - -# SpeedShop data files -0 lelong 0x13130303 SpeedShop data file - -# mdbm files -0 lelong 0x01023962 mdbm file, version 0 (obsolete) -0 string mdbm mdbm file, ->5 byte x version %d, ->6 byte x 2^%d pages, ->7 byte x pagesize 2^%d, ->17 byte x hash %d, ->11 byte x dataformat %d - -# Alias|Wavefront Maya files -0 string //Maya ASCII Alias|Wavefront Maya Ascii File, ->13 string >\0 version %s -8 string MAYAFOR4 Alias|Wavefront Maya Binary File, ->32 string >\0 version %s scene -8 string MayaFOR4 Alias|Wavefront Maya Binary File, ->32 string >\0 version %s scene -8 string CIMG Alias|Wavefront Maya Image File -8 string DEEP Alias|Wavefront Maya Image File - -#------------------------------------------------------------------------------ -# sequent: file(1) magic for Sequent machines -# -# Sequent information updated by Don Dwiggins <atsun!dwiggins>. -# For Sequent's multiprocessor systems (incomplete). -0 lelong 0x00ea BALANCE NS32000 .o ->16 lelong >0 not stripped ->124 lelong >0 version %ld -0 lelong 0x10ea BALANCE NS32000 executable (0 @ 0) ->16 lelong >0 not stripped ->124 lelong >0 version %ld -0 lelong 0x20ea BALANCE NS32000 executable (invalid @ 0) ->16 lelong >0 not stripped ->124 lelong >0 version %ld -0 lelong 0x30ea BALANCE NS32000 standalone executable ->16 lelong >0 not stripped ->124 lelong >0 version %ld -# -# Symmetry information added by Jason Merrill <jason@jarthur.claremont.edu>. -# Symmetry magic nums will not be reached if DOS COM comes before them; -# byte 0xeb is matched before these get a chance. -0 leshort 0x12eb SYMMETRY i386 .o ->16 lelong >0 not stripped ->124 lelong >0 version %ld -0 leshort 0x22eb SYMMETRY i386 executable (0 @ 0) ->16 lelong >0 not stripped ->124 lelong >0 version %ld -0 leshort 0x32eb SYMMETRY i386 executable (invalid @ 0) ->16 lelong >0 not stripped ->124 lelong >0 version %ld -0 leshort 0x42eb SYMMETRY i386 standalone executable ->16 lelong >0 not stripped ->124 lelong >0 version %ld - -#------------------------------------------------------------------------------ -# blit: file(1) magic for 68K Blit stuff as seen from 680x0 machine -# -# Note that this 0407 conflicts with several other a.out formats... -# -# XXX - should this be redone with "be" and "le", so that it works on -# little-endian machines as well? If so, what's the deal with -# "VAX-order" and "VAX-order2"? -# -#0 long 0407 68K Blit (standalone) executable -#0 short 0407 VAX-order2 68K Blit (standalone) executable -0 short 03401 VAX-order 68K Blit (standalone) executable -0 long 0406 68k Blit mpx/mux executable -0 short 0406 VAX-order2 68k Blit mpx/mux executable -0 short 03001 VAX-order 68k Blit mpx/mux executable -# Need more values for WE32 DMD executables. -# Note that 0520 is the same as COFF -#0 short 0520 tty630 layers executable -#------------------------------------------------------------------------------ -# impulse tracker: file(1) magic for Impulse Tracker data files -# -# From <collver1@attbi.com> -# These are the /etc/magic entries to decode modules, instruments, and -# samples in Impulse Tracker's native format. - -0 string IMPS Impulse Tracker Sample ->18 byte &2 16 bit ->18 byte ^2 8 bit ->18 byte &4 stereo ->18 byte ^4 mono -0 string IMPI Impulse Tracker Instrument ->28 leshort !0 ITv%x ->30 byte !0 %d samples -0 string IMPM Impulse Tracker Module ->40 leshort !0 compatible w/ITv%x ->42 leshort !0 created w/ITv%x - -#------------------------------------------------------------------------------ -# island: file(1) magic for IslandWite/IslandDraw, from SunOS 5.5.1 -# "/etc/magic": -# From: guy@netapp.com (Guy Harris) -# -4 string pgscriptver IslandWrite document -13 string DrawFile IslandDraw document - - -#------------------------------------------------------------------------------ -# maple: file(1) magic for maple files -# "H. Nanosecond" <aldomel@ix.netcom.com> -# Maple V release 4, a multi-purpose math program -# - -# maple library .lib -0 string \000MVR4\nI MapleVr4 library - -# .ind -# no magic for these :-( -# they are compiled indexes for maple files - -# .hdb -0 string \000\004\000\000 Maple help database - -# .mhp -# this has the form <PACKAGE=name> -0 string \<PACKAGE= Maple help file -0 string \<HELP\ NAME= Maple help file -0 string \n\<HELP\ NAME= Maple help file with extra carriage return at start (yuck) -#0 string #\ Newton Maple help file, old style -0 string #\ daub Maple help file, old style -#0 string #=========== Maple help file, old style - -# .mws -0 string \000\000\001\044\000\221 Maple worksheet -#this is anomalous -0 string WriteNow\000\002\000\001\000\000\000\000\100\000\000\000\000\000 Maple worksheet, but weird -# this has the form {VERSION 2 3 "IBM INTEL NT" "2.3" }\n -# that is {VERSION major_version miunor_version computer_type version_string} -0 string {VERSION\ Maple worksheet ->9 string >\0 version %.1s. ->>10 string ->>>11 string >\0 %.1s - -# .mps -0 string \0\0\001$ Maple something -# from byte 4 it is either 'nul E' or 'soh R' -# I think 'nul E' means a file that was saved as a different name -# a sort of revision marking -# 'soh R' means new ->4 string \000\105 An old revision ->4 string \001\122 The latest save - -# .mpl -# some of these are the same as .mps above -#0000000 000 000 001 044 000 105 same as .mps -#0000000 000 000 001 044 001 122 same as .mps - -0 string #\n##\ <SHAREFILE= Maple something -0 string \n#\n##\ <SHAREFILE= Maple something -0 string ##\ <SHAREFILE= Maple something -0 string #\r##\ <SHAREFILE= Maple something -0 string \r#\r##\ <SHAREFILE= Maple something -0 string #\ \r##\ <DESCRIBE> Maple something anomalous. -# -# Copyright (c) 1996 Ignatios Souvatzis. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# 3. All advertising materials mentioning features or use of this software -# must display the following acknowledgement: -# This product includes software developed by Ignatios Souvatzis for -# the NetBSD project. -# 4. The name of the author may not be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# -# -# -# OS9/6809 module descriptions: -# -0 beshort 0x87CD OS9/6809 module: -# ->6 byte&0x0f 0x00 non-executable ->6 byte&0x0f 0x01 machine language ->6 byte&0x0f 0x02 BASIC I-code ->6 byte&0x0f 0x03 Pascal P-code ->6 byte&0x0f 0x04 C I-code ->6 byte&0x0f 0x05 COBOL I-code ->6 byte&0x0f 0x06 Fortran I-code -# ->6 byte&0xf0 0x10 program executable ->6 byte&0xf0 0x20 subroutine ->6 byte&0xf0 0x30 multi-module ->6 byte&0xf0 0x40 data module -# ->6 byte&0xf0 0xC0 system module ->6 byte&0xf0 0xD0 file manager ->6 byte&0xf0 0xE0 device driver ->6 byte&0xf0 0xF0 device descriptor -# -# OS9/m68k stuff (to be continued) -# -0 beshort 0x4AFC OS9/68K module: -# -# attr ->0x14 byte&0x80 0x80 re-entrant ->0x14 byte&0x40 0x40 ghost ->0x14 byte&0x20 0x20 system-state -# -# lang: -# ->0x13 byte 1 machine language ->0x13 byte 2 BASIC I-code ->0x13 byte 3 Pascal P-code ->0x13 byte 4 C I-code ->0x13 byte 5 COBOL I-code ->0x13 byte 6 Fortran I-code -# -# -# type: -# ->0x12 byte 1 program executable ->0x12 byte 2 subroutine ->0x12 byte 3 multi-module ->0x12 byte 4 data module ->0x12 byte 11 trap library ->0x12 byte 12 system module ->0x12 byte 13 file manager ->0x12 byte 14 device driver ->0x12 byte 15 device descriptor - -#------------------------------------------------------------------------------ -# pkgadd: file(1) magic for SysV R4 PKG Datastreams -# -0 string #\ PaCkAgE\ DaTaStReAm pkg Datastream (SVR4) - -#------------------------------------------------------------------------------ -# xo65 object files -# From: "Ullrich von Bassewitz" <uz@cc65.org> -# -0 string \x55\x7A\x6E\x61 xo65 object, ->4 leshort x version %d, ->6 leshort&0x0001 =0x0001 with debug info ->6 leshort&0x0001 =0x0000 no debug info - -# xo65 library files -0 string \x6E\x61\x55\x7A xo65 library, ->4 leshort x version %d - -# o65 object files -0 string \x01\x00\x6F\x36\x35 o65 ->6 leshort&0x1000 =0x0000 executable, ->6 leshort&0x1000 =0x1000 object, ->5 byte x version %d, ->6 leshort&0x8000 =0x8000 65816, ->6 leshort&0x8000 =0x0000 6502, ->6 leshort&0x2000 =0x2000 32 bit, ->6 leshort&0x2000 =0x0000 16 bit, ->6 leshort&0x4000 =0x4000 page reloc, ->6 leshort&0x4000 =0x0000 byte reloc, ->6 leshort&0x0003 =0x0000 alignment 1 ->6 leshort&0x0003 =0x0001 alignment 2 ->6 leshort&0x0003 =0x0002 alignment 4 ->6 leshort&0x0003 =0x0003 alignment 256 -#------------------------------------------------------------------------------ -# Virtutech Compressed Random Access File Format -# -# From <gustav@virtutech.com> -0 string \211\277\036\203 Virtutech CRAFF ->4 belong x v%d ->20 belong 0 uncompressed ->20 belong 1 bzipp2ed ->20 belong 2 gzipped ->24 belong 0 not clean - -#------------------------------------------------------------------------------ -# uuencode: file(1) magic for ASCII-encoded files -# - -# GRR: the first line of xxencoded files is identical to that in uuencoded -# files, but the first character in most subsequent lines is 'h' instead of -# 'M'. (xxencoding uses lowercase letters in place of most of uuencode's -# punctuation and survives BITNET gateways better.) If regular expressions -# were supported, this entry could possibly be split into two with -# "begin\040\.\*\012M" or "begin\040\.\*\012h" (where \. and \* are REs). -0 string begin\040 uuencoded or xxencoded text - -# btoa(1) is an alternative to uuencode that requires less space. -0 string xbtoa\ Begin btoa'd text - -# ship(1) is another, much cooler alternative to uuencode. -# Greg Roelofs, newt@uchicago.edu -0 string $\012ship ship'd binary text - -# bencode(8) is used to encode compressed news batches (Bnews/Cnews only?) -# Greg Roelofs, newt@uchicago.edu -0 string Decode\ the\ following\ with\ bdeco bencoded News text - -# BinHex is the Macintosh ASCII-encoded file format (see also "apple") -# Daniel Quinlan, quinlan@yggdrasil.com -11 string must\ be\ converted\ with\ BinHex BinHex binary text ->41 string x \b, version %.3s - -# GRR: is MIME BASE64 encoding handled somewhere? -#------------------------------------------------------------------------------ -# amanda: file(1) magic for amanda file format -# -0 string AMANDA:\ AMANDA ->8 string TAPESTART\ DATE tape header file, ->>23 string X ->>>25 string >\ Unused %s ->>23 string >\ DATE %s ->8 string FILE\ dump file, ->>13 string >\ DATE %s - -#------------------------------------------------------------------------------ -# audio: file(1) magic for sound formats (see also "iff") -# -# Jan Nicolai Langfeldt (janl@ifi.uio.no), Dan Quinlan (quinlan@yggdrasil.com), -# and others -# - -# Sun/NeXT audio data -0 string .snd Sun/NeXT audio data: ->12 belong 1 8-bit ISDN mu-law, ->12 belong 2 8-bit linear PCM [REF-PCM], ->12 belong 3 16-bit linear PCM, ->12 belong 4 24-bit linear PCM, ->12 belong 5 32-bit linear PCM, ->12 belong 6 32-bit IEEE floating point, ->12 belong 7 64-bit IEEE floating point, ->12 belong 8 Fragmented sample data, ->12 belong 10 DSP program, ->12 belong 11 8-bit fixed point, ->12 belong 12 16-bit fixed point, ->12 belong 13 24-bit fixed point, ->12 belong 14 32-bit fixed point, ->12 belong 18 16-bit linear with emphasis, ->12 belong 19 16-bit linear compressed, ->12 belong 20 16-bit linear with emphasis and compression, ->12 belong 21 Music kit DSP commands, ->12 belong 23 8-bit ISDN mu-law compressed (CCITT G.721 ADPCM voice data encoding), ->12 belong 24 compressed (8-bit CCITT G.722 ADPCM) ->12 belong 25 compressed (3-bit CCITT G.723.3 ADPCM), ->12 belong 26 compressed (5-bit CCITT G.723.5 ADPCM), ->12 belong 27 8-bit A-law (CCITT G.711), ->20 belong 1 mono, ->20 belong 2 stereo, ->20 belong 4 quad, ->16 belong >0 %d Hz - -# DEC systems (e.g. DECstation 5000) use a variant of the Sun/NeXT format -# that uses little-endian encoding and has a different magic number -0 lelong 0x0064732E DEC audio data: ->12 lelong 1 8-bit ISDN mu-law, ->12 lelong 2 8-bit linear PCM [REF-PCM], ->12 lelong 3 16-bit linear PCM, ->12 lelong 4 24-bit linear PCM, ->12 lelong 5 32-bit linear PCM, ->12 lelong 6 32-bit IEEE floating point, ->12 lelong 7 64-bit IEEE floating point, ->12 belong 8 Fragmented sample data, ->12 belong 10 DSP program, ->12 belong 11 8-bit fixed point, ->12 belong 12 16-bit fixed point, ->12 belong 13 24-bit fixed point, ->12 belong 14 32-bit fixed point, ->12 belong 18 16-bit linear with emphasis, ->12 belong 19 16-bit linear compressed, ->12 belong 20 16-bit linear with emphasis and compression, ->12 belong 21 Music kit DSP commands, ->12 lelong 23 8-bit ISDN mu-law compressed (CCITT G.721 ADPCM voice data encoding), ->12 belong 24 compressed (8-bit CCITT G.722 ADPCM) ->12 belong 25 compressed (3-bit CCITT G.723.3 ADPCM), ->12 belong 26 compressed (5-bit CCITT G.723.5 ADPCM), ->12 belong 27 8-bit A-law (CCITT G.711), ->20 lelong 1 mono, ->20 lelong 2 stereo, ->20 lelong 4 quad, ->16 lelong >0 %d Hz - -# Creative Labs AUDIO stuff -0 string MThd Standard MIDI data ->8 beshort x (format %d) ->10 beshort x using %d track ->10 beshort >1 \bs ->12 beshort&0x7fff x at 1/%d ->12 beshort&0x8000 >0 SMPTE - -0 string CTMF Creative Music (CMF) data -0 string SBI SoundBlaster instrument data -0 string Creative\ Voice\ File Creative Labs voice data -# is this next line right? it came this way... ->19 byte 0x1A ->23 byte >0 - version %d ->22 byte >0 \b.%d - -# first entry is also the string "NTRK" -0 belong 0x4e54524b MultiTrack sound data ->4 belong x - version %ld - -# Extended MOD format (*.emd) (Greg Roelofs, newt@uchicago.edu); NOT TESTED -# [based on posting 940824 by "Dirk/Elastik", husberg@lehtori.cc.tut.fi] -0 string EMOD Extended MOD sound data, ->4 byte&0xf0 x version %d ->4 byte&0x0f x \b.%d, ->45 byte x %d instruments ->83 byte 0 (module) ->83 byte 1 (song) - -# Real Audio (Magic .ra\0375) -0 belong 0x2e7261fd RealAudio sound file -0 string .RMF RealMedia file - -# MTM/669/FAR/S3M/ULT/XM format checking [Aaron Eppert, aeppert@dialin.ind.net] -# Oct 31, 1995 -# fixed by <doj@cubic.org> 2003-06-24 -# Too short... -#0 string MTM MultiTracker Module sound file -#0 string if Composer 669 Module sound data -#0 string JN Composer 669 Module sound data (extended format) -0 string MAS_U ULT(imate) Module sound data - -#0 string FAR Module sound data -#>4 string >\15 Title: "%s" - -0x2c string SCRM ScreamTracker III Module sound data ->0 string >\0 Title: "%s" - -# Gravis UltraSound patches -# From <ache@nagual.ru> - -0 string GF1PATCH110\0ID#000002\0 GUS patch -0 string GF1PATCH100\0ID#000002\0 Old GUS patch - -# -# Taken from loader code from mikmod version 2.14 -# by Steve McIntyre (stevem@chiark.greenend.org.uk) -# <doj@cubic.org> added title printing on 2003-06-24 -0 string MAS_UTrack_V00 ->14 string >/0 ultratracker V1.%.1s module sound data - -0 string UN05 MikMod UNI format module sound data - -0 string Extended\ Module: Fasttracker II module sound data ->17 string >\0 Title: "%s" - -21 string/c !SCREAM! Screamtracker 2 module sound data -21 string BMOD2STM Screamtracker 2 module sound data -1080 string M.K. 4-channel Protracker module sound data ->0 string >\0 Title: "%s" -1080 string M!K! 4-channel Protracker module sound data ->0 string >\0 Title: "%s" -1080 string FLT4 4-channel Startracker module sound data ->0 string >\0 Title: "%s" -1080 string FLT8 8-channel Startracker module sound data ->0 string >\0 Title: "%s" -1080 string 4CHN 4-channel Fasttracker module sound data ->0 string >\0 Title: "%s" -1080 string 6CHN 6-channel Fasttracker module sound data ->0 string >\0 Title: "%s" -1080 string 8CHN 8-channel Fasttracker module sound data ->0 string >\0 Title: "%s" -1080 string CD81 8-channel Octalyser module sound data ->0 string >\0 Title: "%s" -1080 string OKTA 8-channel Oktalyzer module sound data ->0 string >\0 Title: "%s" -# Not good enough. -#1082 string CH -#>1080 string >/0 %.2s-channel Fasttracker "oktalyzer" module sound data -1080 string 16CN 16-channel Taketracker module sound data ->0 string >\0 Title: "%s" -1080 string 32CN 32-channel Taketracker module sound data ->0 string >\0 Title: "%s" - -# TOC sound files -Trevor Johnson <trevor@jpj.net> -# -0 string TOC TOC sound file - -# sidfiles <pooka@iki.fi> -# added name,author,(c) and new RSID type by <doj@cubic.org> 2003-06-24 -0 string SIDPLAY\ INFOFILE Sidplay info file - -0 string PSID PlaySID v2.2+ (AMIGA) sidtune ->4 beshort >0 w/ header v%d, ->14 beshort =1 single song, ->14 beshort >1 %d songs, ->16 beshort >0 default song: %d ->0x16 string >\0 name: "%s" ->0x36 string >\0 author: "%s" ->0x56 string >\0 copyright: "%s" - -0 string RSID RSID sidtune PlaySID compatible ->4 beshort >0 w/ header v%d, ->14 beshort =1 single song, ->14 beshort >1 %d songs, ->16 beshort >0 default song: %d ->0x16 string >\0 name: "%s" ->0x36 string >\0 author: "%s" ->0x56 string >\0 copyright: "%s" - -# IRCAM <mpruett@sgi.com> -# VAX and MIPS files are little-endian; Sun and NeXT are big-endian -0 belong 0x64a30100 IRCAM file (VAX) -0 belong 0x64a30200 IRCAM file (Sun) -0 belong 0x64a30300 IRCAM file (MIPS little-endian) -0 belong 0x64a30400 IRCAM file (NeXT) - -# NIST SPHERE <mpruett@sgi.com> -0 string NIST_1A\n\ \ \ 1024\n NIST SPHERE file - -# Sample Vision <mpruett@sgi.com> -0 string SOUND\ SAMPLE\ DATA\ Sample Vision file - -# Audio Visual Research <tonigonenstein@users.sourceforge.net> -0 string 2BIT Audio Visual Research file, ->12 beshort =0 mono, ->12 beshort =-1 stereo, ->14 beshort x %d bits ->16 beshort =0 unsigned, ->16 beshort =-1 signed, ->22 belong&0x00ffffff x %d Hz, ->18 beshort =0 no loop, ->18 beshort =-1 loop, ->21 ubyte <=127 note %d, ->22 byte =0 replay 5.485 KHz ->22 byte =1 replay 8.084 KHz ->22 byte =2 replay 10.971 Khz ->22 byte =3 replay 16.168 Khz ->22 byte =4 replay 21.942 KHz ->22 byte =5 replay 32.336 KHz ->22 byte =6 replay 43.885 KHz ->22 byte =7 replay 47.261 KHz - -# SGI SoundTrack <mpruett@sgi.com> -0 string _SGI_SoundTrack SGI SoundTrack project file -# ID3 version 2 tags <waschk@informatik.uni-rostock.de> -0 string ID3 MP3 file with ID3 version 2. ->3 ubyte <0xff \b%d. ->4 ubyte <0xff \b%d tag - -# NSF (NES sound file) magic -0 string NESM\x1a NES Sound File ->14 string >\0 ("%s" by ->46 string >\0 %s, copyright ->78 string >\0 %s), ->5 byte x version %d, ->6 byte x %d tracks, ->122 byte&0x2 =1 dual PAL/NTSC ->122 byte&0x1 =1 PAL ->122 byte&0x1 =0 NTSC - -# Impuse tracker module (audio/x-it) -0 string IMPM Impulse Tracker module sound data - ->4 string >\0 "%s" ->40 leshort !0 compatible w/ITv%x ->42 leshort !0 created w/ITv%x - -# Imago Orpheus module (audio/x-imf) -60 string IM10 Imago Orpheus module sound data - ->0 string >\0 "%s" - -# From <collver1@attbi.com> -# These are the /etc/magic entries to decode modules, instruments, and -# samples in Impulse Tracker's native format. - -0 string IMPS Impulse Tracker Sample ->18 byte &2 16 bit ->18 byte ^2 8 bit ->18 byte &4 stereo ->18 byte ^4 mono -0 string IMPI Impulse Tracker Instrument ->28 leshort !0 ITv%x ->30 byte !0 %d samples - -# Yamaha TX Wave: file(1) magic for Yamaha TX Wave audio files -# From <collver1@attbi.com> -0 string LM8953 Yamaha TX Wave ->22 byte 0x49 looped ->22 byte 0xC9 non-looped ->23 byte 1 33kHz ->23 byte 2 50kHz ->23 byte 3 16kHz - -# scream tracker: file(1) magic for Scream Tracker sample files -# -# From <collver1@attbi.com> -76 string SCRS Scream Tracker Sample ->0 byte 1 sample ->0 byte 2 adlib melody ->0 byte >2 adlib drum ->31 byte &2 stereo ->31 byte ^2 mono ->31 byte &4 16bit little endian ->31 byte ^4 8bit ->30 byte 0 unpacked ->30 byte 1 packed - -# audio -# From: Cory Dikkers <cdikkers@swbell.net> -0 string MMD0 MED music file, version 0 -0 string MMD1 OctaMED Pro music file, version 1 -0 string MMD3 OctaMED Soundstudio music file, version 3 -0 string OctaMEDCmpr OctaMED Soundstudio compressed file -0 string MED MED_Song -0 string SymM Symphonie SymMOD music file -# -0 string THX AHX version ->3 byte =0 1 module data ->3 byte =1 2 module data -# -0 string OKTASONG Oktalyzer module data -# -0 string DIGI\ Booster\ module\0 %s ->20 byte >0 %c ->>21 byte >0 \b%c ->>>22 byte >0 \b%c ->>>>23 byte >0 \b%c ->610 string >\0 \b, "%s" -# -0 string DBM0 DIGI Booster Pro Module ->4 byte >0 V%X. ->>5 byte x \b%02X ->16 string >\0 \b, "%s" -# -0 string FTMN FaceTheMusic module ->16 string >\0d \b, "%s" - -# From: <doj@cubic.org> 2003-06-24 -0 string AMShdr\32 Velvet Studio AMS Module v2.2 -0 string Extreme Extreme Tracker AMS Module v1.3 -0 string DDMF Xtracker DMF Module ->4 byte x v%i ->0xD string >\0 Title: "%s" ->0x2B string >\0 Composer: "%s" -0 string DSM\32 Dynamic Studio Module DSM -0 string SONG DigiTrekker DTM Module -0 string DMDL DigiTrakker MDL Module -0 string PSM\32 Protracker Studio PSM Module -44 string PTMF Poly Tracker PTM Module ->0 string >\32 Title: "%s" -0 string MT20 MadTracker 2.0 Module MT2 -0 string RAD\40by\40REALiTY!! RAD Adlib Tracker Module RAD -0 string RTMM RTM Module -0x426 string MaDoKaN96 XMS Adlib Module ->0 string >\0 Composer: "%s" -0 string AMF AMF Module ->4 string >\0 Title: "%s" -0 string MODINFO1 Open Cubic Player Module Inforation MDZ -0 string Extended\40Instrument: Fast Tracker II Instrument - -# From: Takeshi Hamasaki <hma@syd.odn.ne.jp> -# NOA Nancy Codec file -0 string \210NOA\015\012\032 NOA Nancy Codec Movie file -# Yamaha SMAF format -0 string MMMD Yamaha SMAF file -# Sharp Jisaku Melody format for PDC -0 string \001Sharp\040JisakuMelody SHARP Cell-Phone ringing Melody ->20 string Ver01.00 Ver. 1.00 ->>32 byte x , %d tracks - -# Free lossless audio codec <http://flac.sourceforge.net> -# From: Przemyslaw Augustyniak <silvathraec@rpg.pl> -0 string fLaC FLAC audio bitstream data ->4 byte&0x7f >0 \b, unknown version ->4 byte&0x7f 0 \b -# some common bits/sample values ->>20 beshort&0x1f0 0x030 \b, 4 bit ->>20 beshort&0x1f0 0x050 \b, 6 bit ->>20 beshort&0x1f0 0x070 \b, 8 bit ->>20 beshort&0x1f0 0x0b0 \b, 12 bit ->>20 beshort&0x1f0 0x0f0 \b, 16 bit ->>20 beshort&0x1f0 0x170 \b, 24 bit ->>20 byte&0xe 0x0 \b, mono ->>20 byte&0xe 0x2 \b, stereo ->>20 byte&0xe 0x4 \b, 3 channels ->>20 byte&0xe 0x6 \b, 4 channels ->>20 byte&0xe 0x8 \b, 5 channels ->>20 byte&0xe 0xa \b, 6 channels ->>20 byte&0xe 0xc \b, 7 channels ->>20 byte&0xe 0xe \b, 8 channels -# some common sample rates ->>17 belong&0xfffff0 0x0ac440 \b, 44.1 kHz ->>17 belong&0xfffff0 0x0bb800 \b, 48 kHz ->>17 belong&0xfffff0 0x07d000 \b, 32 kHz ->>17 belong&0xfffff0 0x056220 \b, 22.05 kHz ->>17 belong&0xfffff0 0x05dc00 \b, 24 kHz ->>17 belong&0xfffff0 0x03e800 \b, 16 kHz ->>17 belong&0xfffff0 0x02b110 \b, 11.025 kHz ->>17 belong&0xfffff0 0x02ee00 \b, 12 kHz ->>17 belong&0xfffff0 0x01f400 \b, 8 kHz ->>17 belong&0xfffff0 0x177000 \b, 96 kHz ->>17 belong&0xfffff0 0x0fa000 \b, 64 kHz ->>21 byte&0xf >0 \b, >4G samples ->>21 byte&0xf 0 \b ->>>22 belong >0 \b, %u samples ->>>22 belong 0 \b, length unknown - -# (ISDN) VBOX voice message file (Wolfram Kleff) -0 string VBOX VBOX voice message data - -# ReBorn Song Files (.rbs) -# David J. Singer <doc@deadvirgins.org.uk> -8 string RB40 RBS Song file ->29 string ReBorn created by ReBorn ->37 string Propellerhead created by ReBirth - -# Synthesizer Generator and Kimwitu share their file format -0 string A#S#C#S#S#L#V#3 Synthesizer Generator or Kimwitu data -# Kimwitu++ uses a slightly different magic -0 string A#S#C#S#S#L#HUB Kimwitu++ data - -# From "Simon Hosie -0 string TFMX-SONG TFMX module sound data - -# From danny.milo@gmx.net (Danny Milosavljevic) -# monkeysaudio for magic.mime -0 string MAC\ X/Monkey audio, ->4 leshort >0 version %d, ->6 leshort >0 compression level %d, ->8 leshort >0 flags %x, ->10 leshort >0 channels %d, ->12 lelong >0 samplerate %d, ->24 lelong >0 frames %d - -#------------------------------------------------------------------------------ -# bsdi: file(1) magic for BSD/OS (from BSDI) objects -# - -0 lelong 0314 386 compact demand paged pure executable ->16 lelong >0 not stripped ->32 byte 0x6a (uses shared libs) - -0 lelong 0407 386 executable ->16 lelong >0 not stripped ->32 byte 0x6a (uses shared libs) - -0 lelong 0410 386 pure executable ->16 lelong >0 not stripped ->32 byte 0x6a (uses shared libs) - -0 lelong 0413 386 demand paged pure executable ->16 lelong >0 not stripped ->32 byte 0x6a (uses shared libs) - -# same as in SunOS 4.x, except for static shared libraries -0 belong&077777777 0600413 sparc demand paged ->0 byte &0x80 ->>20 belong <4096 shared library ->>20 belong =4096 dynamically linked executable ->>20 belong >4096 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped ->36 belong 0xb4100001 (uses shared libs) - -0 belong&077777777 0600410 sparc pure ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped ->36 belong 0xb4100001 (uses shared libs) - -0 belong&077777777 0600407 sparc ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped ->36 belong 0xb4100001 (uses shared libs) - -#------------------------------------------------------------------------------ -# fcs: file(1) magic for FCS (Flow Cytometry Standard) data files -# From Roger Leigh <roger@whinlatter.uklinux.net> -0 string FCS1.0 Flow Cytometry Standard (FCS) data, version 1.0 -0 string FCS2.0 Flow Cytometry Standard (FCS) data, version 2.0 -0 string FCS3.0 Flow Cytometry Standard (FCS) data, version 3.0 - - -#------------------------------------------------------------------------------ -# intel: file(1) magic for x86 Unix -# -# Various flavors of x86 UNIX executable/object (other than Xenix, which -# is in "microsoft"). DOS is in "msdos"; the ambitious soul can do -# Windows as well. -# -# Windows NT belongs elsewhere, as you need x86 and MIPS and Alpha and -# whatever comes next (HP-PA Hummingbird?). OS/2 may also go elsewhere -# as well, if, as, and when IBM makes it portable. -# -# The `versions' should be un-commented if they work for you. -# (Was the problem just one of endianness?) -# -0 leshort 0502 basic-16 executable ->12 lelong >0 not stripped -#>22 leshort >0 - version %ld -0 leshort 0503 basic-16 executable (TV) ->12 lelong >0 not stripped -#>22 leshort >0 - version %ld -0 leshort 0510 x86 executable ->12 lelong >0 not stripped -0 leshort 0511 x86 executable (TV) ->12 lelong >0 not stripped -0 leshort =0512 iAPX 286 executable small model (COFF) ->12 lelong >0 not stripped -#>22 leshort >0 - version %ld -0 leshort =0522 iAPX 286 executable large model (COFF) ->12 lelong >0 not stripped -#>22 leshort >0 - version %ld -# SGI labeled the next entry as "iAPX 386 executable" --Dan Quinlan -0 leshort =0514 80386 COFF executable ->12 lelong >0 not stripped ->22 leshort >0 - version %ld - -# rom: file(1) magic for BIOS ROM Extensions found in intel machines -# mapped into memory between 0xC0000 and 0xFFFFF -# From Gürkan Sengün <gurkan@linuks.mine.nu>, www.linuks.mine.nu -0 beshort 0x55AA BIOS (ia32) ROM Ext. ->5 string USB USB ->7 string LDR UNDI image ->30 string IBM IBM comp. Video ->26 string Adaptec Adaptec ->28 string Adaptec Adaptec ->42 string PROMISE Promise ->2 byte x (%d*512) - -#------------------------------------------------------------------------------ -# netbsd: file(1) magic for NetBSD objects -# -# All new-style magic numbers are in network byte order. -# - -0 lelong 000000407 a.out NetBSD little-endian object file ->16 lelong >0 not stripped -0 belong 000000407 a.out NetBSD big-endian object file ->16 belong >0 not stripped - -0 belong&0377777777 041400413 a.out NetBSD/i386 demand paged ->0 byte &0x80 ->>20 lelong <4096 shared library ->>20 lelong =4096 dynamically linked executable ->>20 lelong >4096 dynamically linked executable ->0 byte ^0x80 executable ->16 lelong >0 not stripped -0 belong&0377777777 041400410 a.out NetBSD/i386 pure ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 lelong >0 not stripped -0 belong&0377777777 041400407 a.out NetBSD/i386 ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 ->>0 byte &0x40 position independent ->>20 lelong !0 executable ->>20 lelong =0 object file ->16 lelong >0 not stripped -0 belong&0377777777 041400507 a.out NetBSD/i386 core ->12 string >\0 from '%s' ->32 lelong !0 (signal %d) - -0 belong&0377777777 041600413 a.out NetBSD/m68k demand paged ->0 byte &0x80 ->>20 belong <8192 shared library ->>20 belong =8192 dynamically linked executable ->>20 belong >8192 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped -0 belong&0377777777 041600410 a.out NetBSD/m68k pure ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped -0 belong&0377777777 041600407 a.out NetBSD/m68k ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 ->>0 byte &0x40 position independent ->>20 belong !0 executable ->>20 belong =0 object file ->16 belong >0 not stripped -0 belong&0377777777 041600507 a.out NetBSD/m68k core ->12 string >\0 from '%s' ->32 belong !0 (signal %d) - -0 belong&0377777777 042000413 a.out NetBSD/m68k4k demand paged ->0 byte &0x80 ->>20 belong <4096 shared library ->>20 belong =4096 dynamically linked executable ->>20 belong >4096 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped -0 belong&0377777777 042000410 a.out NetBSD/m68k4k pure ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped -0 belong&0377777777 042000407 a.out NetBSD/m68k4k ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 ->>0 byte &0x40 position independent ->>20 belong !0 executable ->>20 belong =0 object file ->16 belong >0 not stripped -0 belong&0377777777 042000507 a.out NetBSD/m68k4k core ->12 string >\0 from '%s' ->32 belong !0 (signal %d) - -0 belong&0377777777 042200413 a.out NetBSD/ns32532 demand paged ->0 byte &0x80 ->>20 lelong <4096 shared library ->>20 lelong =4096 dynamically linked executable ->>20 lelong >4096 dynamically linked executable ->0 byte ^0x80 executable ->16 lelong >0 not stripped -0 belong&0377777777 042200410 a.out NetBSD/ns32532 pure ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 lelong >0 not stripped -0 belong&0377777777 042200407 a.out NetBSD/ns32532 ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 ->>0 byte &0x40 position independent ->>20 lelong !0 executable ->>20 lelong =0 object file ->16 lelong >0 not stripped -0 belong&0377777777 042200507 a.out NetBSD/ns32532 core ->12 string >\0 from '%s' ->32 lelong !0 (signal %d) - -0 belong&0377777777 045200507 a.out NetBSD/powerpc core ->12 string >\0 from '%s' - -0 belong&0377777777 042400413 a.out NetBSD/sparc demand paged ->0 byte &0x80 ->>20 belong <8192 shared library ->>20 belong =8192 dynamically linked executable ->>20 belong >8192 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped -0 belong&0377777777 042400410 a.out NetBSD/sparc pure ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped -0 belong&0377777777 042400407 a.out NetBSD/sparc ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 ->>0 byte &0x40 position independent ->>20 belong !0 executable ->>20 belong =0 object file ->16 belong >0 not stripped -0 belong&0377777777 042400507 a.out NetBSD/sparc core ->12 string >\0 from '%s' ->32 belong !0 (signal %d) - -0 belong&0377777777 042600413 a.out NetBSD/pmax demand paged ->0 byte &0x80 ->>20 lelong <4096 shared library ->>20 lelong =4096 dynamically linked executable ->>20 lelong >4096 dynamically linked executable ->0 byte ^0x80 executable ->16 lelong >0 not stripped -0 belong&0377777777 042600410 a.out NetBSD/pmax pure ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 lelong >0 not stripped -0 belong&0377777777 042600407 a.out NetBSD/pmax ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 ->>0 byte &0x40 position independent ->>20 lelong !0 executable ->>20 lelong =0 object file ->16 lelong >0 not stripped -0 belong&0377777777 042600507 a.out NetBSD/pmax core ->12 string >\0 from '%s' ->32 lelong !0 (signal %d) - -0 belong&0377777777 043000413 a.out NetBSD/vax 1k demand paged ->0 byte &0x80 ->>20 lelong <4096 shared library ->>20 lelong =4096 dynamically linked executable ->>20 lelong >4096 dynamically linked executable ->0 byte ^0x80 executable ->16 lelong >0 not stripped -0 belong&0377777777 043000410 a.out NetBSD/vax 1k pure ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 lelong >0 not stripped -0 belong&0377777777 043000407 a.out NetBSD/vax 1k ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 ->>0 byte &0x40 position independent ->>20 lelong !0 executable ->>20 lelong =0 object file ->16 lelong >0 not stripped -0 belong&0377777777 043000507 a.out NetBSD/vax 1k core ->12 string >\0 from '%s' ->32 lelong !0 (signal %d) - -0 belong&0377777777 045400413 a.out NetBSD/vax 4k demand paged ->0 byte &0x80 ->>20 lelong <4096 shared library ->>20 lelong =4096 dynamically linked executable ->>20 lelong >4096 dynamically linked executable ->0 byte ^0x80 executable ->16 lelong >0 not stripped -0 belong&0377777777 045400410 a.out NetBSD/vax 4k pure ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 lelong >0 not stripped -0 belong&0377777777 045400407 a.out NetBSD/vax 4k ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 ->>0 byte &0x40 position independent ->>20 lelong !0 executable ->>20 lelong =0 object file ->16 lelong >0 not stripped -0 belong&0377777777 045400507 a.out NetBSD/vax 4k core ->12 string >\0 from '%s' ->32 lelong !0 (signal %d) - -# NetBSD/alpha does not support (and has never supported) a.out objects, -# so no rules are provided for them. NetBSD/alpha ELF objects are -# dealt with in "elf". -0 lelong 0x00070185 ECOFF NetBSD/alpha binary ->10 leshort 0x0001 not stripped ->10 leshort 0x0000 stripped -0 belong&0377777777 043200507 a.out NetBSD/alpha core ->12 string >\0 from '%s' ->32 lelong !0 (signal %d) - -0 belong&0377777777 043400413 a.out NetBSD/mips demand paged ->0 byte &0x80 ->>20 belong <8192 shared library ->>20 belong =8192 dynamically linked executable ->>20 belong >8192 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped -0 belong&0377777777 043400410 a.out NetBSD/mips pure ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 belong >0 not stripped -0 belong&0377777777 043400407 a.out NetBSD/mips ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 ->>0 byte &0x40 position independent ->>20 belong !0 executable ->>20 belong =0 object file ->16 belong >0 not stripped -0 belong&0377777777 043400507 a.out NetBSD/mips core ->12 string >\0 from '%s' ->32 belong !0 (signal %d) - -0 belong&0377777777 043600413 a.out NetBSD/arm32 demand paged ->0 byte &0x80 ->>20 lelong <4096 shared library ->>20 lelong =4096 dynamically linked executable ->>20 lelong >4096 dynamically linked executable ->0 byte ^0x80 executable ->16 lelong >0 not stripped -0 belong&0377777777 043600410 a.out NetBSD/arm32 pure ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 executable ->16 lelong >0 not stripped -0 belong&0377777777 043600407 a.out NetBSD/arm32 ->0 byte &0x80 dynamically linked executable ->0 byte ^0x80 ->>0 byte &0x40 position independent ->>20 lelong !0 executable ->>20 lelong =0 object file ->16 lelong >0 not stripped -# NetBSD/arm26 has always used ELF objects, but it shares a core file -# format with NetBSD/arm32. -0 belong&0377777777 043600507 a.out NetBSD/arm core ->12 string >\0 from '%s' ->32 lelong !0 (signal %d) - -#------------------------------------------------------------------------------ -# riff: file(1) magic for RIFF format -# See -# -# http://www.seanet.com/users/matts/riffmci/riffmci.htm -# -# AVI section extended by Patrik Rådman <patrik+file-magic@iki.fi> -# -0 string RIFF RIFF (little-endian) data -# RIFF Palette format ->8 string PAL \b, palette ->>16 leshort x \b, version %d ->>18 leshort x \b, %d entries -# RIFF Device Independent Bitmap format ->8 string RDIB \b, device-independent bitmap ->>16 string BM ->>>30 leshort 12 \b, OS/2 1.x format ->>>>34 leshort x \b, %d x ->>>>36 leshort x %d ->>>30 leshort 64 \b, OS/2 2.x format ->>>>34 leshort x \b, %d x ->>>>36 leshort x %d ->>>30 leshort 40 \b, Windows 3.x format ->>>>34 lelong x \b, %d x ->>>>38 lelong x %d x ->>>>44 leshort x %d -# RIFF MIDI format ->8 string RMID \b, MIDI -# RIFF Multimedia Movie File format ->8 string RMMP \b, multimedia movie -# Microsoft WAVE format (*.wav) ->8 string WAVE \b, WAVE audio ->>20 leshort 1 \b, Microsoft PCM ->>>34 leshort >0 \b, %d bit ->>20 leshort 2 \b, Microsoft ADPCM ->>20 leshort 6 \b, ITU G.711 A-law ->>20 leshort 7 \b, ITU G.711 mu-law ->>20 leshort 17 \b, IMA ADPCM ->>20 leshort 20 \b, ITU G.723 ADPCM (Yamaha) ->>20 leshort 49 \b, GSM 6.10 ->>20 leshort 64 \b, ITU G.721 ADPCM ->>20 leshort 80 \b, MPEG ->>20 leshort 85 \b, MPEG Layer 3 ->>22 leshort =1 \b, mono ->>22 leshort =2 \b, stereo ->>22 leshort >2 \b, %d channels ->>24 lelong >0 %d Hz -# Corel Draw Picture ->8 string CDRA \b, Corel Draw Picture -# AVI == Audio Video Interleave ->8 string AVI\040 \b, AVI ->>12 string LIST ->>>20 string hdrlavih ->>>>&36 lelong x \b, %lu x ->>>>&40 lelong x %lu, ->>>>&4 lelong >1000000 <1 fps, ->>>>&4 lelong 1000000 1.00 fps, ->>>>&4 lelong 500000 2.00 fps, ->>>>&4 lelong 333333 3.00 fps, ->>>>&4 lelong 250000 4.00 fps, ->>>>&4 lelong 200000 5.00 fps, ->>>>&4 lelong 166667 6.00 fps, ->>>>&4 lelong 142857 7.00 fps, ->>>>&4 lelong 125000 8.00 fps, ->>>>&4 lelong 111111 9.00 fps, ->>>>&4 lelong 100000 10.00 fps, -# ]9.9,10.1[ ->>>>&4 lelong <101010 ->>>>>&-4 lelong >99010 ->>>>>>&-4 lelong !100000 ~10 fps, ->>>>&4 lelong 83333 12.00 fps, -# ]11.9,12.1[ ->>>>&4 lelong <84034 ->>>>>&-4 lelong >82645 ->>>>>>&-4 lelong !83333 ~12 fps, ->>>>&4 lelong 66667 15.00 fps, -# ]14.9,15.1[ ->>>>&4 lelong <67114 ->>>>>&-4 lelong >66225 ->>>>>>&-4 lelong !66667 ~15 fps, ->>>>&4 lelong 50000 20.00 fps, ->>>>&4 lelong 41708 23.98 fps, ->>>>&4 lelong 41667 24.00 fps, -# ]23.9,24.1[ ->>>>&4 lelong <41841 ->>>>>&-4 lelong >41494 ->>>>>>&-4 lelong !41708 ->>>>>>>&-4 lelong !41667 ~24 fps, ->>>>&4 lelong 40000 25.00 fps, -# ]24.9,25.1[ ->>>>&4 lelong <40161 ->>>>>&-4 lelong >39841 ->>>>>>&-4 lelong !40000 ~25 fps, ->>>>&4 lelong 33367 29.97 fps, ->>>>&4 lelong 33333 30.00 fps, -# ]29.9,30.1[ ->>>>&4 lelong <33445 ->>>>>&-4 lelong >33223 ->>>>>>&-4 lelong !33367 ->>>>>>>&-4 lelong !33333 ~30 fps, ->>>>&4 lelong <32224 >30 fps, -##>>>>&4 lelong x (%lu) -##>>>>&20 lelong x %lu frames, -# Note: The tests below assume that the AVI has 1 or 2 streams, -# "vids" optionally followed by "auds". -# (Should cover 99.9% of all AVIs.) -# assuming avih length = 56 ->>>88 string LIST ->>>>96 string strlstrh ->>>>>108 string vids video: ->>>>>>&0 lelong 0 uncompressed -# skip past vids strh ->>>>>>(104.l+108) string strf ->>>>>>>(104.l+132) lelong 1 RLE 8bpp ->>>>>>>(104.l+132) string/c cvid Cinepak ->>>>>>>(104.l+132) string/c i263 Intel I.263 ->>>>>>>(104.l+132) string/c iv32 Indeo 3.2 ->>>>>>>(104.l+132) string/c iv41 Indeo 4.1 ->>>>>>>(104.l+132) string/c iv50 Indeo 5.0 ->>>>>>>(104.l+132) string/c mp42 Microsoft MPEG-4 v2 ->>>>>>>(104.l+132) string/c mp43 Microsoft MPEG-4 v3 ->>>>>>>(104.l+132) string/c mjpg Motion JPEG ->>>>>>>(104.l+132) string/c div3 DivX 3 ->>>>>>>>112 string/c div3 Low-Motion ->>>>>>>>112 string/c div4 Fast-Motion ->>>>>>>(104.l+132) string/c divx DivX 4 ->>>>>>>(104.l+132) string/c dx50 DivX 5 ->>>>>>>(104.l+132) string/c xvid XviD ->>>>>>>(104.l+132) lelong 0 -##>>>>>>>(104.l+132) string x (%.4s) -# skip past first (video) LIST ->>>>(92.l+96) string LIST ->>>>>(92.l+104) string strlstrh ->>>>>>(92.l+116) string auds \b, audio: -# auds strh length = 56: ->>>>>>>(92.l+172) string strf ->>>>>>>>(92.l+180) leshort 0x0001 uncompressed PCM ->>>>>>>>(92.l+180) leshort 0x0002 ADPCM ->>>>>>>>(92.l+180) leshort 0x0055 MPEG-1 Layer 3 ->>>>>>>>(92.l+180) leshort 0x2000 Dolby AC3 ->>>>>>>>(92.l+180) leshort 0x0161 DivX -##>>>>>>>>(92.l+180) leshort x (0x%.4x) ->>>>>>>>(92.l+182) leshort 1 (mono, ->>>>>>>>(92.l+182) leshort 2 (stereo, ->>>>>>>>(92.l+182) leshort >2 (%d channels, ->>>>>>>>(92.l+184) lelong x %d Hz) -# auds strh length = 64: ->>>>>>>(92.l+180) string strf ->>>>>>>>(92.l+188) leshort 0x0001 uncompressed PCM ->>>>>>>>(92.l+188) leshort 0x0002 ADPCM ->>>>>>>>(92.l+188) leshort 0x0055 MPEG-1 Layer 3 ->>>>>>>>(92.l+188) leshort 0x2000 Dolby AC3 ->>>>>>>>(92.l+188) leshort 0x0161 DivX -##>>>>>>>>(92.l+188) leshort x (0x%.4x) ->>>>>>>>(92.l+190) leshort 1 (mono, ->>>>>>>>(92.l+190) leshort 2 (stereo, ->>>>>>>>(92.l+190) leshort >2 (%d channels, ->>>>>>>>(92.l+192) lelong x %d Hz) -# Animated Cursor format ->8 string ACON \b, animated cursor -# SoundFont 2 <mpruett@sgi.com> ->8 string sfbk SoundFont/Bank -# MPEG-1 wrapped in a RIFF, apparently ->8 string CDXA \b, wrapped MPEG-1 (CDXA) ->8 string 4XMV \b, 4X Movie file - -# -# XXX - some of the below may only appear in little-endian form. -# -# Also "MV93" appears to be for one form of Macromedia Director -# files, and "GDMF" appears to be another multimedia format. -# -0 string RIFX RIFF (big-endian) data -# RIFF Palette format ->8 string PAL \b, palette ->>16 beshort x \b, version %d ->>18 beshort x \b, %d entries -# RIFF Device Independent Bitmap format ->8 string RDIB \b, device-independent bitmap ->>16 string BM ->>>30 beshort 12 \b, OS/2 1.x format ->>>>34 beshort x \b, %d x ->>>>36 beshort x %d ->>>30 beshort 64 \b, OS/2 2.x format ->>>>34 beshort x \b, %d x ->>>>36 beshort x %d ->>>30 beshort 40 \b, Windows 3.x format ->>>>34 belong x \b, %d x ->>>>38 belong x %d x ->>>>44 beshort x %d -# RIFF MIDI format ->8 string RMID \b, MIDI -# RIFF Multimedia Movie File format ->8 string RMMP \b, multimedia movie -# Microsoft WAVE format (*.wav) ->8 string WAVE \b, WAVE audio ->>20 leshort 1 \b, Microsoft PCM ->>>34 leshort >0 \b, %d bit ->>22 beshort =1 \b, mono ->>22 beshort =2 \b, stereo ->>22 beshort >2 \b, %d channels ->>24 belong >0 %d Hz -# Corel Draw Picture ->8 string CDRA \b, Corel Draw Picture -# AVI == Audio Video Interleave ->8 string AVI\040 \b, AVI -# Animated Cursor format ->8 string ACON \b, animated cursor -# Notation Interchange File Format (big-endian only) ->8 string NIFF \b, Notation Interchange File Format -# SoundFont 2 <mpruett@sgi.com> ->8 string sfbk SoundFont/Bank -#------------------------------------------------------------------------------ -# Console game magic -# Toby Deshane <hac@shoelace.digivill.net> -# ines: file(1) magic for Marat's iNES Nintendo Entertainment System -# ROM dump format - -0 string NES\032 iNES ROM dump, ->4 byte x %dx16k PRG ->5 byte x \b, %dx8k CHR ->6 byte&0x01 =0x1 \b, [Vert.] ->6 byte&0x01 =0x0 \b, [Horiz.] ->6 byte&0x02 =0x2 \b, [SRAM] ->6 byte&0x04 =0x4 \b, [Trainer] ->6 byte&0x04 =0x8 \b, [4-Scr] - -#------------------------------------------------------------------------------ -# gameboy: file(1) magic for the Nintendo (Color) Gameboy raw ROM format -# -0x104 belong 0xCEED6666 Gameboy ROM: ->0x134 string >\0 "%.16s" ->0x146 byte 0x03 \b,[SGB] ->0x147 byte 0x00 \b, [ROM ONLY] ->0x147 byte 0x01 \b, [ROM+MBC1] ->0x147 byte 0x02 \b, [ROM+MBC1+RAM] ->0x147 byte 0x03 \b, [ROM+MBC1+RAM+BATT] ->0x147 byte 0x05 \b, [ROM+MBC2] ->0x147 byte 0x06 \b, [ROM+MBC2+BATTERY] ->0x147 byte 0x08 \b, [ROM+RAM] ->0x147 byte 0x09 \b, [ROM+RAM+BATTERY] ->0x147 byte 0x0B \b, [ROM+MMM01] ->0x147 byte 0x0C \b, [ROM+MMM01+SRAM] ->0x147 byte 0x0D \b, [ROM+MMM01+SRAM+BATT] ->0x147 byte 0x0F \b, [ROM+MBC3+TIMER+BATT] ->0x147 byte 0x10 \b, [ROM+MBC3+TIMER+RAM+BATT] ->0x147 byte 0x11 \b, [ROM+MBC3] ->0x147 byte 0x12 \b, [ROM+MBC3+RAM] ->0x147 byte 0x13 \b, [ROM+MBC3+RAM+BATT] ->0x147 byte 0x19 \b, [ROM+MBC5] ->0x147 byte 0x1A \b, [ROM+MBC5+RAM] ->0x147 byte 0x1B \b, [ROM+MBC5+RAM+BATT] ->0x147 byte 0x1C \b, [ROM+MBC5+RUMBLE] ->0x147 byte 0x1D \b, [ROM+MBC5+RUMBLE+SRAM] ->0x147 byte 0x1E \b, [ROM+MBC5+RUMBLE+SRAM+BATT] ->0x147 byte 0x1F \b, [Pocket Camera] ->0x147 byte 0xFD \b, [Bandai TAMA5] ->0x147 byte 0xFE \b, [Hudson HuC-3] ->0x147 byte 0xFF \b, [Hudson HuC-1] - ->0x148 byte 0 \b, ROM: 256Kbit ->0x148 byte 1 \b, ROM: 512Kbit ->0x148 byte 2 \b, ROM: 1Mbit ->0x148 byte 3 \b, ROM: 2Mbit ->0x148 byte 4 \b, ROM: 4Mbit ->0x148 byte 5 \b, ROM: 8Mbit ->0x148 byte 6 \b, ROM: 16Mbit ->0x148 byte 0x52 \b, ROM: 9Mbit ->0x148 byte 0x53 \b, ROM: 10Mbit ->0x148 byte 0x54 \b, ROM: 12Mbit - ->0x149 byte 1 \b, RAM: 16Kbit ->0x149 byte 2 \b, RAM: 64Kbit ->0x149 byte 3 \b, RAM: 128Kbit ->0x149 byte 4 \b, RAM: 1Mbit - -#>0x14e long x \b, CRC: %x - -#------------------------------------------------------------------------------ -# genesis: file(1) magic for the Sega MegaDrive/Genesis raw ROM format -# -0x100 string SEGA Sega MegaDrive/Genesis raw ROM dump ->0x120 string >\0 Name: "%.16s" ->0x110 string >\0 %.16s ->0x1B0 string RA with SRAM - -#------------------------------------------------------------------------------ -# genesis: file(1) magic for the Super MegaDrive ROM dump format -# -0x280 string EAGN Super MagicDrive ROM dump ->0 byte x %dx16k blocks ->2 byte 0 \b, last in series or standalone ->2 byte >0 \b, split ROM ->8 byte 0xAA ->9 byte 0xBB - -#------------------------------------------------------------------------------ -# genesis: file(1) alternate magic for the Super MegaDrive ROM dump format -# -0x280 string EAMG Super MagicDrive ROM dump ->0 byte x %dx16k blocks ->2 byte x \b, last in series or standalone ->8 byte 0xAA ->9 byte 0xBB - -#------------------------------------------------------------------------------ -# smsgg: file(1) magic for Sega Master System and Game Gear ROM dumps -# -# Does not detect all images. Very preliminary guesswork. Need more data -# on format. -# -# FIXME: need a little more info...;P -# -#0 byte 0xF3 -#>1 byte 0xED Sega Master System/Game Gear ROM dump -#>1 byte 0x31 Sega Master System/Game Gear ROM dump -#>1 byte 0xDB Sega Master System/Game Gear ROM dump -#>1 byte 0xAF Sega Master System/Game Gear ROM dump -#>1 byte 0xC3 Sega Master System/Game Gear ROM dump - -#------------------------------------------------------------------------------ -# dreamcast: file(1) uncertain magic for the Sega Dreamcast VMU image format -# -0 belong 0x21068028 Sega Dreamcast VMU game image -0 string LCDi Dream Animator file - -#------------------------------------------------------------------------------ -# v64: file(1) uncertain magic for the V64 format N64 ROM dumps -# -0 belong 0x37804012 V64 Nintendo 64 ROM dump - -#------------------------------------------------------------------------------ -# msx: file(1) magic for MSX game cartridge dumps -# Too simple - MPi -#0 beshort 0x4142 MSX game cartridge dump - -#------------------------------------------------------------------------------ -# Sony Playstation executables (Adam Sjoegren <asjo@diku.dk>) : -0 string PS-X\ EXE Sony Playstation executable -# Area: ->113 string x (%s) - -#------------------------------------------------------------------------------ -# Microsoft Xbox executables .xbe (Esa Hyytiä <ehyytia@cc.hut.fi>) -0 string XBEH XBE, Microsoft Xbox executable -# probabilistic checks whether signed or not ->0x0004 ulelong =0x0 ->>&2 ulelong =0x0 ->>>&2 ulelong =0x0 \b, not signed ->0x0004 ulelong >0 ->>&2 ulelong >0 ->>>&2 ulelong >0 \b, signed -# expect base address of 0x10000 ->0x0104 ulelong =0x10000 ->>(0x0118-0x0FF60) ulelong&0x80000007 0x80000007 \b, all regions ->>(0x0118-0x0FF60) ulelong&0x80000007 !0x80000007 ->>>(0x0118-0x0FF60) ulelong >0 (regions: ->>>>(0x0118-0x0FF60) ulelong &0x00000001 NA ->>>>(0x0118-0x0FF60) ulelong &0x00000002 Japan ->>>>(0x0118-0x0FF60) ulelong &0x00000004 Rest_of_World ->>>>(0x0118-0x0FF60) ulelong &0x80000000 Manufacturer ->>>(0x0118-0x0FF60) ulelong >0 \b) - -# -------------------------------- -# Microsoft Xbox data file formats -0 string XIP0 XIP, Microsoft Xbox data -0 string XTF0 XTF, Microsoft Xbox data - -# Atari Lynx cartridge dump (EXE/BLL header) -# From: "Stefan A. Haubenthal" <polluks@web.de> - -0 beshort 0x8008 Lynx cartridge, ->2 beshort x RAM start $%04x ->6 string BS93 - -#------------------------------------------------------------------------------ -# Z-machine: file(1) magic for Z-machine binaries. -# -# This will match ${TEX_BASE}/texmf/omega/ocp/char2uni/inbig5.ocp which -# appears to be a version-0 Z-machine binary. -# -# The (false match) message is to correct that behavior. Perhaps it is -# not needed. -# ->16 belong&0xfe00f0f0 0x3030 Infocom game data ->0 ubyte 0 (false match) ->0 ubyte >0 (Z-machine %d, ->>2 ubeshort x Release %d / ->>18 string >\0 Serial %.6s) - -#------------------------------------------------------------------------------ -# Glulx: file(1) magic for Glulx binaries. -# -# I haven't checked for false matches yet. -# -0 string Glul Glulx game data - - - -# These go at the end of the iff rules -# -# I don't see why these might collide with anything else. -# -# Interactive Fiction related formats -# ->8 string IFRS \b, Blorb Interactive Fiction ->>24 string Exec with executable chunk ->8 string IFZS \b, Z-machine or Glulx saved game file (Quetzal) - -#------------------------------------------------------------------------------ -# DEC SRC Virtual Paper: Lectern files -# Karl M. Hegbloom <karlheg@inetarena.com> -0 string lect DEC SRC Virtual Paper Lectern file - -#------------------------------------------------------------------------------ -# visx: file(1) magic for Visx format files -# -0 short 0x5555 VISX image file ->2 byte 0 (zero) ->2 byte 1 (unsigned char) ->2 byte 2 (short integer) ->2 byte 3 (float 32) ->2 byte 4 (float 64) ->2 byte 5 (signed char) ->2 byte 6 (bit-plane) ->2 byte 7 (classes) ->2 byte 8 (statistics) ->2 byte 10 (ascii text) ->2 byte 15 (image segments) ->2 byte 100 (image set) ->2 byte 101 (unsigned char vector) ->2 byte 102 (short integer vector) ->2 byte 103 (float 32 vector) ->2 byte 104 (float 64 vector) ->2 byte 105 (signed char vector) ->2 byte 106 (bit plane vector) ->2 byte 121 (feature vector) ->2 byte 122 (feature vector library) ->2 byte 124 (chain code) ->2 byte 126 (bit vector) ->2 byte 130 (graph) ->2 byte 131 (adjacency graph) ->2 byte 132 (adjacency graph library) ->2 string .VISIX (ascii text) -#------------------------------------------------------------------------------ -# varied.script: file(1) magic for various interpreter scripts - -0 string #!\ / a ->3 string >\0 %s script text executable -0 string #!\ / a ->3 string >\0 %s script text executable -0 string #!/ a ->2 string >\0 %s script text executable -0 string #!\ script text executable ->3 string >\0 for %s - -# ------------------------------------------------------------------------ -# ti-8x: file(1) magic for the TI-8x and TI-9x Graphing Calculators. -# -# From: Ryan McGuire (rmcguire@freenet.columbus.oh.us). -# -# Update: Romain Lievin (roms@lpg.ticalc.org). -# -# NOTE: This list is not complete. -# Files for the TI-80 and TI-81 are pretty rare. I'm not going to put the -# program/group magic numbers in here because I cannot find any. -0 string **TI80** TI-80 Graphing Calculator File. -0 string **TI81** TI-81 Graphing Calculator File. -# -# Magic Numbers for the TI-73 -# -0 string **TI73** TI-73 Graphing Calculator ->0x00003B byte 0x00 (real number) ->0x00003B byte 0x01 (list) ->0x00003B byte 0x02 (matrix) ->0x00003B byte 0x03 (equation) ->0x00003B byte 0x04 (string) ->0x00003B byte 0x05 (program) ->0x00003B byte 0x06 (assembly program) ->0x00003B byte 0x07 (picture) ->0x00003B byte 0x08 (gdb) ->0x00003B byte 0x0C (complex number) ->0x00003B byte 0x0F (window settings) ->0x00003B byte 0x10 (zoom) ->0x00003B byte 0x11 (table setup) ->0x00003B byte 0x13 (backup) - -# Magic Numbers for the TI-82 -# -0 string **TI82** TI-82 Graphing Calculator ->0x00003B byte 0x00 (real) ->0x00003B byte 0x01 (list) ->0x00003B byte 0x02 (matrix) ->0x00003B byte 0x03 (Y-variable) ->0x00003B byte 0x05 (program) ->0x00003B byte 0x06 (protected prgm) ->0x00003B byte 0x07 (picture) ->0x00003B byte 0x08 (gdb) ->0x00003B byte 0x0B (window settings) ->0x00003B byte 0x0C (window settings) ->0x00003B byte 0x0D (table setup) ->0x00003B byte 0x0E (screenshot) ->0x00003B byte 0x0F (backup) -# -# Magic Numbers for the TI-83 -# -0 string **TI83** TI-83 Graphing Calculator ->0x00003B byte 0x00 (real) ->0x00003B byte 0x01 (list) ->0x00003B byte 0x02 (matrix) ->0x00003B byte 0x03 (Y-variable) ->0x00003B byte 0x04 (string) ->0x00003B byte 0x05 (program) ->0x00003B byte 0x06 (protected prgm) ->0x00003B byte 0x07 (picture) ->0x00003B byte 0x08 (gdb) ->0x00003B byte 0x0B (window settings) ->0x00003B byte 0x0C (window settings) ->0x00003B byte 0x0D (table setup) ->0x00003B byte 0x0E (screenshot) ->0x00003B byte 0x13 (backup) -# -# Magic Numbers for the TI-83+ -# -0 string **TI83F* TI-83+ Graphing Calculator ->0x00003B byte 0x00 (real number) ->0x00003B byte 0x01 (list) ->0x00003B byte 0x02 (matrix) ->0x00003B byte 0x03 (equation) ->0x00003B byte 0x04 (string) ->0x00003B byte 0x05 (program) ->0x00003B byte 0x06 (assembly program) ->0x00003B byte 0x07 (picture) ->0x00003B byte 0x08 (gdb) ->0x00003B byte 0x0C (complex number) ->0x00003B byte 0x0F (window settings) ->0x00003B byte 0x10 (zoom) ->0x00003B byte 0x11 (table setup) ->0x00003B byte 0x13 (backup) ->0x00003B byte 0x15 (application variable) ->0x00003B byte 0x17 (group of variable) - -# -# Magic Numbers for the TI-85 -# -0 string **TI85** TI-85 Graphing Calculator ->0x00003B byte 0x00 (real number) ->0x00003B byte 0x01 (complex number) ->0x00003B byte 0x02 (real vector) ->0x00003B byte 0x03 (complex vector) ->0x00003B byte 0x04 (real list) ->0x00003B byte 0x05 (complex list) ->0x00003B byte 0x06 (real matrix) ->0x00003B byte 0x07 (complex matrix) ->0x00003B byte 0x08 (real constant) ->0x00003B byte 0x09 (complex constant) ->0x00003B byte 0x0A (equation) ->0x00003B byte 0x0C (string) ->0x00003B byte 0x0D (function GDB) ->0x00003B byte 0x0E (polar GDB) ->0x00003B byte 0x0F (parametric GDB) ->0x00003B byte 0x10 (diffeq GDB) ->0x00003B byte 0x11 (picture) ->0x00003B byte 0x12 (program) ->0x00003B byte 0x13 (range) ->0x00003B byte 0x17 (window settings) ->0x00003B byte 0x18 (window settings) ->0x00003B byte 0x19 (window settings) ->0x00003B byte 0x1A (window settings) ->0x00003B byte 0x1B (zoom) ->0x00003B byte 0x1D (backup) ->0x00003B byte 0x1E (unknown) ->0x00003B byte 0x2A (equation) ->0x000032 string ZS4 - ZShell Version 4 File. ->0x000032 string ZS3 - ZShell Version 3 File. -# -# Magic Numbers for the TI-86 -# -0 string **TI86** TI-86 Graphing Calculator ->0x00003B byte 0x00 (real number) ->0x00003B byte 0x01 (complex number) ->0x00003B byte 0x02 (real vector) ->0x00003B byte 0x03 (complex vector) ->0x00003B byte 0x04 (real list) ->0x00003B byte 0x05 (complex list) ->0x00003B byte 0x06 (real matrix) ->0x00003B byte 0x07 (complex matrix) ->0x00003B byte 0x08 (real constant) ->0x00003B byte 0x09 (complex constant) ->0x00003B byte 0x0A (equation) ->0x00003B byte 0x0C (string) ->0x00003B byte 0x0D (function GDB) ->0x00003B byte 0x0E (polar GDB) ->0x00003B byte 0x0F (parametric GDB) ->0x00003B byte 0x10 (diffeq GDB) ->0x00003B byte 0x11 (picture) ->0x00003B byte 0x12 (program) ->0x00003B byte 0x13 (range) ->0x00003B byte 0x17 (window settings) ->0x00003B byte 0x18 (window settings) ->0x00003B byte 0x19 (window settings) ->0x00003B byte 0x1A (window settings) ->0x00003B byte 0x1B (zoom) ->0x00003B byte 0x1D (backup) ->0x00003B byte 0x1E (unknown) ->0x00003B byte 0x2A (equation) -# -# Magic Numbers for the TI-89 -# -0 string **TI89** TI-89 Graphing Calculator ->0x000048 byte 0x00 (expression) ->0x000048 byte 0x04 (list) ->0x000048 byte 0x06 (matrix) ->0x000048 byte 0x0A (data) ->0x000048 byte 0x0B (text) ->0x000048 byte 0x0C (string) ->0x000048 byte 0x0D (graphic data base) ->0x000048 byte 0x0E (figure) ->0x000048 byte 0x10 (picture) ->0x000048 byte 0x12 (program) ->0x000048 byte 0x13 (function) ->0x000048 byte 0x14 (macro) ->0x000048 byte 0x1C (zipped) ->0x000048 byte 0x21 (assembler) -# -# Magic Numbers for the TI-92 -# -0 string **TI92** TI-92 Graphing Calculator ->0x000048 byte 0x00 (expression) ->0x000048 byte 0x04 (list) ->0x000048 byte 0x06 (matrix) ->0x000048 byte 0x0A (data) ->0x000048 byte 0x0B (text) ->0x000048 byte 0x0C (string) ->0x000048 byte 0x0D (graphic data base) ->0x000048 byte 0x0E (figure) ->0x000048 byte 0x10 (picture) ->0x000048 byte 0x12 (program) ->0x000048 byte 0x13 (function) ->0x000048 byte 0x14 (macro) ->0x000048 byte 0x1D (backup) -# -# Magic Numbers for the TI-92+/V200 -# -0 string **TI92P* TI-92+/V200 Graphing Calculator ->0x000048 byte 0x00 (expression) ->0x000048 byte 0x04 (list) ->0x000048 byte 0x06 (matrix) ->0x000048 byte 0x0A (data) ->0x000048 byte 0x0B (text) ->0x000048 byte 0x0C (string) ->0x000048 byte 0x0D (graphic data base) ->0x000048 byte 0x0E (figure) ->0x000048 byte 0x10 (picture) ->0x000048 byte 0x12 (program) ->0x000048 byte 0x13 (function) ->0x000048 byte 0x14 (macro) ->0x000048 byte 0x1C (zipped) ->0x000048 byte 0x21 (assembler) -# -# Magic Numbers for the TI-73/83+/89/92+/V200 FLASH upgrades -# -0x0000016 string Advanced TI-XX Graphing Calculator (FLASH) -0 string **TIFL** TI-XX Graphing Calculator (FLASH) ->8 byte >0 - Revision %d ->>9 byte x \b.%d, ->12 byte >0 Revision date %02x ->>13 byte x \b/%02x ->>14 beshort x \b/%04x, ->17 string >/0 name: '%s', ->48 byte 0x74 device: TI-73, ->48 byte 0x73 device: TI-83+, ->48 byte 0x98 device: TI-89, ->48 byte 0x88 device: TI-92+, ->49 byte 0x23 type: OS upgrade, ->49 byte 0x24 type: application, ->49 byte 0x25 type: certificate, ->49 byte 0x3e type: license, ->74 lelong >0 size: %ld bytes - -# VTi & TiEmu skins (TI Graphing Calculators). -# From: Romain Lievin (roms@lpg.ticalc.org). -# Magic Numbers for the VTi skins -0 string VTI Virtual TI skin ->3 string v - Version ->>4 byte >0 \b %c ->>6 byte x \b.%c -# Magic Numbers for the TiEmu skins -0 string TiEmu TiEmu skin ->6 string v - Version ->>7 byte >0 \b %c ->>9 byte x \b.%c ->>10 byte x \b%c - -#------------------------------------------------------------------------------ -# c-lang: file(1) magic for C programs (or REXX) -# - -# XPM icons (Greg Roelofs, newt@uchicago.edu) -# if you uncomment "/*" for C/REXX below, also uncomment this entry -#0 string /*\ XPM\ */ X pixmap image data - -# this first will upset you if you're a PL/1 shop... -# in which case rm it; ascmagic will catch real C programs -#0 string /* C or REXX program text -#0 string // C++ program text - -# From: Mikhail Teterin <mi@aldan.algebra.com> -0 string cscope cscope reference data ->7 string x version %.2s -# We skip the path here, because it is often long (so file will -# truncate it) and mostly redundant. -# The inverted index functionality was added some time betwen -# versions 11 and 15, so look for -q if version is above 14: ->7 string >14 ->>10 regex .+\ -q\ with inverted index ->10 regex .+\ -c\ text (non-compressed) -# Digital UNIX - Info -# -0 string !<arch>\n________64E Alpha archive ->22 string X -- out of date -# -# Alpha COFF Based Executables -# The stripped stuff really needs to be an 8 byte (64 bit) compare, -# but this works -0 leshort 0x183 COFF format alpha ->22 leshort&020000 &010000 sharable library, ->22 leshort&020000 ^010000 dynamically linked, ->24 leshort 0410 pure ->24 leshort 0413 demand paged ->8 lelong >0 executable or object module, not stripped ->8 lelong 0 ->>12 lelong 0 executable or object module, stripped ->>12 lelong >0 executable or object module, not stripped ->27 byte >0 - version %d. ->26 byte >0 %d- ->28 leshort >0 %d -# -# The next is incomplete, we could tell more about this format, -# but its not worth it. -0 leshort 0x188 Alpha compressed COFF -0 leshort 0x18f Alpha u-code object -# -# -# Some other interesting Digital formats, -0 string \377\377\177 ddis/ddif -0 string \377\377\174 ddis/dots archive -0 string \377\377\176 ddis/dtif table data -0 string \033c\033 LN03 output -0 long 04553207 X image -# -0 string !<PDF>!\n profiling data file -# -# Locale data tables (MIPS and Alpha). -# -0 short 0x0501 locale data table ->6 short 0x24 for MIPS ->6 short 0x40 for Alpha -# ATSC A/53 aka AC-3 aka Dolby Digital <ashitaka@gmx.at> -# from http://www.atsc.org/standards/a_52a.pdf -# corrections, additions, etc. are always welcome! -# -# syncword -0 beshort 0x0b77 ATSC A/52 aka AC-3 aka Dolby Digital stream, -# fscod ->4 byte&0xc0 0x00 48 kHz, ->4 byte&0xc0 0x40 44.1 kHz, ->4 byte&0xc0 0x80 32 kHz, -# is this one used for 96 kHz? ->4 byte&0xc0 0xc0 reserved frequency, -# ->5 byte&7 = 0 \b, complete main (CM) ->5 byte&7 = 1 \b, music and effects (ME) ->5 byte&7 = 2 \b, visually impaired (VI) ->5 byte&7 = 3 \b, hearing impaired (HI) ->5 byte&7 = 4 \b, dialogue (D) ->5 byte&7 = 5 \b, commentary (C) ->5 byte&7 = 6 \b, emergency (E) -# acmod ->6 byte&0xe0 0x00 1+1 front, ->6 byte&0xe0 0x20 1 front/0 rear, ->6 byte&0xe0 0x40 2 front/0 rear, ->6 byte&0xe0 0x60 3 front/0 rear, ->6 byte&0xe0 0x80 2 front/1 rear, ->6 byte&0xe0 0xa0 3 front/1 rear, ->6 byte&0xe0 0xc0 2 front/2 rear, ->6 byte&0xe0 0xe0 3 front/2 rear, -# lfeon (these may be incorrect) ->7 byte&0x40 0x00 LFE off, ->7 byte&0x40 0x40 LFE on, -# ->4 byte&0x3e = 0x00 \b, 32 kbit/s ->4 byte&0x3e = 0x02 \b, 40 kbit/s ->4 byte&0x3e = 0x04 \b, 48 kbit/s ->4 byte&0x3e = 0x06 \b, 56 kbit/s ->4 byte&0x3e = 0x08 \b, 64 kbit/s ->4 byte&0x3e = 0x0a \b, 80 kbit/s ->4 byte&0x3e = 0x0c \b, 96 kbit/s ->4 byte&0x3e = 0x0e \b, 112 kbit/s ->4 byte&0x3e = 0x10 \b, 128 kbit/s ->4 byte&0x3e = 0x12 \b, 160 kbit/s ->4 byte&0x3e = 0x14 \b, 192 kbit/s ->4 byte&0x3e = 0x16 \b, 224 kbit/s ->4 byte&0x3e = 0x18 \b, 256 kbit/s ->4 byte&0x3e = 0x1a \b, 320 kbit/s ->4 byte&0x3e = 0x1c \b, 384 kbit/s ->4 byte&0x3e = 0x1e \b, 448 kbit/s ->4 byte&0x3e = 0x20 \b, 512 kbit/s ->4 byte&0x3e = 0x22 \b, 576 kbit/s ->4 byte&0x3e = 0x24 \b, 640 kbit/s -# dsurmod (these may be incorrect) ->6 beshort&0x0180 0x0000 Dolby Surround not indicated ->6 beshort&0x0180 0x0080 not Dolby Surround encoded ->6 beshort&0x0180 0x0100 Dolby Surround encoded ->6 beshort&0x0180 0x0180 reserved Dolby Surround mode - -#------------------------------------------------------------------------------ -# ACE/gr and Grace type files - PLEASE DO NOT REMOVE THIS LINE -# -# ACE/gr binary -0 string \000\000\0001\000\000\0000\000\000\0000\000\000\0002\000\000\0000\000\000\0000\000\000\0003 old ACE/gr binary file ->39 byte >0 - version %c -# ACE/gr ascii -0 string #\ xvgr\ parameter\ file ACE/gr ascii file -0 string #\ xmgr\ parameter\ file ACE/gr ascii file -0 string #\ ACE/gr\ parameter\ file ACE/gr ascii file -# Grace projects -0 string #\ Grace\ project\ file Grace project file ->23 string @version\ (version ->>32 byte >0 %c ->>33 string >\0 \b.%.2s ->>35 string >\0 \b.%.2s) -# ACE/gr fit description files -0 string #\ ACE/gr\ fit\ description\ ACE/gr fit description file -# end of ACE/gr and Grace type files - PLEASE DO NOT REMOVE THIS LINE - -#------------------------------------------------------------------------------ -# ibm370: file(1) magic for IBM 370 and compatibles. -# -# "ibm370" said that 0x15d == 0535 was "ibm 370 pure executable". -# What the heck *is* "USS/370"? -# AIX 4.1's "/etc/magic" has -# -# 0 short 0535 370 sysV executable -# >12 long >0 not stripped -# >22 short >0 - version %d -# >30 long >0 - 5.2 format -# 0 short 0530 370 sysV pure executable -# >12 long >0 not stripped -# >22 short >0 - version %d -# >30 long >0 - 5.2 format -# -# instead of the "USS/370" versions of the same magic numbers. -# -0 beshort 0537 370 XA sysV executable ->12 belong >0 not stripped ->22 beshort >0 - version %d ->30 belong >0 - 5.2 format -0 beshort 0532 370 XA sysV pure executable ->12 belong >0 not stripped ->22 beshort >0 - version %d ->30 belong >0 - 5.2 format -0 beshort 054001 370 sysV pure executable ->12 belong >0 not stripped -0 beshort 055001 370 XA sysV pure executable ->12 belong >0 not stripped -0 beshort 056401 370 sysV executable ->12 belong >0 not stripped -0 beshort 057401 370 XA sysV executable ->12 belong >0 not stripped -0 beshort 0531 SVR2 executable (Amdahl-UTS) ->12 belong >0 not stripped ->24 belong >0 - version %ld -0 beshort 0534 SVR2 pure executable (Amdahl-UTS) ->12 belong >0 not stripped ->24 belong >0 - version %ld -0 beshort 0530 SVR2 pure executable (USS/370) ->12 belong >0 not stripped ->24 belong >0 - version %ld -0 beshort 0535 SVR2 executable (USS/370) ->12 belong >0 not stripped ->24 belong >0 - version %ld - -#------------------------------------------------------------------------------ -# images: file(1) magic for image formats (see also "iff") -# -# originally from jef@helios.ee.lbl.gov (Jef Poskanzer), -# additions by janl@ifi.uio.no as well as others. Jan also suggested -# merging several one- and two-line files into here. -# -# little magic: PCX (first byte is 0x0a) - -# Targa - matches `povray', `ppmtotga' and `xv' outputs -# by Philippe De Muyter <phdm@macqel.be> -# at 2, byte ImgType must be 1, 2, 3, 9, 10 or 11 -# at 1, byte CoMapType must be 1 if ImgType is 1 or 9, 0 otherwise -# at 3, leshort Index is 0 for povray, ppmtotga and xv outputs -# `xv' recognizes only a subset of the following (RGB with pixelsize = 24) -# `tgatoppm' recognizes a superset (Index may be anything) -1 belong&0xfff7ffff 0x01010000 Targa image data - Map ->2 byte&8 8 - RLE ->12 leshort >0 %hd x ->14 leshort >0 %hd -1 belong&0xfff7ffff 0x00020000 Targa image data - RGB ->2 byte&8 8 - RLE ->12 leshort >0 %hd x ->14 leshort >0 %hd -1 belong&0xfff7ffff 0x00030000 Targa image data - Mono ->2 byte&8 8 - RLE ->12 leshort >0 %hd x ->14 leshort >0 %hd - -# PBMPLUS images -# The next byte following the magic is always whitespace. -0 string P1 Netpbm PBM image text -0 string P2 Netpbm PGM image text -0 string P3 Netpbm PPM image text -0 string P4 Netpbm PBM "rawbits" image data -0 string P5 Netpbm PGM "rawbits" image data -0 string P6 Netpbm PPM "rawbits" image data -0 string P7 Netpbm PAM image file - -# From: bryanh@giraffe-data.com (Bryan Henderson) -0 string \117\072 Solitaire Image Recorder format ->4 string \013 MGI Type 11 ->4 string \021 MGI Type 17 -0 string .MDA MicroDesign data ->21 byte 48 version 2 ->21 byte 51 version 3 -0 string .MDP MicroDesign page data ->21 byte 48 version 2 ->21 byte 51 version 3 - -# NIFF (Navy Interchange File Format, a modification of TIFF) images -0 string IIN1 NIFF image data - -# Tag Image File Format, from Daniel Quinlan (quinlan@yggdrasil.com) -# The second word of TIFF files is the TIFF version number, 42, which has -# never changed. The TIFF specification recommends testing for it. -0 string MM\x00\x2a TIFF image data, big-endian -0 string II\x2a\x00 TIFF image data, little-endian - -# PNG [Portable Network Graphics, or "PNG's Not GIF"] images -# (Greg Roelofs, newt@uchicago.edu) -# (Albert Cahalan, acahalan@cs.uml.edu) -# -# 137 P N G \r \n ^Z \n [4-byte length] H E A D [HEAD data] [HEAD crc] ... -# -0 string \x89PNG PNG image data, ->4 belong !0x0d0a1a0a CORRUPTED, ->4 belong 0x0d0a1a0a ->>16 belong x %ld x ->>20 belong x %ld, ->>24 byte x %d-bit ->>25 byte 0 grayscale, ->>25 byte 2 \b/color RGB, ->>25 byte 3 colormap, ->>25 byte 4 gray+alpha, ->>25 byte 6 \b/color RGBA, -#>>26 byte 0 deflate/32K, ->>28 byte 0 non-interlaced ->>28 byte 1 interlaced -1 string PNG PNG image data, CORRUPTED - -# GIF -0 string GIF8 GIF image data ->4 string 7a \b, version 8%s, ->4 string 9a \b, version 8%s, ->6 leshort >0 %hd x ->8 leshort >0 %hd -#>10 byte &0x80 color mapped, -#>10 byte&0x07 =0x00 2 colors -#>10 byte&0x07 =0x01 4 colors -#>10 byte&0x07 =0x02 8 colors -#>10 byte&0x07 =0x03 16 colors -#>10 byte&0x07 =0x04 32 colors -#>10 byte&0x07 =0x05 64 colors -#>10 byte&0x07 =0x06 128 colors -#>10 byte&0x07 =0x07 256 colors - -# ITC (CMU WM) raster files. It is essentially a byte-reversed Sun raster, -# 1 plane, no encoding. -0 string \361\0\100\273 CMU window manager raster image data ->4 lelong >0 %d x ->8 lelong >0 %d, ->12 lelong >0 %d-bit - -# Magick Image File Format -0 string id=ImageMagick MIFF image data - -# Artisan -0 long 1123028772 Artisan image data ->4 long 1 \b, rectangular 24-bit ->4 long 2 \b, rectangular 8-bit with colormap ->4 long 3 \b, rectangular 32-bit (24-bit with matte) - -# FIG (Facility for Interactive Generation of figures), an object-based format -0 string #FIG FIG image text ->5 string x \b, version %.3s - -# PHIGS -0 string ARF_BEGARF PHIGS clear text archive -0 string @(#)SunPHIGS SunPHIGS -# version number follows, in the form m.n ->40 string SunBin binary ->32 string archive archive - -# GKS (Graphics Kernel System) -0 string GKSM GKS Metafile ->24 string SunGKS \b, SunGKS - -# CGM image files -0 string BEGMF clear text Computer Graphics Metafile -# XXX - questionable magic -0 beshort&0xffe0 0x0020 binary Computer Graphics Metafile -0 beshort 0x3020 character Computer Graphics Metafile - -# MGR bitmaps (Michael Haardt, u31b3hs@pool.informatik.rwth-aachen.de) -0 string yz MGR bitmap, modern format, 8-bit aligned -0 string zz MGR bitmap, old format, 1-bit deep, 16-bit aligned -0 string xz MGR bitmap, old format, 1-bit deep, 32-bit aligned -0 string yx MGR bitmap, modern format, squeezed - -# Fuzzy Bitmap (FBM) images -0 string %bitmap\0 FBM image data ->30 long 0x31 \b, mono ->30 long 0x33 \b, color - -# facsimile data -1 string PC\ Research,\ Inc group 3 fax data ->29 byte 0 \b, normal resolution (204x98 DPI) ->29 byte 1 \b, fine resolution (204x196 DPI) -# From: Herbert Rosmanith <herp@wildsau.idv.uni.linz.at> -0 string Sfff structured fax file - - -# PC bitmaps (OS/2, Windoze BMP files) (Greg Roelofs, newt@uchicago.edu) -0 string BM PC bitmap data ->14 leshort 12 \b, OS/2 1.x format ->>18 leshort x \b, %d x ->>20 leshort x %d ->14 leshort 64 \b, OS/2 2.x format ->>18 leshort x \b, %d x ->>20 leshort x %d ->14 leshort 40 \b, Windows 3.x format ->>18 lelong x \b, %d x ->>22 lelong x %d x ->>28 leshort x %d -# Too simple - MPi -#0 string IC PC icon data -#0 string PI PC pointer image data -#0 string CI PC color icon data -#0 string CP PC color pointer image data -# Conflicts with other entries [BABYL] -#0 string BA PC bitmap array data - -# XPM icons (Greg Roelofs, newt@uchicago.edu) -# note possible collision with C/REXX entry in c-lang; currently commented out -0 string /*\ XPM\ */ X pixmap image text - -# Utah Raster Toolkit RLE images (janl@ifi.uio.no) -0 leshort 0xcc52 RLE image data, ->6 leshort x %d x ->8 leshort x %d ->2 leshort >0 \b, lower left corner: %d ->4 leshort >0 \b, lower right corner: %d ->10 byte&0x1 =0x1 \b, clear first ->10 byte&0x2 =0x2 \b, no background ->10 byte&0x4 =0x4 \b, alpha channel ->10 byte&0x8 =0x8 \b, comment ->11 byte >0 \b, %d color channels ->12 byte >0 \b, %d bits per pixel ->13 byte >0 \b, %d color map channels - -# image file format (Robert Potter, potter@cs.rochester.edu) -0 string Imagefile\ version- iff image data -# this adds the whole header (inc. version number), informative but longish ->10 string >\0 %s - -# Sun raster images, from Daniel Quinlan (quinlan@yggdrasil.com) -0 belong 0x59a66a95 Sun raster image data ->4 belong >0 \b, %d x ->8 belong >0 %d, ->12 belong >0 %d-bit, -#>16 belong >0 %d bytes long, ->20 belong 0 old format, -#>20 belong 1 standard, ->20 belong 2 compressed, ->20 belong 3 RGB, ->20 belong 4 TIFF, ->20 belong 5 IFF, ->20 belong 0xffff reserved for testing, ->24 belong 0 no colormap ->24 belong 1 RGB colormap ->24 belong 2 raw colormap -#>28 belong >0 colormap is %d bytes long - -# SGI image file format, from Daniel Quinlan (quinlan@yggdrasil.com) -# -# See -# http://reality.sgi.com/grafica/sgiimage.html -# -0 beshort 474 SGI image data -#>2 byte 0 \b, verbatim ->2 byte 1 \b, RLE -#>3 byte 1 \b, normal precision ->3 byte 2 \b, high precision ->4 beshort x \b, %d-D ->6 beshort x \b, %d x ->8 beshort x %d ->10 beshort x \b, %d channel ->10 beshort !1 \bs ->80 string >0 \b, "%s" - -0 string IT01 FIT image data ->4 belong x \b, %d x ->8 belong x %d x ->12 belong x %d -# -0 string IT02 FIT image data ->4 belong x \b, %d x ->8 belong x %d x ->12 belong x %d -# -2048 string PCD_IPI Kodak Photo CD image pack file ->0xe02 byte&0x03 0x00 , landscape mode ->0xe02 byte&0x03 0x01 , portrait mode ->0xe02 byte&0x03 0x02 , landscape mode ->0xe02 byte&0x03 0x03 , portrait mode -0 string PCD_OPA Kodak Photo CD overview pack file - -# FITS format. Jeff Uphoff <juphoff@tarsier.cv.nrao.edu> -# FITS is the Flexible Image Transport System, the de facto standard for -# data and image transfer, storage, etc., for the astronomical community. -# (FITS floating point formats are big-endian.) -0 string SIMPLE\ \ = FITS image data ->109 string 8 \b, 8-bit, character or unsigned binary integer ->108 string 16 \b, 16-bit, two's complement binary integer ->107 string \ 32 \b, 32-bit, two's complement binary integer ->107 string -32 \b, 32-bit, floating point, single precision ->107 string -64 \b, 64-bit, floating point, double precision - -# other images -0 string This\ is\ a\ BitMap\ file Lisp Machine bit-array-file -0 string !! Bennet Yee's "face" format - -# From SunOS 5.5.1 "/etc/magic" - appeared right before Sun raster image -# stuff. -# -0 beshort 0x1010 PEX Binary Archive - -# Visio drawings -03000 string Visio\ (TM)\ Drawing %s - -# Tgif files -0 string \%TGIF\ x Tgif file version %s - -# DICOM medical imaging data -128 string DICM DICOM medical imaging data - -# XWD - X Window Dump file. -# As described in /usr/X11R6/include/X11/XWDFile.h -# used by the xwd program. -# Bradford Castalia, idaeim, 1/01 -4 belong 7 XWD X Window Dump image data ->100 string >\0 \b, "%s" ->16 belong x \b, %dx ->20 belong x \b%dx ->12 belong x \b%d - -# PDS - Planetary Data System -# These files use Parameter Value Language in the header section. -# Unfortunately, there is no certain magic, but the following -# strings have been found to be most likely. -0 string NJPL1I00 PDS (JPL) image data -2 string NJPL1I PDS (JPL) image data -0 string CCSD3ZF PDS (CCSD) image data -2 string CCSD3Z PDS (CCSD) image data -0 string PDS_ PDS image data -0 string LBLSIZE= PDS (VICAR) image data - -# pM8x: ATARI STAD compressed bitmap format -# -# from Oskar Schirmer <schirmer@scara.com> Feb 2, 2001 -# p M 8 5/6 xx yy zz data... -# Atari ST STAD bitmap is always 640x400, bytewise runlength compressed. -# bytes either run horizontally (pM85) or vertically (pM86). yy is the -# most frequent byte, xx and zz are runlength escape codes, where xx is -# used for runs of yy. -# -0 string pM85 Atari ST STAD bitmap image data (hor) ->5 byte 0x00 (white background) ->5 byte 0xFF (black background) -0 string pM86 Atari ST STAD bitmap image data (vert) ->5 byte 0x00 (white background) ->5 byte 0xFF (black background) - -# XXX: -# This is bad magic 0x5249 == 'RI' conflicts with RIFF and other -# magic. -# SGI RICE image file <mpruett@sgi.com> -#0 beshort 0x5249 RICE image -#>2 beshort x v%d -#>4 beshort x (%d x -#>6 beshort x %d) -#>8 beshort 0 8 bit -#>8 beshort 1 10 bit -#>8 beshort 2 12 bit -#>8 beshort 3 13 bit -#>10 beshort 0 4:2:2 -#>10 beshort 1 4:2:2:4 -#>10 beshort 2 4:4:4 -#>10 beshort 3 4:4:4:4 -#>12 beshort 1 RGB -#>12 beshort 2 CCIR601 -#>12 beshort 3 RP175 -#>12 beshort 4 YUV - -#------------------------------------------------------------------------------ -# -# Marco Schmidt (marcoschmidt@users.sourceforge.net) -- an image file format -# for the EPOC operating system, which is used with PDAs like those from Psion -# -# see http://huizen.dds.nl/~frodol/psiconv/html/Index.html for a description -# of various EPOC file formats - -0 string \x37\x00\x00\x10\x42\x00\x00\x10\x00\x00\x00\x00\x39\x64\x39\x47 EPOC MBM image file - -# PCX image files -# From: Dan Fandrich <dan@coneharvesters.com> -0 beshort 0x0a00 PCX ver. 2.5 image data -0 beshort 0x0a02 PCX ver. 2.8 image data, with palette -0 beshort 0x0a03 PCX ver. 2.8 image data, without palette -0 beshort 0x0a04 PCX for Windows image data -0 beshort 0x0a05 PCX ver. 3.0 image data ->4 leshort x bounding box [%hd, ->6 leshort x %hd] - ->8 leshort x [%hd, ->10 leshort x %hd], ->65 byte >1 %d planes each of ->3 byte x %hhd-bit ->68 byte 0 image, ->68 byte 1 colour, ->68 byte 2 grayscale, ->68 byte >2 image, ->68 byte <0 image, ->12 leshort >0 %hd x ->>14 leshort x %hd dpi, ->2 byte 0 uncompressed ->2 byte 1 RLE compressed - -# Adobe Photoshop -0 string 8BPS Adobe Photoshop Image - -# XV thumbnail indicator (ThMO) -0 string P7\ 332 XV thumbnail image data - -# NITF is defined by United States MIL-STD-2500A -0 string NITF National Imagery Transmission Format ->25 string >\0 dated %.14s - -# GEM Image: Version 1, Headerlen 8 (Wolfram Kleff) -0 belong 0x00010008 GEM Image data ->12 beshort x %d x ->14 beshort x %d, ->4 beshort x %d planes, ->8 beshort x %d x ->10 beshort x %d pixelsize - -# GEM Metafile (Wolfram Kleff) -0 lelong 0x0018FFFF GEM Metafile data ->4 leshort x version %d - -# -# SMJPEG. A custom Motion JPEG format used by Loki Entertainment -# Software Torbjorn Andersson <d91tan@Update.UU.SE>. -# -0 string \0\nSMJPEG SMJPEG ->8 belong x %d.x data -# According to the specification you could find any number of _TXT -# headers here, but I can't think of any way of handling that. None of -# the SMJPEG files I tried it on used this feature. Even if such a -# file is encountered the output should still be reasonable. ->16 string _SND \b, ->>24 beshort >0 %d Hz ->>26 byte 8 8-bit ->>26 byte 16 16-bit ->>28 string NONE uncompressed -# >>28 string APCM ADPCM compressed ->>27 byte 1 mono ->>28 byte 2 stereo -# Help! Isn't there any way to avoid writing this part twice? ->>32 string _VID \b, -# >>>48 string JFIF JPEG ->>>40 belong >0 %d frames ->>>44 beshort >0 (%d x ->>>46 beshort >0 %d) ->16 string _VID \b, -# >>32 string JFIF JPEG ->>24 belong >0 %d frames ->>28 beshort >0 (%d x ->>30 beshort >0 %d) - -0 string Paint\ Shop\ Pro\ Image\ File Paint Shop Pro Image File - -# "thumbnail file" (icon) -# descended from "xv", but in use by other applications as well (Wolfram Kleff) -0 string P7\ 332 XV "thumbnail file" (icon) data - -# taken from fkiss: (<yav@mte.biglobe.ne.jp> ?) -0 string KiSS KISS/GS ->4 byte 16 color ->>5 byte x %d bit ->>8 leshort x %d colors ->>10 leshort x %d groups ->4 byte 32 cell ->>5 byte x %d bit ->>8 leshort x %d x ->>10 leshort x %d ->>12 leshort x +%d ->>14 leshort x +%d - -# Webshots (www.webshots.com), by John Harrison -0 string C\253\221g\230\0\0\0 Webshots Desktop .wbz file - -# Hercules DASD image files -# From Jan Jaeger <jj@septa.nl> -0 string CKD_P370 Hercules CKD DASD image file ->8 long x \b, %d heads per cylinder ->12 long x \b, track size %d bytes ->16 byte x \b, device type 33%2.2X - -0 string CKD_C370 Hercules compressed CKD DASD image file ->8 long x \b, %d heads per cylinder ->12 long x \b, track size %d bytes ->16 byte x \b, device type 33%2.2X - -0 string CKD_S370 Hercules CKD DASD shadow file ->8 long x \b, %d heads per cylinder ->12 long x \b, track size %d bytes ->16 byte x \b, device type 33%2.2X - -# Squeak images and - etoffi@softhome.net -0 string \146\031\0\0 Squeak image data -0 string 'From\040Squeak Squeak program text - -# partimage: file(1) magic for PartImage files (experimental, incomplete) -# Author: Hans-Joachim Baader <hjb@pro-linux.de> -0 string PaRtImAgE-VoLuMe PartImage ->0x0020 string 0.6.1 file version %s ->>0x0060 lelong >-1 volume %ld -#>>0x0064 8 byte identifier -#>>0x007c reserved ->>0x0200 string >\0 type %s ->>0x1400 string >\0 device %s, ->>0x1600 string >\0 original filename %s, -# Some fields omitted ->>0x2744 lelong 0 not compressed ->>0x2744 lelong 1 gzip compressed ->>0x2744 lelong 2 bzip2 compressed ->>0x2744 lelong >2 compressed with unknown algorithm ->0x0020 string >0.6.1 file version %s ->0x0020 string <0.6.1 file version %s - -# DCX is multi-page PCX, using a simple header of up to 1024 -# offsets for the respective PCX components. -# From: Joerg Wunsch <joerg_wunsch@uriah.heep.sax.de> -0 lelong 987654321 DCX multi-page PCX image data - -# Simon Walton <simonw@matteworld.com> -# Kodak Cineon format for scanned negatives -# http://www.kodak.com/US/en/motion/support/dlad/ -0 lelong 0xd75f2a80 Cineon image data ->200 belong >0 \b, %ld x ->204 belong >0 %ld - - -# Bio-Rad .PIC is an image format used by microscope control systems -# and related image processing software used by biologists. -# From: Vebjorn Ljosa <vebjorn@ljosa.com> -54 leshort 12345 Bio-Rad .PIC Image File ->0 leshort >0 %hd x ->2 leshort >0 %hd, ->4 leshort =1 1 image in file ->4 leshort >1 %hd images in file - -# From Jan "Yenya" Kasprzak <kas@fi.muni.cz> -# The description of *.mrw format can be found at -# http://www.dalibor.cz/minolta/raw_file_format.htm -0 string \000MRM Minolta Dimage camera raw image data - -# From: stephane.loeuillet@tiscali.f -# http://www.djvuzone.org/ -0 string AT&TFORM DjVu Image file - -# From: Jason Bacon <bacon@smithers.neuro.mcw.edu> -0 beshort 0x3020 character Computer Graphics Metafile - - - -# From: Tom Hilinski <tom.hilinski@comcast.net> -# http://www.unidata.ucar.edu/packages/netcdf/ -0 string CDF\001 netcdf file -# -#------------------------------------------------------------------------------ -# tuxedo: file(1) magic for BEA TUXEDO data files -# -# from Ian Springer <ispringer@hotmail.com> -# -0 string \0\0\1\236\0\0\0\0\0\0\0\0\0\0\0\0 BEA TUXEDO DES mask data - -#------------------------------------------------------------------------------ -# timezone: file(1) magic for timezone data -# -# from Daniel Quinlan (quinlan@yggdrasil.com) -# this should work on Linux, SunOS, and maybe others -# Added new official magic number for recent versions of the Olson code -0 string TZif timezone data -0 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0 old timezone data -0 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0 old timezone data -0 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0 old timezone data -0 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\4\0 old timezone data -0 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\5\0 old timezone data -0 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\6\0 old timezone data - -#------------------------------------------------------------------------------ -# project: file(1) magic for Project management -# -# Magic strings for ftnchek project files. Alexander Mai -0 string FTNCHEK_\ P project file for ftnchek ->10 string 1 version 2.7 ->10 string 2 version 2.8 to 2.10 ->10 string 3 version 2.11 or later -#------------------------------------------------------------------------------ -# cisco: file(1) magic for cisco Systems routers -# -# Most cisco file-formats are covered by the generic elf code -# -# Microcode files are non-ELF, 0x8501 conflicts with NetBSD/alpha. -0 belong&0xffffff00 0x85011400 cisco IOS microcode ->7 string >\0 for '%s' -0 belong&0xffffff00 0x8501cb00 cisco IOS experimental microcode ->7 string >\0 for '%s' -#------------------------------------------------------------------------------ -# mach file description -# -0 belong 0xcafebabe Mach-O fat file ->4 belong 1 with 1 architecture ->4 belong >1 ->>4 belong x with %ld architectures -# -0 belong 0xfeedface Mach-O ->12 belong 1 object ->12 belong 2 executable ->12 belong 3 shared library ->12 belong 4 core ->12 belong 5 preload executable ->12 belong 6 dynamically linked shared library ->12 belong 7 dynamic linker ->12 belong 8 bundle ->12 belong >8 ->>12 belong x filetype=%ld ->4 belong <0 ->>4 belong x architecture=%ld ->4 belong 1 vax ->4 belong 2 romp ->4 belong 3 architecture=3 ->4 belong 4 ns32032 ->4 belong 5 ns32332 ->4 belong 6 for m68k architecture -# from NeXTstep 3.0 <mach/machine.h> -# i.e. mc680x0_all, ignore -# >>8 belong 1 (mc68030) ->>8 belong 2 (mc68040) ->>8 belong 3 (mc68030 only) ->4 belong 7 i386 ->4 belong 8 mips ->4 belong 9 ns32532 ->4 belong 10 architecture=10 ->4 belong 11 hp pa-risc ->4 belong 12 acorn ->4 belong 13 m88k ->4 belong 14 sparc ->4 belong 15 i860-big ->4 belong 16 i860 ->4 belong 17 rs6000 ->4 belong 18 ppc ->4 belong >18 ->>4 belong x architecture=%ld - -#------------------------------------------------------------------------------ -# mkid: file(1) magic for mkid(1) databases -# -# ID is the binary tags database produced by mkid(1). -# -# XXX - byte order? -# -0 string \311\304 ID tags data ->2 short >0 version %d - -#------------------------------------------------------------------------------ -# pgp: file(1) magic for Pretty Good Privacy -# -0 beshort 0x9900 PGP key public ring -0 beshort 0x9501 PGP key security ring -0 beshort 0x9500 PGP key security ring -0 beshort 0xa600 PGP encrypted data -0 string -----BEGIN\040PGP PGP armored data ->15 string PUBLIC\040KEY\040BLOCK- public key block ->15 string MESSAGE- message ->15 string SIGNED\040MESSAGE- signed message ->15 string PGP\040SIGNATURE- signature - -#------------------------------------------------------------------------------ -# terminfo: file(1) magic for terminfo -# -# XXX - byte order for screen images? -# -0 string \032\001 Compiled terminfo entry -0 short 0433 Curses screen image -0 short 0434 Curses screen image - -#------------------------------------------------------------------------------ -# printer: file(1) magic for printer-formatted files -# - -# PostScript, updated by Daniel Quinlan (quinlan@yggdrasil.com) -0 string %! PostScript document text ->2 string PS-Adobe- conforming ->>11 string >\0 at level %.3s ->>>15 string EPS - type %s ->>>15 string Query - type %s ->>>15 string ExitServer - type %s -# Some PCs have the annoying habit of adding a ^D as a document separator -0 string \004%! PostScript document text ->3 string PS-Adobe- conforming ->>12 string >\0 at level %.3s ->>>16 string EPS - type %s ->>>16 string Query - type %s ->>>16 string ExitServer - type %s -0 string \033%-12345X%!PS PostScript document - - -# DOS EPS Binary File Header -# From: Ed Sznyter <ews@Black.Market.NET> -0 belong 0xC5D0D3C6 DOS EPS Binary File ->4 long >0 Postscript starts at byte %d ->>8 long >0 length %d ->>>12 long >0 Metafile starts at byte %d ->>>>16 long >0 length %d ->>>20 long >0 TIFF starts at byte %d ->>>>24 long >0 length %d - -# Adobe's PostScript Printer Description (PPD) files -# Yves Arrouye <arrouye@marin.fdn.fr> -# -0 string *PPD-Adobe: PPD file ->13 string x \b, ve - -# HP Printer Job Language -0 string \033%-12345X@PJL HP Printer Job Language data -# HP Printer Job Language -# The header found on Win95 HP plot files is the "Silliest Thing possible" -# (TM) -# Every driver puts the language at some random position, with random case -# (LANGUAGE and Language) -# For example the LaserJet 5L driver puts the "PJL ENTER LANGUAGE" in line 10 -# From: Uwe Bonnes <bon@elektron.ikp.physik.th-darmstadt.de> -# -0 string \033%-12345X@PJL HP Printer Job Language data ->&0 string >\0 %s ->>&0 string >\0 %s ->>>&0 string >\0 %s ->>>>&0 string >\0 %s -#>15 string \ ENTER\ LANGUAGE\ = -#>31 string PostScript PostScript - -# HP Printer Control Language, Daniel Quinlan (quinlan@yggdrasil.com) -0 string \033E\033 HP PCL printer data ->3 string \&l0A - default page size ->3 string \&l1A - US executive page size ->3 string \&l2A - US letter page size ->3 string \&l3A - US legal page size ->3 string \&l26A - A4 page size ->3 string \&l80A - Monarch envelope size ->3 string \&l81A - No. 10 envelope size ->3 string \&l90A - Intl. DL envelope size ->3 string \&l91A - Intl. C5 envelope size ->3 string \&l100A - Intl. B5 envelope size ->3 string \&l-81A - No. 10 envelope size (landscape) ->3 string \&l-90A - Intl. DL envelope size (landscape) - -# IMAGEN printer-ready files: -0 string @document( Imagen printer -# this only works if "language xxx" is first item in Imagen header. ->10 string language\ impress (imPRESS data) ->10 string language\ daisy (daisywheel text) ->10 string language\ diablo (daisywheel text) ->10 string language\ printer (line printer emulation) ->10 string language\ tektronix (Tektronix 4014 emulation) -# Add any other languages that your Imagen uses - remember -# to keep the word `text' if the file is human-readable. -# [GRR 950115: missing "postscript" or "ultrascript" (whatever it was called)] -# -# Now magic for IMAGEN font files... -0 string Rast RST-format raster font data ->45 string >0 face %s -# From Jukka Ukkonen -0 string \033[K\002\0\0\017\033(a\001\0\001\033(g Canon Bubble Jet BJC formatted data - -# From <mike@flyn.org> -# These are the /etc/magic entries to decode data sent to an Epson printer. -0 string \x1B\x40\x1B\x28\x52\x08\x00\x00REMOTE1P Epson Stylus Color 460 data - - -#------------------------------------------------------------------------------ -# zenographics: file(1) magic for Zenographics ZjStream printer data -# Rick Richardson rickr@mn.rr.com -0 string JZJZ ->0x12 string ZZ Zenographics ZjStream printer data (big-endian) -0 string ZJZJ ->0x12 string ZZ Zenographics ZjStream printer data (little-endian) - - -#------------------------------------------------------------------------------ -# Oak Technologies printer stream -# Rick Richardson <rickr@mn.rr.com> -0 string OAK ->0x07 byte 0 ->0x0b byte 0 Oak Technologies printer stream - -# This would otherwise be recognized as PostScript - nick@debian.org -0 string %!VMF SunClock's Vector Map Format data - -#------------------------------------------------------------------------------ -# HP LaserJet 1000 series downloadable firmware file -0 string \xbe\xefABCDEFGH HP LaserJet 1000 series downloadable firmware - -#------------------------------------------------------------------------------ -# apple: file(1) magic for Apple file formats -# -0 string FiLeStArTfIlEsTaRt binscii (apple ][) text -0 string \x0aGL Binary II (apple ][) data -0 string \x76\xff Squeezed (apple ][) data -0 string NuFile NuFile archive (apple ][) data -0 string N\xf5F\xe9l\xe5 NuFile archive (apple ][) data -0 belong 0x00051600 AppleSingle encoded Macintosh file -0 belong 0x00051607 AppleDouble encoded Macintosh file - -# magic for Newton PDA package formats -# from Ruda Moura <ruda@helllabs.org> -0 string package0 Newton package, NOS 1.x, ->12 belong &0x80000000 AutoRemove, ->12 belong &0x40000000 CopyProtect, ->12 belong &0x10000000 NoCompression, ->12 belong &0x04000000 Relocation, ->12 belong &0x02000000 UseFasterCompression, ->16 belong x version %d - -0 string package1 Newton package, NOS 2.x, ->12 belong &0x80000000 AutoRemove, ->12 belong &0x40000000 CopyProtect, ->12 belong &0x10000000 NoCompression, ->12 belong &0x04000000 Relocation, ->12 belong &0x02000000 UseFasterCompression, ->16 belong x version %d - -0 string package4 Newton package, ->8 byte 8 NOS 1.x, ->8 byte 9 NOS 2.x, ->12 belong &0x80000000 AutoRemove, ->12 belong &0x40000000 CopyProtect, ->12 belong &0x10000000 NoCompression, - -# The following entries for the Apple II are for files that have -# been transferred as raw binary data from an Apple, without having -# been encapsulated by any of the above archivers. -# -# In general, Apple II formats are hard to identify because Apple DOS -# and especially Apple ProDOS have strong typing in the file system and -# therefore programmers never felt much need to include type information -# in the files themselves. -# -# Eric Fischer <enf@pobox.com> - -# AppleWorks word processor: -# -# This matches the standard tab stops for an AppleWorks file, but if -# a file has a tab stop set in the first four columns this will fail. -# -# The "O" is really the magic number, but that's so common that it's -# necessary to check the tab stops that follow it to avoid false positives. - -4 string O==== AppleWorks word processor data ->85 byte&0x01 >0 \b, zoomed ->90 byte&0x01 >0 \b, paginated ->92 byte&0x01 >0 \b, with mail merge -#>91 byte x \b, left margin %d - -# AppleWorks database: -# -# This isn't really a magic number, but it's the closest thing to one -# that I could find. The 1 and 2 really mean "order in which you defined -# categories" and "left to right, top to bottom," respectively; the D and R -# mean that the cursor should move either down or right when you press Return. - -#30 string \x01D AppleWorks database data -#30 string \x02D AppleWorks database data -#30 string \x01R AppleWorks database data -#30 string \x02R AppleWorks database data - -# AppleWorks spreadsheet: -# -# Likewise, this isn't really meant as a magic number. The R or C means -# row- or column-order recalculation; the A or M means automatic or manual -# recalculation. - -#131 string RA AppleWorks spreadsheet data -#131 string RM AppleWorks spreadsheet data -#131 string CA AppleWorks spreadsheet data -#131 string CM AppleWorks spreadsheet data - -# Applesoft BASIC: -# -# This is incredibly sloppy, but will be true if the program was -# written at its usual memory location of 2048 and its first line -# number is less than 256. Yuck. - -0 belong&0xff00ff 0x80000 Applesoft BASIC program data -#>2 leshort x \b, first line number %d - -# ORCA/EZ assembler: -# -# This will not identify ORCA/M source files, since those have -# some sort of date code instead of the two zero bytes at 6 and 7 -# XXX Conflicts with ELF -#4 belong&0xff00ffff 0x01000000 ORCA/EZ assembler source data -#>5 byte x \b, build number %d - -# Broderbund Fantavision -# -# I don't know what these values really mean, but they seem to recur. -# Will they cause too many conflicts? - -# Probably :-) -#2 belong&0xFF00FF 0x040008 Fantavision movie data - -# Some attempts at images. -# -# These are actually just bit-for-bit dumps of the frame buffer, so -# there's really no reasonably way to distinguish them except for their -# address (if preserved) -- 8192 or 16384 -- and their length -- 8192 -# or, occasionally, 8184. -# -# Nevertheless this will manage to catch a lot of images that happen -# to have a solid-colored line at the bottom of the screen. - -8144 string \x7F\x7F\x7F\x7F\x7F\x7F\x7F\x7F Apple II image with white background -8144 string \x55\x2A\x55\x2A\x55\x2A\x55\x2A Apple II image with purple background -8144 string \x2A\x55\x2A\x55\x2A\x55\x2A\x55 Apple II image with green background -8144 string \xD5\xAA\xD5\xAA\xD5\xAA\xD5\xAA Apple II image with blue background -8144 string \xAA\xD5\xAA\xD5\xAA\xD5\xAA\xD5 Apple II image with orange background - -# Beagle Bros. Apple Mechanic fonts - -0 belong&0xFF00FFFF 0x6400D000 Apple Mechanic font - -# Apple Universal Disk Image Format (UDIF) - dmg files. -# From Johan Gade. -# These entries are disabled for now until we fix the following issues. -# -# Note there might be some problems with the "VAX COFF executable" -# entry. Note this entry should be placed before the mac filesystem section, -# particularly the "Apple Partition data" entry. -# -# The intended meaning of these tests is, that the file is only of the -# specified type if both of the lines are correct - i.e. if the first -# line matches and the second doesn't then it is not of that type. -# -#0 long 0x7801730d -#>4 long 0x62626060 UDIF read-only zlib-compressed image (UDZO) -# -# Note that this entry is recognized correctly by the "Apple Partition -# data" entry - however since this entry is more specific - this -# information seems to be more useful. -#0 long 0x45520200 -#>0x410 string disk\ image UDIF read/write image (UDRW) - -#------------------------------------------------------------------------------ -# applix: file(1) magic for Applixware -# From: Peter Soos <sp@osb.hu> -# -0 string *BEGIN Applixware ->7 string WORDS Words Document ->7 string GRAPHICS Graphic ->7 string RASTER Bitmap ->7 string SPREADSHEETS Spreadsheet ->7 string MACRO Macro ->7 string BUILDER Builder Object - -#------------------------------------------------------------------------------ -# interleaf: file(1) magic for InterLeaf TPS: -# -0 string =\210OPS Interleaf saved data -0 string =<!OPS Interleaf document text ->5 string ,\ Version\ = \b, version ->>17 string >\0 %.3s - -#------------------------------------------------------------------------------ -# lisp: file(1) magic for lisp programs -# -# various lisp types, from Daniel Quinlan (quinlan@yggdrasil.com) - -# This is a guess, but a good one. -0 string ;; Lisp/Scheme program text - -# Emacs 18 - this is always correct, but not very magical. -0 string \012( Emacs v18 byte-compiled Lisp data -# Emacs 19+ - ver. recognition added by Ian Springer -# Also applies to XEmacs 19+ .elc files; could tell them apart if we had regexp -# support or similar - Chris Chittleborough <cchittleborough@yahoo.com.au> -0 string ;ELC ->4 byte >19 ->4 byte <32 Emacs/XEmacs v%d byte-compiled Lisp data - -# Files produced by CLISP Common Lisp From: Bruno Haible <haible@ilog.fr> -0 string (SYSTEM::VERSION\040' CLISP byte-compiled Lisp program text -0 long 0x70768BD2 CLISP memory image data -0 long 0xD28B7670 CLISP memory image data, other endian - -# Files produced by GNU gettext -0 long 0xDE120495 GNU-format message catalog data -0 long 0x950412DE GNU-format message catalog data - -#.com and .bin for MIT scheme -0 string \372\372\372\372 MIT scheme (library?) - -# From: David Allouche <david@allouche.net> -0 string \<TeXmacs| TeXmacs document text - -#------------------------------------------------------------------------------ -# spec: file(1) magic for SPEC raw results (*.raw, *.rsf) -# -# Cloyce D. Spradling <cloyce@headgear.org> - -0 string spec SPEC ->4 string .cpu CPU ->>8 string <: \b%.4s ->>12 string . raw result text - -17 string version=SPECjbb SPECjbb ->32 string <: \b%.4s ->>37 string <: v%.4s raw result text - -0 string BEGIN\040SPECWEB SPECweb ->13 string <: \b%.2s ->>15 string _SSL \b_SSL ->>>20 string <: v%.4s raw result text ->>16 string <: v%.4s raw result text - -#------------------------------------------------------------------------------ -# sniffer: file(1) magic for packet capture files -# -# From: guy@alum.mit.edu (Guy Harris) -# - -# -# Microsoft Network Monitor 1.x capture files. -# -0 string RTSS NetMon capture file ->5 byte x - version %d ->4 byte x \b.%d ->6 leshort 0 (Unknown) ->6 leshort 1 (Ethernet) ->6 leshort 2 (Token Ring) ->6 leshort 3 (FDDI) ->6 leshort 4 (ATM) - -# -# Microsoft Network Monitor 2.x capture files. -# -0 string GMBU NetMon capture file ->5 byte x - version %d ->4 byte x \b.%d ->6 leshort 0 (Unknown) ->6 leshort 1 (Ethernet) ->6 leshort 2 (Token Ring) ->6 leshort 3 (FDDI) ->6 leshort 4 (ATM) - -# -# Network General Sniffer capture files. -# Sorry, make that "Network Associates Sniffer capture files." -# Sorry, make that "Network General old DOS Sniffer capture files." -# -0 string TRSNIFF\ data\ \ \ \ \032 Sniffer capture file ->33 byte 2 (compressed) ->23 leshort x - version %d ->25 leshort x \b.%d ->32 byte 0 (Token Ring) ->32 byte 1 (Ethernet) ->32 byte 2 (ARCNET) ->32 byte 3 (StarLAN) ->32 byte 4 (PC Network broadband) ->32 byte 5 (LocalTalk) ->32 byte 6 (Znet) ->32 byte 7 (Internetwork Analyzer) ->32 byte 9 (FDDI) ->32 byte 10 (ATM) - -# -# Cinco Networks NetXRay capture files. -# Sorry, make that "Network General Sniffer Basic capture files." -# Sorry, make that "Network Associates Sniffer Basic capture files." -# Sorry, make that "Network Associates Sniffer Basic, and Windows -# Sniffer Pro", capture files." -# Sorry, make that "Network General Sniffer capture files." -# -0 string XCP\0 NetXRay capture file ->4 string >\0 - version %s ->44 leshort 0 (Ethernet) ->44 leshort 1 (Token Ring) ->44 leshort 2 (FDDI) ->44 leshort 3 (WAN) ->44 leshort 8 (ATM) ->44 leshort 9 (802.11) - -# -# "libpcap" capture files. -# (We call them "tcpdump capture file(s)" for now, as "tcpdump" is -# the main program that uses that format, but there are other programs -# that use "libpcap", or that use the same capture file format.) -# -0 ubelong 0xa1b2c3d4 tcpdump capture file (big-endian) ->4 beshort x - version %d ->6 beshort x \b.%d ->20 belong 0 (No link-layer encapsulation ->20 belong 1 (Ethernet ->20 belong 2 (3Mb Ethernet ->20 belong 3 (AX.25 ->20 belong 4 (ProNET ->20 belong 5 (CHAOS ->20 belong 6 (Token Ring ->20 belong 7 (BSD ARCNET ->20 belong 8 (SLIP ->20 belong 9 (PPP ->20 belong 10 (FDDI ->20 belong 11 (RFC 1483 ATM ->20 belong 12 (raw IP ->20 belong 13 (BSD/OS SLIP ->20 belong 14 (BSD/OS PPP ->20 belong 19 (Linux ATM Classical IP ->20 belong 50 (PPP or Cisco HDLC ->20 belong 51 (PPP-over-Ethernet ->20 belong 99 (Symantec Enterprise Firewall ->20 belong 100 (RFC 1483 ATM ->20 belong 101 (raw IP ->20 belong 102 (BSD/OS SLIP ->20 belong 103 (BSD/OS PPP ->20 belong 104 (BSD/OS Cisco HDLC ->20 belong 105 (802.11 ->20 belong 106 (Linux Classical IP over ATM ->20 belong 107 (Frame Relay ->20 belong 108 (OpenBSD loopback ->20 belong 109 (OpenBSD IPsec encrypted ->20 belong 112 (Cisco HDLC ->20 belong 113 (Linux "cooked" ->20 belong 114 (LocalTalk ->20 belong 117 (OpenBSD PFLOG ->20 belong 119 (802.11 with Prism header ->20 belong 122 (RFC 2625 IP over Fibre Channel ->20 belong 123 (SunATM ->20 belong 127 (802.11 with radiotap header ->20 belong 129 (Linux ARCNET ->20 belong 138 (Apple IP over IEEE 1394 ->20 belong 140 (MTP2 ->20 belong 141 (MTP3 ->20 belong 143 (DOCSIS ->20 belong 144 (IrDA ->20 belong 147 (Private use 0 ->20 belong 148 (Private use 1 ->20 belong 149 (Private use 2 ->20 belong 150 (Private use 3 ->20 belong 151 (Private use 4 ->20 belong 152 (Private use 5 ->20 belong 153 (Private use 6 ->20 belong 154 (Private use 7 ->20 belong 155 (Private use 8 ->20 belong 156 (Private use 9 ->20 belong 157 (Private use 10 ->20 belong 158 (Private use 11 ->20 belong 159 (Private use 12 ->20 belong 160 (Private use 13 ->20 belong 161 (Private use 14 ->20 belong 162 (Private use 15 ->20 belong 163 (802.11 with AVS header ->16 belong x \b, capture length %d) -0 ulelong 0xa1b2c3d4 tcpdump capture file (little-endian) ->4 leshort x - version %d ->6 leshort x \b.%d ->20 lelong 0 (No link-layer encapsulation ->20 lelong 1 (Ethernet ->20 lelong 2 (3Mb Ethernet ->20 lelong 3 (AX.25 ->20 lelong 4 (ProNET ->20 lelong 5 (CHAOS ->20 lelong 6 (Token Ring ->20 lelong 7 (ARCNET ->20 lelong 8 (SLIP ->20 lelong 9 (PPP ->20 lelong 10 (FDDI ->20 lelong 11 (RFC 1483 ATM ->20 lelong 12 (raw IP ->20 lelong 13 (BSD/OS SLIP ->20 lelong 14 (BSD/OS PPP ->20 lelong 19 (Linux ATM Classical IP ->20 lelong 50 (PPP or Cisco HDLC ->20 lelong 51 (PPP-over-Ethernet ->20 lelong 99 (Symantec Enterprise Firewall ->20 lelong 100 (RFC 1483 ATM ->20 lelong 101 (raw IP ->20 lelong 102 (BSD/OS SLIP ->20 lelong 103 (BSD/OS PPP ->20 lelong 104 (BSD/OS Cisco HDLC ->20 lelong 105 (802.11 ->20 lelong 106 (Linux Classical IP over ATM ->20 lelong 107 (Frame Relay ->20 lelong 108 (OpenBSD loopback ->20 lelong 109 (OpenBSD IPsec encrypted ->20 lelong 112 (Cisco HDLC ->20 lelong 113 (Linux "cooked" ->20 lelong 114 (LocalTalk ->20 lelong 117 (OpenBSD PFLOG ->20 lelong 119 (802.11 with Prism header ->20 lelong 122 (RFC 2625 IP over Fibre Channel ->20 lelong 123 (SunATM ->20 lelong 127 (802.11 with radiotap header ->20 lelong 129 (Linux ARCNET ->20 lelong 138 (Apple IP over IEEE 1394 ->20 lelong 140 (MTP2 ->20 lelong 141 (MTP3 ->20 lelong 143 (DOCSIS ->20 lelong 144 (IrDA ->20 lelong 147 (Private use 0 ->20 lelong 148 (Private use 1 ->20 lelong 149 (Private use 2 ->20 lelong 150 (Private use 3 ->20 lelong 151 (Private use 4 ->20 lelong 152 (Private use 5 ->20 lelong 153 (Private use 6 ->20 lelong 154 (Private use 7 ->20 lelong 155 (Private use 8 ->20 lelong 156 (Private use 9 ->20 lelong 157 (Private use 10 ->20 lelong 158 (Private use 11 ->20 lelong 159 (Private use 12 ->20 lelong 160 (Private use 13 ->20 lelong 161 (Private use 14 ->20 lelong 162 (Private use 15 ->20 lelong 163 (802.11 with AVS header ->16 lelong x \b, capture length %d) - -# -# "libpcap"-with-Alexey-Kuznetsov's-patches capture files. -# (We call them "tcpdump capture file(s)" for now, as "tcpdump" is -# the main program that uses that format, but there are other programs -# that use "libpcap", or that use the same capture file format.) -# -0 ubelong 0xa1b2cd34 extended tcpdump capture file (big-endian) ->4 beshort x - version %d ->6 beshort x \b.%d ->20 belong 0 (No link-layer encapsulation ->20 belong 1 (Ethernet ->20 belong 2 (3Mb Ethernet ->20 belong 3 (AX.25 ->20 belong 4 (ProNET ->20 belong 5 (CHAOS ->20 belong 6 (Token Ring ->20 belong 7 (ARCNET ->20 belong 8 (SLIP ->20 belong 9 (PPP ->20 belong 10 (FDDI ->20 belong 11 (RFC 1483 ATM ->20 belong 12 (raw IP ->20 belong 13 (BSD/OS SLIP ->20 belong 14 (BSD/OS PPP ->16 belong x \b, capture length %d) -0 ulelong 0xa1b2cd34 extended tcpdump capture file (little-endian) ->4 leshort x - version %d ->6 leshort x \b.%d ->20 lelong 0 (No link-layer encapsulation ->20 lelong 1 (Ethernet ->20 lelong 2 (3Mb Ethernet ->20 lelong 3 (AX.25 ->20 lelong 4 (ProNET ->20 lelong 5 (CHAOS ->20 lelong 6 (Token Ring ->20 lelong 7 (ARCNET ->20 lelong 8 (SLIP ->20 lelong 9 (PPP ->20 lelong 10 (FDDI ->20 lelong 11 (RFC 1483 ATM ->20 lelong 12 (raw IP ->20 lelong 13 (BSD/OS SLIP ->20 lelong 14 (BSD/OS PPP ->16 lelong x \b, capture length %d) - -# -# AIX "iptrace" capture files. -# -0 string iptrace\ 1.0 "iptrace" capture file -0 string iptrace\ 2.0 "iptrace" capture file - -# -# Novell LANalyzer capture files. -# -0 leshort 0x1001 LANalyzer capture file -0 leshort 0x1007 LANalyzer capture file - -# -# HP-UX "nettl" capture files. -# -0 string \x54\x52\x00\x64\x00 "nettl" capture file - -# -# RADCOM WAN/LAN Analyzer capture files. -# -0 string \x42\xd2\x00\x34\x12\x66\x22\x88 RADCOM WAN/LAN Analyzer capture file - -# -# NetStumbler log files. Not really packets, per se, but about as -# close as you can get. These are log files from NetStumbler, a -# Windows program, that scans for 802.11b networks. -# -0 string NetS NetStumbler log file ->8 lelong x \b, %d stations found - -# -# EtherPeek/AiroPeek "version 9" capture files. -# -0 string \177ver EtherPeek/AiroPeek capture file - -# -# Visual Networks traffic capture files. -# -0 string \x05VNF Visual Networks traffic capture file - -# -# Network Instruments Observer capture files. -# -0 string ObserverPktBuffe Network Instruments Observer capture file - -# -# Files from Accellent Group's 5View products. -# -0 string \xaa\xaa\xaa\xaa 5View capture file - -#------------------------------------------------------------------------------ -# file(1) magic for revision control files -# From Hendrik Scholz <hendrik@scholz.net> -0 string /1\ :pserver: cvs password text file -#------------------------------------------------------------------------------ -# amigaos: file(1) magic for AmigaOS binary formats: - -# -# From ignatios@cs.uni-bonn.de (Ignatios Souvatzis) -# -0 belong 0x000003fa AmigaOS shared library -0 belong 0x000003f3 AmigaOS loadseg()ble executable/binary -0 belong 0x000003e7 AmigaOS object/library data -# -0 beshort 0xe310 Amiga Workbench ->2 beshort 1 ->>48 byte 1 disk icon ->>48 byte 2 drawer icon ->>48 byte 3 tool icon ->>48 byte 4 project icon ->>48 byte 5 garbage icon ->>48 byte 6 device icon ->>48 byte 7 kickstart icon ->>48 byte 8 workbench application icon ->2 beshort >1 icon, vers. %d -# -# various sound formats from the Amiga -# G=F6tz Waschk <waschk@informatik.uni-rostock.de> -# -0 string FC14 Future Composer 1.4 Module sound file -0 string SMOD Future Composer 1.3 Module sound file -0 string AON4artofnoise Art Of Noise Module sound file -1 string MUGICIAN/SOFTEYES Mugician Module sound file -58 string SIDMON\ II\ -\ THE Sidmon 2.0 Module sound file -0 string Synth4.0 Synthesis Module sound file -0 string ARP. The Holy Noise Module sound file -0 string BeEp\0 JamCracker Module sound file -0 string COSO\0 Hippel-COSO Module sound file -# Too simple (short, pure ASCII, deep), MPi -#26 string V.3 Brian Postma's Soundmon Module sound file v3 -#26 string BPSM Brian Postma's Soundmon Module sound file v3 -#26 string V.2 Brian Postma's Soundmon Module sound file v2 - -# The following are from: "Stefan A. Haubenthal" <polluks@web.de> -0 beshort 0x0f00 AmigaOS bitmap font -0 beshort 0x0f03 AmigaOS outline font -0 belong 0x80001001 AmigaOS outline tag -0 string ##\ version catalog translation - -# Amiga disk types -# -0 string RDSK Rigid Disk Block ->160 string x on %.24s -0 string DOS\0 Amiga DOS disk -0 string DOS\1 Amiga FFS disk -0 string DOS\2 Amiga Inter DOS disk -0 string DOS\3 Amiga Inter FFS disk -0 string DOS\4 Amiga Fastdir DOS disk -0 string DOS\5 Amiga Fastdir FFS disk -0 string KICK Kickstart disk - -#------------------------------------------------------------------------------ -# database: file(1) magic for various databases -# -# extracted from header/code files by Graeme Wilford (eep2gw@ee.surrey.ac.uk) -# -# -# GDBM magic numbers -# Will be maintained as part of the GDBM distribution in the future. -# <downsj@teeny.org> -0 belong 0x13579ace GNU dbm 1.x or ndbm database, big endian -0 lelong 0x13579ace GNU dbm 1.x or ndbm database, little endian -0 string GDBM GNU dbm 2.x database -# -# Berkeley DB -# -# Ian Darwin's file /etc/magic files: big/little-endian version. -# -# Hash 1.85/1.86 databases store metadata in network byte order. -# Btree 1.85/1.86 databases store the metadata in host byte order. -# Hash and Btree 2.X and later databases store the metadata in host byte order. - -0 long 0x00061561 Berkeley DB ->8 belong 4321 ->>4 belong >2 1.86 ->>4 belong <3 1.85 ->>4 belong >0 (Hash, version %d, native byte-order) ->8 belong 1234 ->>4 belong >2 1.86 ->>4 belong <3 1.85 ->>4 belong >0 (Hash, version %d, little-endian) - -0 belong 0x00061561 Berkeley DB ->8 belong 4321 ->>4 belong >2 1.86 ->>4 belong <3 1.85 ->>4 belong >0 (Hash, version %d, big-endian) ->8 belong 1234 ->>4 belong >2 1.86 ->>4 belong <3 1.85 ->>4 belong >0 (Hash, version %d, native byte-order) - -0 long 0x00053162 Berkeley DB 1.85/1.86 ->4 long >0 (Btree, version %d, native byte-order) -0 belong 0x00053162 Berkeley DB 1.85/1.86 ->4 belong >0 (Btree, version %d, big-endian) -0 lelong 0x00053162 Berkeley DB 1.85/1.86 ->4 lelong >0 (Btree, version %d, little-endian) - -12 long 0x00061561 Berkeley DB ->16 long >0 (Hash, version %d, native byte-order) -12 belong 0x00061561 Berkeley DB ->16 belong >0 (Hash, version %d, big-endian) -12 lelong 0x00061561 Berkeley DB ->16 lelong >0 (Hash, version %d, little-endian) - -12 long 0x00053162 Berkeley DB ->16 long >0 (Btree, version %d, native byte-order) -12 belong 0x00053162 Berkeley DB ->16 belong >0 (Btree, version %d, big-endian) -12 lelong 0x00053162 Berkeley DB ->16 lelong >0 (Btree, version %d, little-endian) - -12 long 0x00042253 Berkeley DB ->16 long >0 (Queue, version %d, native byte-order) -12 belong 0x00042253 Berkeley DB ->16 belong >0 (Queue, version %d, big-endian) -12 lelong 0x00042253 Berkeley DB ->16 lelong >0 (Queue, version %d, little-endian) -# -# -# Round Robin Database Tool by Tobias Oetiker <oetiker@ee.ethz.ch> -0 string RRD RRDTool DB ->4 string x version %s -#---------------------------------------------------------------------- -# ROOT: file(1) magic for ROOT databases -# -0 string root\0 ROOT file ->4 belong x Version %d ->33 belong x (Compression: %d) - -# XXX: Weak magic. -# Alex Ott <ott@jet.msk.su> -## Paradox file formats -#2 leshort 0x0800 Paradox -#>0x39 byte 3 v. 3.0 -#>0x39 byte 4 v. 3.5 -#>0x39 byte 9 v. 4.x -#>0x39 byte 10 v. 5.x -#>0x39 byte 11 v. 5.x -#>0x39 byte 12 v. 7.x -#>>0x04 byte 0 indexed .DB data file -#>>0x04 byte 1 primary index .PX file -#>>0x04 byte 2 non-indexed .DB data file -#>>0x04 byte 3 non-incrementing secondary index .Xnn file -#>>0x04 byte 4 secondary index .Ynn file -#>>0x04 byte 5 incrementing secondary index .Xnn file -#>>0x04 byte 6 non-incrementing secondary index .XGn file -#>>0x04 byte 7 secondary index .YGn file -#>>>0x04 byte 8 incrementing secondary index .XGn file -## XBase database files -#0 byte 0x02 -#>8 leshort >0 -#>>12 leshort 0 FoxBase -#>>>0x04 lelong 0 (no records) -#>>>0x04 lelong >0 (%ld records) -# -#0 byte 0x03 -#>8 leshort >0 -#>>12 leshort 0 FoxBase+, FoxPro, dBaseIII+, dBaseIV, no memo -#>>>0x04 lelong 0 (no records) -#>>>0x04 lelong >0 (%ld records) -# -#0 byte 0x04 -#>8 leshort >0 -#>>12 leshort 0 dBASE IV no memo file -#>>>0x04 lelong 0 (no records) -#>>>0x04 lelong >0 (%ld records) -# -#0 byte 0x05 -#>8 leshort >0 -#>>12 leshort 0 dBASE V no memo file -#>>>0x04 lelong 0 (no records) -#>>>0x04 lelong >0 (%ld records) -# -#0 byte 0x30 -#>8 leshort >0 -#>>12 leshort 0 Visual FoxPro -#>>>0x04 lelong 0 (no records) -#>>>0x04 lelong >0 (%ld records) -# -#0 byte 0x43 -#>8 leshort >0 -#>>12 leshort 0 FlagShip with memo var size -#>>>0x04 lelong 0 (no records) -#>>>0x04 lelong >0 (%ld records) -# -#0 byte 0x7b -#>8 leshort >0 -#>>12 leshort 0 dBASEIV with memo -#>>>0x04 lelong 0 (no records) -#>>>0x04 lelong >0 (%ld records) -# -#0 byte 0x83 -#>8 leshort >0 -#>>12 leshort 0 FoxBase+, dBaseIII+ with memo -#>>>0x04 lelong 0 (no records) -#>>>0x04 lelong >0 (%ld records) -# -#0 byte 0x8b -#>8 leshort >0 -#>>12 leshort 0 dBaseIV with memo -#>>>0x04 lelong 0 (no records) -#>>>0x04 lelong >0 (%ld records) -# -#0 byte 0x8e -#>8 leshort >0 -#>>12 leshort 0 dBaseIV with SQL Table -#>>>0x04 lelong 0 (no records) -#>>>0x04 lelong >0 (%ld records) -# -#0 byte 0xb3 -#>8 leshort >0 -#>>12 leshort 0 FlagShip with .dbt memo -#>>>0x04 lelong 0 (no records) -#>>>0x04 lelong >0 (%ld records) -# -#0 byte 0xf5 -#>8 leshort >0 -#>>12 leshort 0 FoxPro with memo -#>>>0x04 lelong 0 (no records) -#>>>0x04 lelong >0 (%ld records) -# -#0 leshort 0x0006 DBase 3 index file - -# MS Access database -4 string Standard\ Jet\ DB Microsoft Access Database - -# TDB database from Samba et al - Martin Pool <mbp@samba.org> -0 string TDB\ file TDB database ->32 lelong 0x2601196D version 6, little-endian ->>36 lelong x hash size %d bytes - -# SE Linux policy database -0 lelong 0xf97cff8c SE Linux policy ->16 lelong x v%d ->20 lelong 1 MLS ->24 lelong x %d symbols ->28 lelong x %d ocons - -# ICE authority file data (Wolfram Kleff) -2 string ICE ICE authority data - -# X11 Xauthority file (Wolfram Kleff) -10 string MIT-MAGIC-COOKIE-1 X11 Xauthority data -11 string MIT-MAGIC-COOKIE-1 X11 Xauthority data -12 string MIT-MAGIC-COOKIE-1 X11 Xauthority data -13 string MIT-MAGIC-COOKIE-1 X11 Xauthority data -14 string MIT-MAGIC-COOKIE-1 X11 Xauthority data -15 string MIT-MAGIC-COOKIE-1 X11 Xauthority data -16 string MIT-MAGIC-COOKIE-1 X11 Xauthority data -17 string MIT-MAGIC-COOKIE-1 X11 Xauthority data -18 string MIT-MAGIC-COOKIE-1 X11 Xauthority data - -#------------------------------------------------------------------------------ -# gringotts: file(1) magic for Gringotts -# http://devel.pluto.linux.it/projects/Gringotts/ -# author: Germano Rizzo <mano@pluto.linux.it> -#GRG3????Y -0 string GRG Gringotts data file -#file format 1 ->3 string 1 v.1, MCRYPT S2K, SERPENT crypt, SHA-256 hash, ZLib lvl.9 -#file format 2 ->3 string 2 v.2, MCRYPT S2K, ->>8 byte&0x70 0x00 RIJNDAEL-128 crypt, ->>8 byte&0x70 0x10 SERPENT crypt, ->>8 byte&0x70 0x20 TWOFISH crypt, ->>8 byte&0x70 0x30 CAST-256 crypt, ->>8 byte&0x70 0x40 SAFER+ crypt, ->>8 byte&0x70 0x50 LOKI97 crypt, ->>8 byte&0x70 0x60 3DES crypt, ->>8 byte&0x70 0x70 RIJNDAEL-256 crypt, ->>8 byte&0x08 0x00 SHA1 hash, ->>8 byte&0x08 0x08 RIPEMD-160 hash, ->>8 byte&0x04 0x00 ZLib ->>8 byte&0x04 0x04 BZip2 ->>8 byte&0x03 0x00 lvl.0 ->>8 byte&0x03 0x01 lvl.3 ->>8 byte&0x03 0x02 lvl.6 ->>8 byte&0x03 0x03 lvl.9 -#file format 3 ->3 string 3 v.3, OpenPGP S2K, ->>8 byte&0x70 0x00 RIJNDAEL-128 crypt, ->>8 byte&0x70 0x10 SERPENT crypt, ->>8 byte&0x70 0x20 TWOFISH crypt, ->>8 byte&0x70 0x30 CAST-256 crypt, ->>8 byte&0x70 0x40 SAFER+ crypt, ->>8 byte&0x70 0x50 LOKI97 crypt, ->>8 byte&0x70 0x60 3DES crypt, ->>8 byte&0x70 0x70 RIJNDAEL-256 crypt, ->>8 byte&0x08 0x00 SHA1 hash, ->>8 byte&0x08 0x08 RIPEMD-160 hash, ->>8 byte&0x04 0x00 ZLib ->>8 byte&0x04 0x04 BZip2 ->>8 byte&0x03 0x00 lvl.0 ->>8 byte&0x03 0x01 lvl.3 ->>8 byte&0x03 0x02 lvl.6 ->>8 byte&0x03 0x03 lvl.9 -#file format >3 ->3 string >3 v.%.1s (unknown details) - -#------------------------------------------------------------------------------ -# pbm: file(1) magic for Portable Bitmap files -# -# XXX - byte order? -# -0 short 0x2a17 "compact bitmap" format (Poskanzer) - -#------------------------------------------------------------------------------ -# plus5: file(1) magic for Plus Five's UNIX MUMPS -# -# XXX - byte order? Paging Hokey.... -# -0 short 0x259 mumps avl global ->2 byte >0 (V%d) ->6 byte >0 with %d byte name ->7 byte >0 and %d byte data cells -0 short 0x25a mumps blt global ->2 byte >0 (V%d) ->8 short >0 - %d byte blocks ->15 byte 0x00 - P/D format ->15 byte 0x01 - P/K/D format ->15 byte 0x02 - K/D format ->15 byte >0x02 - Bad Flags - -#------------------------------------------------------------------------------ -# vms: file(1) magic for VMS executables (experimental) -# -# VMS .exe formats, both VAX and AXP (Greg Roelofs, newt@uchicago.edu) - -# GRR 950122: I'm just guessing on these, based on inspection of the headers -# of three executables each for Alpha and VAX architectures. The VAX files -# all had headers similar to this: -# -# 00000 b0 00 30 00 44 00 60 00 00 00 00 00 30 32 30 35 ..0.D.`.....0205 -# 00010 01 01 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 ................ -# -0 string \xb0\0\x30\0 VMS VAX executable ->44032 string PK\003\004 \b, Info-ZIP SFX archive v5.12 w/decryption -# -# The AXP files all looked like this, except that the byte at offset 0x22 -# was 06 in some of them and 07 in others: -# -# 00000 03 00 00 00 00 00 00 00 ec 02 00 00 10 01 00 00 ................ -# 00010 68 00 00 00 98 00 00 00 b8 00 00 00 00 00 00 00 h............... -# 00020 00 00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ -# 00030 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 ................ -# 00040 00 00 00 00 ff ff ff ff ff ff ff ff 02 00 00 00 ................ -# -0 belong 0x03000000 VMS Alpha executable ->75264 string PK\003\004 \b, Info-ZIP SFX archive v5.12 w/decryption - -#------------------------------------------------------------------------------ -# python: file(1) magic for python -# -# From: David Necas <yeti@physics.muni.cz> -# often the module starts with a multiline string -0 string """ a python script text executable -# MAGIC as specified in Python/import.c (1.5 to 2.3.0a) -# 20121 ( YEAR - 1995 ) + MONTH + DAY (little endian followed by "\r\n" -0 belong 0x994e0d0a python 1.5/1.6 byte-compiled -0 belong 0x87c60d0a python 2.0 byte-compiled -0 belong 0x2aeb0d0a python 2.1 byte-compiled -0 belong 0x2ded0d0a python 2.2 byte-compiled -0 belong 0x3bf20d0a python 2.3 byte-compiled - -#------------------------------------------------------------------------------ -# chord: file(1) magic for Chord music sheet typesetting utility input files -# -# From Philippe De Muyter <phdm@macqel.be> -# File format is actually free, but many distributed files begin with `{title' -# -0 string {title Chord text file - - -# ---------------------------------------------------------------------------- -# ctags: file (1) magic for Exuberant Ctags files -# From: Alexander Mai <mai@migdal.ikp.physik.tu-darmstadt.de> -0 string !_TAG Exuberant Ctags tag file text - -#------------------------------------------------------------------------------ -# human68k: file(1) magic for Human68k (X680x0 DOS) binary formats -# Magic too short! -#0 string HU Human68k -#>68 string LZX LZX compressed -#>>72 string >\0 (version %s) -#>(8.L+74) string LZX LZX compressed -#>>(8.L+78) string >\0 (version %s) -#>60 belong >0 binded -#>(8.L+66) string #HUPAIR hupair -#>0 string HU X executable -#>(8.L+74) string #LIBCV1 - linked PD LIBC ver 1 -#>4 belong >0 - base address 0x%x -#>28 belong >0 not stripped -#>32 belong >0 with debug information -#0 beshort 0x601a Human68k Z executable -#0 beshort 0x6000 Human68k object file -#0 belong 0xd1000000 Human68k ar binary archive -#0 belong 0xd1010000 Human68k ar ascii archive -#0 beshort 0x0068 Human68k lib archive -#4 string LZX Human68k LZX compressed -#>8 string >\0 (version %s) -#>4 string LZX R executable -#2 string #HUPAIR Human68k hupair R executable - -#------------------------------------------------------------------------------ -# pdp: file(1) magic for PDP-11 executable/object and APL workspace -# -0 lelong 0101555 PDP-11 single precision APL workspace -0 lelong 0101554 PDP-11 double precision APL workspace -# -# PDP-11 a.out -# -0 leshort 0407 PDP-11 executable ->8 leshort >0 not stripped ->15 byte >0 - version %ld - -0 leshort 0401 PDP-11 UNIX/RT ldp -0 leshort 0405 PDP-11 old overlay - -0 leshort 0410 PDP-11 pure executable ->8 leshort >0 not stripped ->15 byte >0 - version %ld - -0 leshort 0411 PDP-11 separate I&D executable ->8 leshort >0 not stripped ->15 byte >0 - version %ld - -0 leshort 0437 PDP-11 kernel overlay - -# These last three are derived from 2.11BSD file(1) -0 leshort 0413 PDP-11 demand-paged pure executable ->8 leshort >0 not stripped - -0 leshort 0430 PDP-11 overlaid pure executable ->8 leshort >0 not stripped - -0 leshort 0431 PDP-11 overlaid separate executable ->8 leshort >0 not stripped - -#------------------------------------------------------------------------ -# file(1) magic for sharc files -# -# SHARC DSP, MIDI SysEx and RiscOS filetype definitions added by -# FutureGroove Music (dsp@futuregroove.de) - -#------------------------------------------------------------------------ -0 string Draw RiscOS Drawfile -0 string PACK RiscOS PackdDir archive - -#------------------------------------------------------------------------ -# SHARC DSP stuff (based on the FGM SHARC DSP SDK) - -0 string ! Assembler source -0 string Analog ADi asm listing file -0 string .SYSTEM SHARC architecture file -0 string .system SHARC architecture file - -0 leshort 0x521C SHARC COFF binary ->2 leshort >1 , %hd sections ->>12 lelong >0 , not stripped - -#------------------------------------------------------------------------------ -# pulsar: file(1) magic for Pulsar POP3 daemon binary files -# -# http://pulsar.sourceforge.net -# mailto:rok.papez@lugos.si -# - -0 belong 0x1ee7f11e Pulsar POP3 daemon mailbox cache file. ->4 ubelong x Version: %d. ->8 ubelong x \b%d - - -#------------------------------------------------------------------------------ -# apl: file(1) magic for APL (see also "pdp" and "vax" for other APL -# workspaces) -# -0 long 0100554 APL workspace (Ken's original?) - -#---------------------------------------------------------------------------- -# communication - -# TTCN is the Tree and Tabular Combined Notation described in ISO 9646-3. -# It is used for conformance testing of communication protocols. -# Added by W. Borgert <debacle@debian.org>. -0 string $Suite TTCN Abstract Test Suite ->&1 string $SuiteId ->>&1 string >\n %s ->&2 string $SuiteId ->>&1 string >\n %s ->&3 string $SuiteId ->>&1 string >\n %s - -# MSC (message sequence charts) are a formal description technique, -# described in ITU-T Z.120, mainly used for communication protocols. -# Added by W. Borgert <debacle@debian.org>. -0 string mscdocument Message Sequence Chart (document) -0 string msc Message Sequence Chart (chart) -0 string submsc Message Sequence Chart (subchart) - -#------------------------------------------------------------------------------ -# ncr: file(1) magic for NCR Tower objects -# -# contributed by -# Michael R. Wayne *** TMC & Associates *** INTERNET: wayne@ford-vax.arpa -# uucp: {philabs | pyramid} !fmsrl7!wayne OR wayne@fmsrl7.UUCP -# -0 beshort 000610 Tower/XP rel 2 object ->12 belong >0 not stripped ->20 beshort 0407 executable ->20 beshort 0410 pure executable ->22 beshort >0 - version %ld -0 beshort 000615 Tower/XP rel 2 object ->12 belong >0 not stripped ->20 beshort 0407 executable ->20 beshort 0410 pure executable ->22 beshort >0 - version %ld -0 beshort 000620 Tower/XP rel 3 object ->12 belong >0 not stripped ->20 beshort 0407 executable ->20 beshort 0410 pure executable ->22 beshort >0 - version %ld -0 beshort 000625 Tower/XP rel 3 object ->12 belong >0 not stripped ->20 beshort 0407 executable ->20 beshort 0410 pure executable ->22 beshort >0 - version %ld -0 beshort 000630 Tower32/600/400 68020 object ->12 belong >0 not stripped ->20 beshort 0407 executable ->20 beshort 0410 pure executable ->22 beshort >0 - version %ld -0 beshort 000640 Tower32/800 68020 ->18 beshort &020000 w/68881 object ->18 beshort &040000 compatible object ->18 beshort &~060000 object ->20 beshort 0407 executable ->20 beshort 0413 pure executable ->12 belong >0 not stripped ->22 beshort >0 - version %ld -0 beshort 000645 Tower32/800 68010 ->18 beshort &040000 compatible object ->18 beshort &~060000 object ->20 beshort 0407 executable ->20 beshort 0413 pure executable ->12 belong >0 not stripped ->22 beshort >0 - version %ld -#------------------------------------------------------------------------------ -# alpha architecture description -# - -0 leshort 0603 COFF format alpha ->22 leshort&030000 !020000 executable ->24 leshort 0410 pure ->24 leshort 0413 paged ->22 leshort&020000 !0 dynamically linked ->16 lelong !0 not stripped ->16 lelong 0 stripped ->22 leshort&030000 020000 shared library ->24 leshort 0407 object ->27 byte x - version %d ->26 byte x .%d ->28 byte x -%d - -# Basic recognition of Digital UNIX core dumps - Mike Bremford <mike@opac.bl.uk> -# -# The actual magic number is just "Core", followed by a 2-byte version -# number; however, treating any file that begins with "Core" as a Digital -# UNIX core dump file may produce too many false hits, so we include one -# byte of the version number as well; DU 5.0 appears only to be up to -# version 2. -# -0 string Core\001 Alpha COFF format core dump (Digital UNIX) ->24 string >\0 \b, from '%s' -0 string Core\002 Alpha COFF format core dump (Digital UNIX) ->24 string >\0 \b, from '%s' - - -#------------------------------------------------------------------------------ -# asterix: file(1) magic for Aster*x; SunOS 5.5.1 gave the 4-character -# strings as "long" - we assume they're just strings: -# From: guy@netapp.com (Guy Harris) -# -0 string *STA Aster*x ->7 string WORD Words Document ->7 string GRAP Graphic ->7 string SPRE Spreadsheet ->7 string MACR Macro -0 string 2278 Aster*x Version 2 ->29 byte 0x36 Words Document ->29 byte 0x35 Graphic ->29 byte 0x32 Spreadsheet ->29 byte 0x38 Macro - -#------------------------------------------------------------------------------ -# blender: file(1) magic for Blender 3D data files -# -# Coded by Guillermo S. Romero <gsromero@alumnos.euitt.upm.es> using the -# data from Ton Roosendaal <ton@blender.nl>. Ton or his company do not -# support the rule, so mail GSR if problems with it. Rule version: 1.1. -# You can get latest version with comments and details about the format -# at http://acd.asoc.euitt.upm.es/~gsromero/3d/blender/magic.blender - -0 string =BLENDER Blender3D, ->7 string =_ saved as 32-bits ->7 string =- saved as 64-bits ->8 string =v little endian ->8 string =V big endian ->9 byte x with version %c. ->10 byte x \b%c ->11 byte x \b%c - -#------------------------------------------------------------------------------ -# sendmail: file(1) magic for sendmail config files -# -# XXX - byte order? -# -0 byte 046 Sendmail frozen configuration ->16 string >\0 - version %s -0 short 0x271c Sendmail frozen configuration ->16 string >\0 - version %s - -#------------------------------------------------------------------------------ -# sendmail: file(1) magic for sendmail m4(1) files -# -# From Hendrik Scholz <hendrik@scholz.net> -# i.e. files in /usr/share/sendmail/cf/ -# -0 string divert(-1)\n sendmail m4 text file - - -#------------------------------------------------------------------------------ -# alliant: file(1) magic for Alliant FX series a.out files -# -# If the FX series is the one that had a processor with a 68K-derived -# instruction set, the "short" should probably become "beshort" and the -# "long" should probably become "belong". -# If it's the i860-based one, they should probably become either the -# big-endian or little-endian versions, depending on the mode they ran -# the 860 in.... -# -0 short 0420 0420 Alliant virtual executable ->2 short &0x0020 common library ->16 long >0 not stripped -0 short 0421 0421 Alliant compact executable ->2 short &0x0020 common library ->16 long >0 not stripped - -#------------------------------------------------------------------------------ -# CDDB: file(1) magic for CDDB(tm) format CD text data files -# -# From <steve@gracenote.com> -# -# This is the /etc/magic entry to decode datafiles as used by -# CDDB-enabled CD player applications. -# - -0 string/b #\040xmcd CDDB(tm) format CD text data - -#------------------------------------------------------------------------------ -# elf: file(1) magic for ELF executables -# -# We have to check the byte order flag to see what byte order all the -# other stuff in the header is in. -# -# What're the correct byte orders for the nCUBE and the Fujitsu VPP500? -# -# updated by Daniel Quinlan (quinlan@yggdrasil.com) -0 string \177ELF ELF ->4 byte 0 invalid class ->4 byte 1 32-bit -# only for MIPS - in the future, the ABI field of e_flags should be used. ->>18 leshort 8 ->>>36 lelong &0x20 N32 ->>18 leshort 10 ->>>36 lelong &0x20 N32 ->>18 beshort 8 ->>>36 belong &0x20 N32 ->>18 beshort 10 ->>>36 belong &0x20 N32 ->4 byte 2 64-bit ->5 byte 0 invalid byte order ->5 byte 1 LSB -# The official e_machine number for MIPS is now #8, regardless of endianness. -# The second number (#10) will be deprecated later. For now, we still -# say something if #10 is encountered, but only gory details for #8. ->>18 leshort 8 -# only for 32-bit ->>>4 byte 1 ->>>>36 lelong&0xf0000000 0x00000000 MIPS-I ->>>>36 lelong&0xf0000000 0x10000000 MIPS-II ->>>>36 lelong&0xf0000000 0x20000000 MIPS-III ->>>>36 lelong&0xf0000000 0x30000000 MIPS-IV ->>>>36 lelong&0xf0000000 0x40000000 MIPS-V ->>>>36 lelong&0xf0000000 0x60000000 MIPS32 ->>>>36 lelong&0xf0000000 0x70000000 MIPS64 ->>>>36 lelong&0xf0000000 0x80000000 MIPS32 rel2 ->>>>36 lelong&0xf0000000 0x90000000 MIPS64 rel2 -# only for 64-bit ->>>4 byte 2 ->>>>48 lelong&0xf0000000 0x00000000 MIPS-I ->>>>48 lelong&0xf0000000 0x10000000 MIPS-II ->>>>48 lelong&0xf0000000 0x20000000 MIPS-III ->>>>48 lelong&0xf0000000 0x30000000 MIPS-IV ->>>>48 lelong&0xf0000000 0x40000000 MIPS-V ->>>>48 lelong&0xf0000000 0x60000000 MIPS32 ->>>>48 lelong&0xf0000000 0x70000000 MIPS64 ->>>>48 lelong&0xf0000000 0x80000000 MIPS32 rel2 ->>>>48 lelong&0xf0000000 0x90000000 MIPS64 rel2 ->>16 leshort 0 no file type, ->>16 leshort 1 relocatable, ->>16 leshort 2 executable, ->>16 leshort 3 shared object, -# Core handling from Peter Tobias <tobias@server.et-inf.fho-emden.de> -# corrections by Christian 'Dr. Disk' Hechelmann <drdisk@ds9.au.s.shuttle.de> ->>16 leshort 4 core file -# Core file detection is not reliable. -#>>>(0x38+0xcc) string >\0 of '%s' -#>>>(0x38+0x10) lelong >0 (signal %d), ->>16 leshort &0xff00 processor-specific, ->>18 leshort 0 no machine, ->>18 leshort 1 AT&T WE32100 - invalid byte order, ->>18 leshort 2 SPARC - invalid byte order, ->>18 leshort 3 Intel 80386, ->>18 leshort 4 Motorola ->>>36 lelong &0x01000000 68000 - invalid byte order, ->>>36 lelong &0x00810000 CPU32 - invalid byte order, ->>>36 lelong 0 68020 - invalid byte order, ->>18 leshort 5 Motorola 88000 - invalid byte order, ->>18 leshort 6 Intel 80486, ->>18 leshort 7 Intel 80860, ->>18 leshort 8 MIPS, ->>18 leshort 9 Amdahl - invalid byte order, ->>18 leshort 10 MIPS (deprecated), ->>18 leshort 11 RS6000 - invalid byte order, ->>18 leshort 15 PA-RISC - invalid byte order, ->>>50 leshort 0x0214 2.0 ->>>48 leshort &0x0008 (LP64), ->>18 leshort 16 nCUBE, ->>18 leshort 17 Fujitsu VPP500, ->>18 leshort 18 SPARC32PLUS, ->>18 leshort 20 PowerPC, ->>18 leshort 22 IBM S/390, ->>18 leshort 36 NEC V800, ->>18 leshort 37 Fujitsu FR20, ->>18 leshort 38 TRW RH-32, ->>18 leshort 39 Motorola RCE, ->>18 leshort 40 ARM, ->>18 leshort 41 Alpha, ->>18 leshort 0xa390 IBM S/390 (obsolete), ->>18 leshort 42 Hitachi SH, ->>18 leshort 43 SPARC V9 - invalid byte order, ->>18 leshort 44 Siemens Tricore Embedded Processor, ->>18 leshort 45 Argonaut RISC Core, Argonaut Technologies Inc., ->>18 leshort 46 Hitachi H8/300, ->>18 leshort 47 Hitachi H8/300H, ->>18 leshort 48 Hitachi H8S, ->>18 leshort 49 Hitachi H8/500, ->>18 leshort 50 IA-64 (Intel 64 bit architecture) ->>18 leshort 51 Stanford MIPS-X, ->>18 leshort 52 Motorola Coldfire, ->>18 leshort 53 Motorola M68HC12, ->>18 leshort 62 AMD x86-64, ->>18 leshort 75 Digital VAX, ->>18 leshort 88 Renesas M32R, ->>18 leshort 97 NatSemi 32k, ->>18 leshort 0x9026 Alpha (unofficial), ->>20 lelong 0 invalid version ->>20 lelong 1 version 1 ->>36 lelong 1 MathCoPro/FPU/MAU Required ->5 byte 2 MSB -# only for MIPS - see comment in little-endian section above. ->>18 beshort 8 -# only for 32-bit ->>>4 byte 1 ->>>>36 belong&0xf0000000 0x00000000 MIPS-I ->>>>36 belong&0xf0000000 0x10000000 MIPS-II ->>>>36 belong&0xf0000000 0x20000000 MIPS-III ->>>>36 belong&0xf0000000 0x30000000 MIPS-IV ->>>>36 belong&0xf0000000 0x40000000 MIPS-V ->>>>36 belong&0xf0000000 0x60000000 MIPS32 ->>>>36 belong&0xf0000000 0x70000000 MIPS64 ->>>>36 belong&0xf0000000 0x80000000 MIPS32 rel2 ->>>>36 belong&0xf0000000 0x90000000 MIPS64 rel2 -# only for 64-bit ->>>4 byte 2 ->>>>48 belong&0xf0000000 0x00000000 MIPS-I ->>>>48 belong&0xf0000000 0x10000000 MIPS-II ->>>>48 belong&0xf0000000 0x20000000 MIPS-III ->>>>48 belong&0xf0000000 0x30000000 MIPS-IV ->>>>48 belong&0xf0000000 0x40000000 MIPS-V ->>>>48 belong&0xf0000000 0x60000000 MIPS32 ->>>>48 belong&0xf0000000 0x70000000 MIPS64 ->>>>48 belong&0xf0000000 0x80000000 MIPS32 rel2 ->>>>48 belong&0xf0000000 0x90000000 MIPS64 rel2 ->>16 beshort 0 no file type, ->>16 beshort 1 relocatable, ->>16 beshort 2 executable, ->>16 beshort 3 shared object, ->>16 beshort 4 core file, -#>>>(0x38+0xcc) string >\0 of '%s' -#>>>(0x38+0x10) belong >0 (signal %d), ->>16 beshort &0xff00 processor-specific, ->>18 beshort 0 no machine, ->>18 beshort 1 AT&T WE32100, ->>18 beshort 2 SPARC, ->>18 beshort 3 Intel 80386 - invalid byte order, ->>18 beshort 4 Motorola ->>>36 belong &0x01000000 68000, ->>>36 belong &0x00810000 CPU32, ->>>36 belong 0 68020, ->>18 beshort 5 Motorola 88000, ->>18 beshort 6 Intel 80486 - invalid byte order, ->>18 beshort 7 Intel 80860, ->>18 beshort 8 MIPS, ->>18 beshort 9 Amdahl, ->>18 beshort 10 MIPS (deprecated), ->>18 beshort 11 RS6000, ->>18 beshort 15 PA-RISC ->>>50 beshort 0x0214 2.0 ->>>48 beshort &0x0008 (LP64) ->>18 beshort 16 nCUBE, ->>18 beshort 17 Fujitsu VPP500, ->>18 beshort 18 SPARC32PLUS, ->>>36 belong&0xffff00 &0x000100 V8+ Required, ->>>36 belong&0xffff00 &0x000200 Sun UltraSPARC1 Extensions Required, ->>>36 belong&0xffff00 &0x000400 HaL R1 Extensions Required, ->>>36 belong&0xffff00 &0x000800 Sun UltraSPARC3 Extensions Required, ->>18 beshort 20 PowerPC or cisco 4500, ->>18 beshort 21 cisco 7500, ->>18 beshort 22 IBM S/390, ->>18 beshort 24 cisco SVIP, ->>18 beshort 25 cisco 7200, ->>18 beshort 36 NEC V800 or cisco 12000, ->>18 beshort 37 Fujitsu FR20, ->>18 beshort 38 TRW RH-32, ->>18 beshort 39 Motorola RCE, ->>18 beshort 40 ARM, ->>18 beshort 41 Alpha, ->>18 beshort 42 Hitachi SH, ->>18 beshort 43 SPARC V9, ->>18 beshort 44 Siemens Tricore Embedded Processor, ->>18 beshort 45 Argonaut RISC Core, Argonaut Technologies Inc., ->>18 beshort 46 Hitachi H8/300, ->>18 beshort 47 Hitachi H8/300H, ->>18 beshort 48 Hitachi H8S, ->>18 beshort 49 Hitachi H8/500, ->>18 beshort 50 Intel Merced Processor, ->>18 beshort 51 Stanford MIPS-X, ->>18 beshort 52 Motorola Coldfire, ->>18 beshort 53 Motorola M68HC12, ->>18 beshort 73 Cray NV1, ->>18 beshort 75 Digital VAX, ->>18 beshort 88 Renesas M32R, ->>18 beshort 97 NatSemi 32k, ->>18 beshort 0x9026 Alpha (unofficial), ->>18 beshort 0xa390 IBM S/390 (obsolete), ->>20 belong 0 invalid version ->>20 belong 1 version 1 ->>36 belong 1 MathCoPro/FPU/MAU Required -# Up to now only 0, 1 and 2 are defined; I've seen a file with 0x83, it seemed -# like proper ELF, but extracting the string had bad results. ->4 byte <0x80 ->>8 string >\0 (%s) ->8 string \0 ->>7 byte 0 (SYSV) ->>7 byte 1 (HP-UX) ->>7 byte 2 (NetBSD) ->>7 byte 3 (GNU/Linux) ->>7 byte 4 (GNU/Hurd) ->>7 byte 5 (86Open) ->>7 byte 6 (Solaris) ->>7 byte 7 (Monterey) ->>7 byte 8 (IRIX) ->>7 byte 9 (FreeBSD) ->>7 byte 10 (Tru64) ->>7 byte 11 (Novell Modesto) ->>7 byte 12 (OpenBSD) ->>7 byte 97 (ARM) ->>7 byte 255 (embedded) - -#------------------------------------------------------------------------------ -# Epoc 32 : file(1) magic for Epoc Documents [psion/osaris -# Stefan Praszalowicz (hpicollo@worldnet.fr) -#0 lelong 0x10000037 Epoc32 ->4 lelong 0x1000006D ->>8 lelong 0x1000007F Word ->>8 lelong 0x10000088 Sheet ->>8 lelong 0x1000007D Sketch ->>8 lelong 0x10000085 TextEd - -#------------------------------------------------------------------------------ -# ispell: file(1) magic for ispell -# -# Ispell 3.0 has a magic of 0x9601 and ispell 3.1 has 0x9602. This magic -# will match 0x9600 through 0x9603 in *both* little endian and big endian. -# (No other current magic entries collide.) -# -# Updated by Daniel Quinlan (quinlan@yggdrasil.com) -# -0 leshort&0xFFFC 0x9600 little endian ispell ->0 byte 0 hash file (?), ->0 byte 1 3.0 hash file, ->0 byte 2 3.1 hash file, ->0 byte 3 hash file (?), ->2 leshort 0x00 8-bit, no capitalization, 26 flags ->2 leshort 0x01 7-bit, no capitalization, 26 flags ->2 leshort 0x02 8-bit, capitalization, 26 flags ->2 leshort 0x03 7-bit, capitalization, 26 flags ->2 leshort 0x04 8-bit, no capitalization, 52 flags ->2 leshort 0x05 7-bit, no capitalization, 52 flags ->2 leshort 0x06 8-bit, capitalization, 52 flags ->2 leshort 0x07 7-bit, capitalization, 52 flags ->2 leshort 0x08 8-bit, no capitalization, 128 flags ->2 leshort 0x09 7-bit, no capitalization, 128 flags ->2 leshort 0x0A 8-bit, capitalization, 128 flags ->2 leshort 0x0B 7-bit, capitalization, 128 flags ->2 leshort 0x0C 8-bit, no capitalization, 256 flags ->2 leshort 0x0D 7-bit, no capitalization, 256 flags ->2 leshort 0x0E 8-bit, capitalization, 256 flags ->2 leshort 0x0F 7-bit, capitalization, 256 flags ->4 leshort >0 and %d string characters -0 beshort&0xFFFC 0x9600 big endian ispell ->1 byte 0 hash file (?), ->1 byte 1 3.0 hash file, ->1 byte 2 3.1 hash file, ->1 byte 3 hash file (?), ->2 beshort 0x00 8-bit, no capitalization, 26 flags ->2 beshort 0x01 7-bit, no capitalization, 26 flags ->2 beshort 0x02 8-bit, capitalization, 26 flags ->2 beshort 0x03 7-bit, capitalization, 26 flags ->2 beshort 0x04 8-bit, no capitalization, 52 flags ->2 beshort 0x05 7-bit, no capitalization, 52 flags ->2 beshort 0x06 8-bit, capitalization, 52 flags ->2 beshort 0x07 7-bit, capitalization, 52 flags ->2 beshort 0x08 8-bit, no capitalization, 128 flags ->2 beshort 0x09 7-bit, no capitalization, 128 flags ->2 beshort 0x0A 8-bit, capitalization, 128 flags ->2 beshort 0x0B 7-bit, capitalization, 128 flags ->2 beshort 0x0C 8-bit, no capitalization, 256 flags ->2 beshort 0x0D 7-bit, no capitalization, 256 flags ->2 beshort 0x0E 8-bit, capitalization, 256 flags ->2 beshort 0x0F 7-bit, capitalization, 256 flags ->4 beshort >0 and %d string characters -# ispell 4.0 hash files kromJx <kromJx@crosswinds.net> -# Ispell 4.0 -0 string ISPL ispell ->4 long x hash file version %d, ->8 long x lexletters %d, ->12 long x lexsize %d, ->16 long x hashsize %d, ->20 long x stblsize %d - -#------------------------------------------------------------------------------ -# lex: file(1) magic for lex -# -# derived empirically, your offsets may vary! -53 string yyprevious C program text (from lex) ->3 string >\0 for %s -# C program text from GNU flex, from Daniel Quinlan <quinlan@yggdrasil.com> -21 string generated\ by\ flex C program text (from flex) -# lex description file, from Daniel Quinlan <quinlan@yggdrasil.com> -0 string %{ lex description text - -#------------------------------------------------------------------------------ -# mips: file(1) magic for Silicon Graphics (MIPS, IRIS, IRIX, etc.) -# Dec Ultrix (MIPS) -# all of SGI's *current* machines and OSes run in big-endian mode on the -# MIPS machines, as far as I know. -# -# XXX - what is the blank "-" line? -# -# kbd file definitions -0 string kbd!map kbd map file ->8 byte >0 Ver %d: ->10 short >0 with %d table(s) -0 belong 0407 old SGI 68020 executable -0 belong 0410 old SGI 68020 pure executable -0 beshort 0x8765 disk quotas file -0 beshort 0x0506 IRIS Showcase file ->2 byte 0x49 - ->3 byte x - version %ld -0 beshort 0x0226 IRIS Showcase template ->2 byte 0x63 - ->3 byte x - version %ld -0 belong 0x5343464d IRIS Showcase file ->4 byte x - version %ld -0 belong 0x5443464d IRIS Showcase template ->4 byte x - version %ld -0 belong 0xdeadbabe IRIX Parallel Arena ->8 belong >0 - version %ld -# -0 beshort 0x0160 MIPSEB ECOFF executable ->20 beshort 0407 (impure) ->20 beshort 0410 (swapped) ->20 beshort 0413 (paged) ->8 belong >0 not stripped ->8 belong 0 stripped ->22 byte x - version %ld ->23 byte x .%ld -# -0 beshort 0x0162 MIPSEL-BE ECOFF executable ->20 beshort 0407 (impure) ->20 beshort 0410 (swapped) ->20 beshort 0413 (paged) ->8 belong >0 not stripped ->8 belong 0 stripped ->23 byte x - version %d ->22 byte x .%ld -# -0 beshort 0x6001 MIPSEB-LE ECOFF executable ->20 beshort 03401 (impure) ->20 beshort 04001 (swapped) ->20 beshort 05401 (paged) ->8 belong >0 not stripped ->8 belong 0 stripped ->23 byte x - version %d ->22 byte x .%ld -# -0 beshort 0x6201 MIPSEL ECOFF executable ->20 beshort 03401 (impure) ->20 beshort 04001 (swapped) ->20 beshort 05401 (paged) ->8 belong >0 not stripped ->8 belong 0 stripped ->23 byte x - version %ld ->22 byte x .%ld -# -# MIPS 2 additions -# -0 beshort 0x0163 MIPSEB MIPS-II ECOFF executable ->20 beshort 0407 (impure) ->20 beshort 0410 (swapped) ->20 beshort 0413 (paged) ->8 belong >0 not stripped ->8 belong 0 stripped ->22 byte x - version %ld ->23 byte x .%ld -# -0 beshort 0x0166 MIPSEL-BE MIPS-II ECOFF executable ->20 beshort 0407 (impure) ->20 beshort 0410 (swapped) ->20 beshort 0413 (paged) ->8 belong >0 not stripped ->8 belong 0 stripped ->22 byte x - version %ld ->23 byte x .%ld -# -0 beshort 0x6301 MIPSEB-LE MIPS-II ECOFF executable ->20 beshort 03401 (impure) ->20 beshort 04001 (swapped) ->20 beshort 05401 (paged) ->8 belong >0 not stripped ->8 belong 0 stripped ->23 byte x - version %ld ->22 byte x .%ld -# -0 beshort 0x6601 MIPSEL MIPS-II ECOFF executable ->20 beshort 03401 (impure) ->20 beshort 04001 (swapped) ->20 beshort 05401 (paged) ->8 belong >0 not stripped ->8 belong 0 stripped ->23 byte x - version %ld ->22 byte x .%ld -# -# MIPS 3 additions -# -0 beshort 0x0140 MIPSEB MIPS-III ECOFF executable ->20 beshort 0407 (impure) ->20 beshort 0410 (swapped) ->20 beshort 0413 (paged) ->8 belong >0 not stripped ->8 belong 0 stripped ->22 byte x - version %ld ->23 byte x .%ld -# -0 beshort 0x0142 MIPSEL-BE MIPS-III ECOFF executable ->20 beshort 0407 (impure) ->20 beshort 0410 (swapped) ->20 beshort 0413 (paged) ->8 belong >0 not stripped ->8 belong 0 stripped ->22 byte x - version %ld ->23 byte x .%ld -# -0 beshort 0x4001 MIPSEB-LE MIPS-III ECOFF executable ->20 beshort 03401 (impure) ->20 beshort 04001 (swapped) ->20 beshort 05401 (paged) ->8 belong >0 not stripped ->8 belong 0 stripped ->23 byte x - version %ld ->22 byte x .%ld -# -0 beshort 0x4201 MIPSEL MIPS-III ECOFF executable ->20 beshort 03401 (impure) ->20 beshort 04001 (swapped) ->20 beshort 05401 (paged) ->8 belong >0 not stripped ->8 belong 0 stripped ->23 byte x - version %ld ->22 byte x .%ld -# -0 beshort 0x180 MIPSEB Ucode -0 beshort 0x182 MIPSEL-BE Ucode -# 32bit core file -0 belong 0xdeadadb0 IRIX core dump ->4 belong 1 of ->16 string >\0 '%s' -# 64bit core file -0 belong 0xdeadad40 IRIX 64-bit core dump ->4 belong 1 of ->16 string >\0 '%s' -# N32bit core file -0 belong 0xbabec0bb IRIX N32 core dump ->4 belong 1 of ->16 string >\0 '%s' -# New style crash dump file -0 string \x43\x72\x73\x68\x44\x75\x6d\x70 IRIX vmcore dump of ->36 string >\0 '%s' -# Trusted IRIX info -0 string SGIAUDIT SGI Audit file ->8 byte x - version %d ->9 byte x .%ld -# -0 string WNGZWZSC Wingz compiled script -0 string WNGZWZSS Wingz spreadsheet -0 string WNGZWZHP Wingz help file -# -0 string \#Inventor V IRIS Inventor 1.0 file -0 string \#Inventor V2 Open Inventor 2.0 file -# GLF is OpenGL stream encoding -0 string glfHeadMagic(); GLF_TEXT -4 belong 0x7d000000 GLF_BINARY_LSB_FIRST -4 belong 0x0000007d GLF_BINARY_MSB_FIRST -# GLS is OpenGL stream encoding; GLS is the successor of GLF -0 string glsBeginGLS( GLS_TEXT -4 belong 0x10000000 GLS_BINARY_LSB_FIRST -4 belong 0x00000010 GLS_BINARY_MSB_FIRST |