# Copr (c) 1993 Richard Breuer. MAGIC is freeware. No warranties. # File recognition patterns # # $Id: magic 1.4 1993/04/05 18:33:30 Ricki Exp $ # # This file is part of the RUTILS40 package. It can be used with the FILE # command to identify (guess) unknown files. # # # You are free to use and modify this file, as long as the header # remains unchanged (the header ends with the string ""). # Please report substantial modifications to the author, so that I can # include them in the next release. Each submission will make this file # more useful! The author disclaims all warranties as to this software, # whether express or implied, including without limitation any implied # warranties of merchantability, fitness for a particular purpose, # functionality or data integrity or protection. Phew. # # Richard Breuer # # Brunssumstrasse 6 # 5100 Aachen # Germany # # Phone: +49/241/85605 # Fax: +49/241/8021329 # Email: ricki@rwthi3.informatik.rwth-aachen.de # # $Log: magic $ # Revision 1.4 1993/04/05 18:33:30 Ricki # added zsh # # Revision 1.3 1993/03/19 17:19:17 Ricki # adaption to FILEs new 'x' facility for strings # new comments include the unix man page for magic now # # Revision 1.2 1993/03/11 14:44:23 Ricki # Jounis suggestions # # Revision 1.1 1993/02/11 12:09:54 Ricki # Initial revision # # Credits: # # The following other people added information to this file: # jon@stekt.oulu.fi (Jouni Miettunen) # maman@mars.Colorado.EDU (Nathan M. Maman) # Sun Microsystems # rthomson@mesa.dsd.es.com (Rich Thomson) # csd05@keele.ac.uk (Yufan Hu) # roe2@ellis.uchicago.edu (Cave Newt) # pb@sunra10.cern.ch (Peter Beckmann) # Gisbert W. Selke (I translated most of his MAGIC.FT file) # # # NOTES: # I made some little changes to the 'standard' magic file format. Before # you kill me for that, read on :-) # # The following text is copied from a unix manual page. I marked my # modifications and enhancements with a change bar at the right. # # ------------------------------------------------------------ # Each line of the file specifies a test to be performed. A # test compares the data starting at a particular offset in # the file with a 1-byte, 2-byte, or 4-byte numeric value or a # string. If the test succeeds, a message is printed. The # line consists of the following fields: # # offset TAB* type TAB* value TAB* message # # offset A number specifying the offset, in bytes, into the # file of the data which is to be tested. # A negative offset means end-of-file minus offset. | # # type The type of the data to be tested. The possible # values are: # # byte A one-byte value. # short A two-byte value. # long A four-byte value. # rshort A two-byte value with reversed byte order. | # rlong A four-byte value with reversed byte order. | # string A string of bytes. # # The types byte, short, long, rshort and rlong may | # optionally be followed by a mask specifier of the # form &number. If a mask specifier is given, the # value is AND'ed with the number before any # comparisons are done. The number is specified in C # form. For instance, 13 is decimal, 013 is octal, # and 0x13 is hexade- cimal. # # value The value to be compared with the value from the # file. If the type is numeric, this value is # specified in C form. If it is a string, it is # specified as a C string with the usual escapes # permitted (for instance, \n for NEWLINE). # # If the value field of a string value starts with | # the letter 'x', it is treated as a mask for any | # string with a given length. 'x' may be followed by | # the length in bytes, like 'x10'. If the length is | # omitted, 255 is assumed. If a normal string value | # shall start with 'x', you must use '\170' instead. | # # For normal string values, the byte string from the | # file must match the specified byte string. The # byte string from the file which is matched is the # same length as the specified byte string. # # Numeric values may be preceded by a character # indicating the operation to be performed. It may # be `=', to specify that the value from the file # must equal the specified value, `<', to specify # that the value from the file must be less than the # specified value, `>', to specify that the value # from the file must be greater than the specified # value, `&', to specify that all the bits in the # specified value must be set in the value from the # file, `^', to specify that at least one of the # bits in the specified value must not be set in the # value from the file, or x to specify that any # value will match. If the character is omitted, it # is assumed to be `='. # # message The message to be printed if the comparison # succeeds. If the string contains a printf(3V) # format specification, the value from the file # (with any specified masking performed) is printed # using the message as the format string. # # You must make sure that the format specification | # corresponds with the data type of the value. The | # following table shows the legal correspondencies: | # # byte %b (NOTE this is new!) | # short %d or %u | # rshort %d or %u | # long %ld or %lu | # rlong %ld or %lu | # string %s | # ------------------------------------------------------------ # # FURTHER NOTES: # - It should be possible to append nearly each MAGIC file floating # around in cyberworld to this file (except a crude version I # saw only once - you will notice if you see it... :-) ... if you # append one, you will send me the updated version, will you?). # # Minor problems may arise, though: # - I once saw a dialect which defined '&' in column 1. You # must replace this with '>' # - The values must correspond with the C style format elements # (at least in length). You must change combinations like # "byte <--> %d" to "byte <--> %b" (see above for details) # - If FILE reports a syntax error, check if there are no # SPACES between the definition columns # - The 'x' in strings which start with it, must be replaced # with '\170' # # - There are pseudo-comments starting with #@, followed by a list # of 3-char keywords. If FILE encounters such a comments, it reads # the keywords and assigns them to all the following patterns - # until the next #@ comments (or eof) comes. Currently there are # these possible keywords: # # arc Archive (collection of several other files) # asc ASCII file # bin Binary file # exe Executable file # pic Picture file # snd Sound file # txt Text file (eg. from a Wordprocessor) # # The keywords are output by FILE and may help to search for # specific properties. You may also restrict the search of FILE # to one or more of the above categories. If no keyword is specified # (as in 'standard' magic files), all are assumed. # # Since the keyword lists are input as comments, they are no problem # for other implementations. # # - You may use an arbitary number of sublevels, marked with >>, >>>, # and so on. The meaning of this can be explained as follows. If # FILE finds a pattern which does not match, it will skip all the # following patterns until one on the same or a lower level is # found. At this point the examination continues normally. # # - The magic file may contain lines w/o an output message. This means # that recognition is 'delayed', ie. a file is not regarded as # recognized until it matches the following patterns (which have # levels > 0). This delayed recognition allows to specify multiple # conditions for a matching which must all be fulfilled. Let's # consider an example for that: # # 0 string MZ # >28 string RJSX\377\377 ARJ self-extracting archive # # The first line is matched by all MSDOS EXE files, but the second # will finally identify ARJ sea's. On the other hand, the second # pattern will not be checked at all, if the file is no EXE file. # See the patterns for TGA files for an (extreme) example. # # - FILE is restrictive about the TABs which separate offset, type, # value, and message in the pattern definitions. It accepts nothing # else than TABs, esp. no SPACES! # # (End-Of-Header) # # Each program should be self-aware :-) # #@ asc 0 string # Copr (c) 1993 Richard Breuer. MAGIC is freeware. No warranties. File recognition patterns for RUTILS40's FILE # # Phil Karn's ZIP archives # #@ arc bin 0 string PK\003\004 Zip archive >4 string \011 (extract: v0.9+) >4 string \012 (extract: v1.0+) >4 string \013 (extract: v1.1+) >4 string \024 (extract: v2.0+) # # LZH archives (LHArc, LHA) # #@ arc bin 2 string -lh >6 string - >>5 byte x LZH archive (Lharc/LHa, Compression type %c) 2 string -lz >6 string - >>5 byte x LZH archive (Lharc/LHa, Compression type %c) # # ZOO archives # #@ arc bin 0 string ZOO\040 8 string \040Archive ZOO archive >4 string x4 (v%s) >32 string \001\000 (modify: v1.0+) >32 string \001\004 (modify: v1.4+) >32 string \002\000 (modify: v2.0+) >70 string \001\000 (extract: v1.0+) >70 string \002\001 (extract: v2.1+) # # ARC archives # #@ arc bin 0 string \032\008 ARC archive # # ARJ archives # #@ arc bin 0 string \140\352 ARJ archive >5 byte x (v%b, >6 byte x extract: v%b+, >7 byte 0 from MSDOS) >7 byte 1 from PRIMOS) >7 byte 2 from UNIX) >7 byte 3 from AMIGA) >7 byte 4 from MAC-OS) >7 byte 5 from OS/2) >7 byte 6 from APPLE GS) >7 byte 7 from ATARI ST) >7 byte 8 from NEXT) >7 byte 9 from VAX VMS) >7 byte >9 from unknown host OS) # # DWC archives # #@ arc bin -3 string DWC DWC archive # # cpio archives # #@ arc bin 0 short 070707 cpio archive 0 short 0143561 Byte-swapped cpio archive 0 long 0177555 Very old ar archive (PDP 11) 0 short 0177545 Old ar archive (PDP 11) #@ arc asc 0 string 070707 ASCII cpio archive # # Other archives # #@ arc bin 0 string System V Release 1 archive 0 string !\n__.SYMDEF ar Archive random library 0 string !\n__________E ar MIPS archive >20 string U with mipsucode members >21 string L with mipsel members >21 string B with mipseb members >19 string L and a EL hash table >19 string B and a EB hash table >22 string X -- out of date 0 string !\n ar Archive 0 string @(#)SunPHIGS SunPHIGS >40 string SunBin binary >32 string archive archive 0 string \377\377\174 ddis/dots archive 0 short 0xff65 Xenix archive 257 string ustar\0 Tape archive (TAR) 65 string PACTCPCT compressed Macintosh Compact Pro archive 65 string SIT!SIT! compressed Macintosh Stuffit 1.51 archive 65 string SITDSIT! compressed Macintosh Stuffit DeLuxe archive 0 string SIT! compressed Macintosh Compact Pro archive #@ arc asc 0 string ARF_BEGARF PHIGS clear text archive 0 string #! /bin/sh\r\n# This is a shell archive Shell archive (shar) 0 string : >-1 string : BinHexed Macintosh ASCII file archive >-2 string :\n BinHexed Macintosh ASCII file archive (unix format) >-3 string :\r\n BinHexed Macintosh ASCII file archive (DOS format) # # Compressed DOS executables and self-extracting archives # #@ bin exe 0 string MZ Microsoft EXEcutable >25 string \0\0\0LZ91 - LZEXE compressed >28 string diet\371\234 - DIET compressed >30 string PKLITE Copr. - PKLITE compressed #@ arc bin exe >28 string RJSX\377\377 - self-extracting ARJ archive >30 string Copyright\040 >>50 string PKWARE Inc. All Rights Reserved. - self-extracting ZIP archive (PKZip 1.10) >30 string PKLITE Copr.\040 >>51 string PKWARE Inc. All Rights Reserved. - self-extracting ZIP archive (PKZip 2.04) >24 string LHarc's SFX - self-extracting LHA archive >24 string LHA's SFX - self-extracting LHARC archive #@ bin exe 46 string PKLITE Copr.\040 >68 string PKWARE Inc. All Rights Reserved\007\0\0\0 PKLITE compressed executable (COM type) 48 string PKLITE Copr.\040 >69 string PKWARE Inc. All Rights Reserved\007\0\0\0 PKLITE compressed executable (COM type) #@ arc bin exe 6 string LHarc's SFX Self-extracting LZH archive (COM type) 6 string SFX of LHarc Self-extracting LHARC archive (COM type) # # Other executables and system files # #@ bin exe 0 byte 0xE9 Executable (COM) 0 byte 0xEB Executable (COM) 0 short 0x0103 Executable or object module >2 byte 0x50 (pure) >28 long >0 (not stripped) >6 short >0 - v%d 0 short 0407 VAX BSD executable 0 long 0410 4.0 pure executable >16 long >0 (not stripped) >2 short >0 - v%d 0 long 0411 4.0 separate I&D >16 long >0 (not stripped) >2 short >0 - v%d 0 long 0413 VAX BSD demand paged executable >16 long >0 (not stripped) 0 short 0514 386 System V demand paged executable >12 long >0 (not stripped) 0 short 0565 386 AIX demand paged executable >12 long >0 (not stripped) 0 short 0537 370 XA sysV executable >12 long >0 (not stripped) >22 short >0 - v%d >30 long >0 - 5.2 format 0 short 0535 370 sysV executable >12 long >0 (not stripped) >22 short >0 - v%d >30 long >0 - 5.2 format 0 short 0532 370 XA sysV pure executable >12 long >0 (not stripped) >22 short >0 - v%d >30 long >0 - 5.2 format 0 short 0530 370 sysV pure executable >12 long >0 (not stripped) >22 short >0 - v%d >30 long >0 - 5.2 format 0 short 054001 370 sysV pure executable >12 long >0 (not stripped) 0 short 055001 370 XA sysV pure executable >12 long >0 (not stripped) 0 short 056401 370 sysV executable >12 long >0 (not stripped) 0 short 057401 370 XA sysV executable >12 long >0 (not stripped) 0 short 0502 Basic-16 executable >12 long >0 (not stripped) 0 short 0503 Basic-16 executable (TV) >12 long >0 (not stripped) 0 short 0510 x86 executable >12 long >0 (not stripped) 0 short 0511 x86 executable (TV) >12 long >0 (not stripped) 0 short 0550 3b20d executable >12 long >0 (not stripped) 0 short 0551 3b20d executable (TV) >12 long >0 (not stripped) 0 short 0560 3b5 executable >12 long >0 (not stripped) 0 short 0561 3b5 executable (TV) >12 long >0 (not stripped) 0 short 0570 VAX sysV executable >12 long >0 (not stripped) >22 short >0 - version %ld 0 short 0575 VAX sysV pure executable >12 long >0 (not stripped) >22 short >0 - version %ld 0 short 074001 VAX SysV executable >12 long >0 (not stripped) >22 short >0 - v%d 0 short 076401 VAX SysV pure executable >12 long >0 (not stripped) >22 short >0 - v%d 0 short 02401 VAX bsd overlay 0 short 03401 VAX bsd executable >16 long >0 (not stripped) >2 short >0 - v%d 0 short 04001 VAX bsd pure executable >16 long >0 (not stripped) >2 short >0 - v%d 0 short 04401 VAX bsd separate I&D executable >16 long >0 (not stripped) >2 short >0 - v%d 0 short 05401 VAX bsd demand paged executable >16 long >0 (not stripped) >2 short >0 - v%d 0 short 046001 386 System V demand paged executable >12 long >0 (not stripped) 0 short 072401 386 AIX demand paged executable >12 long >0 (not stripped) 0 byte 0x80 8086 relocatable 0 short 03002 Xenix >28 byte 0x01 PDP-11 >28 byte 0x02 23fixed from PDP-11 >28 byte 0x03 Z8000 >28 byte 0x44 I8086 >28 byte 0x85 M68000 >28 byte 0x46 Z80 >28 byte 0x47 VAX 780/750 >28 byte 0x88 NS32016 >28 byte 0x49 iAPX 80286 >28 byte 0x4a iAPX 80186 >28 byte 0x4b iAPX 80386 >28 byte 0x69 iAPX 80286 (V) >16 long >0 not stripped) >32 short 0xff65 archive >30 short &0x6000 large model >30 short &0x4000 middle model >30 short &0x2000 large data and small text >30 short &0x0001 huge model >30 short &0x0000 small model 0 short 01006 Xenix >28 byte 0x01 PDP-11 >28 byte 0x02 23fixed from PDP-11 >28 byte 0x03 Z8000 >28 byte 0x44 I8086 >28 byte 0x85 M68000 >28 byte 0x46 Z80 >28 byte 0x47 VAX 780/750 >28 byte 0x88 NS32016 >28 byte 0x49 iAPX 80286 >28 byte 0x4a iAPX 80186 >28 byte 0x4b iAPX 80386 >28 byte 0x69 iAPX 80286 (V) >16 long >0 (not stripped) >30 short &0x0060 large model >30 short &0x0040 middle model >30 short &0x0020 large data and small text >30 short &0x0100 huge model >30 short &0x0000 small model 0 short 0x0160 mipseb >20 short 0407 executable >20 short 0410 pure >20 short 0413 demand paged >8 long !0 (not stripped) >8 long 0 stripped >22 byte x - version %ld. >23 byte x \b%ld 0 short 0x0162 mipsel >20 short 0407 executable >20 short 0410 pure >20 short 0413 demand paged >8 long !0 (not stripped) >8 long 0 stripped >23 byte x - version %ld. >22 byte x \b%ld 0 short 0x6001 swapped mipseb >20 short 03401 executable >20 short 04001 pure >20 short 05401 demand paged >8 long !0 (not stripped) >8 long 0 stripped >22 byte x - version %ld. >23 byte x \b%ld 0 short 0x6201 swapped mipsel >20 short 03401 executable >20 short 04001 pure >20 short 05401 demand paged >8 long !0 (not stripped) >8 long 0 stripped >22 byte x - version %ld. >23 byte x \b%ld 0 short 0x180 mipseb ucode 0 short 0x182 mipsel ucode 0 long 0x7f454c46 ELF executable 0 short 0x0163 mipseb mips2 >20 short 0407 executable >20 short 0410 pure >20 short 0413 demand paged >8 long !0 (not stripped) >8 long 0 stripped >22 byte x - version %ld. >23 byte x \b%ld 0 short 0x0166 mipsel mips2 >20 short 0407 executable >20 short 0410 pure >20 short 0413 demand paged >8 long !0 (not stripped) >8 long 0 stripped >22 byte x - version %ld. >23 byte x \b%ld 0 short 0x6301 swapped mipseb mips2 >20 short 03401 executable >20 short 04001 pure >20 short 05401 demand paged >8 long !0 (not stripped) >8 long 0 stripped >23 byte x - version %ld. >22 byte x \b%ld 0 short 0x6601 swapped mipsel mips2 >20 short 03401 executable >20 short 04001 pure >20 short 05401 demand paged >8 long !0 (not stripped) >8 long 0 stripped >23 byte x - version %ld. >22 byte x \b%ld #@ bin 0 short 017436 Packed text 0 string Rast RST format font raster 0 short 0x0104 Shared library 0 short 0x0105 ctab data 0 short 0xfe04 Structured file 0 short 0x04fe Structured file 0 short 017777 Compacted text (4.1bsd) 0 short 017437 Packed text 0 short 0401 Unix-rt ldp 0 short 0405 Old overlay 0 short 0437 PDP-11 kernel overlay 0 string core Core image of >566 short 0565 386 executable >566 short 072401 386 executable >564 short 0535 B370 executable >564 short 056401 B370 executable >564 short 0530 B370 executable >564 short 054001 B370 executable >564 short 0537 XA370 executable >564 short 057401 XA370 executable >564 short 055001 XA370 executable >564 short 0532 XA370 executable 0 long 0xdeadadb0 IRIX core dump 0 long 0100554 APL workspace (Ken's original?) 0 long 0101555 PDP-11 single precision APL workspace 0 long 0101554 PDP-11 double precision APL workspace 0 long 0101557 VAX single precision APL workspace 0 long 0101556 VAX double precision APL workspace 0 string \377 FONT \0 DOS code page file (CPI) 0 long 0xFFFFFFFF DOS device driver 0 string TPU Turbo Pascal unit/lib >3 byte 48 (v%c, TP 4.0) >3 byte 53 (v%c, TP 5.0) >3 byte 54 (v%c, TP 5.5) >3 byte 57 (v%c, TP 6.0 or TPW 1.0) >3 byte <48 (unknown v%c) >3 byte >57 (unknown v%c) >3 byte 1 (unknown v%c) >3 byte 2 (unknown v%c) >3 byte 3 (unknown v%c) >3 byte 4 (unknown v%c) >3 byte 7 (unknown v%c) >3 byte 8 (unknown v%c) 0 short 0x8765 Disk quotas file # # Various data files and files from word processors # #@ bin 38 string Spreadsheet sc file 0 string NG\0\001\0\0 Norton Guides database 0 string PNCI Norton data file 0 short 017437 Old packed data 0 string \037\036 Packed data 0 string \377\037 Compacted data 0 string \037\235 Compressed data >2 byte&0x80 >0 - block compressed >2 byte&0x1f x %b bits 0 string \032\001 Compiled Terminfo Entry 0 short 0433 Curses screen image 0 short 0434 Curses screen image 0 long 0x1010101 MMDF mailbox 24 string SunGKS SunGKS >0 string GKSM Metafile 0 string GKSM GKS Metafile 0 short 0436 vfont definition 0 string PCF:db PC-File header 0 string WSSCONfig WSSIndex configuration file 0 string WSSINDEX\r4 WSSIndex index file, version 4 0 string WSSINDEX\r5 WSSIndex index file, version 5 0 string WSSINDEX\r WSSIndex index file, pre-version 4 0 string \0\0\002\0 Q Quattro WQ1 file 0 string \0\0\002\0\004\004 Lotus 1-2-3 WKS file (version 1.A) 0 string \0\0\002\0\004\005 Symphony WKS file (version 1.0) 0 string \0\0\002\0\004? Lotus/Symphony WK1 file (Lotus 2.01+, Symphony 1.1+) 0 string ID;P SYLK (?) 0 string 2 byte <13 >>3 byte <33 >>>0 byte 03 dBase III Database File (no Memo file) >>>0 byte 83 dBase III Database File (with Memo file) 0 long 0x0e031301 NCSA hierarchical data format (HDF) 0 string GRIB GRIB weather product information #@ bin txt 0 string 11 string x3 (%s >14 byte x %c) 0 string 9 string x3 (%s) 0 string 17 string x3 (%s) 0 string 17 string x4 (%s) 0 string 10 string x3 (%s >13 byte x %c) 0 string Maker Intermediate Print File FrameMaker IPL file 0 string Interpress/Xerox Interpress document 0 long 0x137A2944 NeWS bitmap font 0 long 0x137A2947 NeWS font family 8 long 0x137A2B45 X11/NeWS bitmap font 8 long 0x137A2B48 X11/NeWS font family 0 long 0x137A2950 Scalable OpenFont binary 0 long 0x137A2951 Encrypted scalable OpenFont binary 0 short&0xffe0 0x0020 Binary Computer Graphics Metafile 0 short 0x3020 Character Computer Graphics Metafile 3 string pgscriptver SunWrite document 1 string OPS\000\000 Interleaf document 0 long 0x31BE0000 Microsoft WORD text 0 long 0x31BE0100 Microsoft WORD text building block 0 long 0x31BE0200 Microsoft WORD printer description file 0 string \033)s246W HP downloadable font 0 string \377WPC WordPerfect >8 string \001\001 macro file >8 string \001\002 help file >8 string \001\003 keyboard definition file >8 string \001\012 document file >8 string \001\013 dictionary file >8 string \001\014 thesaurus file >8 string \001\015 block >8 string \001\016 rectangular block >8 string \001\017 column block >8 string \001\020 printer resource file (PRS) >8 string \001\021 setup file >8 string \001\022 prefix information file >8 string \001\023 printer resource file (ALL) >8 string \001\024 display resource file (DRS) >8 string \001\025 overlay file (WP.FIL) >8 string \001\026 graphics file (WPG) >8 string \001\027 hyphenation code module >8 string \001\030 hyphenation data module >8 string \001\031 macro resource file (MRS) >8 string \001\032 graphics driver (WPD) >8 string \001\033 hyphenation lex module 0 string WNGZWZ Wingz >6 string SC compiled script >6 string SS spreadsheet >6 string HP help file 0 byte 247 >1 byte <5 DVI file (TeX output, v%b) >1 byte 131 TeX Generic Font (GF) >1 byte 89 TeX Packed Font (PK) 0 string FLIB\001\0 emTeX Font library #@ asc 1 string makefile PBE makefile 0 string From Mail folder 0 string begin\040 uuencoded file # note that 'x' must be written as \170 in the following pattern! 0 string \170btoa btoa'd file 0 string %(Doc- InterViews file 0 string %I Unidraw InterViews ibuild data file 0 string Volume\011 DCAT catalog file for RUTILS DCAT 0 string ;FTMagic FType Magic number file >8 string x3 (version %s) #@ asc txt 0 string 30 byte =0x31 (mono) >30 byte =0x33 (color) 10 string sundraw SunDraw document 0 string GIF GIF >3 string x3 \b%s >3 string x2 (Compuserve May 19%s) >6 short x -- %u >8 short x x %u 0 long 0x59a66a95 Sun raster file 0 short 0x52cc Utah Raster Toolkit RLE >2 short x Pos (%d, >4 short x \b%d) - >6 short x Size %d x >8 short x %d 0 long 0x49492A00 TIFF (lsb first) 0 long 0x4D4D002A TIFF (msb first) 0 long 0xFFD9FFE0 JPEG >6 string JFIF JFIF 0 long 0xffd8ffe0 JPEG image, big endian 0 long 0xe0ffd8ff JPEG image, little endian 0 string hsi1 HSI1 image (JPEG derivative by Handmade Software) 8 string ILBM IFF ILBM file 0 string This is a BitMap file Lisp Machine bit-array-file 0 string !! Bennet Yee's "face" format 0 string RRTL >4 short 0x0001 ClipArt image 0 string Falc >4 short 0x0000 Harvard Graphics Chart (CHT) (??) 0 string pk\b\bBGI Device Driver Borland graphics driver (BGI) 0 string PK\b\bBGI Stroked Font Borland graphics stroked font (CHR) 0 string ca\b\bBGI\040 Borland Quattro Pro graphics driver 0 string CB\b\bBGI\040 Borland Quattro Pro graphics driver 0 string \377WPC >8 short 0x0116 WordPerfect graphics file (WPG) >8 short 0x011A WordPerfect graphics driver (WPD) 0 long 0x00010008 GEM Image File (versions 1.x, 2.x) 0 long 0xFFFF1800 GEM Metafile (versions 1.x, 2.x) 0 string FORM IFF/LBM image 0 short 0x0A00 PCX image (Paintbrush version 2.5) 0 short 0x0A02 PCX image (Paintbrush version 2.8, w/palette) 0 short 0x0A03 PCX image (Paintbrush version 2.8, w/o palette) 0 short 0x0A05 PCX image (Paintbrush version 3.0) 0 short 000732 SGI imagelib image >6 short x (%d x >8 short x %d) 0 short 0155001 SGI imagelib image (byte swapped) 0 string \361\0\100\273 CMU window manager bitmap 0 string yz MGR bitmap 0 long 0x04553207 X image 0 string Rast RST format font raster 0 string \064\022 PIC image file 0 string \001\0\0\0 Lotus PIC image (?) 0 short 0x0506 >2 byte 0x49 IRIS Showcase file >>3 byte x - version %b 0 short 0x0226 >2 byte 0x63 IRIS Showcase template >>3 byte x - version %b 4 long 0xdeadbabe IRIX Parallel Arena >8 long >0 - version %ld 0 string #Inventor V IRIS Inventor file >15 string ascii - ASCII format >15 string binary - binary format 0 string BM >18 long >0 MS Windows Bitmap %ld >>22 long >0 x %ld 4 short 0xAF11 Autodesk Animator FLI file >8 short >0 %d >>10 short >0 x %d 1 byte <2 >2 byte <12 >>7 byte <33 >>>12 short >0 >>>>14 short >0 >>>>>2 byte 0 Truevision Targa file (TGA), no image data, >>>>>2 byte 1 Truevision Targa file (TGA), uncompressed, color-mapped image, >>>>>2 byte 2 Truevision Targa file (TGA), uncompressed, true-color image, >>>>>2 byte 3 Truevision Targa file (TGA), uncompressed, black & white image, >>>>>2 byte 9 Truevision Targa file (TGA), RLE-encoded, color-mapped image, >>>>>2 byte 10 Truevision Targa file (TGA), RLE-encoded, true-color image, >>>>>2 byte 11 Truevision Targa file (TGA), RLE-encoded, black & white image, >>>>>12 short x %d >>>>>14 short x x %d #@ asc pic 0 string "P1" PBM bitmap 0 string "P2" PGM greymap 0 string "P3" PPM pixmap 0 string "P4" PBM raw bitmap 0 string "P5" PGM raw greymap 0 string "P6" PPM raw pixmap # # Sound files # #@ bin snd 0 string .snd Audio data (AU) >4 long >23 >>12 long 1 - 8-bit ISDN u-law, >>12 long 2 - 8-bit linear PCM (REF-PCM), >>12 long 3 - 16-bit linear PCM, >>12 long 4 - 24-bit linear PCM, >>12 long 5 - 32-bit linear PCM, >>12 long 6 - 32-bit IEEE floating point, >>12 long 7 - 64-bit IEEE floating point, >>12 long 23 - 8-bit ISDN u-law compressed, >>20 long 1 mono, >>20 long 2 stereo, >>20 long 4 quad, >>16 rlong x %ld Hz 8 long 0x41494646 AIFF sound data file 8 long 0x41494643 AIFF-C sound data file 0 long 0x4e54524b MultiTrack sound data file >4 long x - version %ld 0 string STEVE\002H Digitized Sound File (SND) 0 string Creative Voice File\032 Soundblaster VOC file 65 string FSSD >128 string HCOM SoundKit Macintosh HCOM format 0 long 107364 SoundKit IRCAM Soundfile 28 short 0x1a01 MOD file (song) >30 byte x major version: %b, >31 byte x minor version: %b 28 short 0x1a02 MOD file (module) >30 byte x major version: %b, >31 byte x minor version: %b # # Various ASCII files # #@ asc exe 0 string #! exec()able unix script >2 string /bin/sh - Bourne shell >2 string /usr/bin/sh - Bourne shell >2 string /bin/ksh - Korn shell >2 string /usr/local/bin/ash - NeilBrown's ash >2 string /usr/local/bin/ae - NeilBrown's ae >2 string /home/harry/bin/perl - Perl >2 string /usr/local/bin/perl - Perl >2 string /usr/bin/perl - Perl >2 string /bin/awk - AWK >2 string /bin/nawk - new AWK >2 string /usr/bin/nawk - new AWK >2 string /usr/local/bin/nawk - new AWK >2 string /bin/gawk - GNU AWK >2 string /usr/local/bin/gawk - GNU AWK >2 string /bin/csh - C shell >2 string /usr/bin/csh - C shell >2 string /usr/bin/tcsh - tcsh shell >2 string /bin/tcsh - tcsh shell >2 string /usr/bin/zsh - zsh shell >2 string /bin/zsh - zsh shell 0 string echo DOS Batchfile 0 string ECHO DOS Batchfile 0 string Echo DOS Batchfile 0 string @echo DOS Batchfile 0 string @ECHO DOS Batchfile 0 string @Echo DOS Batchfile 0 string REM DOS Batchfile 0 string rem DOS Batchfile 0 string Rem DOS Batchfile #@ asc src 0 string PROGRAM Pascal source (?) 0 string program Pascal source (?) 0 string Program Pascal source (?) 0 string {\040 Pascal source (?) 0 string {$ Turbo Pascal source (?) 0 string (*\040 Pascal/Modula source (?) 0 string PROGRAM Fortran source 0 string C\040\040\040\040\040\040 Fortran source 0 string /* C source (?) 0 string // C++ source (?) 0 string #include\040 C source 0 string %{ Lex/Yacc source (?) 0 string head\t rcs/cvs working file ## ## The following pattern explains an implicit rule of RUTILS FILE program. ## It is not processed (if you uncomment it, an error message will appear) ## ## ##@ asc ##0 string x512 (only readable characters allowed) Text or source file (?) # # **************** Royce's Additions *********************** # #@ arc 0 string SZDD MS Compressed file (??_) (Royce) #@ pic 0 string \0\0\001\0 >4 string \001 MS Windows 3.1 Icon file (Royce) >4 string \002 MS Windows 3.0 Icon file (Royce) #@ bin snd 0 string RIFF >8 string WAVE MS Windows WAV file (Royce) >8 string CDR CorelDraw image (Royce) #@ bin 0 string ?_\003 MS Windows Help file (Royce) #@ bin 0 string PMCC MS Windows Group file (Royce) #@ bin 0 string LN\003 MS DOS Help file (Royce) #@ bin txt 0 string \003\254 MS Works word processor file (Royce) #@ bin 379 string PIFEX Windows Program Info File (PIF) (Royce) #@ pic 0 string ×ÍÆš MS Draw WMF (Royce) #@ txt 0 string Web Hypertext Document (Royce) #@ txt 0 string [ Windows or other INI file? (Royce)