AyrA

magic

Sep 23rd, 2014
4,801
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 486.17 KB | None | 0 0
  1. # Magic
  2. # Magic data for file(1) command.
  3. # Machine-generated from src/cmd/file/magdir/*; edit there only!
  4. # Format is described in magic(files), where:
  5. # files is 5 on V7 and BSD, 4 on SV, and ?? in the SVID.
  6.  
  7. #------------------------------------------------------------------------------
  8. # Localstuff: file(1) magic for locally observed files
  9. #
  10. # $File: Localstuff,v 1.4 2003/03/23 04:17:27 christos Exp $
  11. # Add any locally observed files here. Remember:
  12. # text if readable, executable if runnable binary, data if unreadable.
  13. #------------------------------------------------------------------------------
  14. # acorn: file(1) magic for files found on Acorn systems
  15. #
  16.  
  17. # RISC OS Chunk File Format
  18. # From RISC OS Programmer's Reference Manual, Appendix D
  19. # We guess the file type from the type of the first chunk.
  20. 0 lelong 0xc3cbc6c5 RISC OS Chunk data
  21. >12 string OBJ_ \b, AOF object
  22. >12 string LIB_ \b, ALF library
  23.  
  24. # RISC OS AIF, contains "SWI OS_Exit" at offset 16.
  25. 16 lelong 0xef000011 RISC OS AIF executable
  26.  
  27. # RISC OS Draw files
  28. # From RISC OS Programmer's Reference Manual, Appendix E
  29. 0 string Draw RISC OS Draw file data
  30.  
  31. # RISC OS new format font files
  32. # From RISC OS Programmer's Reference Manual, Appendix E
  33. 0 string FONT\0 RISC OS outline font data,
  34. >5 byte x version %d
  35. 0 string FONT\1 RISC OS 1bpp font data,
  36. >5 byte x version %d
  37. 0 string FONT\4 RISC OS 4bpp font data
  38. >5 byte x version %d
  39.  
  40. # RISC OS Music files
  41. # From RISC OS Programmer's Reference Manual, Appendix E
  42. 0 string Maestro\r RISC OS music file
  43. >8 byte x version %d
  44.  
  45. >8 byte x type %d
  46.  
  47. # Digital Symphony data files
  48. # From: Bernard Jungen ([email protected])
  49. 0 string \x02\x01\x13\x13\x13\x01\x0d\x10 Digital Symphony sound sample (RISC OS),
  50. >8 byte x version %d,
  51. >9 pstring x named "%s",
  52. >(9.b+19) byte =0 8-bit logarithmic
  53. >(9.b+19) byte =1 LZW-compressed linear
  54. >(9.b+19) byte =2 8-bit linear signed
  55. >(9.b+19) byte =3 16-bit linear signed
  56. >(9.b+19) byte =4 SigmaDelta-compressed linear
  57. >(9.b+19) byte =5 SigmaDelta-compressed logarithmic
  58. >(9.b+19) byte >5 unknown format
  59.  
  60. 0 string \x02\x01\x13\x13\x14\x12\x01\x0b Digital Symphony song (RISC OS),
  61. >8 byte x version %d,
  62. >9 byte =1 1 voice,
  63. >9 byte !1 %d voices,
  64. >10 leshort =1 1 track,
  65. >10 leshort !1 %d tracks,
  66. >12 leshort =1 1 pattern
  67. >12 leshort !1 %d patterns
  68.  
  69. 0 string \x02\x01\x13\x13\x10\x14\x12\x0e
  70. >9 byte =0 Digital Symphony sequence (RISC OS),
  71. >>8 byte x version %d,
  72. >>10 byte =1 1 line,
  73. >>10 byte !1 %d lines,
  74. >>11 leshort =1 1 position
  75. >>11 leshort !1 %d positions
  76. >9 byte =1 Digital Symphony pattern data (RISC OS),
  77. >>8 byte x version %d,
  78. >>10 leshort =1 1 pattern
  79. >>10 leshort !1 %d patterns
  80.  
  81. #------------------------------------------------------------------------------
  82. # adi: file(1) magic for ADi's objects
  83. # From Gregory McGarry <[email protected]>
  84. #
  85. 0 leshort 0x521c COFF DSP21k
  86. >18 lelong &02 executable,
  87. >18 lelong ^02
  88. >>18 lelong &01 static object,
  89. >>18 lelong ^01 relocatable object,
  90. >18 lelong &010 stripped
  91. >18 lelong ^010 not stripped
  92.  
  93. #------------------------------------------------------------------------------
  94. # adventure: file(1) magic for Adventure game files
  95. #
  96. # from Allen Garvin <[email protected]>
  97. # Edited by Dave Chapeskie <[email protected]> Jun 28, 1998
  98. # Edited by Chris Chittleborough <[email protected]>, March 2002
  99. #
  100. # ALAN
  101. # I assume there are other, lower versions, but these are the only ones I
  102. # saw in the archive.
  103. 0 beshort 0x0206 ALAN game data
  104. >2 byte <10 version 2.6%d
  105.  
  106.  
  107. # Infocom (see z-machine)
  108. #------------------------------------------------------------------------------
  109. # Z-machine: file(1) magic for Z-machine binaries.
  110. #
  111. # This will match ${TEX_BASE}/texmf/omega/ocp/char2uni/inbig5.ocp which
  112. # appears to be a version-0 Z-machine binary.
  113. #
  114. # The (false match) message is to correct that behavior. Perhaps it is
  115. # not needed.
  116. #
  117. 16 belong&0xfe00f0f0 0x3030 Infocom game data
  118. >0 ubyte 0 (false match)
  119. >0 ubyte >0 (Z-machine %d,
  120. >>2 ubeshort x Release %d /
  121. >>18 string >\0 Serial %.6s)
  122.  
  123. #------------------------------------------------------------------------------
  124. # Glulx: file(1) magic for Glulx binaries.
  125. #
  126. # I haven't checked for false matches yet.
  127. #
  128. 0 string Glul Glulx game data
  129. >4 beshort x (Version %d
  130. >>6 byte x \b.%d
  131. >>8 byte x \b.%d)
  132. >36 string Info Compiled by Inform
  133.  
  134.  
  135.  
  136. # For Quetzal and blorb magic see iff
  137.  
  138.  
  139. # TADS (Text Adventure Development System)
  140. # All files are machine-independent (games compile to byte-code) and are tagged
  141. # with a version string of the form "V2.<digit>.<digit>\0" (but TADS 3 is
  142. # on the way).
  143. # Game files start with "TADS2 bin\n\r\032\0" then the compiler version.
  144. 0 string TADS2\ bin TADS
  145. >9 belong !0x0A0D1A00 game data, CORRUPTED
  146. >9 belong 0x0A0D1A00
  147. >>13 string >\0 %s game data
  148. # Resource files start with "TADS2 rsc\n\r\032\0" then the compiler version.
  149. 0 string TADS2\ rsc TADS
  150. >9 belong !0x0A0D1A00 resource data, CORRUPTED
  151. >9 belong 0x0A0D1A00
  152. >>13 string >\0 %s resource data
  153. # Some saved game files start with "TADS2 save/g\n\r\032\0", a little-endian
  154. # 2-byte length N, the N-char name of the game file *without* a NUL (darn!),
  155. # "TADS2 save\n\r\032\0" and the interpreter version.
  156. 0 string TADS2\ save/g TADS
  157. >12 belong !0x0A0D1A00 saved game data, CORRUPTED
  158. >12 belong 0x0A0D1A00
  159. >>(16.s+32) string >\0 %s saved game data
  160. # Other saved game files start with "TADS2 save\n\r\032\0" and the interpreter
  161. # version.
  162. 0 string TADS2\ save TADS
  163. >10 belong !0x0A0D1A00 saved game data, CORRUPTED
  164. >10 belong 0x0A0D1A00
  165. >>14 string >\0 %s saved game data
  166.  
  167. #------------------------------------------------------------------------------
  168. # allegro: file(1) magic for Allegro datafiles
  169. # Toby Deshane <[email protected]>
  170. #
  171. 0 belong 0x736C6821 Allegro datafile (packed)
  172. 0 belong 0x736C682E Allegro datafile (not packed/autodetect)
  173. 0 belong 0x736C682B Allegro datafile (appended exe data)
  174.  
  175. #------------------------------------------------------------------------------
  176. # alliant: file(1) magic for Alliant FX series a.out files
  177. #
  178. # If the FX series is the one that had a processor with a 68K-derived
  179. # instruction set, the "short" should probably become "beshort" and the
  180. # "long" should probably become "belong".
  181. # If it's the i860-based one, they should probably become either the
  182. # big-endian or little-endian versions, depending on the mode they ran
  183. # the 860 in....
  184. #
  185. 0 short 0420 0420 Alliant virtual executable
  186. >2 short &0x0020 common library
  187. >16 long >0 not stripped
  188. 0 short 0421 0421 Alliant compact executable
  189. >2 short &0x0020 common library
  190. >16 long >0 not stripped
  191. #------------------------------------------------------------------------------
  192. # alpha architecture description
  193. #
  194.  
  195. 0 leshort 0603 COFF format alpha
  196. >22 leshort&030000 !020000 executable
  197. >24 leshort 0410 pure
  198. >24 leshort 0413 paged
  199. >22 leshort&020000 !0 dynamically linked
  200. >16 lelong !0 not stripped
  201. >16 lelong 0 stripped
  202. >22 leshort&030000 020000 shared library
  203. >24 leshort 0407 object
  204. >27 byte x - version %d
  205. >26 byte x .%d
  206. >28 byte x -%d
  207.  
  208. # Basic recognition of Digital UNIX core dumps - Mike Bremford <[email protected]>
  209. #
  210. # The actual magic number is just "Core", followed by a 2-byte version
  211. # number; however, treating any file that begins with "Core" as a Digital
  212. # UNIX core dump file may produce too many false hits, so we include one
  213. # byte of the version number as well; DU 5.0 appears only to be up to
  214. # version 2.
  215. #
  216. 0 string Core\001 Alpha COFF format core dump (Digital UNIX)
  217. >24 string >\0 \b, from '%s'
  218. 0 string Core\002 Alpha COFF format core dump (Digital UNIX)
  219. >24 string >\0 \b, from '%s'
  220.  
  221. #------------------------------------------------------------------------------
  222. # amanda: file(1) magic for amanda file format
  223. #
  224. 0 string AMANDA:\ AMANDA
  225. >8 string TAPESTART\ DATE tape header file,
  226. >>23 string X
  227. >>>25 string >\ Unused %s
  228. >>23 string >\ DATE %s
  229. >8 string FILE\ dump file,
  230. >>13 string >\ DATE %s
  231. #------------------------------------------------------------------------------
  232. # amigaos: file(1) magic for AmigaOS binary formats:
  233.  
  234. #
  235. # From [email protected] (Ignatios Souvatzis)
  236. #
  237. 0 belong 0x000003fa AmigaOS shared library
  238. 0 belong 0x000003f3 AmigaOS loadseg()ble executable/binary
  239. 0 belong 0x000003e7 AmigaOS object/library data
  240. #
  241. 0 beshort 0xe310 Amiga Workbench
  242. >2 beshort 1
  243. >>48 byte 1 disk icon
  244. >>48 byte 2 drawer icon
  245. >>48 byte 3 tool icon
  246. >>48 byte 4 project icon
  247. >>48 byte 5 garbage icon
  248. >>48 byte 6 device icon
  249. >>48 byte 7 kickstart icon
  250. >>48 byte 8 workbench application icon
  251. >2 beshort >1 icon, vers. %d
  252. #
  253. # various sound formats from the Amiga
  254. # G=F6tz Waschk <[email protected]>
  255. #
  256. 0 string FC14 Future Composer 1.4 Module sound file
  257. 0 string SMOD Future Composer 1.3 Module sound file
  258. 0 string AON4artofnoise Art Of Noise Module sound file
  259. 1 string MUGICIAN/SOFTEYES Mugician Module sound file
  260. 58 string SIDMON\ II\ -\ THE Sidmon 2.0 Module sound file
  261. 0 string Synth4.0 Synthesis Module sound file
  262. 0 string ARP. The Holy Noise Module sound file
  263. 0 string BeEp\0 JamCracker Module sound file
  264. 0 string COSO\0 Hippel-COSO Module sound file
  265. # Too simple (short, pure ASCII, deep), MPi
  266. #26 string V.3 Brian Postma's Soundmon Module sound file v3
  267. #26 string BPSM Brian Postma's Soundmon Module sound file v3
  268. #26 string V.2 Brian Postma's Soundmon Module sound file v2
  269.  
  270. # The following are from: "Stefan A. Haubenthal" <[email protected]>
  271. 0 beshort 0x0f00 AmigaOS bitmap font
  272. 0 beshort 0x0f03 AmigaOS outline font
  273. 0 belong 0x80001001 AmigaOS outline tag
  274. 0 string ##\ version catalog translation
  275. 0 string EMOD\0 Amiga E module
  276. 8 string ECXM\0 ECX module
  277. 0 string/c @database AmigaGuide file
  278.  
  279. # Amiga disk types
  280. #
  281. 0 string RDSK Rigid Disk Block
  282. >160 string x on %.24s
  283. 0 string DOS\0 Amiga DOS disk
  284. 0 string DOS\1 Amiga FFS disk
  285. 0 string DOS\2 Amiga Inter DOS disk
  286. 0 string DOS\3 Amiga Inter FFS disk
  287. 0 string DOS\4 Amiga Fastdir DOS disk
  288. 0 string DOS\5 Amiga Fastdir FFS disk
  289. 0 string KICK Kickstart disk
  290.  
  291. # From: Alex Beregszaszi <[email protected]>
  292. 0 string LZX LZX compressed archive (Amiga)
  293.  
  294.  
  295. #------------------------------------------------------------------------------
  296. # animation: file(1) magic for animation/movie formats
  297. #
  298. # animation formats
  299. # MPEG, FLI, DL originally from [email protected] (VaX#n8)
  300. # FLC, SGI, Apple originally from Daniel Quinlan ([email protected])
  301.  
  302. # SGI and Apple formats
  303. 0 string MOVI Silicon Graphics movie file
  304. 4 string moov Apple QuickTime
  305. >12 string mvhd \b movie (fast start)
  306. >12 string mdra \b URL
  307. >12 string cmov \b movie (fast start, compressed header)
  308. >12 string rmra \b multiple URLs
  309. 4 string mdat Apple QuickTime movie (unoptimized)
  310. 4 string wide Apple QuickTime movie (unoptimized)
  311. 4 string skip Apple QuickTime movie (modified)
  312. 4 string free Apple QuickTime movie (modified)
  313. 4 string idsc Apple QuickTime image (fast start)
  314. 4 string idat Apple QuickTime image (unoptimized)
  315. 4 string pckg Apple QuickTime compressed archive
  316. 4 string/B jP JPEG 2000 image
  317. 4 string ftyp ISO Media
  318. >8 string isom \b, MPEG v4 system, version 1
  319. >8 string iso2 \b, MPEG v4 system, part 12 revision
  320. >8 string mp41 \b, MPEG v4 system, version 1
  321. >8 string mp42 \b, MPEG v4 system, version 2
  322. >8 string mp7t \b, MPEG v4 system, MPEG v7 XML
  323. >8 string mp7b \b, MPEG v4 system, MPEG v7 binary XML
  324. >8 string/B jp2 \b, JPEG 2000
  325. >8 string 3gp \b, MPEG v4 system, 3GPP
  326. >>11 byte 4 \b v4 (H.263/AMR GSM 6.10)
  327. >>11 byte 5 \b v5 (H.263/AMR GSM 6.10)
  328. >>11 byte 6 \b v6 (ITU H.264/AMR GSM 6.10)
  329. >8 string mmp4 \b, MPEG v4 system, 3GPP Mobile
  330. >8 string avc1 \b, MPEG v4 system, 3GPP JVT AVC
  331. >8 string/B M4A \b, MPEG v4 system, iTunes AAC-LC
  332. >8 string/B M4P \b, MPEG v4 system, iTunes AES encrypted
  333. >8 string/B M4B \b, MPEG v4 system, iTunes bookmarked
  334. >8 string/B qt \b, Apple QuickTime movie
  335.  
  336. # MPEG sequences
  337. # Scans for all common MPEG header start codes
  338. 0 belong 0x00000001 JVT NAL sequence
  339. >4 byte&0x1F 0x07 \b, H.264 video
  340. >>5 byte 66 \b, baseline
  341. >>5 byte 77 \b, main
  342. >>5 byte 88 \b, extended
  343. >>7 byte x \b @ L %u
  344. 0 belong&0xFFFFFF00 0x00000100 MPEG sequence
  345. >3 byte 0xBA
  346. >>4 byte &0x40 \b, v2, program multiplex
  347. >>4 byte ^0x40 \b, v1, system multiplex
  348. >3 byte 0xBB \b, v1/2, multiplex (missing pack header)
  349. >3 byte&0x1F 0x07 \b, H.264 video
  350. >>4 byte 66 \b, baseline
  351. >>4 byte 77 \b, main
  352. >>4 byte 88 \b, extended
  353. >>6 byte x \b @ L %u
  354. >3 byte 0xB0 \b, v4
  355. >>5 belong 0x000001B5
  356. >>>9 byte &0x80
  357. >>>>10 byte&0xF0 16 \b, video
  358. >>>>10 byte&0xF0 32 \b, still texture
  359. >>>>10 byte&0xF0 48 \b, mesh
  360. >>>>10 byte&0xF0 64 \b, face
  361. >>>9 byte&0xF8 8 \b, video
  362. >>>9 byte&0xF8 16 \b, still texture
  363. >>>9 byte&0xF8 24 \b, mesh
  364. >>>9 byte&0xF8 32 \b, face
  365. >>4 byte 1 \b, simple @ L1
  366. >>4 byte 2 \b, simple @ L2
  367. >>4 byte 3 \b, simple @ L3
  368. >>4 byte 4 \b, simple @ L0
  369. >>4 byte 17 \b, simple scalable @ L1
  370. >>4 byte 18 \b, simple scalable @ L2
  371. >>4 byte 33 \b, core @ L1
  372. >>4 byte 34 \b, core @ L2
  373. >>4 byte 50 \b, main @ L2
  374. >>4 byte 51 \b, main @ L3
  375. >>4 byte 53 \b, main @ L4
  376. >>4 byte 66 \b, n-bit @ L2
  377. >>4 byte 81 \b, scalable texture @ L1
  378. >>4 byte 97 \b, simple face animation @ L1
  379. >>4 byte 98 \b, simple face animation @ L2
  380. >>4 byte 99 \b, simple face basic animation @ L1
  381. >>4 byte 100 \b, simple face basic animation @ L2
  382. >>4 byte 113 \b, basic animation text @ L1
  383. >>4 byte 114 \b, basic animation text @ L2
  384. >>4 byte 129 \b, hybrid @ L1
  385. >>4 byte 130 \b, hybrid @ L2
  386. >>4 byte 145 \b, advanced RT simple @ L!
  387. >>4 byte 146 \b, advanced RT simple @ L2
  388. >>4 byte 147 \b, advanced RT simple @ L3
  389. >>4 byte 148 \b, advanced RT simple @ L4
  390. >>4 byte 161 \b, core scalable @ L1
  391. >>4 byte 162 \b, core scalable @ L2
  392. >>4 byte 163 \b, core scalable @ L3
  393. >>4 byte 177 \b, advanced coding efficiency @ L1
  394. >>4 byte 178 \b, advanced coding efficiency @ L2
  395. >>4 byte 179 \b, advanced coding efficiency @ L3
  396. >>4 byte 180 \b, advanced coding efficiency @ L4
  397. >>4 byte 193 \b, advanced core @ L1
  398. >>4 byte 194 \b, advanced core @ L2
  399. >>4 byte 209 \b, advanced scalable texture @ L1
  400. >>4 byte 210 \b, advanced scalable texture @ L2
  401. >>4 byte 211 \b, advanced scalable texture @ L3
  402. >>4 byte 225 \b, simple studio @ L1
  403. >>4 byte 226 \b, simple studio @ L2
  404. >>4 byte 227 \b, simple studio @ L3
  405. >>4 byte 228 \b, simple studio @ L4
  406. >>4 byte 229 \b, core studio @ L1
  407. >>4 byte 230 \b, core studio @ L2
  408. >>4 byte 231 \b, core studio @ L3
  409. >>4 byte 232 \b, core studio @ L4
  410. >>4 byte 240 \b, advanced simple @ L0
  411. >>4 byte 241 \b, advanced simple @ L1
  412. >>4 byte 242 \b, advanced simple @ L2
  413. >>4 byte 243 \b, advanced simple @ L3
  414. >>4 byte 244 \b, advanced simple @ L4
  415. >>4 byte 245 \b, advanced simple @ L5
  416. >>4 byte 247 \b, advanced simple @ L3b
  417. >>4 byte 248 \b, FGS @ L0
  418. >>4 byte 249 \b, FGS @ L1
  419. >>4 byte 250 \b, FGS @ L2
  420. >>4 byte 251 \b, FGS @ L3
  421. >>4 byte 252 \b, FGS @ L4
  422. >>4 byte 253 \b, FGS @ L5
  423. >3 byte 0xB5 \b, v4
  424. >>4 byte &0x80
  425. >>>5 byte&0xF0 16 \b, video (missing profile header)
  426. >>>5 byte&0xF0 32 \b, still texture (missing profile header)
  427. >>>5 byte&0xF0 48 \b, mesh (missing profile header)
  428. >>>5 byte&0xF0 64 \b, face (missing profile header)
  429. >>4 byte&0xF8 8 \b, video (missing profile header)
  430. >>4 byte&0xF8 16 \b, still texture (missing profile header)
  431. >>4 byte&0xF8 24 \b, mesh (missing profile header)
  432. >>4 byte&0xF8 32 \b, face (missing profile header)
  433. >3 byte 0xB3
  434. >>12 belong 0x000001B8 \b, v1, progressive Y'CbCr 4:2:0 video
  435. >>12 belong 0x000001B2 \b, v1, progressive Y'CbCr 4:2:0 video
  436. >>12 belong 0x000001B5 \b, v2,
  437. >>>16 byte&0x0F 1 \b HP
  438. >>>16 byte&0x0F 2 \b Spt
  439. >>>16 byte&0x0F 3 \b SNR
  440. >>>16 byte&0x0F 4 \b MP
  441. >>>16 byte&0x0F 5 \b SP
  442. >>>17 byte&0xF0 64 \b@HL
  443. >>>17 byte&0xF0 96 \b@H-14
  444. >>>17 byte&0xF0 128 \b@ML
  445. >>>17 byte&0xF0 160 \b@LL
  446. >>>17 byte &0x08 \b progressive
  447. >>>17 byte ^0x08 \b interlaced
  448. >>>17 byte&0x06 2 \b Y'CbCr 4:2:0 video
  449. >>>17 byte&0x06 4 \b Y'CbCr 4:2:2 video
  450. >>>17 byte&0x06 6 \b Y'CbCr 4:4:4 video
  451. >>11 byte &0x02
  452. >>>75 byte &0x01
  453. >>>>140 belong 0x000001B8 \b, v1, progressive Y'CbCr 4:2:0 video
  454. >>>>140 belong 0x000001B2 \b, v1, progressive Y'CbCr 4:2:0 video
  455. >>>>140 belong 0x000001B5 \b, v2,
  456. >>>>>144 byte&0x0F 1 \b HP
  457. >>>>>144 byte&0x0F 2 \b Spt
  458. >>>>>144 byte&0x0F 3 \b SNR
  459. >>>>>144 byte&0x0F 4 \b MP
  460. >>>>>144 byte&0x0F 5 \b SP
  461. >>>>>145 byte&0xF0 64 \b@HL
  462. >>>>>145 byte&0xF0 96 \b@H-14
  463. >>>>>145 byte&0xF0 128 \b@ML
  464. >>>>>145 byte&0xF0 160 \b@LL
  465. >>>>>145 byte &0x08 \b progressive
  466. >>>>>145 byte ^0x08 \b interlaced
  467. >>>>>145 byte&0x06 2 \b Y'CbCr 4:2:0 video
  468. >>>>>145 byte&0x06 4 \b Y'CbCr 4:2:2 video
  469. >>>>>145 byte&0x06 6 \b Y'CbCr 4:4:4 video
  470. >>76 belong 0x000001B8 \b, v1, progressive Y'CbCr 4:2:0 video
  471. >>76 belong 0x000001B2 \b, v1, progressive Y'CbCr 4:2:0 video
  472. >>76 belong 0x000001B5 \b, v2,
  473. >>>80 byte&0x0F 1 \b HP
  474. >>>80 byte&0x0F 2 \b Spt
  475. >>>80 byte&0x0F 3 \b SNR
  476. >>>80 byte&0x0F 4 \b MP
  477. >>>80 byte&0x0F 5 \b SP
  478. >>>81 byte&0xF0 64 \b@HL
  479. >>>81 byte&0xF0 96 \b@H-14
  480. >>>81 byte&0xF0 128 \b@ML
  481. >>>81 byte&0xF0 160 \b@LL
  482. >>>81 byte &0x08 \b progressive
  483. >>>81 byte ^0x08 \b interlaced
  484. >>>81 byte&0x06 2 \b Y'CbCr 4:2:0 video
  485. >>>81 byte&0x06 4 \b Y'CbCr 4:2:2 video
  486. >>>81 byte&0x06 6 \b Y'CbCr 4:4:4 video
  487. >>4 belong&0xFFFFFF00 0x78043800 \b, HD-TV 1920P
  488. >>>7 byte&0xF0 0x10 \b, 16:9
  489. >>4 belong&0xFFFFFF00 0x50002D00 \b, SD-TV 1280I
  490. >>>7 byte&0xF0 0x10 \b, 16:9
  491. >>4 belong&0xFFFFFF00 0x30024000 \b, PAL Capture
  492. >>>7 byte&0xF0 0x10 \b, 4:3
  493. >>4 beshort&0xFFF0 0x2C00 \b, 4CIF
  494. >>>5 beshort&0x0FFF 0x01E0 \b NTSC
  495. >>>5 beshort&0x0FFF 0x0240 \b PAL
  496. >>>7 byte&0xF0 0x20 \b, 4:3
  497. >>>7 byte&0xF0 0x30 \b, 16:9
  498. >>>7 byte&0xF0 0x40 \b, 11:5
  499. >>>7 byte&0xF0 0x80 \b, PAL 4:3
  500. >>>7 byte&0xF0 0xC0 \b, NTSC 4:3
  501. >>4 belong&0xFFFFFF00 0x2801E000 \b, LD-TV 640P
  502. >>>7 byte&0xF0 0x10 \b, 4:3
  503. >>4 belong&0xFFFFFF00 0x1400F000 \b, 320x240
  504. >>>7 byte&0xF0 0x10 \b, 4:3
  505. >>4 belong&0xFFFFFF00 0x0F00A000 \b, 240x160
  506. >>>7 byte&0xF0 0x10 \b, 4:3
  507. >>4 belong&0xFFFFFF00 0x0A007800 \b, 160x120
  508. >>>7 byte&0xF0 0x10 \b, 4:3
  509. >>4 beshort&0xFFF0 0x1600 \b, CIF
  510. >>>5 beshort&0x0FFF 0x00F0 \b NTSC
  511. >>>5 beshort&0x0FFF 0x0120 \b PAL
  512. >>>7 byte&0xF0 0x20 \b, 4:3
  513. >>>7 byte&0xF0 0x30 \b, 16:9
  514. >>>7 byte&0xF0 0x40 \b, 11:5
  515. >>>7 byte&0xF0 0x80 \b, PAL 4:3
  516. >>>7 byte&0xF0 0xC0 \b, NTSC 4:3
  517. >>>5 beshort&0x0FFF 0x0240 \b PAL 625
  518. >>>>7 byte&0xF0 0x20 \b, 4:3
  519. >>>>7 byte&0xF0 0x30 \b, 16:9
  520. >>>>7 byte&0xF0 0x40 \b, 11:5
  521. >>4 beshort&0xFFF0 0x2D00 \b, CCIR/ITU
  522. >>>5 beshort&0x0FFF 0x01E0 \b NTSC 525
  523. >>>5 beshort&0x0FFF 0x0240 \b PAL 625
  524. >>>7 byte&0xF0 0x20 \b, 4:3
  525. >>>7 byte&0xF0 0x30 \b, 16:9
  526. >>>7 byte&0xF0 0x40 \b, 11:5
  527. >>4 beshort&0xFFF0 0x1E00 \b, SVCD
  528. >>>5 beshort&0x0FFF 0x01E0 \b NTSC 525
  529. >>>5 beshort&0x0FFF 0x0240 \b PAL 625
  530. >>>7 byte&0xF0 0x20 \b, 4:3
  531. >>>7 byte&0xF0 0x30 \b, 16:9
  532. >>>7 byte&0xF0 0x40 \b, 11:5
  533. >>7 byte&0x0F 1 \b, 23.976 fps
  534. >>7 byte&0x0F 2 \b, 24 fps
  535. >>7 byte&0x0F 3 \b, 25 fps
  536. >>7 byte&0x0F 4 \b, 29.97 fps
  537. >>7 byte&0x0F 5 \b, 30 fps
  538. >>7 byte&0x0F 6 \b, 50 fps
  539. >>7 byte&0x0F 7 \b, 59.94 fps
  540. >>7 byte&0x0F 8 \b, 60 fps
  541. >>11 byte &0x04 \b, Constrained
  542.  
  543. # MPEG ADTS Audio (*.mpx/mxa/aac)
  544. # modified to fully support MPEG ADTS
  545.  
  546. # MP3, M1A
  547. 0 beshort&0xFFFE 0xFFFA MPEG ADTS, layer III, v1
  548. # rates
  549. >2 byte&0xF0 0x10 \b, 32 kBits
  550. >2 byte&0xF0 0x20 \b, 40 kBits
  551. >2 byte&0xF0 0x30 \b, 48 kBits
  552. >2 byte&0xF0 0x40 \b, 56 kBits
  553. >2 byte&0xF0 0x50 \b, 64 kBits
  554. >2 byte&0xF0 0x60 \b, 80 kBits
  555. >2 byte&0xF0 0x70 \b, 96 kBits
  556. >2 byte&0xF0 0x80 \b, 112 kBits
  557. >2 byte&0xF0 0x90 \b, 128 kBits
  558. >2 byte&0xF0 0xA0 \b, 160 kBits
  559. >2 byte&0xF0 0xB0 \b, 192 kBits
  560. >2 byte&0xF0 0xC0 \b, 224 kBits
  561. >2 byte&0xF0 0xD0 \b, 256 kBits
  562. >2 byte&0xF0 0xE0 \b, 320 kBits
  563. # timing
  564. >2 byte&0x0C 0x00 \b, 44.1 kHz
  565. >2 byte&0x0C 0x04 \b, 48 kHz
  566. >2 byte&0x0C 0x08 \b, 32 kHz
  567. # channels/options
  568. >3 byte&0xC0 0x00 \b, Stereo
  569. >3 byte&0xC0 0x40 \b, JntStereo
  570. >3 byte&0xC0 0x80 \b, 2x Monaural
  571. >3 byte&0xC0 0xC0 \b, Monaural
  572. #>1 byte ^0x01 \b, Data Verify
  573. #>2 byte &0x02 \b, Packet Pad
  574. #>2 byte &0x01 \b, Custom Flag
  575. #>3 byte &0x08 \b, Copyrighted
  576. #>3 byte &0x04 \b, Original Source
  577. #>3 byte&0x03 1 \b, NR: 50/15 ms
  578. #>3 byte&0x03 3 \b, NR: CCIT J.17
  579.  
  580. # MP2, M1A
  581. 0 beshort&0xFFFE 0xFFFC MPEG ADTS, layer II, v1
  582. # rates
  583. >2 byte&0xF0 0x10 \b, 32 kBits
  584. >2 byte&0xF0 0x20 \b, 48 kBits
  585. >2 byte&0xF0 0x30 \b, 56 kBits
  586. >2 byte&0xF0 0x40 \b, 64 kBits
  587. >2 byte&0xF0 0x50 \b, 80 kBits
  588. >2 byte&0xF0 0x60 \b, 96 kBits
  589. >2 byte&0xF0 0x70 \b, 112 kBits
  590. >2 byte&0xF0 0x80 \b, 128 kBits
  591. >2 byte&0xF0 0x90 \b, 160 kBits
  592. >2 byte&0xF0 0xA0 \b, 192 kBits
  593. >2 byte&0xF0 0xB0 \b, 224 kBits
  594. >2 byte&0xF0 0xC0 \b, 256 kBits
  595. >2 byte&0xF0 0xD0 \b, 320 kBits
  596. >2 byte&0xF0 0xE0 \b, 384 kBits
  597. # timing
  598. >2 byte&0x0C 0x00 \b, 44.1 kHz
  599. >2 byte&0x0C 0x04 \b, 48 kHz
  600. >2 byte&0x0C 0x08 \b, 32 kHz
  601. # channels/options
  602. >3 byte&0xC0 0x00 \b, Stereo
  603. >3 byte&0xC0 0x40 \b, JntStereo
  604. >3 byte&0xC0 0x80 \b, 2x Monaural
  605. >3 byte&0xC0 0xC0 \b, Monaural
  606. #>1 byte ^0x01 \b, Data Verify
  607. #>2 byte &0x02 \b, Packet Pad
  608. #>2 byte &0x01 \b, Custom Flag
  609. #>3 byte &0x08 \b, Copyrighted
  610. #>3 byte &0x04 \b, Original Source
  611. #>3 byte&0x03 1 \b, NR: 50/15 ms
  612. #>3 byte&0x03 3 \b, NR: CCIT J.17
  613.  
  614. # MPA, M1A
  615. # updated by Joerg Jenderek
  616. # GRR the original test are too common for many DOS files, so test 32 <= kbits <= 448
  617. 0 beshort&0xFFFE 0xFFFE
  618. >2 ubyte&0xF0 >0x0F
  619. >>2 ubyte&0xF0 <0xE1 MPEG ADTS, layer I, v1
  620. # rate
  621. >>>2 byte&0xF0 0x10 \b, 32 kBits
  622. >>>2 byte&0xF0 0x20 \b, 64 kBits
  623. >>>2 byte&0xF0 0x30 \b, 96 kBits
  624. >>>2 byte&0xF0 0x40 \b, 128 kBits
  625. >>>2 byte&0xF0 0x50 \b, 160 kBits
  626. >>>2 byte&0xF0 0x60 \b, 192 kBits
  627. >>>2 byte&0xF0 0x70 \b, 224 kBits
  628. >>>2 byte&0xF0 0x80 \b, 256 kBits
  629. >>>2 byte&0xF0 0x90 \b, 288 kBits
  630. >>>2 byte&0xF0 0xA0 \b, 320 kBits
  631. >>>2 byte&0xF0 0xB0 \b, 352 kBits
  632. >>>2 byte&0xF0 0xC0 \b, 384 kBits
  633. >>>2 byte&0xF0 0xD0 \b, 416 kBits
  634. >>>2 byte&0xF0 0xE0 \b, 448 kBits
  635. # timing
  636. >>>2 byte&0x0C 0x00 \b, 44.1 kHz
  637. >>>2 byte&0x0C 0x04 \b, 48 kHz
  638. >>>2 byte&0x0C 0x08 \b, 32 kHz
  639. # channels/options
  640. >>>3 byte&0xC0 0x00 \b, Stereo
  641. >>>3 byte&0xC0 0x40 \b, JntStereo
  642. >>>3 byte&0xC0 0x80 \b, 2x Monaural
  643. >>>3 byte&0xC0 0xC0 \b, Monaural
  644. #>1 byte ^0x01 \b, Data Verify
  645. #>2 byte &0x02 \b, Packet Pad
  646. #>2 byte &0x01 \b, Custom Flag
  647. #>3 byte &0x08 \b, Copyrighted
  648. #>3 byte &0x04 \b, Original Source
  649. #>3 byte&0x03 1 \b, NR: 50/15 ms
  650. #>3 byte&0x03 3 \b, NR: CCIT J.17
  651.  
  652. # MP3, M2A
  653. 0 beshort&0xFFFE 0xFFF2 MPEG ADTS, layer III, v2
  654. # rate
  655. >2 byte&0xF0 0x10 \b, 8 kBits
  656. >2 byte&0xF0 0x20 \b, 16 kBits
  657. >2 byte&0xF0 0x30 \b, 24 kBits
  658. >2 byte&0xF0 0x40 \b, 32 kBits
  659. >2 byte&0xF0 0x50 \b, 40 kBits
  660. >2 byte&0xF0 0x60 \b, 48 kBits
  661. >2 byte&0xF0 0x70 \b, 56 kBits
  662. >2 byte&0xF0 0x80 \b, 64 kBits
  663. >2 byte&0xF0 0x90 \b, 80 kBits
  664. >2 byte&0xF0 0xA0 \b, 96 kBits
  665. >2 byte&0xF0 0xB0 \b, 112 kBits
  666. >2 byte&0xF0 0xC0 \b, 128 kBits
  667. >2 byte&0xF0 0xD0 \b, 144 kBits
  668. >2 byte&0xF0 0xE0 \b, 160 kBits
  669. # timing
  670. >2 byte&0x0C 0x00 \b, 22.05 kHz
  671. >2 byte&0x0C 0x04 \b, 24 kHz
  672. >2 byte&0x0C 0x08 \b, 16 kHz
  673. # channels/options
  674. >3 byte&0xC0 0x00 \b, Stereo
  675. >3 byte&0xC0 0x40 \b, JntStereo
  676. >3 byte&0xC0 0x80 \b, 2x Monaural
  677. >3 byte&0xC0 0xC0 \b, Monaural
  678. #>1 byte ^0x01 \b, Data Verify
  679. #>2 byte &0x02 \b, Packet Pad
  680. #>2 byte &0x01 \b, Custom Flag
  681. #>3 byte &0x08 \b, Copyrighted
  682. #>3 byte &0x04 \b, Original Source
  683. #>3 byte&0x03 1 \b, NR: 50/15 ms
  684. #>3 byte&0x03 3 \b, NR: CCIT J.17
  685.  
  686. # MP2, M2A
  687. 0 beshort&0xFFFE 0xFFF4 MPEG ADTS, layer II, v2
  688. # rate
  689. >2 byte&0xF0 0x10 \b, 8 kBits
  690. >2 byte&0xF0 0x20 \b, 16 kBits
  691. >2 byte&0xF0 0x30 \b, 24 kBits
  692. >2 byte&0xF0 0x40 \b, 32 kBits
  693. >2 byte&0xF0 0x50 \b, 40 kBits
  694. >2 byte&0xF0 0x60 \b, 48 kBits
  695. >2 byte&0xF0 0x70 \b, 56 kBits
  696. >2 byte&0xF0 0x80 \b, 64 kBits
  697. >2 byte&0xF0 0x90 \b, 80 kBits
  698. >2 byte&0xF0 0xA0 \b, 96 kBits
  699. >2 byte&0xF0 0xB0 \b, 112 kBits
  700. >2 byte&0xF0 0xC0 \b, 128 kBits
  701. >2 byte&0xF0 0xD0 \b, 144 kBits
  702. >2 byte&0xF0 0xE0 \b, 160 kBits
  703. # timing
  704. >2 byte&0x0C 0x00 \b, 22.05 kHz
  705. >2 byte&0x0C 0x04 \b, 24 kHz
  706. >2 byte&0x0C 0x08 \b, 16 kHz
  707. # channels/options
  708. >3 byte&0xC0 0x00 \b, Stereo
  709. >3 byte&0xC0 0x40 \b, JntStereo
  710. >3 byte&0xC0 0x80 \b, 2x Monaural
  711. >3 byte&0xC0 0xC0 \b, Monaural
  712. #>1 byte ^0x01 \b, Data Verify
  713. #>2 byte &0x02 \b, Packet Pad
  714. #>2 byte &0x01 \b, Custom Flag
  715. #>3 byte &0x08 \b, Copyrighted
  716. #>3 byte &0x04 \b, Original Source
  717. #>3 byte&0x03 1 \b, NR: 50/15 ms
  718. #>3 byte&0x03 3 \b, NR: CCIT J.17
  719.  
  720. # MPA, M2A
  721. 0 beshort&0xFFFE 0xFFF6 MPEG ADTS, layer I, v2
  722. # rate
  723. >2 byte&0xF0 0x10 \b, 32 kBits
  724. >2 byte&0xF0 0x20 \b, 48 kBits
  725. >2 byte&0xF0 0x30 \b, 56 kBits
  726. >2 byte&0xF0 0x40 \b, 64 kBits
  727. >2 byte&0xF0 0x50 \b, 80 kBits
  728. >2 byte&0xF0 0x60 \b, 96 kBits
  729. >2 byte&0xF0 0x70 \b, 112 kBits
  730. >2 byte&0xF0 0x80 \b, 128 kBits
  731. >2 byte&0xF0 0x90 \b, 144 kBits
  732. >2 byte&0xF0 0xA0 \b, 160 kBits
  733. >2 byte&0xF0 0xB0 \b, 176 kBits
  734. >2 byte&0xF0 0xC0 \b, 192 kBits
  735. >2 byte&0xF0 0xD0 \b, 224 kBits
  736. >2 byte&0xF0 0xE0 \b, 256 kBits
  737. # timing
  738. >2 byte&0x0C 0x00 \b, 22.05 kHz
  739. >2 byte&0x0C 0x04 \b, 24 kHz
  740. >2 byte&0x0C 0x08 \b, 16 kHz
  741. # channels/options
  742. >3 byte&0xC0 0x00 \b, Stereo
  743. >3 byte&0xC0 0x40 \b, JntStereo
  744. >3 byte&0xC0 0x80 \b, 2x Monaural
  745. >3 byte&0xC0 0xC0 \b, Monaural
  746. #>1 byte ^0x01 \b, Data Verify
  747. #>2 byte &0x02 \b, Packet Pad
  748. #>2 byte &0x01 \b, Custom Flag
  749. #>3 byte &0x08 \b, Copyrighted
  750. #>3 byte &0x04 \b, Original Source
  751. #>3 byte&0x03 1 \b, NR: 50/15 ms
  752. #>3 byte&0x03 3 \b, NR: CCIT J.17
  753.  
  754. # MP3, M25A
  755. 0 beshort&0xFFFE 0xFFE2 MPEG ADTS, layer III, v2.5
  756. # rate
  757. >2 byte&0xF0 0x10 \b, 8 kBits
  758. >2 byte&0xF0 0x20 \b, 16 kBits
  759. >2 byte&0xF0 0x30 \b, 24 kBits
  760. >2 byte&0xF0 0x40 \b, 32 kBits
  761. >2 byte&0xF0 0x50 \b, 40 kBits
  762. >2 byte&0xF0 0x60 \b, 48 kBits
  763. >2 byte&0xF0 0x70 \b, 56 kBits
  764. >2 byte&0xF0 0x80 \b, 64 kBits
  765. >2 byte&0xF0 0x90 \b, 80 kBits
  766. >2 byte&0xF0 0xA0 \b, 96 kBits
  767. >2 byte&0xF0 0xB0 \b, 112 kBits
  768. >2 byte&0xF0 0xC0 \b, 128 kBits
  769. >2 byte&0xF0 0xD0 \b, 144 kBits
  770. >2 byte&0xF0 0xE0 \b, 160 kBits
  771. # timing
  772. >2 byte&0x0C 0x00 \b, 11.025 kHz
  773. >2 byte&0x0C 0x04 \b, 12 kHz
  774. >2 byte&0x0C 0x08 \b, 8 kHz
  775. # channels/options
  776. >3 byte&0xC0 0x00 \b, Stereo
  777. >3 byte&0xC0 0x40 \b, JntStereo
  778. >3 byte&0xC0 0x80 \b, 2x Monaural
  779. >3 byte&0xC0 0xC0 \b, Monaural
  780. #>1 byte ^0x01 \b, Data Verify
  781. #>2 byte &0x02 \b, Packet Pad
  782. #>2 byte &0x01 \b, Custom Flag
  783. #>3 byte &0x08 \b, Copyrighted
  784. #>3 byte &0x04 \b, Original Source
  785. #>3 byte&0x03 1 \b, NR: 50/15 ms
  786. #>3 byte&0x03 3 \b, NR: CCIT J.17
  787.  
  788. # AAC (aka MPEG-2 NBC audio) and MPEG-4 audio
  789.  
  790. # Stored AAC streams (instead of the MP4 format)
  791. 0 string ADIF MPEG ADIF, AAC
  792. >4 byte &0x80
  793. >>13 byte &0x10 \b, VBR
  794. >>13 byte ^0x10 \b, CBR
  795. >>16 byte&0x1E 0x02 \b, single stream
  796. >>16 byte&0x1E 0x04 \b, 2 streams
  797. >>16 byte&0x1E 0x06 \b, 3 streams
  798. >>16 byte &0x08 \b, 4 or more streams
  799. >>16 byte &0x10 \b, 8 or more streams
  800. >>4 byte &0x80 \b, Copyrighted
  801. >>13 byte &0x40 \b, Original Source
  802. >>13 byte &0x20 \b, Home Flag
  803. >4 byte ^0x80
  804. >>4 byte &0x10 \b, VBR
  805. >>4 byte ^0x10 \b, CBR
  806. >>7 byte&0x1E 0x02 \b, single stream
  807. >>7 byte&0x1E 0x04 \b, 2 streams
  808. >>7 byte&0x1E 0x06 \b, 3 streams
  809. >>7 byte &0x08 \b, 4 or more streams
  810. >>7 byte &0x10 \b, 8 or more streams
  811. >>4 byte &0x40 \b, Original Stream(s)
  812. >>4 byte &0x20 \b, Home Source
  813.  
  814. # Live or stored single AAC stream (used with MPEG-2 systems)
  815. 0 beshort&0xFFF6 0xFFF0 MPEG ADTS, AAC
  816. >1 byte &0x08 \b, v2
  817. >1 byte ^0x08 \b, v4
  818. # profile
  819. >>2 byte &0xC0 \b LTP
  820. >2 byte&0xc0 0x00 \b Main
  821. >2 byte&0xc0 0x40 \b LC
  822. >2 byte&0xc0 0x80 \b SSR
  823. # timing
  824. >2 byte&0x3c 0x00 \b, 96 kHz
  825. >2 byte&0x3c 0x04 \b, 88.2 kHz
  826. >2 byte&0x3c 0x08 \b, 64 kHz
  827. >2 byte&0x3c 0x0c \b, 48 kHz
  828. >2 byte&0x3c 0x10 \b, 44.1 kHz
  829. >2 byte&0x3c 0x14 \b, 32 kHz
  830. >2 byte&0x3c 0x18 \b, 24 kHz
  831. >2 byte&0x3c 0x1c \b, 22.05 kHz
  832. >2 byte&0x3c 0x20 \b, 16 kHz
  833. >2 byte&0x3c 0x24 \b, 12 kHz
  834. >2 byte&0x3c 0x28 \b, 11.025 kHz
  835. >2 byte&0x3c 0x2c \b, 8 kHz
  836. # channels
  837. >2 beshort&0x01c0 0x0040 \b, monaural
  838. >2 beshort&0x01c0 0x0080 \b, stereo
  839. >2 beshort&0x01c0 0x00c0 \b, stereo + center
  840. >2 beshort&0x01c0 0x0100 \b, stereo+center+LFE
  841. >2 beshort&0x01c0 0x0140 \b, surround
  842. >2 beshort&0x01c0 0x0180 \b, surround + LFE
  843. >2 beshort &0x01C0 \b, surround + side
  844. #>1 byte ^0x01 \b, Data Verify
  845. #>2 byte &0x02 \b, Custom Flag
  846. #>3 byte &0x20 \b, Original Stream
  847. #>3 byte &0x10 \b, Home Source
  848. #>3 byte &0x08 \b, Copyrighted
  849.  
  850. # Live MPEG-4 audio streams (instead of RTP FlexMux)
  851. 0 beshort&0xFFE0 0x56E0 MPEG-4 LOAS
  852. #>1 beshort&0x1FFF x \b, %u byte packet
  853. >3 byte&0xE0 0x40
  854. >>4 byte&0x3C 0x04 \b, single stream
  855. >>4 byte&0x3C 0x08 \b, 2 streams
  856. >>4 byte&0x3C 0x0C \b, 3 streams
  857. >>4 byte &0x08 \b, 4 or more streams
  858. >>4 byte &0x20 \b, 8 or more streams
  859. >3 byte&0xC0 0
  860. >>4 byte&0x78 0x08 \b, single stream
  861. >>4 byte&0x78 0x10 \b, 2 streams
  862. >>4 byte&0x78 0x18 \b, 3 streams
  863. >>4 byte &0x20 \b, 4 or more streams
  864. >>4 byte &0x40 \b, 8 or more streams
  865. 0 beshort 0x4DE1 MPEG-4 LO-EP audio stream
  866.  
  867. # FLI animation format
  868. 4 leshort 0xAF11 FLI file
  869. >6 leshort x - %d frames,
  870. >8 leshort x width=%d pixels,
  871. >10 leshort x height=%d pixels,
  872. >12 leshort x depth=%d,
  873. >16 leshort x ticks/frame=%d
  874. # FLC animation format
  875. 4 leshort 0xAF12 FLC file
  876. >6 leshort x - %d frames
  877. >8 leshort x width=%d pixels,
  878. >10 leshort x height=%d pixels,
  879. >12 leshort x depth=%d,
  880. >16 leshort x ticks/frame=%d
  881.  
  882. # DL animation format
  883. # XXX - collision with most `mips' magic
  884. #
  885. # I couldn't find a real magic number for these, however, this
  886. # -appears- to work. Note that it might catch other files, too, so be
  887. # careful!
  888. #
  889. # Note that title and author appear in the two 20-byte chunks
  890. # at decimal offsets 2 and 22, respectively, but they are XOR'ed with
  891. # 255 (hex FF)! The DL format is really bad.
  892. #
  893. #0 byte 1 DL version 1, medium format (160x100, 4 images/screen)
  894. #>42 byte x - %d screens,
  895. #>43 byte x %d commands
  896. #0 byte 2 DL version 2
  897. #>1 byte 1 - large format (320x200,1 image/screen),
  898. #>1 byte 2 - medium format (160x100,4 images/screen),
  899. #>1 byte >2 - unknown format,
  900. #>42 byte x %d screens,
  901. #>43 byte x %d commands
  902. # Based on empirical evidence, DL version 3 have several nulls following the
  903. # \003. Most of them start with non-null values at hex offset 0x34 or so.
  904. #0 string \3\0\0\0\0\0\0\0\0\0\0\0 DL version 3
  905.  
  906. # iso 13818 transport stream
  907. #
  908. # from Oskar Schirmer <[email protected]> Feb 3, 2001 (ISO 13818.1)
  909. # (the following is a little bit restrictive and works fine for a stream
  910. # that starts with PAT properly. it won't work for stream data, that is
  911. # cut from an input device data right in the middle, but this shouldn't
  912. # disturb)
  913. # syncbyte 8 bit 0x47
  914. # error_ind 1 bit -
  915. # payload_start 1 bit 1
  916. # priority 1 bit -
  917. # PID 13 bit 0x0000
  918. # scrambling 2 bit -
  919. # adaptfld_ctrl 2 bit 1 or 3
  920. # conti_count 4 bit 0
  921. 0 belong&0xFF5FFF1F 0x47400010 MPEG transport stream data
  922. >188 byte !0x47 CORRUPTED
  923.  
  924. # DIF digital video file format <[email protected]>
  925. 0 belong&0xffffff00 0x1f070000 DIF
  926. >4 byte &0x01 (DVCPRO) movie file
  927. >4 byte ^0x01 (DV) movie file
  928. >3 byte &0x80 (PAL)
  929. >3 byte ^0x80 (NTSC)
  930.  
  931. # Microsoft Advanced Streaming Format (ASF) <[email protected]>
  932. 0 belong 0x3026b275 Microsoft ASF
  933.  
  934. # MNG Video Format, <URL:http://www.libpng.org/pub/mng/spec/>
  935. 0 string \x8aMNG MNG video data,
  936. >4 belong !0x0d0a1a0a CORRUPTED,
  937. >4 belong 0x0d0a1a0a
  938. >>16 belong x %ld x
  939. >>20 belong x %ld
  940.  
  941. # JNG Video Format, <URL:http://www.libpng.org/pub/mng/spec/>
  942. 0 string \x8bJNG JNG video data,
  943. >4 belong !0x0d0a1a0a CORRUPTED,
  944. >4 belong 0x0d0a1a0a
  945. >>16 belong x %ld x
  946. >>20 belong x %ld
  947.  
  948. # Vivo video (Wolfram Kleff)
  949. 3 string \x0D\x0AVersion:Vivo Vivo video data
  950.  
  951. # VRML (Virtual Reality Modelling Language)
  952. 0 string/b #VRML\ V1.0\ ascii VRML 1 file
  953. 0 string/b #VRML\ V2.0\ utf8 ISO/IEC 14772 VRML 97 file
  954.  
  955. #---------------------------------------------------------------------------
  956. # HVQM4: compressed movie format designed by Hudson for Nintendo GameCube
  957. # From Mark Sheppard <[email protected]>, 2002-10-03
  958. #
  959. 0 string HVQM4 %s
  960. >6 string >\0 v%s
  961. >0 byte x GameCube movie,
  962. >0x34 ubeshort x %d x
  963. >0x36 ubeshort x %d,
  964. >0x26 ubeshort x %dµs,
  965. >0x42 ubeshort 0 no audio
  966. >0x42 ubeshort >0 %dHz audio
  967.  
  968. # From: "Stefan A. Haubenthal" <[email protected]>
  969. 0 string DVDVIDEO-VTS Video title set,
  970. >0x21 byte x v%x
  971. 0 string DVDVIDEO-VMG Video manager,
  972. >0x21 byte x v%x
  973.  
  974. # From: Behan Webster <[email protected]>
  975. # NuppelVideo used by Mythtv (*.nuv)
  976. 0 regex NuppelVideo|MythTVVideo MythTV NuppelVideo
  977. >12 string x v%s
  978. >20 lelong x (%d
  979. >24 lelong x \bx%d),
  980. >36 string P \bprogressive,
  981. >36 string I \binterlaced,
  982. >40 ledouble x \baspect:%.2f,
  983. >48 ledouble x \bfps:%.2f
  984.  
  985. #------------------------------------------------------------------------------
  986. # apl: file(1) magic for APL (see also "pdp" and "vax" for other APL
  987. # workspaces)
  988. #
  989. 0 long 0100554 APL workspace (Ken's original?)
  990.  
  991. #------------------------------------------------------------------------------
  992. # apple: file(1) magic for Apple file formats
  993. #
  994. 0 string FiLeStArTfIlEsTaRt binscii (apple ][) text
  995. 0 string \x0aGL Binary II (apple ][) data
  996. 0 string \x76\xff Squeezed (apple ][) data
  997. 0 string NuFile NuFile archive (apple ][) data
  998. 0 string N\xf5F\xe9l\xe5 NuFile archive (apple ][) data
  999. 0 belong 0x00051600 AppleSingle encoded Macintosh file
  1000. 0 belong 0x00051607 AppleDouble encoded Macintosh file
  1001.  
  1002. # magic for Newton PDA package formats
  1003. # from Ruda Moura <[email protected]>
  1004. 0 string package0 Newton package, NOS 1.x,
  1005. >12 belong &0x80000000 AutoRemove,
  1006. >12 belong &0x40000000 CopyProtect,
  1007. >12 belong &0x10000000 NoCompression,
  1008. >12 belong &0x04000000 Relocation,
  1009. >12 belong &0x02000000 UseFasterCompression,
  1010. >16 belong x version %d
  1011.  
  1012. 0 string package1 Newton package, NOS 2.x,
  1013. >12 belong &0x80000000 AutoRemove,
  1014. >12 belong &0x40000000 CopyProtect,
  1015. >12 belong &0x10000000 NoCompression,
  1016. >12 belong &0x04000000 Relocation,
  1017. >12 belong &0x02000000 UseFasterCompression,
  1018. >16 belong x version %d
  1019.  
  1020. 0 string package4 Newton package,
  1021. >8 byte 8 NOS 1.x,
  1022. >8 byte 9 NOS 2.x,
  1023. >12 belong &0x80000000 AutoRemove,
  1024. >12 belong &0x40000000 CopyProtect,
  1025. >12 belong &0x10000000 NoCompression,
  1026.  
  1027. # The following entries for the Apple II are for files that have
  1028. # been transferred as raw binary data from an Apple, without having
  1029. # been encapsulated by any of the above archivers.
  1030. #
  1031. # In general, Apple II formats are hard to identify because Apple DOS
  1032. # and especially Apple ProDOS have strong typing in the file system and
  1033. # therefore programmers never felt much need to include type information
  1034. # in the files themselves.
  1035. #
  1036. # Eric Fischer <[email protected]>
  1037.  
  1038. # AppleWorks word processor:
  1039. #
  1040. # This matches the standard tab stops for an AppleWorks file, but if
  1041. # a file has a tab stop set in the first four columns this will fail.
  1042. #
  1043. # The "O" is really the magic number, but that's so common that it's
  1044. # necessary to check the tab stops that follow it to avoid false positives.
  1045.  
  1046. 4 string O==== AppleWorks word processor data
  1047. >85 byte&0x01 >0 \b, zoomed
  1048. >90 byte&0x01 >0 \b, paginated
  1049. >92 byte&0x01 >0 \b, with mail merge
  1050. #>91 byte x \b, left margin %d
  1051.  
  1052. # AppleWorks database:
  1053. #
  1054. # This isn't really a magic number, but it's the closest thing to one
  1055. # that I could find. The 1 and 2 really mean "order in which you defined
  1056. # categories" and "left to right, top to bottom," respectively; the D and R
  1057. # mean that the cursor should move either down or right when you press Return.
  1058.  
  1059. #30 string \x01D AppleWorks database data
  1060. #30 string \x02D AppleWorks database data
  1061. #30 string \x01R AppleWorks database data
  1062. #30 string \x02R AppleWorks database data
  1063.  
  1064. # AppleWorks spreadsheet:
  1065. #
  1066. # Likewise, this isn't really meant as a magic number. The R or C means
  1067. # row- or column-order recalculation; the A or M means automatic or manual
  1068. # recalculation.
  1069.  
  1070. #131 string RA AppleWorks spreadsheet data
  1071. #131 string RM AppleWorks spreadsheet data
  1072. #131 string CA AppleWorks spreadsheet data
  1073. #131 string CM AppleWorks spreadsheet data
  1074.  
  1075. # Applesoft BASIC:
  1076. #
  1077. # This is incredibly sloppy, but will be true if the program was
  1078. # written at its usual memory location of 2048 and its first line
  1079. # number is less than 256. Yuck.
  1080.  
  1081. 0 belong&0xff00ff 0x80000 Applesoft BASIC program data
  1082. #>2 leshort x \b, first line number %d
  1083.  
  1084. # ORCA/EZ assembler:
  1085. #
  1086. # This will not identify ORCA/M source files, since those have
  1087. # some sort of date code instead of the two zero bytes at 6 and 7
  1088. # XXX Conflicts with ELF
  1089. #4 belong&0xff00ffff 0x01000000 ORCA/EZ assembler source data
  1090. #>5 byte x \b, build number %d
  1091.  
  1092. # Broderbund Fantavision
  1093. #
  1094. # I don't know what these values really mean, but they seem to recur.
  1095. # Will they cause too many conflicts?
  1096.  
  1097. # Probably :-)
  1098. #2 belong&0xFF00FF 0x040008 Fantavision movie data
  1099.  
  1100. # Some attempts at images.
  1101. #
  1102. # These are actually just bit-for-bit dumps of the frame buffer, so
  1103. # there's really no reasonably way to distinguish them except for their
  1104. # address (if preserved) -- 8192 or 16384 -- and their length -- 8192
  1105. # or, occasionally, 8184.
  1106. #
  1107. # Nevertheless this will manage to catch a lot of images that happen
  1108. # to have a solid-colored line at the bottom of the screen.
  1109.  
  1110. 8144 string \x7F\x7F\x7F\x7F\x7F\x7F\x7F\x7F Apple II image with white background
  1111. 8144 string \x55\x2A\x55\x2A\x55\x2A\x55\x2A Apple II image with purple background
  1112. 8144 string \x2A\x55\x2A\x55\x2A\x55\x2A\x55 Apple II image with green background
  1113. 8144 string \xD5\xAA\xD5\xAA\xD5\xAA\xD5\xAA Apple II image with blue background
  1114. 8144 string \xAA\xD5\xAA\xD5\xAA\xD5\xAA\xD5 Apple II image with orange background
  1115.  
  1116. # Beagle Bros. Apple Mechanic fonts
  1117.  
  1118. 0 belong&0xFF00FFFF 0x6400D000 Apple Mechanic font
  1119.  
  1120. # Apple Universal Disk Image Format (UDIF) - dmg files.
  1121. # From Johan Gade.
  1122. # These entries are disabled for now until we fix the following issues.
  1123. #
  1124. # Note there might be some problems with the "VAX COFF executable"
  1125. # entry. Note this entry should be placed before the mac filesystem section,
  1126. # particularly the "Apple Partition data" entry.
  1127. #
  1128. # The intended meaning of these tests is, that the file is only of the
  1129. # specified type if both of the lines are correct - i.e. if the first
  1130. # line matches and the second doesn't then it is not of that type.
  1131. #
  1132. #0 long 0x7801730d
  1133. #>4 long 0x62626060 UDIF read-only zlib-compressed image (UDZO)
  1134. #
  1135. # Note that this entry is recognized correctly by the "Apple Partition
  1136. # data" entry - however since this entry is more specific - this
  1137. # information seems to be more useful.
  1138. #0 long 0x45520200
  1139. #>0x410 string disk\ image UDIF read/write image (UDRW)
  1140.  
  1141. # From: Toby Peterson <[email protected]>
  1142. 0 string bplist00 Apple binary property list
  1143.  
  1144. # Apple binary property list (bplist)
  1145. # Assumes version bytes are hex.
  1146. # Provides content hints for version 0 files. Assumes that the root
  1147. # object is the first object (true for CoreFoundation implementation).
  1148. # From: David Remahl <[email protected]>
  1149. 0 string bplist
  1150. >6 byte x \bCoreFoundation binary property list data, version 0x%c
  1151. >>7 byte x \b%c
  1152. >6 string 00 \b
  1153. >>8 byte&0xF0 0x00 \b
  1154. >>>8 byte&0x0F 0x00 \b, root type: null
  1155. >>>8 byte&0x0F 0x08 \b, root type: false boolean
  1156. >>>8 byte&0x0F 0x09 \b, root type: true boolean
  1157. >>8 byte&0xF0 0x10 \b, root type: integer
  1158. >>8 byte&0xF0 0x20 \b, root type: real
  1159. >>8 byte&0xF0 0x30 \b, root type: date
  1160. >>8 byte&0xF0 0x40 \b, root type: data
  1161. >>8 byte&0xF0 0x50 \b, root type: ascii string
  1162. >>8 byte&0xF0 0x60 \b, root type: unicode string
  1163. >>8 byte&0xF0 0x80 \b, root type: uid (CORRUPT)
  1164. >>8 byte&0xF0 0xa0 \b, root type: array
  1165. >>8 byte&0xF0 0xd0 \b, root type: dictionary
  1166.  
  1167. # Apple/NeXT typedstream data
  1168. # Serialization format used by NeXT and Apple for various
  1169. # purposes in YellowStep/Cocoa, including some nib files.
  1170. # From: David Remahl <[email protected]>
  1171. 2 string typedstream NeXT/Apple typedstream data, big endian
  1172. >0 byte x \b, version %hhd
  1173. >0 byte <5 \b
  1174. >>13 byte 0x81 \b
  1175. >>>14 ubeshort x \b, system %hd
  1176. 2 string streamtyped NeXT/Apple typedstream data, little endian
  1177. >0 byte x \b, version %hhd
  1178. >0 byte <5 \b
  1179. >>13 byte 0x81 \b
  1180. >>>14 uleshort x \b, system %hd
  1181.  
  1182. #------------------------------------------------------------------------------
  1183. # CAF: Apple CoreAudio File Format
  1184. #
  1185. # Container format for high-end audio purposes.
  1186. # From: David Remahl <[email protected]>
  1187. #
  1188. 0 string caff CoreAudio Format audio file
  1189. >4 beshort <10 version %d
  1190. >6 beshort x
  1191.  
  1192.  
  1193. #------------------------------------------------------------------------------
  1194. # Keychain database files
  1195. 0 string kych Mac OS X Keychain File
  1196.  
  1197. #------------------------------------------------------------------------------
  1198. # Code Signing related file types
  1199. 0 belong 0xfade0c00 Mac OS X Code Requirement
  1200. >8 belong 1 (opExpr)
  1201. >4 belong x - %d bytes
  1202.  
  1203. 0 belong 0xfade0c01 Mac OS X Code Requirement Set
  1204. >8 belong >1 containing %d items
  1205. >4 belong x - %d bytes
  1206.  
  1207. 0 belong 0xfade0c02 Mac OS X Code Directory
  1208. >8 belong x version %x
  1209. >12 belong >0 flags 0x%x
  1210. >4 belong x - %d bytes
  1211.  
  1212. 0 belong 0xfade0cc0 Mac OS X Detached Code Signature (non-executable)
  1213. >4 belong x - %d bytes
  1214.  
  1215. 0 belong 0xfade0cc1 Mac OS X Detached Code Signature
  1216. >8 belong >1 (%d elements)
  1217. >4 belong x - %d bytes
  1218.  
  1219. # From: "Nelson A. de Oliveira" <[email protected]>
  1220. # .vdi
  1221. 4 string innotek\ VirtualBox\ Disk\ Image %s
  1222.  
  1223. #------------------------------------------------------------------------------
  1224. # applix: file(1) magic for Applixware
  1225. # From: Peter Soos <[email protected]>
  1226. #
  1227. 0 string *BEGIN Applixware
  1228. >7 string WORDS Words Document
  1229. >7 string GRAPHICS Graphic
  1230. >7 string RASTER Bitmap
  1231. >7 string SPREADSHEETS Spreadsheet
  1232. >7 string MACRO Macro
  1233. >7 string BUILDER Builder Object
  1234.  
  1235. #------------------------------------------------------------------------------
  1236. # archive: file(1) magic for archive formats (see also "msdos" for self-
  1237. # extracting compressed archives)
  1238. #
  1239. # cpio, ar, arc, arj, hpack, lha/lharc, rar, squish, uc2, zip, zoo, etc.
  1240. # pre-POSIX "tar" archives are handled in the C code.
  1241.  
  1242. # POSIX tar archives
  1243. 257 string ustar\0 POSIX tar archive
  1244. 257 string ustar\040\040\0 GNU tar archive
  1245.  
  1246. # cpio archives
  1247. #
  1248. # Yes, the top two "cpio archive" formats *are* supposed to just be "short".
  1249. # The idea is to indicate archives produced on machines with the same
  1250. # byte order as the machine running "file" with "cpio archive", and
  1251. # to indicate archives produced on machines with the opposite byte order
  1252. # from the machine running "file" with "byte-swapped cpio archive".
  1253. #
  1254. # The SVR4 "cpio(4)" hints that there are additional formats, but they
  1255. # are defined as "short"s; I think all the new formats are
  1256. # character-header formats and thus are strings, not numbers.
  1257. 0 short 070707 cpio archive
  1258. 0 short 0143561 byte-swapped cpio archive
  1259. 0 string 070707 ASCII cpio archive (pre-SVR4 or odc)
  1260. 0 string 070701 ASCII cpio archive (SVR4 with no CRC)
  1261. 0 string 070702 ASCII cpio archive (SVR4 with CRC)
  1262.  
  1263. # Debian package (needs to go before regular portable archives)
  1264. #
  1265. 0 string =!<arch>\ndebian
  1266. >8 string debian-split part of multipart Debian package
  1267. >8 string debian-binary Debian binary package
  1268. >68 string >\0 (format %s)
  1269. # These next two lines do not work, because a bzip2 Debian archive
  1270. # still uses gzip for the control.tar (first in the archive). Only
  1271. # data.tar varies, and the location of its filename varies too.
  1272. # file/libmagic does not current have support for ascii-string based
  1273. # (offsets) as of 2005-09-15.
  1274. #>81 string bz2 \b, uses bzip2 compression
  1275. #>84 string gz \b, uses gzip compression
  1276. #>136 ledate x created: %s
  1277.  
  1278. # other archives
  1279. 0 long 0177555 very old archive
  1280. 0 short 0177555 very old PDP-11 archive
  1281. 0 long 0177545 old archive
  1282. 0 short 0177545 old PDP-11 archive
  1283. 0 long 0100554 apl workspace
  1284. 0 string =<ar> archive
  1285.  
  1286. # MIPS archive (needs to go before regular portable archives)
  1287. #
  1288. 0 string =!<arch>\n__________E MIPS archive
  1289. >20 string U with MIPS Ucode members
  1290. >21 string L with MIPSEL members
  1291. >21 string B with MIPSEB members
  1292. >19 string L and an EL hash table
  1293. >19 string B and an EB hash table
  1294. >22 string X -- out of date
  1295.  
  1296. 0 string -h- Software Tools format archive text
  1297.  
  1298. #
  1299. # XXX - why are there multiple <ar> thingies? Note that 0x213c6172 is
  1300. # "!<ar", so, for new-style (4.xBSD/SVR2andup) archives, we have:
  1301. #
  1302. # 0 string =!<arch> current ar archive
  1303. # 0 long 0x213c6172 archive file
  1304. #
  1305. # and for SVR1 archives, we have:
  1306. #
  1307. # 0 string \<ar> System V Release 1 ar archive
  1308. # 0 string =<ar> archive
  1309. #
  1310. # XXX - did Aegis really store shared libraries, breakpointed modules,
  1311. # and absolute code program modules in the same format as new-style
  1312. # "ar" archives?
  1313. #
  1314. 0 string =!<arch> current ar archive
  1315. >8 string __.SYMDEF random library
  1316. >0 belong =65538 - pre SR9.5
  1317. >0 belong =65539 - post SR9.5
  1318. >0 beshort 2 - object archive
  1319. >0 beshort 3 - shared library module
  1320. >0 beshort 4 - debug break-pointed module
  1321. >0 beshort 5 - absolute code program module
  1322. 0 string \<ar> System V Release 1 ar archive
  1323. 0 string =<ar> archive
  1324. #
  1325. # XXX - from "vax", which appears to collect a bunch of byte-swapped
  1326. # thingies, to help you recognize VAX files on big-endian machines;
  1327. # with "leshort", "lelong", and "string", that's no longer necessary....
  1328. #
  1329. 0 belong 0x65ff0000 VAX 3.0 archive
  1330. 0 belong 0x3c61723e VAX 5.0 archive
  1331. #
  1332. 0 long 0x213c6172 archive file
  1333. 0 lelong 0177555 very old VAX archive
  1334. 0 leshort 0177555 very old PDP-11 archive
  1335. #
  1336. # XXX - "pdp" claims that 0177545 can have an __.SYMDEF member and thus
  1337. # be a random library (it said 0xff65 rather than 0177545).
  1338. #
  1339. 0 lelong 0177545 old VAX archive
  1340. >8 string __.SYMDEF random library
  1341. 0 leshort 0177545 old PDP-11 archive
  1342. >8 string __.SYMDEF random library
  1343. #
  1344. # From "pdp" (but why a 4-byte quantity?)
  1345. #
  1346. 0 lelong 0x39bed PDP-11 old archive
  1347. 0 lelong 0x39bee PDP-11 4.0 archive
  1348.  
  1349. # ARC archiver, from Daniel Quinlan ([email protected])
  1350. #
  1351. # The first byte is the magic (0x1a), byte 2 is the compression type for
  1352. # the first file (0x01 through 0x09), and bytes 3 to 15 are the MS-DOS
  1353. # filename of the first file (null terminated). Since some types collide
  1354. # we only test some types on basis of frequency: 0x08 (83%), 0x09 (5%),
  1355. # 0x02 (5%), 0x03 (3%), 0x04 (2%), 0x06 (2%). 0x01 collides with terminfo.
  1356. 0 lelong&0x8080ffff 0x0000081a ARC archive data, dynamic LZW
  1357. 0 lelong&0x8080ffff 0x0000091a ARC archive data, squashed
  1358. 0 lelong&0x8080ffff 0x0000021a ARC archive data, uncompressed
  1359. 0 lelong&0x8080ffff 0x0000031a ARC archive data, packed
  1360. 0 lelong&0x8080ffff 0x0000041a ARC archive data, squeezed
  1361. 0 lelong&0x8080ffff 0x0000061a ARC archive data, crunched
  1362. # [JW] stuff taken from idarc, obviously ARC successors:
  1363. 0 lelong&0x8080ffff 0x00000a1a PAK archive data
  1364. 0 lelong&0x8080ffff 0x0000141a ARC+ archive data
  1365. 0 lelong&0x8080ffff 0x0000481a HYP archive data
  1366.  
  1367. # Acorn archive formats (Disaster prone simpleton, [email protected])
  1368. # I can't create either SPARK or ArcFS archives so I have not tested this stuff
  1369. # [GRR: the original entries collide with ARC, above; replaced with combined
  1370. # version (not tested)]
  1371. #0 byte 0x1a RISC OS archive (spark format)
  1372. 0 string \032archive RISC OS archive (ArcFS format)
  1373. 0 string Archive\000 RISC OS archive (ArcFS format)
  1374.  
  1375. # All these were taken from idarc, many could not be verified. Unfortunately,
  1376. # there were many low-quality sigs, i.e. easy to trigger false positives.
  1377. # Please notify me of any real-world fishy/ambiguous signatures and I'll try
  1378. # to get my hands on the actual archiver and see if I find something better. [JW]
  1379. # probably many can be enhanced by finding some 0-byte or control char near the start
  1380.  
  1381. # idarc calls this Crush/Uncompressed... *shrug*
  1382. 0 string CRUSH Crush archive data
  1383. # Squeeze It (.sqz)
  1384. 0 string HLSQZ Squeeze It archive data
  1385. # SQWEZ
  1386. 0 string SQWEZ SQWEZ archive data
  1387. # HPack (.hpk)
  1388. 0 string HPAK HPack archive data
  1389. # HAP
  1390. 0 string \x91\x33HF HAP archive data
  1391. # MD/MDCD
  1392. 0 string MDmd MDCD archive data
  1393. # LIM
  1394. 0 string LIM\x1a LIM archive data
  1395. # SAR
  1396. 3 string LH5 SAR archive data
  1397. # BSArc/BS2
  1398. 0 string \212\3SB \0 BSArc/BS2 archive data
  1399. # MAR
  1400. 2 string =-ah MAR archive data
  1401. # ACB
  1402. 0 belong&0x00f800ff 0x00800000 ACB archive data
  1403. # CPZ
  1404. # TODO, this is what idarc says: 0 string \0\0\0 CPZ archive data
  1405. # JRC
  1406. 0 string JRchive JRC archive data
  1407. # Quantum
  1408. 0 string DS\0 Quantum archive data
  1409. # ReSOF
  1410. 0 string PK\3\6 ReSOF archive data
  1411. # QuArk
  1412. 0 string 7\4 QuArk archive data
  1413. # YAC
  1414. 14 string YC YAC archive data
  1415. # X1
  1416. 0 string X1 X1 archive data
  1417. 0 string XhDr X1 archive data
  1418. # CDC Codec (.dqt)
  1419. 0 belong&0xffffe000 0x76ff2000 CDC Codec archive data
  1420. # AMGC
  1421. 0 string \xad6" AMGC archive data
  1422. # NuLIB
  1423. 0 string NƵFƩlƄ NuLIB archive data
  1424. # PakLeo
  1425. 0 string LEOLZW PAKLeo archive data
  1426. # ChArc
  1427. 0 string SChF ChArc archive data
  1428. # PSA
  1429. 0 string PSA PSA archive data
  1430. # CrossePAC
  1431. 0 string DSIGDCC CrossePAC archive data
  1432. # Freeze
  1433. 0 string \x1f\x9f\x4a\x10\x0a Freeze archive data
  1434. # KBoom
  1435. 0 string ĀØMPĀØ KBoom archive data
  1436. # NSQ, must go after CDC Codec
  1437. 0 string \x76\xff NSQ archive data
  1438. # DPA
  1439. 0 string Dirk\ Paehl DPA archive data
  1440. # BA
  1441. # TODO: idarc says "bytes 0-2 == bytes 3-5"
  1442. # TTComp
  1443. 0 string \0\6 TTComp archive data
  1444. # ESP, could this conflict with Easy Software Products' (e.g.ESP ghostscript) documentation?
  1445. 0 string ESP ESP archive data
  1446. # ZPack
  1447. 0 string \1ZPK\1 ZPack archive data
  1448. # Sky
  1449. 0 string \xbc\x40 Sky archive data
  1450. # UFA
  1451. 0 string UFA UFA archive data
  1452. # Dry
  1453. 0 string =-H2O DRY archive data
  1454. # FoxSQZ
  1455. 0 string FOXSQZ FoxSQZ archive data
  1456. # AR7
  1457. 0 string ,AR7 AR7 archive data
  1458. # PPMZ
  1459. 0 string PPMZ PPMZ archive data
  1460. # MS Compress
  1461. 4 string \x88\xf0\x27 MS Compress archive data
  1462. # updated by Joerg Jenderek
  1463. >9 string \0
  1464. >>0 string KWAJ
  1465. >>>7 string \321\003 MS Compress archive data
  1466. >>>>14 ulong >0 \b, original size: %ld bytes
  1467. >>>>18 ubyte >0x65
  1468. >>>>>18 string x \b, was %.8s
  1469. >>>>>(10.b-4) string x \b.%.3s
  1470. # MP3 (archiver, not lossy audio compression)
  1471. 0 string MP3\x1a MP3-Archiver archive data
  1472. # ZET
  1473. 0 string OZƝ ZET archive data
  1474. # TSComp
  1475. 0 string \x65\x5d\x13\x8c\x08\x01\x03\x00 TSComp archive data
  1476. # ARQ
  1477. 0 string gW\4\1 ARQ archive data
  1478. # Squash
  1479. 3 string OctSqu Squash archive data
  1480. # Terse
  1481. 0 string \5\1\1\0 Terse archive data
  1482. # PUCrunch
  1483. 0 string \x01\x08\x0b\x08\xef\x00\x9e\x32\x30\x36\x31 PUCrunch archive data
  1484. # UHarc
  1485. 0 string UHA UHarc archive data
  1486. # ABComp
  1487. 0 string \2AB ABComp archive data
  1488. 0 string \3AB2 ABComp archive data
  1489. # CMP
  1490. 0 string CO\0 CMP archive data
  1491. # Splint
  1492. 0 string \x93\xb9\x06 Splint archive data
  1493. # InstallShield
  1494. 0 string \x13\x5d\x65\x8c InstallShield Z archive Data
  1495. # Gather
  1496. 1 string GTH Gather archive data
  1497. # BOA
  1498. 0 string BOA BOA archive data
  1499. # RAX
  1500. 0 string ULEB\xa RAX archive data
  1501. # Xtreme
  1502. 0 string ULEB\0 Xtreme archive data
  1503. # Pack Magic
  1504. 0 string @Ć¢\1\0 Pack Magic archive data
  1505. # BTS
  1506. 0 belong&0xfeffffff 0x1a034465 BTS archive data
  1507. # ELI 5750
  1508. 0 string Ora\ ELI 5750 archive data
  1509. # QFC
  1510. 0 string \x1aFC\x1a QFC archive data
  1511. 0 string \x1aQF\x1a QFC archive data
  1512. # PRO-PACK
  1513. 0 string RNC PRO-PACK archive data
  1514. # 777
  1515. 0 string 777 777 archive data
  1516. # LZS221
  1517. 0 string sTaC LZS221 archive data
  1518. # HPA
  1519. 0 string HPA HPA archive data
  1520. # Arhangel
  1521. 0 string LG Arhangel archive data
  1522. # EXP1, uses bzip2
  1523. 0 string 0123456789012345BZh EXP1 archive data
  1524. # IMP
  1525. 0 string IMP\xa IMP archive data
  1526. # NRV
  1527. 0 string \x00\x9E\x6E\x72\x76\xFF NRV archive data
  1528. # Squish
  1529. 0 string \x73\xb2\x90\xf4 Squish archive data
  1530. # Par
  1531. 0 string PHILIPP Par archive data
  1532. 0 string PAR Par archive data
  1533. # HIT
  1534. 0 string UB HIT archive data
  1535. # SBX
  1536. 0 belong&0xfffff000 0x53423000 SBX archive data
  1537. # NaShrink
  1538. 0 string NSK NaShrink archive data
  1539. # SAPCAR
  1540. 0 string #\ CAR\ archive\ header SAPCAR archive data
  1541. 0 string CAR\ 2.00RG SAPCAR archive data
  1542. # Disintegrator
  1543. 0 string DST Disintegrator archive data
  1544. # ASD
  1545. 0 string ASD ASD archive data
  1546. # InstallShield CAB
  1547. 0 string ISc( InstallShield CAB
  1548. # TOP4
  1549. 0 string T4\x1a TOP4 archive data
  1550. # BatComp left out: sig looks like COM executable
  1551. # so TODO: get real 4dos batcomp file and find sig
  1552. # BlakHole
  1553. 0 string BH\5\7 BlakHole archive data
  1554. # BIX
  1555. 0 string BIX0 BIX archive data
  1556. # ChiefLZA
  1557. 0 string ChfLZ ChiefLZA archive data
  1558. # Blink
  1559. 0 string Blink Blink archive data
  1560. # Logitech Compress
  1561. 0 string \xda\xfa Logitech Compress archive data
  1562. # ARS-Sfx (FIXME: really a SFX? then goto COM/EXE)
  1563. 1 string (C)\ STEPANYUK ARS-Sfx archive data
  1564. # AKT/AKT32
  1565. 0 string AKT32 AKT32 archive data
  1566. 0 string AKT AKT archive data
  1567. # NPack
  1568. 0 string MSTSM NPack archive data
  1569. # PFT
  1570. 0 string \0\x50\0\x14 PFT archive data
  1571. # SemOne
  1572. 0 string SEM SemOne archive data
  1573. # PPMD
  1574. 0 string \x8f\xaf\xac\x84 PPMD archive data
  1575. # FIZ
  1576. 0 string FIZ FIZ archive data
  1577. # MSXiE
  1578. 0 belong&0xfffff0f0 0x4d530000 MSXiE archive data
  1579. # DeepFreezer
  1580. 0 belong&0xfffffff0 0x797a3030 DeepFreezer archive data
  1581. # DC
  1582. 0 string =<DC- DC archive data
  1583. # TPac
  1584. 0 string \4TPAC\3 TPac archive data
  1585. # Ai
  1586. 0 string Ai\1\1\0 Ai archive data
  1587. 0 string Ai\1\0\0 Ai archive data
  1588. # Ai32
  1589. 0 string Ai\2\0 Ai32 archive data
  1590. 0 string Ai\2\1 Ai32 archive data
  1591. # SBC
  1592. 0 string SBC SBC archive data
  1593. # Ybs
  1594. 0 string YBS Ybs archive data
  1595. # DitPack
  1596. 0 string \x9e\0\0 DitPack archive data
  1597. # DMS
  1598. 0 string DMS! DMS archive data
  1599. # EPC
  1600. 0 string \x8f\xaf\xac\x8c EPC archive data
  1601. # VSARC
  1602. 0 string VS\x1a VSARC archive data
  1603. # PDZ
  1604. 0 string PDZ PDZ archive data
  1605. # ReDuq
  1606. 0 string rdqx ReDuq archive data
  1607. # GCA
  1608. 0 string GCAX GCA archive data
  1609. # PPMN
  1610. 0 string pN PPMN archive data
  1611. # WinImage
  1612. 3 string WINIMAGE WinImage archive data
  1613. # Compressia
  1614. 0 string CMP0CMP Compressia archive data
  1615. # UHBC
  1616. 0 string UHB UHBC archive data
  1617. # WinHKI
  1618. 0 string \x61\x5C\x04\x05 WinHKI archive data
  1619. # WWPack data file
  1620. 0 string WWP WWPack archive data
  1621. # BSN (BSA, PTS-DOS)
  1622. 0 string \xffBSG BSN archive data
  1623. 1 string \xffBSG BSN archive data
  1624. 3 string \xffBSG BSN archive data
  1625. 1 string \0\xae\2 BSN archive data
  1626. 1 string \0\xae\3 BSN archive data
  1627. 1 string \0\xae\7 BSN archive data
  1628. # AIN
  1629. 0 string \x33\x18 AIN archive data
  1630. 0 string \x33\x17 AIN archive data
  1631. # XPA32
  1632. 0 string xpa\0\1 XPA32 archive data
  1633. # SZip (TODO: doesn't catch all versions)
  1634. 0 string SZ\x0a\4 SZip archive data
  1635. # XPack DiskImage
  1636. 0 string jm XPack DiskImage archive data
  1637. # XPack Data
  1638. 0 string xpa XPack archive data
  1639. # XPack Single Data
  1640. 0 string ƍ\ jm XPack single archive data
  1641.  
  1642. # TODO: missing due to unknown magic/magic at end of file:
  1643. #DWC
  1644. #ARG
  1645. #ZAR
  1646. #PC/3270
  1647. #InstallIt
  1648. #RKive
  1649. #RK
  1650. #XPack Diskimage
  1651.  
  1652. # These were inspired by idarc, but actually verified
  1653. # Dzip archiver (.dz)
  1654. 0 string DZ Dzip archive data
  1655. >2 byte x \b, version %i
  1656. >3 byte x \b.%i
  1657. # ZZip archiver (.zz)
  1658. 0 string ZZ\ \0\0 ZZip archive data
  1659. 0 string ZZ0 ZZip archive data
  1660. # PAQ archiver (.paq)
  1661. 0 string \xaa\x40\x5f\x77\x1f\xe5\x82\x0d PAQ archive data
  1662. 0 string PAQ PAQ archive data
  1663. >3 byte&0xf0 0x30
  1664. >>3 byte x (v%c)
  1665. # JAR archiver (.j), this is the successor to ARJ, not Java's JAR (which is essentially ZIP)
  1666. 0xe string \x1aJar\x1b JAR (ARJ Software, Inc.) archive data
  1667. 0 string JARCS JAR (ARJ Software, Inc.) archive data
  1668.  
  1669. # ARJ archiver ([email protected])
  1670. 0 leshort 0xea60 ARJ archive data
  1671. >5 byte x \b, v%d,
  1672. >8 byte &0x04 multi-volume,
  1673. >8 byte &0x10 slash-switched,
  1674. >8 byte &0x20 backup,
  1675. >34 string x original name: %s,
  1676. >7 byte 0 os: MS-DOS
  1677. >7 byte 1 os: PRIMOS
  1678. >7 byte 2 os: Unix
  1679. >7 byte 3 os: Amiga
  1680. >7 byte 4 os: Macintosh
  1681. >7 byte 5 os: OS/2
  1682. >7 byte 6 os: Apple ][ GS
  1683. >7 byte 7 os: Atari ST
  1684. >7 byte 8 os: NeXT
  1685. >7 byte 9 os: VAX/VMS
  1686. >3 byte >0 %d]
  1687. # [JW] idarc says this is also possible
  1688. 2 leshort 0xea60 ARJ archive data
  1689.  
  1690. # HA archiver (Greg Roelofs, [email protected])
  1691. # This is a really bad format. A file containing HAWAII will match this...
  1692. #0 string HA HA archive data,
  1693. #>2 leshort =1 1 file,
  1694. #>2 leshort >1 %u files,
  1695. #>4 byte&0x0f =0 first is type CPY
  1696. #>4 byte&0x0f =1 first is type ASC
  1697. #>4 byte&0x0f =2 first is type HSC
  1698. #>4 byte&0x0f =0x0e first is type DIR
  1699. #>4 byte&0x0f =0x0f first is type SPECIAL
  1700. # suggestion: at least identify small archives (<1024 files)
  1701. 0 belong&0xffff00fc 0x48410000 HA archive data
  1702. >2 leshort =1 1 file,
  1703. >2 leshort >1 %u files,
  1704. >4 byte&0x0f =0 first is type CPY
  1705. >4 byte&0x0f =1 first is type ASC
  1706. >4 byte&0x0f =2 first is type HSC
  1707. >4 byte&0x0f =0x0e first is type DIR
  1708. >4 byte&0x0f =0x0f first is type SPECIAL
  1709.  
  1710. # HPACK archiver (Peter Gutmann, [email protected])
  1711. 0 string HPAK HPACK archive data
  1712.  
  1713. # JAM Archive volume format, by [email protected]
  1714. 0 string \351,\001JAM\ JAM archive,
  1715. >7 string >\0 version %.4s
  1716. >0x26 byte =0x27 -
  1717. >>0x2b string >\0 label %.11s,
  1718. >>0x27 lelong x serial %08x,
  1719. >>0x36 string >\0 fstype %.8s
  1720.  
  1721. # LHARC/LHA archiver (Greg Roelofs, [email protected])
  1722. 2 string -lh0- LHarc 1.x/ARX archive data [lh0]
  1723. 2 string -lh1- LHarc 1.x/ARX archive data [lh1]
  1724. 2 string -lz4- LHarc 1.x archive data [lz4]
  1725. 2 string -lz5- LHarc 1.x archive data [lz5]
  1726. # [never seen any but the last; -lh4- reported in comp.compression:]
  1727. 2 string -lzs- LHa/LZS archive data [lzs]
  1728. 2 string -lh\40- LHa 2.x? archive data [lh ]
  1729. 2 string -lhd- LHa 2.x? archive data [lhd]
  1730. 2 string -lh2- LHa 2.x? archive data [lh2]
  1731. 2 string -lh3- LHa 2.x? archive data [lh3]
  1732. 2 string -lh4- LHa (2.x) archive data [lh4]
  1733. 2 string -lh5- LHa (2.x) archive data [lh5]
  1734. 2 string -lh6- LHa (2.x) archive data [lh6]
  1735. 2 string -lh7- LHa (2.x)/LHark archive data [lh7]
  1736. >20 byte x - header level %d
  1737. # taken from idarc [JW]
  1738. 2 string -lZ PUT archive data
  1739. 2 string -lz LZS archive data
  1740. 2 string -sw1- Swag archive data
  1741.  
  1742. # RAR archiver (Greg Roelofs, [email protected])
  1743. 0 string Rar! RAR archive data,
  1744. >44 byte x v%0x,
  1745. >10 byte >0 flags:
  1746. >>10 byte &0x01 Archive volume,
  1747. >>10 byte &0x02 Commented,
  1748. >>10 byte &0x04 Locked,
  1749. >>10 byte &0x08 Solid,
  1750. >>10 byte &0x20 Authenticated,
  1751. >35 byte 0 os: MS-DOS
  1752. >35 byte 1 os: OS/2
  1753. >35 byte 2 os: Win32
  1754. >35 byte 3 os: Unix
  1755. # some old version? idarc says:
  1756. 0 string RE\x7e\x5e RAR archive data
  1757.  
  1758. # SQUISH archiver (Greg Roelofs, [email protected])
  1759. 0 string SQSH squished archive data (Acorn RISCOS)
  1760.  
  1761. # UC2 archiver (Greg Roelofs, [email protected])
  1762. # [JW] see exe section for self-extracting version
  1763. 0 string UC2\x1a UC2 archive data
  1764.  
  1765. # ZIP archives (Greg Roelofs, c/o [email protected])
  1766. 0 string PK\003\004
  1767. >4 byte 0x00 Zip archive data
  1768. >4 byte 0x09 Zip archive data, at least v0.9 to extract
  1769. >4 byte 0x0a Zip archive data, at least v1.0 to extract
  1770. >4 byte 0x0b Zip archive data, at least v1.1 to extract
  1771. >4 byte 0x14
  1772. >>30 ubelong !0x6d696d65 Zip archive data, at least v2.0 to extract
  1773. >0x161 string WINZIP Zip archive data, WinZIP self-extracting
  1774.  
  1775.  
  1776. # OpenOffice.org / KOffice / StarOffice documents
  1777. # From: Abel Cheung <[email protected]>
  1778. # Listed here because they are basically zip files
  1779. >>30 string mimetype
  1780.  
  1781. # KOffice (1.2 or above) formats
  1782. >>>50 string vnd.kde. KOffice (>=1.2)
  1783. >>>>58 string karbon Karbon document
  1784. >>>>58 string kchart KChart document
  1785. >>>>58 string kformula KFormula document
  1786. >>>>58 string kivio Kivio document
  1787. >>>>58 string kontour Kontour document
  1788. >>>>58 string kpresenter KPresenter document
  1789. >>>>58 string kspread KSpread document
  1790. >>>>58 string kword KWord document
  1791.  
  1792. # OpenOffice formats (for OpenOffice 1.x / StarOffice 6/7)
  1793. >>>50 string vnd.sun.xml. OpenOffice.org 1.x
  1794. >>>>62 string writer Writer
  1795. >>>>>68 byte !0x2e document
  1796. >>>>>68 string .template template
  1797. >>>>>68 string .global global document
  1798. >>>>62 string calc Calc
  1799. >>>>>66 byte !0x2e spreadsheet
  1800. >>>>>66 string .template template
  1801. >>>>62 string draw Draw
  1802. >>>>>66 byte !0x2e document
  1803. >>>>>66 string .template template
  1804. >>>>62 string impress Impress
  1805. >>>>>69 byte !0x2e presentation
  1806. >>>>>69 string .template template
  1807. >>>>62 string math Math document
  1808.  
  1809. # OpenDocument formats (for OpenOffice 2.x / StarOffice >= 8)
  1810. # http://lists.oasis-open.org/archives/office/200505/msg00006.html
  1811. >>>50 string vnd.oasis.opendocument. OpenDocument
  1812. >>>>73 string text
  1813. >>>>>77 byte !0x2d Text
  1814. >>>>>77 string -template Text Template
  1815. >>>>>77 string -web HTML Document Template
  1816. >>>>>77 string -master Master Document
  1817. >>>>73 string graphics Drawing
  1818. >>>>>81 string -template Template
  1819. >>>>73 string presentation Presentation
  1820. >>>>>85 string -template Template
  1821. >>>>73 string spreadsheet Spreadsheet
  1822. >>>>>84 string -template Template
  1823. >>>>73 string chart Chart
  1824. >>>>>78 string -template Template
  1825. >>>>73 string formula Formula
  1826. >>>>>80 string -template Template
  1827. >>>>73 string database Database
  1828. >>>>73 string image Image
  1829.  
  1830. # Zoo archiver
  1831. 20 lelong 0xfdc4a7dc Zoo archive data
  1832. >4 byte >48 \b, v%c.
  1833. >>6 byte >47 \b%c
  1834. >>>7 byte >47 \b%c
  1835. >32 byte >0 \b, modify: v%d
  1836. >>33 byte x \b.%d+
  1837. >42 lelong 0xfdc4a7dc \b,
  1838. >>70 byte >0 extract: v%d
  1839. >>>71 byte x \b.%d+
  1840.  
  1841. # Shell archives
  1842. 10 string #\ This\ is\ a\ shell\ archive shell archive text
  1843.  
  1844. #
  1845. # LBR. NB: May conflict with the questionable
  1846. # "binary Computer Graphics Metafile" format.
  1847. #
  1848. 0 string \0\ \ \ \ \ \ \ \ \ \ \ \0\0 LBR archive data
  1849. #
  1850. # PMA (CP/M derivative of LHA)
  1851. #
  1852. 2 string -pm0- PMarc archive data [pm0]
  1853. 2 string -pm1- PMarc archive data [pm1]
  1854. 2 string -pm2- PMarc archive data [pm2]
  1855. 2 string -pms- PMarc SFX archive (CP/M, DOS)
  1856. 5 string -pc1- PopCom compressed executable (CP/M)
  1857.  
  1858. # From Rafael Laboissiere <[email protected]>
  1859. # The Project Revision Control System (see
  1860. # http://prcs.sourceforge.net) generates a packaged project
  1861. # file which is recognized by the following entry:
  1862. 0 leshort 0xeb81 PRCS packaged project
  1863.  
  1864. # Microsoft cabinets
  1865. # by David Necas (Yeti) <[email protected]>
  1866. #0 string MSCF\0\0\0\0 Microsoft cabinet file data,
  1867. #>25 byte x v%d
  1868. #>24 byte x \b.%d
  1869. # MPi: All CABs have version 1.3, so this is pointless.
  1870. # Better magic in debian-additions.
  1871.  
  1872. # GTKtalog catalogs
  1873. # by David Necas (Yeti) <[email protected]>
  1874. 4 string gtktalog\ GTKtalog catalog data,
  1875. >13 string 3 version 3
  1876. >>14 beshort 0x677a (gzipped)
  1877. >>14 beshort !0x677a (not gzipped)
  1878. >13 string >3 version %s
  1879.  
  1880. ############################################################################
  1881. # Parity archive reconstruction file, the 'par' file format now used on Usenet.
  1882. 0 string PAR\0 PARity archive data
  1883. >48 leshort =0 - Index file
  1884. >48 leshort >0 - file number %d
  1885.  
  1886. # Felix von Leitner <[email protected]>
  1887. 0 string d8:announce BitTorrent file
  1888.  
  1889. # Atari MSA archive - Teemu Hukkanen <[email protected]>
  1890. 0 beshort 0x0e0f Atari MSA archive data
  1891. >2 beshort x \b, %d sectors per track
  1892. >4 beshort 0 \b, 1 sided
  1893. >4 beshort 1 \b, 2 sided
  1894. >6 beshort x \b, starting track: %d
  1895. >8 beshort x \b, ending track: %d
  1896.  
  1897. # Alternate ZIP string ([email protected])
  1898. 0 string PK00PK\003\004 Zip archive data
  1899.  
  1900. # ACE archive (from http://www.wotsit.org/download.asp?f=ace)
  1901. # by Stefan `Sec` Zehl <[email protected]>
  1902. 7 string **ACE** ACE archive data
  1903. >15 byte >0 version %d
  1904. >16 byte =0x00 \b, from MS-DOS
  1905. >16 byte =0x01 \b, from OS/2
  1906. >16 byte =0x02 \b, from Win/32
  1907. >16 byte =0x03 \b, from Unix
  1908. >16 byte =0x04 \b, from MacOS
  1909. >16 byte =0x05 \b, from WinNT
  1910. >16 byte =0x06 \b, from Primos
  1911. >16 byte =0x07 \b, from AppleGS
  1912. >16 byte =0x08 \b, from Atari
  1913. >16 byte =0x09 \b, from Vax/VMS
  1914. >16 byte =0x0A \b, from Amiga
  1915. >16 byte =0x0B \b, from Next
  1916. >14 byte x \b, version %d to extract
  1917. >5 leshort &0x0080 \b, multiple volumes,
  1918. >>17 byte x \b (part %d),
  1919. >5 leshort &0x0002 \b, contains comment
  1920. >5 leshort &0x0200 \b, sfx
  1921. >5 leshort &0x0400 \b, small dictionary
  1922. >5 leshort &0x0800 \b, multi-volume
  1923. >5 leshort &0x1000 \b, contains AV-String
  1924. >>30 string \x16*UNREGISTERED\x20VERSION* (unregistered)
  1925. >5 leshort &0x2000 \b, with recovery record
  1926. >5 leshort &0x4000 \b, locked
  1927. >5 leshort &0x8000 \b, solid
  1928. # Date in MS-DOS format (whatever that is)
  1929. #>18 lelong x Created on
  1930.  
  1931. # sfArk : compression program for Soundfonts (sf2) by Dirk Jagdmann
  1932. 0x1A string sfArk sfArk compressed Soundfont
  1933. >0x15 string 2
  1934. >>0x1 string >\0 Version %s
  1935. >>0x2A string >\0 : %s
  1936.  
  1937. # DR-DOS 7.03 Packed File *.??_
  1938. 0 string Packed\ File\ Personal NetWare Packed File
  1939. >12 string x \b, was "%.12s"
  1940.  
  1941. # EET archive
  1942. # From: Tilman Sauerbeck <[email protected]>
  1943. 0 belong 0x1ee7ff00 EET archive
  1944.  
  1945. # rzip archives
  1946. 0 string RZIP rzip compressed data
  1947. >4 byte x - version %d
  1948. >5 byte x \b.%d
  1949. >6 belong x (%d bytes)
  1950.  
  1951. # From: "Robert Dale" <[email protected]>
  1952. 0 belong 123 dar archive,
  1953. >4 belong x label "%.8x
  1954. >>8 belong x %.8x
  1955. >>>12 beshort x %.4x"
  1956. >14 byte 0x54 end slice
  1957. >14 beshort 0x4e4e multi-part
  1958. >14 beshort 0x4e53 multi-part, with -S
  1959.  
  1960. # Symbian installation files
  1961. # http://www.thouky.co.uk/software/psifs/sis.html
  1962. # http://developer.symbian.com/main/downloads/papers/SymbianOSv91/softwareinstallsis.pdf
  1963. 8 lelong 0x10000419 Symbian installation file
  1964. >4 lelong 0x1000006D (EPOC release 3/4/5)
  1965. >4 lelong 0x10003A12 (EPOC release 6)
  1966. 0 lelong 0x10201A7A Symbian installation file (Symbian OS 9.x)
  1967.  
  1968. # Pack200 Java archives, http://jcp.org/en/jsr/detail?id=200
  1969. 0 belong 0xcafed00d Pack200 Java archive
  1970.  
  1971. # From "Nelson A. de Oliveira" <[email protected]>
  1972. 0 string MPQ\032 MoPaQ (MPQ) archive
  1973.  
  1974. # From: Dirk Jagdmann <[email protected]>
  1975. # xar archive format: http://code.google.com/p/xar/
  1976. 0 string xar! xar archive
  1977. >6 beshort x - version %ld
  1978.  
  1979. # From: "Nelson A. de Oliveira" <[email protected]>
  1980. # .kgb
  1981. 0 string KGB_arch KGB Archiver file
  1982. >10 string x with compression level %.1s
  1983.  
  1984. #------------------------------------------------------------------------------
  1985. # asterix: file(1) magic for Aster*x; SunOS 5.5.1 gave the 4-character
  1986. # strings as "long" - we assume they're just strings:
  1987. # From: [email protected] (Guy Harris)
  1988. #
  1989. 0 string *STA Aster*x
  1990. >7 string WORD Words Document
  1991. >7 string GRAP Graphic
  1992. >7 string SPRE Spreadsheet
  1993. >7 string MACR Macro
  1994. 0 string 2278 Aster*x Version 2
  1995. >29 byte 0x36 Words Document
  1996. >29 byte 0x35 Graphic
  1997. >29 byte 0x32 Spreadsheet
  1998. >29 byte 0x38 Macro
  1999.  
  2000.  
  2001. #------------------------------------------------------------------------------
  2002. # att3b: file(1) magic for AT&T 3B machines
  2003. #
  2004. # The `versions' should be un-commented if they work for you.
  2005. # (Was the problem just one of endianness?)
  2006. #
  2007. # 3B20
  2008. #
  2009. # The 3B20 conflicts with SCCS.
  2010. #0 beshort 0550 3b20 COFF executable
  2011. #>12 belong >0 not stripped
  2012. #>22 beshort >0 - version %ld
  2013. #0 beshort 0551 3b20 COFF executable (TV)
  2014. #>12 belong >0 not stripped
  2015. #>22 beshort >0 - version %ld
  2016. #
  2017. # WE32K
  2018. #
  2019. 0 beshort 0560 WE32000 COFF
  2020. >18 beshort ^00000020 object
  2021. >18 beshort &00000020 executable
  2022. >12 belong >0 not stripped
  2023. >18 beshort ^00010000 N/A on 3b2/300 w/paging
  2024. >18 beshort &00020000 32100 required
  2025. >18 beshort &00040000 and MAU hardware required
  2026. >20 beshort 0407 (impure)
  2027. >20 beshort 0410 (pure)
  2028. >20 beshort 0413 (demand paged)
  2029. >20 beshort 0443 (target shared library)
  2030. >22 beshort >0 - version %ld
  2031. 0 beshort 0561 WE32000 COFF executable (TV)
  2032. >12 belong >0 not stripped
  2033. #>18 beshort &00020000 - 32100 required
  2034. #>18 beshort &00040000 and MAU hardware required
  2035. #>22 beshort >0 - version %ld
  2036. #
  2037. # core file for 3b2
  2038. 0 string \000\004\036\212\200 3b2 core file
  2039. >364 string >\0 of '%s'
  2040.  
  2041. #------------------------------------------------------------------------------
  2042. # audio: file(1) magic for sound formats (see also "iff")
  2043. #
  2044. # Jan Nicolai Langfeldt ([email protected]), Dan Quinlan ([email protected]),
  2045. # and others
  2046. #
  2047.  
  2048. # Sun/NeXT audio data
  2049. 0 string .snd Sun/NeXT audio data:
  2050. >12 belong 1 8-bit ISDN mu-law,
  2051. >12 belong 2 8-bit linear PCM [REF-PCM],
  2052. >12 belong 3 16-bit linear PCM,
  2053. >12 belong 4 24-bit linear PCM,
  2054. >12 belong 5 32-bit linear PCM,
  2055. >12 belong 6 32-bit IEEE floating point,
  2056. >12 belong 7 64-bit IEEE floating point,
  2057. >12 belong 8 Fragmented sample data,
  2058. >12 belong 10 DSP program,
  2059. >12 belong 11 8-bit fixed point,
  2060. >12 belong 12 16-bit fixed point,
  2061. >12 belong 13 24-bit fixed point,
  2062. >12 belong 14 32-bit fixed point,
  2063. >12 belong 18 16-bit linear with emphasis,
  2064. >12 belong 19 16-bit linear compressed,
  2065. >12 belong 20 16-bit linear with emphasis and compression,
  2066. >12 belong 21 Music kit DSP commands,
  2067. >12 belong 23 8-bit ISDN mu-law compressed (CCITT G.721 ADPCM voice enc.),
  2068. >12 belong 24 compressed (8-bit CCITT G.722 ADPCM)
  2069. >12 belong 25 compressed (3-bit CCITT G.723.3 ADPCM),
  2070. >12 belong 26 compressed (5-bit CCITT G.723.5 ADPCM),
  2071. >12 belong 27 8-bit A-law (CCITT G.711),
  2072. >20 belong 1 mono,
  2073. >20 belong 2 stereo,
  2074. >20 belong 4 quad,
  2075. >16 belong >0 %d Hz
  2076.  
  2077. # DEC systems (e.g. DECstation 5000) use a variant of the Sun/NeXT format
  2078. # that uses little-endian encoding and has a different magic number
  2079. 0 lelong 0x0064732E DEC audio data:
  2080. >12 lelong 1 8-bit ISDN mu-law,
  2081. >12 lelong 2 8-bit linear PCM [REF-PCM],
  2082. >12 lelong 3 16-bit linear PCM,
  2083. >12 lelong 4 24-bit linear PCM,
  2084. >12 lelong 5 32-bit linear PCM,
  2085. >12 lelong 6 32-bit IEEE floating point,
  2086. >12 lelong 7 64-bit IEEE floating point,
  2087. >12 belong 8 Fragmented sample data,
  2088. >12 belong 10 DSP program,
  2089. >12 belong 11 8-bit fixed point,
  2090. >12 belong 12 16-bit fixed point,
  2091. >12 belong 13 24-bit fixed point,
  2092. >12 belong 14 32-bit fixed point,
  2093. >12 belong 18 16-bit linear with emphasis,
  2094. >12 belong 19 16-bit linear compressed,
  2095. >12 belong 20 16-bit linear with emphasis and compression,
  2096. >12 belong 21 Music kit DSP commands,
  2097. >12 lelong 23 8-bit ISDN mu-law compressed (CCITT G.721 ADPCM voice enc.),
  2098. >12 belong 24 compressed (8-bit CCITT G.722 ADPCM)
  2099. >12 belong 25 compressed (3-bit CCITT G.723.3 ADPCM),
  2100. >12 belong 26 compressed (5-bit CCITT G.723.5 ADPCM),
  2101. >12 belong 27 8-bit A-law (CCITT G.711),
  2102. >20 lelong 1 mono,
  2103. >20 lelong 2 stereo,
  2104. >20 lelong 4 quad,
  2105. >16 lelong >0 %d Hz
  2106.  
  2107. # Creative Labs AUDIO stuff
  2108. 0 string MThd Standard MIDI data
  2109. >8 beshort x (format %d)
  2110. >10 beshort x using %d track
  2111. >10 beshort >1 \bs
  2112. >12 beshort&0x7fff x at 1/%d
  2113. >12 beshort&0x8000 >0 SMPTE
  2114.  
  2115. 0 string CTMF Creative Music (CMF) data
  2116. 0 string SBI SoundBlaster instrument data
  2117. 0 string Creative\ Voice\ File Creative Labs voice data
  2118. # is this next line right? it came this way...
  2119. >19 byte 0x1A
  2120. >23 byte >0 - version %d
  2121. >22 byte >0 \b.%d
  2122.  
  2123. # first entry is also the string "NTRK"
  2124. 0 belong 0x4e54524b MultiTrack sound data
  2125. >4 belong x - version %ld
  2126.  
  2127. # Extended MOD format (*.emd) (Greg Roelofs, [email protected]); NOT TESTED
  2128. # [based on posting 940824 by "Dirk/Elastik", [email protected]]
  2129. 0 string EMOD Extended MOD sound data,
  2130. >4 byte&0xf0 x version %d
  2131. >4 byte&0x0f x \b.%d,
  2132. >45 byte x %d instruments
  2133. >83 byte 0 (module)
  2134. >83 byte 1 (song)
  2135.  
  2136. # Real Audio (Magic .ra\0375)
  2137. 0 belong 0x2e7261fd RealAudio sound file
  2138. 0 string .RMF RealMedia file
  2139.  
  2140. # MTM/669/FAR/S3M/ULT/XM format checking [Aaron Eppert, [email protected]]
  2141. # Oct 31, 1995
  2142. # fixed by <[email protected]> 2003-06-24
  2143. # Too short...
  2144. #0 string MTM MultiTracker Module sound file
  2145. #0 string if Composer 669 Module sound data
  2146. #0 string JN Composer 669 Module sound data (extended format)
  2147. 0 string MAS_U ULT(imate) Module sound data
  2148.  
  2149. #0 string FAR Module sound data
  2150. #>4 string >\15 Title: "%s"
  2151.  
  2152. 0x2c string SCRM ScreamTracker III Module sound data
  2153. >0 string >\0 Title: "%s"
  2154.  
  2155. # Gravis UltraSound patches
  2156.  
  2157. 0 string GF1PATCH110\0ID#000002\0 GUS patch
  2158. 0 string GF1PATCH100\0ID#000002\0 Old GUS patch
  2159.  
  2160. #
  2161. # Taken from loader code from mikmod version 2.14
  2162. # by Steve McIntyre ([email protected])
  2163. # <[email protected]> added title printing on 2003-06-24
  2164. 0 string MAS_UTrack_V00
  2165. >14 string >/0 ultratracker V1.%.1s module sound data
  2166.  
  2167. 0 string UN05 MikMod UNI format module sound data
  2168.  
  2169. 0 string Extended\ Module: Fasttracker II module sound data
  2170. >17 string >\0 Title: "%s"
  2171.  
  2172. 21 string/c =!SCREAM! Screamtracker 2 module sound data
  2173. 21 string BMOD2STM Screamtracker 2 module sound data
  2174. 1080 string M.K. 4-channel Protracker module sound data
  2175. >0 string >\0 Title: "%s"
  2176. 1080 string M!K! 4-channel Protracker module sound data
  2177. >0 string >\0 Title: "%s"
  2178. 1080 string FLT4 4-channel Startracker module sound data
  2179. >0 string >\0 Title: "%s"
  2180. 1080 string FLT8 8-channel Startracker module sound data
  2181. >0 string >\0 Title: "%s"
  2182. 1080 string 4CHN 4-channel Fasttracker module sound data
  2183. >0 string >\0 Title: "%s"
  2184. 1080 string 6CHN 6-channel Fasttracker module sound data
  2185. >0 string >\0 Title: "%s"
  2186. 1080 string 8CHN 8-channel Fasttracker module sound data
  2187. >0 string >\0 Title: "%s"
  2188. 1080 string CD81 8-channel Octalyser module sound data
  2189. >0 string >\0 Title: "%s"
  2190. 1080 string OKTA 8-channel Oktalyzer module sound data
  2191. >0 string >\0 Title: "%s"
  2192. # Not good enough.
  2193. #1082 string CH
  2194. #>1080 string >/0 %.2s-channel Fasttracker "oktalyzer" module sound data
  2195. 1080 string 16CN 16-channel Taketracker module sound data
  2196. >0 string >\0 Title: "%s"
  2197. 1080 string 32CN 32-channel Taketracker module sound data
  2198. >0 string >\0 Title: "%s"
  2199.  
  2200. # TOC sound files -Trevor Johnson <[email protected]>
  2201. #
  2202. 0 string TOC TOC sound file
  2203.  
  2204. # sidfiles <[email protected]>
  2205. # added name,author,(c) and new RSID type by <[email protected]> 2003-06-24
  2206. 0 string SIDPLAY\ INFOFILE Sidplay info file
  2207.  
  2208. 0 string PSID PlaySID v2.2+ (AMIGA) sidtune
  2209. >4 beshort >0 w/ header v%d,
  2210. >14 beshort =1 single song,
  2211. >14 beshort >1 %d songs,
  2212. >16 beshort >0 default song: %d
  2213. >0x16 string >\0 name: "%s"
  2214. >0x36 string >\0 author: "%s"
  2215. >0x56 string >\0 copyright: "%s"
  2216.  
  2217. 0 string RSID RSID sidtune PlaySID compatible
  2218. >4 beshort >0 w/ header v%d,
  2219. >14 beshort =1 single song,
  2220. >14 beshort >1 %d songs,
  2221. >16 beshort >0 default song: %d
  2222. >0x16 string >\0 name: "%s"
  2223. >0x36 string >\0 author: "%s"
  2224. >0x56 string >\0 copyright: "%s"
  2225.  
  2226. # VAX and MIPS files are little-endian; Sun and NeXT are big-endian
  2227. 0 belong 0x64a30100 IRCAM file (VAX)
  2228. 0 belong 0x64a30200 IRCAM file (Sun)
  2229. 0 belong 0x64a30300 IRCAM file (MIPS little-endian)
  2230. 0 belong 0x64a30400 IRCAM file (NeXT)
  2231.  
  2232. # NIST SPHERE <[email protected]>
  2233. 0 string NIST_1A\n\ \ \ 1024\n NIST SPHERE file
  2234.  
  2235. # Sample Vision <[email protected]>
  2236. 0 string SOUND\ SAMPLE\ DATA\ Sample Vision file
  2237.  
  2238. # Audio Visual Research <[email protected]>
  2239. 0 string 2BIT Audio Visual Research file,
  2240. >12 beshort =0 mono,
  2241. >12 beshort =-1 stereo,
  2242. >14 beshort x %d bits
  2243. >16 beshort =0 unsigned,
  2244. >16 beshort =-1 signed,
  2245. >22 belong&0x00ffffff x %d Hz,
  2246. >18 beshort =0 no loop,
  2247. >18 beshort =-1 loop,
  2248. >21 ubyte <=127 note %d,
  2249. >22 byte =0 replay 5.485 KHz
  2250. >22 byte =1 replay 8.084 KHz
  2251. >22 byte =2 replay 10.971 Khz
  2252. >22 byte =3 replay 16.168 Khz
  2253. >22 byte =4 replay 21.942 KHz
  2254. >22 byte =5 replay 32.336 KHz
  2255. >22 byte =6 replay 43.885 KHz
  2256. >22 byte =7 replay 47.261 KHz
  2257.  
  2258. # SGI SoundTrack <[email protected]>
  2259. 0 string _SGI_SoundTrack SGI SoundTrack project file
  2260. # ID3 version 2 tags <[email protected]>
  2261. 0 string ID3 Audio file with ID3 version 2
  2262. >3 ubyte <0xff \b%d.
  2263. >4 ubyte <0xff \b%d tag
  2264. >2584 string fLaC \b, FLAC encoding
  2265. >>2588 byte&0x7f >0 \b, unknown version
  2266. >>2588 byte&0x7f 0 \b
  2267. # some common bits/sample values
  2268. >>>2600 beshort&0x1f0 0x030 \b, 4 bit
  2269. >>>2600 beshort&0x1f0 0x050 \b, 6 bit
  2270. >>>2600 beshort&0x1f0 0x070 \b, 8 bit
  2271. >>>2600 beshort&0x1f0 0x0b0 \b, 12 bit
  2272. >>>2600 beshort&0x1f0 0x0f0 \b, 16 bit
  2273. >>>2600 beshort&0x1f0 0x170 \b, 24 bit
  2274. >>>2600 byte&0xe 0x0 \b, mono
  2275. >>>2600 byte&0xe 0x2 \b, stereo
  2276. >>>2600 byte&0xe 0x4 \b, 3 channels
  2277. >>>2600 byte&0xe 0x6 \b, 4 channels
  2278. >>>2600 byte&0xe 0x8 \b, 5 channels
  2279. >>>2600 byte&0xe 0xa \b, 6 channels
  2280. >>>2600 byte&0xe 0xc \b, 7 channels
  2281. >>>2600 byte&0xe 0xe \b, 8 channels
  2282. # some common sample rates
  2283. >>>2597 belong&0xfffff0 0x0ac440 \b, 44.1 kHz
  2284. >>>2597 belong&0xfffff0 0x0bb800 \b, 48 kHz
  2285. >>>2597 belong&0xfffff0 0x07d000 \b, 32 kHz
  2286. >>>2597 belong&0xfffff0 0x056220 \b, 22.05 kHz
  2287. >>>2597 belong&0xfffff0 0x05dc00 \b, 24 kHz
  2288. >>>2597 belong&0xfffff0 0x03e800 \b, 16 kHz
  2289. >>>2597 belong&0xfffff0 0x02b110 \b, 11.025 kHz
  2290. >>>2597 belong&0xfffff0 0x02ee00 \b, 12 kHz
  2291. >>>2597 belong&0xfffff0 0x01f400 \b, 8 kHz
  2292. >>>2597 belong&0xfffff0 0x177000 \b, 96 kHz
  2293. >>>2597 belong&0xfffff0 0x0fa000 \b, 64 kHz
  2294. >>>2601 byte&0xf >0 \b, >4G samples
  2295. >2584 string !fLaC \b, MP3 encoding
  2296.  
  2297. # NSF (NES sound file) magic
  2298. 0 string NESM\x1a NES Sound File
  2299. >14 string >\0 ("%s" by
  2300. >46 string >\0 %s, copyright
  2301. >78 string >\0 %s),
  2302. >5 byte x version %d,
  2303. >6 byte x %d tracks,
  2304. >122 byte&0x2 =1 dual PAL/NTSC
  2305. >122 byte&0x1 =1 PAL
  2306. >122 byte&0x1 =0 NTSC
  2307.  
  2308. # Impulse tracker module (audio/x-it)
  2309. 0 string IMPM Impulse Tracker module sound data -
  2310. >4 string >\0 "%s"
  2311. >40 leshort !0 compatible w/ITv%x
  2312. >42 leshort !0 created w/ITv%x
  2313.  
  2314. # Imago Orpheus module (audio/x-imf)
  2315. 60 string IM10 Imago Orpheus module sound data -
  2316. >0 string >\0 "%s"
  2317.  
  2318. # These are the /etc/magic entries to decode modules, instruments, and
  2319. # samples in Impulse Tracker's native format.
  2320.  
  2321. 0 string IMPS Impulse Tracker Sample
  2322. >18 byte &2 16 bit
  2323. >18 byte ^2 8 bit
  2324. >18 byte &4 stereo
  2325. >18 byte ^4 mono
  2326. 0 string IMPI Impulse Tracker Instrument
  2327. >28 leshort !0 ITv%x
  2328. >30 byte !0 %d samples
  2329.  
  2330. # Yamaha TX Wave: file(1) magic for Yamaha TX Wave audio files
  2331. 0 string LM8953 Yamaha TX Wave
  2332. >22 byte 0x49 looped
  2333. >22 byte 0xC9 non-looped
  2334. >23 byte 1 33kHz
  2335. >23 byte 2 50kHz
  2336. >23 byte 3 16kHz
  2337.  
  2338. # scream tracker: file(1) magic for Scream Tracker sample files
  2339. #
  2340. 76 string SCRS Scream Tracker Sample
  2341. >0 byte 1 sample
  2342. >0 byte 2 adlib melody
  2343. >0 byte >2 adlib drum
  2344. >31 byte &2 stereo
  2345. >31 byte ^2 mono
  2346. >31 byte &4 16bit little endian
  2347. >31 byte ^4 8bit
  2348. >30 byte 0 unpacked
  2349. >30 byte 1 packed
  2350.  
  2351. # audio
  2352. # From: Cory Dikkers <[email protected]>
  2353. 0 string MMD0 MED music file, version 0
  2354. 0 string MMD1 OctaMED Pro music file, version 1
  2355. 0 string MMD3 OctaMED Soundstudio music file, version 3
  2356. 0 string OctaMEDCmpr OctaMED Soundstudio compressed file
  2357. 0 string MED MED_Song
  2358. 0 string SymM Symphonie SymMOD music file
  2359. #
  2360. 0 string THX AHX version
  2361. >3 byte =0 1 module data
  2362. >3 byte =1 2 module data
  2363. #
  2364. 0 string OKTASONG Oktalyzer module data
  2365. #
  2366. 0 string DIGI\ Booster\ module\0 %s
  2367. >20 byte >0 %c
  2368. >>21 byte >0 \b%c
  2369. >>>22 byte >0 \b%c
  2370. >>>>23 byte >0 \b%c
  2371. >610 string >\0 \b, "%s"
  2372. #
  2373. 0 string DBM0 DIGI Booster Pro Module
  2374. >4 byte >0 V%X.
  2375. >>5 byte x \b%02X
  2376. >16 string >\0 \b, "%s"
  2377. #
  2378. 0 string FTMN FaceTheMusic module
  2379. >16 string >\0d \b, "%s"
  2380.  
  2381. # From: <[email protected]> 2003-06-24
  2382. 0 string AMShdr\32 Velvet Studio AMS Module v2.2
  2383. 0 string Extreme Extreme Tracker AMS Module v1.3
  2384. 0 string DDMF Xtracker DMF Module
  2385. >4 byte x v%i
  2386. >0xD string >\0 Title: "%s"
  2387. >0x2B string >\0 Composer: "%s"
  2388. 0 string DSM\32 Dynamic Studio Module DSM
  2389. 0 string SONG DigiTrekker DTM Module
  2390. 0 string DMDL DigiTrakker MDL Module
  2391. 0 string PSM\32 Protracker Studio PSM Module
  2392. 44 string PTMF Poly Tracker PTM Module
  2393. >0 string >\32 Title: "%s"
  2394. 0 string MT20 MadTracker 2.0 Module MT2
  2395. 0 string RAD\40by\40REALiTY!! RAD Adlib Tracker Module RAD
  2396. 0 string RTMM RTM Module
  2397. 0x426 string MaDoKaN96 XMS Adlib Module
  2398. >0 string >\0 Composer: "%s"
  2399. 0 string AMF AMF Module
  2400. >4 string >\0 Title: "%s"
  2401. 0 string MODINFO1 Open Cubic Player Module Inforation MDZ
  2402. 0 string Extended\40Instrument: Fast Tracker II Instrument
  2403.  
  2404. # From: Takeshi Hamasaki <[email protected]>
  2405. # NOA Nancy Codec file
  2406. 0 string \210NOA\015\012\032 NOA Nancy Codec Movie file
  2407. # Yamaha SMAF format
  2408. 0 string MMMD Yamaha SMAF file
  2409. # Sharp Jisaku Melody format for PDC
  2410. 0 string \001Sharp\040JisakuMelody SHARP Cell-Phone ringing Melody
  2411. >20 string Ver01.00 Ver. 1.00
  2412. >>32 byte x , %d tracks
  2413.  
  2414. # Free lossless audio codec <http://flac.sourceforge.net>
  2415. # From: Przemyslaw Augustyniak <[email protected]>
  2416. 0 string fLaC FLAC audio bitstream data
  2417. >4 byte&0x7f >0 \b, unknown version
  2418. >4 byte&0x7f 0 \b
  2419. # some common bits/sample values
  2420. >>20 beshort&0x1f0 0x030 \b, 4 bit
  2421. >>20 beshort&0x1f0 0x050 \b, 6 bit
  2422. >>20 beshort&0x1f0 0x070 \b, 8 bit
  2423. >>20 beshort&0x1f0 0x0b0 \b, 12 bit
  2424. >>20 beshort&0x1f0 0x0f0 \b, 16 bit
  2425. >>20 beshort&0x1f0 0x170 \b, 24 bit
  2426. >>20 byte&0xe 0x0 \b, mono
  2427. >>20 byte&0xe 0x2 \b, stereo
  2428. >>20 byte&0xe 0x4 \b, 3 channels
  2429. >>20 byte&0xe 0x6 \b, 4 channels
  2430. >>20 byte&0xe 0x8 \b, 5 channels
  2431. >>20 byte&0xe 0xa \b, 6 channels
  2432. >>20 byte&0xe 0xc \b, 7 channels
  2433. >>20 byte&0xe 0xe \b, 8 channels
  2434. # some common sample rates
  2435. >>17 belong&0xfffff0 0x0ac440 \b, 44.1 kHz
  2436. >>17 belong&0xfffff0 0x0bb800 \b, 48 kHz
  2437. >>17 belong&0xfffff0 0x07d000 \b, 32 kHz
  2438. >>17 belong&0xfffff0 0x056220 \b, 22.05 kHz
  2439. >>17 belong&0xfffff0 0x05dc00 \b, 24 kHz
  2440. >>17 belong&0xfffff0 0x03e800 \b, 16 kHz
  2441. >>17 belong&0xfffff0 0x02b110 \b, 11.025 kHz
  2442. >>17 belong&0xfffff0 0x02ee00 \b, 12 kHz
  2443. >>17 belong&0xfffff0 0x01f400 \b, 8 kHz
  2444. >>17 belong&0xfffff0 0x177000 \b, 96 kHz
  2445. >>17 belong&0xfffff0 0x0fa000 \b, 64 kHz
  2446. >>21 byte&0xf >0 \b, >4G samples
  2447. >>21 byte&0xf 0 \b
  2448. >>>22 belong >0 \b, %u samples
  2449. >>>22 belong 0 \b, length unknown
  2450.  
  2451. # (ISDN) VBOX voice message file (Wolfram Kleff)
  2452. 0 string VBOX VBOX voice message data
  2453.  
  2454. # ReBorn Song Files (.rbs)
  2455. # David J. Singer <[email protected]>
  2456. 8 string RB40 RBS Song file
  2457. >29 string ReBorn created by ReBorn
  2458. >37 string Propellerhead created by ReBirth
  2459.  
  2460. # Synthesizer Generator and Kimwitu share their file format
  2461. 0 string A#S#C#S#S#L#V#3 Synthesizer Generator or Kimwitu data
  2462. # Kimwitu++ uses a slightly different magic
  2463. 0 string A#S#C#S#S#L#HUB Kimwitu++ data
  2464.  
  2465. # From "Simon Hosie
  2466. 0 string TFMX-SONG TFMX module sound data
  2467.  
  2468. # Monkey's Audio compressed audio format (.ape)
  2469. # From [email protected] (Danny Milosavljevic)
  2470. # New version from Abel Cheung <abel (@) oaka.org>
  2471. 0 string MAC\040 Monkey's Audio compressed format
  2472. >4 uleshort >0x0F8B version %d
  2473. >>(0x08.l) uleshort =1000 with fast compression
  2474. >>(0x08.l) uleshort =2000 with normal compression
  2475. >>(0x08.l) uleshort =3000 with high compression
  2476. >>(0x08.l) uleshort =4000 with extra high compression
  2477. >>(0x08.l) uleshort =5000 with insane compression
  2478. >>(0x08.l+18) uleshort =1 \b, mono
  2479. >>(0x08.l+18) uleshort =2 \b, stereo
  2480. >>(0x08.l+20) ulelong x \b, sample rate %d
  2481. >4 uleshort <0x0F8C version %d
  2482. >>6 uleshort =1000 with fast compression
  2483. >>6 uleshort =2000 with normal compression
  2484. >>6 uleshort =3000 with high compression
  2485. >>6 uleshort =4000 with extra high compression
  2486. >>6 uleshort =5000 with insane compression
  2487. >>10 uleshort =1 \b, mono
  2488. >>10 uleshort =2 \b, stereo
  2489. >>12 ulelong x \b, sample rate %d
  2490.  
  2491. # adlib sound files
  2492. # From Gürkan Sengün <[email protected]>, http://www.linuks.mine.nu
  2493. 0 string RAWADATA RdosPlay RAW
  2494.  
  2495. 1068 string RoR AMUSIC Adlib Tracker
  2496.  
  2497. 0 string JCH EdLib
  2498.  
  2499. 0 string mpu401tr MPU-401 Trakker
  2500.  
  2501. 0 string SAdT Surprise! Adlib Tracker
  2502. >4 byte x Version %d
  2503.  
  2504. 0 string XAD! eXotic ADlib
  2505.  
  2506. 0 string ofTAZ! eXtra Simple Music
  2507.  
  2508. # Spectrum 128 tunes (.ay files).
  2509. # From: Emanuel Haupt <[email protected]>
  2510. 0 string ZXAYEMUL Spectrum 128 tune
  2511.  
  2512. 0 string \0BONK BONK,
  2513. #>5 byte x version %d
  2514. >14 byte x %d channel(s),
  2515. >15 byte =1 lossless,
  2516. >15 byte =0 lossy,
  2517. >16 byte x mid-side
  2518.  
  2519. 384 string LockStream LockStream Embedded file (mostly MP3 on old Nokia phones)
  2520.  
  2521. # format VQF (proprietary codec for sound)
  2522. # some infos on the header file available at :
  2523. # http://www.twinvq.org/english/technology_format.html
  2524. 0 string TWIN97012000 VQF data
  2525. >27 short 0 \b, Mono
  2526. >27 short 1 \b, Stereo
  2527. >31 short >0 \b, %d kbit/s
  2528. >35 short >0 \b, %d kHz
  2529.  
  2530. # Nelson A. de Oliveira ([email protected])
  2531. # .eqf
  2532. 0 string Winamp\ EQ\ library\ file %s
  2533. # it will match only versions like v<digit>.<digit>
  2534. # Since I saw only eqf files with version v1.1 I think that it's OK
  2535. >23 string x \b%.4s
  2536. # .preset
  2537. 0 string [Equalizer\ preset] XMMS equalizer preset
  2538. # .m3u
  2539. 0 string #EXTM3U M3U playlist
  2540. # .pls
  2541. 0 string [playlist] PLS playlist
  2542. # licq.conf
  2543. 1 string [licq] LICQ configuration file
  2544.  
  2545. # Atari ST audio files by Dirk Jagdmann <[email protected]>
  2546. 0 string ICE! SNDH Atari ST music
  2547. 0 string SC68\ Music-file\ /\ (c)\ (BeN)jami sc68 Atari ST music
  2548.  
  2549. # musepak support From: "Jiri Pejchal" <[email protected]>
  2550. 0 string MP+ Musepack audio
  2551. >3 byte 255 \b, SV pre8
  2552. >3 byte&0xF 0x6 \b, SV 6
  2553. >3 byte&0xF 0x8 \b, SV 8
  2554. >3 byte&0xF 0x7 \b, SV 7
  2555. >>3 byte&0xF0 0x0 \b.0
  2556. >>3 byte&0xF0 0x10 \b.1
  2557. >>3 byte&0xF0 240 \b.15
  2558. >>10 byte&0xF0 0x0 \b, no profile
  2559. >>10 byte&0xF0 0x10 \b, profile 'Unstable/Experimental'
  2560. >>10 byte&0xF0 0x50 \b, quality 0
  2561. >>10 byte&0xF0 0x60 \b, quality 1
  2562. >>10 byte&0xF0 0x70 \b, quality 2 (Telephone)
  2563. >>10 byte&0xF0 0x80 \b, quality 3 (Thumb)
  2564. >>10 byte&0xF0 0x90 \b, quality 4 (Radio)
  2565. >>10 byte&0xF0 0xA0 \b, quality 5 (Standard)
  2566. >>10 byte&0xF0 0xB0 \b, quality 6 (Xtreme)
  2567. >>10 byte&0xF0 0xC0 \b, quality 7 (Insane)
  2568. >>10 byte&0xF0 0xD0 \b, quality 8 (BrainDead)
  2569. >>10 byte&0xF0 0xE0 \b, quality 9
  2570. >>10 byte&0xF0 0xF0 \b, quality 10
  2571. >>27 byte 0x0 \b, Buschmann 1.7.0-9, Klemm 0.90-1.05
  2572. >>27 byte 102 \b, Beta 1.02
  2573. >>27 byte 104 \b, Beta 1.04
  2574. >>27 byte 105 \b, Alpha 1.05
  2575. >>27 byte 106 \b, Beta 1.06
  2576. >>27 byte 110 \b, Release 1.1
  2577. >>27 byte 111 \b, Alpha 1.11
  2578. >>27 byte 112 \b, Beta 1.12
  2579. >>27 byte 113 \b, Alpha 1.13
  2580. >>27 byte 114 \b, Beta 1.14
  2581. >>27 byte 115 \b, Alpha 1.15
  2582.  
  2583. # IMY
  2584. # from http://filext.com/detaillist.php?extdetail=IMY
  2585. # http://cellphones.about.com/od/cellularfaqs/f/rf_imelody.htm
  2586. # http://download.ncl.ie/doc/api/ie/ncl/media/music/IMelody.html
  2587. # http://www.wx800.com/msg/download/irda/iMelody.pdf
  2588. 0 string BEGIN:IMELODY iMelody Ringtone Format
  2589.  
  2590. # From: Matthew Flaschen <[email protected]>
  2591. 0 string #EXTM3U M3U playlist text
  2592.  
  2593. # From: "Mateus Caruccio" <[email protected]>
  2594. # guitar pro v3,4,5 from http://filext.com/file-extension/gp3
  2595. 0 string \030FICHIER\ GUITAR\ PRO\ v3. Guitar Pro Ver. 3 Tablature
  2596.  
  2597. # From: "Leslie P. Polzer" <[email protected]>
  2598. 60 string SONG SoundFX Module sound file
  2599.  
  2600. #----------------------------------------------------------------
  2601. # basis: file(1) magic for BBx/Pro5-files
  2602. # Oliver Dammer <[email protected]> 2005/11/07
  2603. # http://www.basis.com business-basic-files.
  2604. #
  2605. 0 string \074\074bbx\076\076 BBx
  2606. >7 string \000 indexed file
  2607. >7 string \001 serial file
  2608. >7 string \002 keyed file
  2609. >>13 short 0 (sort)
  2610. >7 string \004 program
  2611. >>18 byte x (LEVEL %d)
  2612. >>>23 string >\000 psaved
  2613. >7 string \006 mkeyed file
  2614. >>13 short 0 (sort)
  2615. >>8 string \000 (mkey)
  2616. #------------------------------------------------------------------------------
  2617. # bFLT: file(1) magic for BFLT uclinux binary files
  2618. #
  2619. # From Philippe De Muyter <[email protected]>
  2620. #
  2621. 0 string bFLT BFLT executable
  2622. >4 belong x - version %ld
  2623. >4 belong 4
  2624. >>36 belong&0x1 0x1 ram
  2625. >>36 belong&0x2 0x2 gotpic
  2626. >>36 belong&0x4 0x4 gzip
  2627. >>36 belong&0x8 0x8 gzdata
  2628. #------------------------------------------------------------------------------
  2629. # blender: file(1) magic for Blender 3D related files
  2630. #
  2631. # Native format rule v1.2. For questions use the developers list
  2632. # http://lists.blender.org/mailman/listinfo/bf-committers
  2633. # GLOB chunk was moved near start and provides subversion info since 2.42
  2634.  
  2635. 0 string =BLENDER Blender3D,
  2636. >7 string =_ saved as 32-bits
  2637. >>8 string =v little endian
  2638. >>>9 byte x with version %c.
  2639. >>>10 byte x \b%c
  2640. >>>11 byte x \b%c
  2641. >>>0x40 string =GLOB \b.
  2642. >>>>0x58 leshort x \b%.4d
  2643. >>8 string =V big endian
  2644. >>>9 byte x with version %c.
  2645. >>>10 byte x \b%c
  2646. >>>11 byte x \b%c
  2647. >>>0x40 string =GLOB \b.
  2648. >>>>0x58 beshort x \b%.4d
  2649. >7 string =- saved as 64-bits
  2650. >>8 string =v little endian
  2651. >>9 byte x with version %c.
  2652. >>10 byte x \b%c
  2653. >>11 byte x \b%c
  2654. >>0x44 string =GLOB \b.
  2655. >>>0x60 leshort x \b%.4d
  2656. >>8 string =V big endian
  2657. >>>9 byte x with version %c.
  2658. >>>10 byte x \b%c
  2659. >>>11 byte x \b%c
  2660. >>>0x44 string =GLOB \b.
  2661. >>>>0x60 beshort x \b%.4d
  2662.  
  2663. # Scripts that run in the embeded Python interpreter
  2664. 0 string #!BPY Blender3D BPython script
  2665.  
  2666. #------------------------------------------------------------------------------
  2667. # blit: file(1) magic for 68K Blit stuff as seen from 680x0 machine
  2668. #
  2669. # Note that this 0407 conflicts with several other a.out formats...
  2670. #
  2671. # XXX - should this be redone with "be" and "le", so that it works on
  2672. # little-endian machines as well? If so, what's the deal with
  2673. # "VAX-order" and "VAX-order2"?
  2674. #
  2675. #0 long 0407 68K Blit (standalone) executable
  2676. #0 short 0407 VAX-order2 68K Blit (standalone) executable
  2677. 0 short 03401 VAX-order 68K Blit (standalone) executable
  2678. 0 long 0406 68k Blit mpx/mux executable
  2679. 0 short 0406 VAX-order2 68k Blit mpx/mux executable
  2680. 0 short 03001 VAX-order 68k Blit mpx/mux executable
  2681. # Need more values for WE32 DMD executables.
  2682. # Note that 0520 is the same as COFF
  2683. #0 short 0520 tty630 layers executable
  2684. #
  2685. # i80960 b.out objects and archives
  2686. #
  2687. 0 long 0x10d i960 b.out relocatable object
  2688. >16 long >0 not stripped
  2689. #
  2690. # b.out archive (hp-rt on i960)
  2691. 0 string =!<bout> b.out archive
  2692. >8 string __.SYMDEF random library
  2693. #------------------------------------------------------------------------------
  2694. # bsdi: file(1) magic for BSD/OS (from BSDI) objects
  2695. #
  2696.  
  2697. 0 lelong 0314 386 compact demand paged pure executable
  2698. >16 lelong >0 not stripped
  2699. >32 byte 0x6a (uses shared libs)
  2700.  
  2701. 0 lelong 0407 386 executable
  2702. >16 lelong >0 not stripped
  2703. >32 byte 0x6a (uses shared libs)
  2704.  
  2705. 0 lelong 0410 386 pure executable
  2706. >16 lelong >0 not stripped
  2707. >32 byte 0x6a (uses shared libs)
  2708.  
  2709. 0 lelong 0413 386 demand paged pure executable
  2710. >16 lelong >0 not stripped
  2711. >32 byte 0x6a (uses shared libs)
  2712.  
  2713. # same as in SunOS 4.x, except for static shared libraries
  2714. 0 belong&077777777 0600413 sparc demand paged
  2715. >0 byte &0x80
  2716. >>20 belong <4096 shared library
  2717. >>20 belong =4096 dynamically linked executable
  2718. >>20 belong >4096 dynamically linked executable
  2719. >0 byte ^0x80 executable
  2720. >16 belong >0 not stripped
  2721. >36 belong 0xb4100001 (uses shared libs)
  2722.  
  2723. 0 belong&077777777 0600410 sparc pure
  2724. >0 byte &0x80 dynamically linked executable
  2725. >0 byte ^0x80 executable
  2726. >16 belong >0 not stripped
  2727. >36 belong 0xb4100001 (uses shared libs)
  2728.  
  2729. 0 belong&077777777 0600407 sparc
  2730. >0 byte &0x80 dynamically linked executable
  2731. >0 byte ^0x80 executable
  2732. >16 belong >0 not stripped
  2733. >36 belong 0xb4100001 (uses shared libs)
  2734. #------------------------------------------------------------------------------
  2735. # BTSnoop: file(1) magic for BTSnoop files
  2736. #
  2737. 0 string btsnoop\0 BTSnoop
  2738. >8 belong x version %d,
  2739. >12 belong 1001 Unencapsulated HCI
  2740. >12 belong 1002 HCI UART (H4)
  2741. >12 belong 1003 HCI BCSP
  2742. >12 belong 1004 HCI Serial (H5)
  2743. >>12 belong x type %d
  2744.  
  2745. #------------------------------------------------------------------------------
  2746. # autocad: file(1) magic for cad files
  2747. #
  2748.  
  2749. # AutoCAD DWG versions R13/R14 (www.autodesk.com)
  2750. # Written December 01, 2003 by Lester Hightower
  2751. # Based on the DWG File Format Specifications at http://www.opendwg.org/
  2752. 0 string \101\103\061\060\061 AutoCAD
  2753. >5 string \062\000\000\000\000 DWG ver. R13
  2754. >5 string \064\000\000\000\000 DWG ver. R14
  2755.  
  2756. # Microstation DGN/CIT Files (www.bentley.com)
  2757. # Last updated July 29, 2005 by Lester Hightower
  2758. # DGN is the default file extension of Microstation/Intergraph CAD files.
  2759. # CIT is the proprietary raster format (similar to TIFF) used to attach
  2760. # raster underlays to Microstation DGN (vector) drawings.
  2761. #
  2762. # http://www.wotsit.org/search.asp
  2763. # http://filext.com/detaillist.php?extdetail=DGN
  2764. # http://filext.com/detaillist.php?extdetail=CIT
  2765. #
  2766. # http://www.bentley.com/products/default.cfm?objectid=97F351F5-9C35-4E5E-89C2
  2767. # 3F86C928&method=display&p_objectid=97F351F5-9C35-4E5E-89C280A93F86C928
  2768. # http://www.bentley.com/products/default.cfm?objectid=A5C2FD43-3AC9-4C71-B682
  2769. # 721C479F&method=display&p_objectid=A5C2FD43-3AC9-4C71-B682C7BE721C479F
  2770. 0 string \010\011\376 Microstation
  2771. >3 string \002
  2772. >>30 string \026\105 DGNFile
  2773. >>30 string \034\105 DGNFile
  2774. >>30 string \073\107 DGNFile
  2775. >>30 string \073\110 DGNFile
  2776. >>30 string \106\107 DGNFile
  2777. >>30 string \110\103 DGNFile
  2778. >>30 string \120\104 DGNFile
  2779. >>30 string \172\104 DGNFile
  2780. >>30 string \172\105 DGNFile
  2781. >>30 string \172\106 DGNFile
  2782. >>30 string \234\106 DGNFile
  2783. >>30 string \273\105 DGNFile
  2784. >>30 string \306\106 DGNFile
  2785. >>30 string \310\104 DGNFile
  2786. >>30 string \341\104 DGNFile
  2787. >>30 string \372\103 DGNFile
  2788. >>30 string \372\104 DGNFile
  2789. >>30 string \372\106 DGNFile
  2790. >>30 string \376\103 DGNFile
  2791. >4 string \030\000\000 CITFile
  2792. >4 string \030\000\003 CITFile
  2793.  
  2794. # AutoCad, from Nahuel Greco
  2795. # AutoCAD DWG versions R12/R13/R14 (www.autodesk.com)
  2796. 0 string AC1012 AutoCad (release 12)
  2797. 0 string AC1013 AutoCad (release 13)
  2798. 0 string AC1014 AutoCad (release 14)
  2799.  
  2800. # CAD: file(1) magic for computer aided design files
  2801. # Phillip Griffith <phillip dot griffith at gmail dot com>
  2802. # AutoCAD magic taken from the Open Design Alliance's OpenDWG specifications.
  2803. #
  2804. 0 belong 0x08051700 Bentley/Intergraph MicroStation DGN cell library
  2805. 0 belong 0x0809fe02 Bentley/Intergraph MicroStation DGN vector CAD
  2806. 0 belong 0xc809fe02 Bentley/Intergraph MicroStation DGN vector CAD
  2807. 0 beshort 0x0809 Bentley/Intergraph MicroStation
  2808. >0x02 byte 0xfe
  2809. >>0x04 beshort 0x1800 CIT raster CAD
  2810. 0 string AC1012 AutoDesk AutoCAD R13
  2811. 0 string AC1014 AutoDesk AutoCAD R14
  2812. 0 string AC1015 AutoDesk AutoCAD R2000
  2813. #------------------------------------------------------------------------------
  2814. # Cafe Babes unite!
  2815. #
  2816. # Since Java bytecode and Mach-O fat-files have the same magic number, the test
  2817. # must be performed in the same "magic" sequence to get both right. The long
  2818. # at offset 4 in a mach-O fat file tells the number of architectures; the short at
  2819. # offset 4 in a Java bytecode file is the JVM minor version and the
  2820. # short at offset 6 is the JVM major version. Since there are only
  2821. # only 18 labeled Mach-O architectures at current, and the first released
  2822. # Java class format was version 43.0, we can safely choose any number
  2823. # between 18 and 39 to test the number of architectures against
  2824. # (and use as a hack). Let's not use 18, because the Mach-O people
  2825. # might add another one or two as time goes by...
  2826. #
  2827. 0 belong 0xcafebabe
  2828. >4 belong >30 compiled Java class data,
  2829. >>6 beshort x version %d.
  2830. >>4 beshort x \b%d
  2831. >4 belong 1 Mach-O fat file with 1 architecture
  2832. >4 belong >1
  2833. >>4 belong <20 Mach-O fat file with %ld architectures
  2834.  
  2835. #------------------------------------------------------------------------------
  2836. # c-lang: file(1) magic for C programs (or REXX)
  2837. #
  2838.  
  2839. # XPM icons (Greg Roelofs, [email protected])
  2840. # if you uncomment "/*" for C/REXX below, also uncomment this entry
  2841. #0 string /*\ XPM\ */ X pixmap image data
  2842.  
  2843. # this first will upset you if you're a PL/1 shop...
  2844. # in which case rm it; ascmagic will catch real C programs
  2845. #0 string /* C or REXX program text
  2846. #0 string // C++ program text
  2847.  
  2848. # From: Mikhail Teterin <[email protected]>
  2849. 0 string cscope cscope reference data
  2850. >7 string x version %.2s
  2851. # We skip the path here, because it is often long (so file will
  2852. # truncate it) and mostly redundant.
  2853. # The inverted index functionality was added some time betwen
  2854. # versions 11 and 15, so look for -q if version is above 14:
  2855. >7 string >14
  2856. >>10 regex .+\ -q\ with inverted index
  2857. >10 regex .+\ -c\ text (non-compressed)
  2858.  
  2859. #------------------------------------------------------------------------------
  2860. # c64: file(1) magic for various commodore 64 related files
  2861. #
  2862. # From: Dirk Jagdmann <[email protected]>
  2863.  
  2864. 0x16500 belong 0x12014100 D64 Image
  2865. 0x16500 belong 0x12014180 D71 Image
  2866. 0x61800 belong 0x28034400 D81 Image
  2867. 0 string C64\40CARTRIDGE CCS C64 Emultar Cartridge Image
  2868. 0 belong 0x43154164 X64 Image
  2869.  
  2870. 0 string GCR-1541 GCR Image
  2871. >8 byte x version: %i
  2872. >9 byte x tracks: %i
  2873.  
  2874. 9 string PSUR ARC archive (c64)
  2875. 2 string -LH1- LHA archive (c64)
  2876.  
  2877. 0 string C64File PC64 Emulator file
  2878. >8 string >\0 "%s"
  2879. 0 string C64Image PC64 Freezer Image
  2880.  
  2881. 0 beshort 0x38CD C64 PCLink Image
  2882. 0 string CBM\144\0\0 Power 64 C64 Emulator Snapshot
  2883.  
  2884. 0 belong 0xFF424CFF WRAptor packer (c64)
  2885.  
  2886. 0 string C64S\x20tape\x20file T64 tape Image
  2887. >32 leshort x Version:0x%x
  2888. >36 leshort !0 Entries:%i
  2889. >40 string x Name:%.24s
  2890.  
  2891. 0 string C64\x20tape\x20image\x20file\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0 T64 tape Image
  2892. >32 leshort x Version:0x%x
  2893. >36 leshort !0 Entries:%i
  2894. >40 string x Name:%.24s
  2895.  
  2896. 0 string C64S\x20tape\x20image\x20file\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0 T64 tape Image
  2897. >32 leshort x Version:0x%x
  2898. >36 leshort !0 Entries:%i
  2899. >40 string x Name:%.24s
  2900.  
  2901. #------------------------------------------------------------------------------
  2902. # CDDB: file(1) magic for CDDB(tm) format CD text data files
  2903. #
  2904. #
  2905. # This is the /etc/magic entry to decode datafiles as used by
  2906. # CDDB-enabled CD player applications.
  2907. #
  2908.  
  2909. 0 string/b #\040xmcd CDDB(tm) format CD text data
  2910.  
  2911. #------------------------------------------------------------------------------
  2912. # chord: file(1) magic for Chord music sheet typesetting utility input files
  2913. #
  2914. # From Philippe De Muyter <[email protected]>
  2915. # File format is actually free, but many distributed files begin with `{title'
  2916. #
  2917. 0 string {title Chord text file
  2918.  
  2919. #------------------------------------------------------------------------------
  2920. # cisco: file(1) magic for cisco Systems routers
  2921. #
  2922. # Most cisco file-formats are covered by the generic elf code
  2923. #
  2924. # Microcode files are non-ELF, 0x8501 conflicts with NetBSD/alpha.
  2925. 0 belong&0xffffff00 0x85011400 cisco IOS microcode
  2926. >7 string >\0 for '%s'
  2927. 0 belong&0xffffff00 0x8501cb00 cisco IOS experimental microcode
  2928. >7 string >\0 for '%s'
  2929. #------------------------------------------------------------------------------
  2930. # citrus locale declaration
  2931. #
  2932.  
  2933. 0 string RuneCT Citrus locale declaration for LC_CTYPE
  2934.  
  2935.  
  2936. #------------------------------------------------------------------------------
  2937. # claris: file(1) magic for claris
  2938. # "H. Nanosecond" <[email protected]>
  2939. # Claris Works a word processor, etc.
  2940. # Version 3.0
  2941.  
  2942. # .pct claris works clip art files
  2943. #0000000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000
  2944. #*
  2945. #0001000 #010 250 377 377 377 377 000 213 000 230 000 021 002 377 014 000
  2946. #null to byte 1000 octal
  2947. 514 string \377\377\377\377\000 Claris clip art?
  2948. >0 string \0\0\0\0\0\0\0\0\0\0\0\0\0 yes.
  2949. 514 string \377\377\377\377\001 Claris clip art?
  2950. >0 string \0\0\0\0\0\0\0\0\0\0\0\0\0 yes.
  2951.  
  2952. # Claris works files
  2953. # .cwk
  2954. 0 string \002\000\210\003\102\117\102\117\000\001\206 Claris works document
  2955. # .plt
  2956. 0 string \020\341\000\000\010\010 Claris Works pallete files .plt
  2957.  
  2958. # .msp a dictionary file I am not sure about this I have only one .msp file
  2959. 0 string \002\271\262\000\040\002\000\164 Claris works dictionary
  2960.  
  2961. # .usp are user dictionary bits
  2962. # I am not sure about a magic header:
  2963. #0000000 001 123 160 146 070 125 104 040 136 123 015 012 160 157 144 151
  2964. # soh S p f 8 U D sp ^ S cr nl p o d i
  2965. #0000020 141 164 162 151 163 164 040 136 123 015 012 144 151 166 040 043
  2966. # a t r i s t sp ^ S cr nl d i v sp #
  2967.  
  2968. # .mth Thesaurus
  2969. # starts with \0 but no magic header
  2970.  
  2971. # .chy Hyphenation file
  2972. # I am not sure: 000 210 034 000 000
  2973.  
  2974. # other claris files
  2975. #./windows/claris/useng.ndx: data
  2976. #./windows/claris/xtndtran.l32: data
  2977. #./windows/claris/xtndtran.lst: data
  2978. #./windows/claris/clworks.lbl: data
  2979. #./windows/claris/clworks.prf: data
  2980. #./windows/claris/userd.spl: data
  2981.  
  2982. #------------------------------------------------------------------------------
  2983. # clipper: file(1) magic for Intergraph (formerly Fairchild) Clipper.
  2984. #
  2985. # XXX - what byte order does the Clipper use?
  2986. #
  2987. # XXX - what's the "!" stuff:
  2988. #
  2989. # >18 short !074000,000000 C1 R1
  2990. # >18 short !074000,004000 C2 R1
  2991. # >18 short !074000,010000 C3 R1
  2992. # >18 short !074000,074000 TEST
  2993. #
  2994. # I shall assume it's ANDing the field with the first value and
  2995. # comparing it with the second, and rewrite it as:
  2996. #
  2997. # >18 short&074000 000000 C1 R1
  2998. # >18 short&074000 004000 C2 R1
  2999. # >18 short&074000 010000 C3 R1
  3000. # >18 short&074000 074000 TEST
  3001. #
  3002. # as SVR3.1's "file" doesn't support anything of the "!074000,000000"
  3003. # sort, nor does SunOS 4.x, so either it's something Intergraph added
  3004. # in CLIX, or something AT&T added in SVR3.2 or later, or something
  3005. # somebody else thought was a good idea; it's not documented in the
  3006. # man page for this version of "magic", nor does it appear to be
  3007. # implemented (at least not after I blew off the bogus code to turn
  3008. # old-style "&"s into new-style "&"s, which just didn't work at all).
  3009. #
  3010. 0 short 0575 CLIPPER COFF executable (VAX #)
  3011. >20 short 0407 (impure)
  3012. >20 short 0410 (5.2 compatible)
  3013. >20 short 0411 (pure)
  3014. >20 short 0413 (demand paged)
  3015. >20 short 0443 (target shared library)
  3016. >12 long >0 not stripped
  3017. >22 short >0 - version %ld
  3018. 0 short 0577 CLIPPER COFF executable
  3019. >18 short&074000 000000 C1 R1
  3020. >18 short&074000 004000 C2 R1
  3021. >18 short&074000 010000 C3 R1
  3022. >18 short&074000 074000 TEST
  3023. >20 short 0407 (impure)
  3024. >20 short 0410 (pure)
  3025. >20 short 0411 (separate I&D)
  3026. >20 short 0413 (paged)
  3027. >20 short 0443 (target shared library)
  3028. >12 long >0 not stripped
  3029. >22 short >0 - version %ld
  3030. >48 long&01 01 alignment trap enabled
  3031. >52 byte 1 -Ctnc
  3032. >52 byte 2 -Ctsw
  3033. >52 byte 3 -Ctpw
  3034. >52 byte 4 -Ctcb
  3035. >53 byte 1 -Cdnc
  3036. >53 byte 2 -Cdsw
  3037. >53 byte 3 -Cdpw
  3038. >53 byte 4 -Cdcb
  3039. >54 byte 1 -Csnc
  3040. >54 byte 2 -Cssw
  3041. >54 byte 3 -Cspw
  3042. >54 byte 4 -Cscb
  3043. 4 string pipe CLIPPER instruction trace
  3044. 4 string prof CLIPPER instruction profile
  3045.  
  3046. #------------------------------------------------------------------------------
  3047. # cracklib: file (1) magic for cracklib v2.7
  3048.  
  3049. 0 lelong 0x70775631 Cracklib password index, little endian
  3050. >4 long >0 (%i words)
  3051. >4 long 0 ("64-bit")
  3052. >>8 long >-1 (%i words)
  3053. 0 belong 0x70775631 Cracklib password index, big endian
  3054. >4 belong >-1 (%i words)
  3055. # really bellong 0x0000000070775631
  3056. 4 belong 0x70775631 Cracklib password index, big endian ("64-bit")
  3057. >12 belong >0 (%i words)
  3058.  
  3059. #------------------------------------------------------------------------------
  3060. # spec: file(1) magic for SPEC raw results (*.raw, *.rsf)
  3061. #
  3062. # Cloyce D. Spradling <[email protected]>
  3063.  
  3064. 0 string spec SPEC
  3065. >4 string .cpu CPU
  3066. >>8 string <: \b%.4s
  3067. >>12 string . raw result text
  3068.  
  3069. 17 string version=SPECjbb SPECjbb
  3070. >32 string <: \b%.4s
  3071. >>37 string <: v%.4s raw result text
  3072.  
  3073. 0 string BEGIN\040SPECWEB SPECweb
  3074. >13 string <: \b%.2s
  3075. >>15 string _SSL \b_SSL
  3076. >>>20 string <: v%.4s raw result text
  3077. >>16 string <: v%.4s raw result text
  3078.  
  3079. #------------------------------------------------------------------------------
  3080. # commands: file(1) magic for various shells and interpreters
  3081. #
  3082. 0 string : shell archive or script for antique kernel text
  3083. 0 string/b #!\ /bin/sh Bourne shell script text executable
  3084. 0 string/b #!\ /bin/csh C shell script text executable
  3085. # korn shell magic, sent by George Wu, [email protected]
  3086. 0 string/b #!\ /bin/ksh Korn shell script text executable
  3087. 0 string/b #!\ /bin/tcsh Tenex C shell script text executable
  3088. 0 string/b #!\ /usr/local/tcsh Tenex C shell script text executable
  3089. 0 string/b #!\ /usr/local/bin/tcsh Tenex C shell script text executable
  3090.  
  3091. #
  3092. # zsh/ash/ae/nawk/gawk magic from [email protected] (Cameron Simpson)
  3093. 0 string/b #!\ /bin/zsh Paul Falstad's zsh script text executable
  3094. 0 string/b #!\ /usr/bin/zsh Paul Falstad's zsh script text executable
  3095. 0 string/b #!\ /usr/local/bin/zsh Paul Falstad's zsh script text executable
  3096. 0 string/b #!\ /usr/local/bin/ash Neil Brown's ash script text executable
  3097. 0 string/b #!\ /usr/local/bin/ae Neil Brown's ae script text executable
  3098. 0 string/b #!\ /bin/nawk new awk script text executable
  3099. 0 string/b #!\ /usr/bin/nawk new awk script text executable
  3100. 0 string/b #!\ /usr/local/bin/nawk new awk script text executable
  3101. 0 string/b #!\ /bin/gawk GNU awk script text executable
  3102. 0 string/b #!\ /usr/bin/gawk GNU awk script text executable
  3103. 0 string/b #!\ /usr/local/bin/gawk GNU awk script text executable
  3104. #
  3105. 0 string/b #!\ /bin/awk awk script text executable
  3106. 0 string/b #!\ /usr/bin/awk awk script text executable
  3107. # update to distinguish from *.vcf files
  3108. # this is broken because postscript has /EBEGIN{ for example.
  3109. #0 regex BEGIN[[:space:]]*[{] awk script text
  3110.  
  3111. # AT&T Bell Labs' Plan 9 shell
  3112. 0 string/b #!\ /bin/rc Plan 9 rc shell script text executable
  3113.  
  3114. # bash shell magic, from Peter Tobias ([email protected])
  3115. 0 string/b #!\ /bin/bash Bourne-Again shell script text executable
  3116. 0 string/b #!\ /usr/local/bin/bash Bourne-Again shell script text executable
  3117.  
  3118. # using env
  3119. 0 string #!/usr/bin/env a
  3120. >15 string >\0 %s script text executable
  3121. 0 string #!\ /usr/bin/env a
  3122. >16 string >\0 %s script text executable
  3123.  
  3124. # PHP scripts
  3125. # Ulf Harnhammar <[email protected]>
  3126. 0 string/c =<?php PHP script text
  3127. 0 string =<?\n PHP script text
  3128. 0 string =<?\r PHP script text
  3129. 0 string/b #!\ /usr/local/bin/php PHP script text executable
  3130. 0 string/b #!\ /usr/bin/php PHP script text executable
  3131.  
  3132. 0 string Zend\x00 PHP script Zend Optimizer data
  3133.  
  3134. 0 string $! DCL command file
  3135.  
  3136. #----------------------------------------------------------------------------
  3137. # communication
  3138.  
  3139. # TTCN is the Tree and Tabular Combined Notation described in ISO 9646-3.
  3140. # It is used for conformance testing of communication protocols.
  3141. # Added by W. Borgert <[email protected]>.
  3142. 0 string $Suite TTCN Abstract Test Suite
  3143. >&1 string $SuiteId
  3144. >>&1 string >\n %s
  3145. >&2 string $SuiteId
  3146. >>&1 string >\n %s
  3147. >&3 string $SuiteId
  3148. >>&1 string >\n %s
  3149.  
  3150. # MSC (message sequence charts) are a formal description technique,
  3151. # described in ITU-T Z.120, mainly used for communication protocols.
  3152. # Added by W. Borgert <[email protected]>.
  3153. 0 string mscdocument Message Sequence Chart (document)
  3154. 0 string msc Message Sequence Chart (chart)
  3155. 0 string submsc Message Sequence Chart (subchart)
  3156.  
  3157. #------------------------------------------------------------------------------
  3158. # compress: file(1) magic for pure-compression formats (no archives)
  3159. #
  3160. # compress, gzip, pack, compact, huf, squeeze, crunch, freeze, yabba, etc.
  3161. #
  3162. # Formats for various forms of compressed data
  3163. # Formats for "compress" proper have been moved into "compress.c",
  3164. # because it tries to uncompress it to figure out what's inside.
  3165.  
  3166. # standard unix compress
  3167. 0 string \037\235 compress'd data
  3168. >2 byte&0x80 >0 block compressed
  3169. >2 byte&0x1f x %d bits
  3170.  
  3171. # gzip (GNU zip, not to be confused with Info-ZIP or PKWARE zip archiver)
  3172. # Edited by Chris Chittleborough <[email protected]>, March 2002
  3173. # * Original filename is only at offset 10 if "extra field" absent
  3174. # * Produce shorter output - notably, only report compression methods
  3175. # other than 8 ("deflate", the only method defined in RFC 1952).
  3176. 0 string \037\213 gzip compressed data
  3177. >2 byte <8 \b, reserved method
  3178. >2 byte >8 \b, unknown method
  3179. >3 byte &0x01 \b, ASCII
  3180. >3 byte &0x02 \b, has CRC
  3181. >3 byte &0x04 \b, extra field
  3182. >3 byte&0xC =0x08
  3183. >>10 string x \b, was "%s"
  3184. >3 byte &0x10 \b, has comment
  3185. >9 byte =0x00 \b, from FAT filesystem (MS-DOS, OS/2, NT)
  3186. >9 byte =0x01 \b, from Amiga
  3187. >9 byte =0x02 \b, from VMS
  3188. >9 byte =0x03 \b, from Unix
  3189. >9 byte =0x04 \b, from VM/CMS
  3190. >9 byte =0x05 \b, from Atari
  3191. >9 byte =0x06 \b, from HPFS filesystem (OS/2, NT)
  3192. >9 byte =0x07 \b, from MacOS
  3193. >9 byte =0x08 \b, from Z-System
  3194. >9 byte =0x09 \b, from CP/M
  3195. >9 byte =0x0A \b, from TOPS/20
  3196. >9 byte =0x0B \b, from NTFS filesystem (NT)
  3197. >9 byte =0x0C \b, from QDOS
  3198. >9 byte =0x0D \b, from Acorn RISCOS
  3199. >3 byte &0x10 \b, comment
  3200. >3 byte &0x20 \b, encrypted
  3201. >4 ledate >0 \b, last modified: %s
  3202. >8 byte 2 \b, max compression
  3203. >8 byte 4 \b, max speed
  3204.  
  3205. # packed data, Huffman (minimum redundancy) codes on a byte-by-byte basis
  3206. 0 string \037\036 packed data
  3207. >2 belong >1 \b, %d characters originally
  3208. >2 belong =1 \b, %d character originally
  3209. #
  3210. # This magic number is byte-order-independent.
  3211. 0 short 0x1f1f old packed data
  3212.  
  3213. # XXX - why *two* entries for "compacted data", one of which is
  3214. # byte-order independent, and one of which is byte-order dependent?
  3215. #
  3216. 0 short 0x1fff compacted data
  3217. # This string is valid for SunOS (BE) and a matching "short" is listed
  3218. # in the Ultrix (LE) magic file.
  3219. 0 string \377\037 compacted data
  3220. 0 short 0145405 huf output
  3221.  
  3222. # bzip2
  3223. 0 string BZh bzip2 compressed data
  3224. >3 byte >47 \b, block size = %c00k
  3225.  
  3226. # squeeze and crunch
  3227. # Michael Haardt <[email protected]>
  3228. 0 beshort 0x76FF squeezed data,
  3229. >4 string x original name %s
  3230. 0 beshort 0x76FE crunched data,
  3231. >2 string x original name %s
  3232. 0 beshort 0x76FD LZH compressed data,
  3233. >2 string x original name %s
  3234.  
  3235. # Freeze
  3236. 0 string \037\237 frozen file 2.1
  3237. 0 string \037\236 frozen file 1.0 (or gzip 0.5)
  3238.  
  3239. # SCO compress -H (LZH)
  3240. 0 string \037\240 SCO compress -H (LZH) data
  3241.  
  3242. # European GSM 06.10 is a provisional standard for full-rate speech
  3243. # transcoding, prI-ETS 300 036, which uses RPE/LTP (residual pulse
  3244. # excitation/long term prediction) coding at 13 kbit/s.
  3245. #
  3246. # There's only a magic nibble (4 bits); that nibble repeats every 33
  3247. # bytes. This isn't suited for use, but maybe we can use it someday.
  3248. #
  3249. # This will cause very short GSM files to be declared as data and
  3250. # mismatches to be declared as data too!
  3251. #0 byte&0xF0 0xd0 data
  3252. #>33 byte&0xF0 0xd0
  3253. #>66 byte&0xF0 0xd0
  3254. #>99 byte&0xF0 0xd0
  3255. #>132 byte&0xF0 0xd0 GSM 06.10 compressed audio
  3256.  
  3257. # bzip a block-sorting file compressor
  3258. # by Julian Seward <[email protected]> and others
  3259. #
  3260. 0 string BZ bzip compressed data
  3261. >2 byte x \b, version: %c
  3262. >3 string =1 \b, compression block size 100k
  3263. >3 string =2 \b, compression block size 200k
  3264. >3 string =3 \b, compression block size 300k
  3265. >3 string =4 \b, compression block size 400k
  3266. >3 string =5 \b, compression block size 500k
  3267. >3 string =6 \b, compression block size 600k
  3268. >3 string =7 \b, compression block size 700k
  3269. >3 string =8 \b, compression block size 800k
  3270. >3 string =9 \b, compression block size 900k
  3271.  
  3272. # lzop from <[email protected]>
  3273. 0 string \x89\x4c\x5a\x4f\x00\x0d\x0a\x1a\x0a lzop compressed data
  3274. >9 beshort <0x0940
  3275. >>9 byte&0xf0 =0x00 - version 0.
  3276. >>9 beshort&0x0fff x \b%03x,
  3277. >>13 byte 1 LZO1X-1,
  3278. >>13 byte 2 LZO1X-1(15),
  3279. >>13 byte 3 LZO1X-999,
  3280. ## >>22 bedate >0 last modified: %s,
  3281. >>14 byte =0x00 os: MS-DOS
  3282. >>14 byte =0x01 os: Amiga
  3283. >>14 byte =0x02 os: VMS
  3284. >>14 byte =0x03 os: Unix
  3285. >>14 byte =0x05 os: Atari
  3286. >>14 byte =0x06 os: OS/2
  3287. >>14 byte =0x07 os: MacOS
  3288. >>14 byte =0x0A os: Tops/20
  3289. >>14 byte =0x0B os: WinNT
  3290. >>14 byte =0x0E os: Win32
  3291. >9 beshort >0x0939
  3292. >>9 byte&0xf0 =0x00 - version 0.
  3293. >>9 byte&0xf0 =0x10 - version 1.
  3294. >>9 byte&0xf0 =0x20 - version 2.
  3295. >>9 beshort&0x0fff x \b%03x,
  3296. >>15 byte 1 LZO1X-1,
  3297. >>15 byte 2 LZO1X-1(15),
  3298. >>15 byte 3 LZO1X-999,
  3299. ## >>25 bedate >0 last modified: %s,
  3300. >>17 byte =0x00 os: MS-DOS
  3301. >>17 byte =0x01 os: Amiga
  3302. >>17 byte =0x02 os: VMS
  3303. >>17 byte =0x03 os: Unix
  3304. >>17 byte =0x05 os: Atari
  3305. >>17 byte =0x06 os: OS/2
  3306. >>17 byte =0x07 os: MacOS
  3307. >>17 byte =0x0A os: Tops/20
  3308. >>17 byte =0x0B os: WinNT
  3309. >>17 byte =0x0E os: Win32
  3310.  
  3311. # 4.3BSD-Quasijarus Strong Compression
  3312. # http://minnie.tuhs.org/Quasijarus/compress.html
  3313. 0 string \037\241 Quasijarus strong compressed data
  3314.  
  3315. # From: Cory Dikkers <[email protected]>
  3316. 0 string XPKF Amiga xpkf.library compressed data
  3317. 0 string PP11 Power Packer 1.1 compressed data
  3318. 0 string PP20 Power Packer 2.0 compressed data,
  3319. >4 belong 0x09090909 fast compression
  3320. >4 belong 0x090A0A0A mediocre compression
  3321. >4 belong 0x090A0B0B good compression
  3322. >4 belong 0x090A0C0C very good compression
  3323. >4 belong 0x090A0C0D best compression
  3324.  
  3325. # 7-zip archiver, from Thomas Klausner ([email protected])
  3326. # http://www.7-zip.org or DOC/7zFormat.txt
  3327. #
  3328. 0 string 7z\274\257\047\034 7-zip archive data,
  3329. >6 byte x version %d
  3330. >7 byte x \b.%d
  3331.  
  3332. # AFX compressed files (Wolfram Kleff)
  3333. 2 string -afx- AFX compressed file data
  3334.  
  3335. # Supplementary magic data for the file(1) command to support
  3336. # rzip(1). The format is described in magic(5).
  3337. #
  3338. # Copyright (C) 2003 by Andrew Tridgell. You may do whatever you want with
  3339. # this file.
  3340. #
  3341. 0 string RZIP rzip compressed data
  3342. >4 byte x - version %d
  3343. >5 byte x \b.%d
  3344. >6 belong x (%d bytes)
  3345. #------------------------------------------------------------------------------
  3346. # Console game magic
  3347. # Toby Deshane <[email protected]>
  3348. # ines: file(1) magic for Marat's iNES Nintendo Entertainment System
  3349. # ROM dump format
  3350.  
  3351. 0 string NES\032 iNES ROM dump,
  3352. >4 byte x %dx16k PRG
  3353. >5 byte x \b, %dx8k CHR
  3354. >6 byte&0x01 =0x1 \b, [Vert.]
  3355. >6 byte&0x01 =0x0 \b, [Horiz.]
  3356. >6 byte&0x02 =0x2 \b, [SRAM]
  3357. >6 byte&0x04 =0x4 \b, [Trainer]
  3358. >6 byte&0x04 =0x8 \b, [4-Scr]
  3359.  
  3360. #------------------------------------------------------------------------------
  3361. # gameboy: file(1) magic for the Nintendo (Color) Gameboy raw ROM format
  3362. #
  3363. 0x104 belong 0xCEED6666 Gameboy ROM:
  3364. >0x134 string >\0 "%.16s"
  3365. >0x146 byte 0x03 \b,[SGB]
  3366. >0x147 byte 0x00 \b, [ROM ONLY]
  3367. >0x147 byte 0x01 \b, [ROM+MBC1]
  3368. >0x147 byte 0x02 \b, [ROM+MBC1+RAM]
  3369. >0x147 byte 0x03 \b, [ROM+MBC1+RAM+BATT]
  3370. >0x147 byte 0x05 \b, [ROM+MBC2]
  3371. >0x147 byte 0x06 \b, [ROM+MBC2+BATTERY]
  3372. >0x147 byte 0x08 \b, [ROM+RAM]
  3373. >0x147 byte 0x09 \b, [ROM+RAM+BATTERY]
  3374. >0x147 byte 0x0B \b, [ROM+MMM01]
  3375. >0x147 byte 0x0C \b, [ROM+MMM01+SRAM]
  3376. >0x147 byte 0x0D \b, [ROM+MMM01+SRAM+BATT]
  3377. >0x147 byte 0x0F \b, [ROM+MBC3+TIMER+BATT]
  3378. >0x147 byte 0x10 \b, [ROM+MBC3+TIMER+RAM+BATT]
  3379. >0x147 byte 0x11 \b, [ROM+MBC3]
  3380. >0x147 byte 0x12 \b, [ROM+MBC3+RAM]
  3381. >0x147 byte 0x13 \b, [ROM+MBC3+RAM+BATT]
  3382. >0x147 byte 0x19 \b, [ROM+MBC5]
  3383. >0x147 byte 0x1A \b, [ROM+MBC5+RAM]
  3384. >0x147 byte 0x1B \b, [ROM+MBC5+RAM+BATT]
  3385. >0x147 byte 0x1C \b, [ROM+MBC5+RUMBLE]
  3386. >0x147 byte 0x1D \b, [ROM+MBC5+RUMBLE+SRAM]
  3387. >0x147 byte 0x1E \b, [ROM+MBC5+RUMBLE+SRAM+BATT]
  3388. >0x147 byte 0x1F \b, [Pocket Camera]
  3389. >0x147 byte 0xFD \b, [Bandai TAMA5]
  3390. >0x147 byte 0xFE \b, [Hudson HuC-3]
  3391. >0x147 byte 0xFF \b, [Hudson HuC-1]
  3392.  
  3393. >0x148 byte 0 \b, ROM: 256Kbit
  3394. >0x148 byte 1 \b, ROM: 512Kbit
  3395. >0x148 byte 2 \b, ROM: 1Mbit
  3396. >0x148 byte 3 \b, ROM: 2Mbit
  3397. >0x148 byte 4 \b, ROM: 4Mbit
  3398. >0x148 byte 5 \b, ROM: 8Mbit
  3399. >0x148 byte 6 \b, ROM: 16Mbit
  3400. >0x148 byte 0x52 \b, ROM: 9Mbit
  3401. >0x148 byte 0x53 \b, ROM: 10Mbit
  3402. >0x148 byte 0x54 \b, ROM: 12Mbit
  3403.  
  3404. >0x149 byte 1 \b, RAM: 16Kbit
  3405. >0x149 byte 2 \b, RAM: 64Kbit
  3406. >0x149 byte 3 \b, RAM: 128Kbit
  3407. >0x149 byte 4 \b, RAM: 1Mbit
  3408.  
  3409. #>0x14e long x \b, CRC: %x
  3410.  
  3411. #------------------------------------------------------------------------------
  3412. # genesis: file(1) magic for the Sega MegaDrive/Genesis raw ROM format
  3413. #
  3414. 0x100 string SEGA Sega MegaDrive/Genesis raw ROM dump
  3415. >0x120 string >\0 Name: "%.16s"
  3416. >0x110 string >\0 %.16s
  3417. >0x1B0 string RA with SRAM
  3418.  
  3419. #------------------------------------------------------------------------------
  3420. # genesis: file(1) magic for the Super MegaDrive ROM dump format
  3421. #
  3422. 0x280 string EAGN Super MagicDrive ROM dump
  3423. >0 byte x %dx16k blocks
  3424. >2 byte 0 \b, last in series or standalone
  3425. >2 byte >0 \b, split ROM
  3426. >8 byte 0xAA
  3427. >9 byte 0xBB
  3428.  
  3429. #------------------------------------------------------------------------------
  3430. # genesis: file(1) alternate magic for the Super MegaDrive ROM dump format
  3431. #
  3432. 0x280 string EAMG Super MagicDrive ROM dump
  3433. >0 byte x %dx16k blocks
  3434. >2 byte x \b, last in series or standalone
  3435. >8 byte 0xAA
  3436. >9 byte 0xBB
  3437.  
  3438. #------------------------------------------------------------------------------
  3439. # smsgg: file(1) magic for Sega Master System and Game Gear ROM dumps
  3440. #
  3441. # Does not detect all images. Very preliminary guesswork. Need more data
  3442. # on format.
  3443. #
  3444. # FIXME: need a little more info...;P
  3445. #
  3446. #0 byte 0xF3
  3447. #>1 byte 0xED Sega Master System/Game Gear ROM dump
  3448. #>1 byte 0x31 Sega Master System/Game Gear ROM dump
  3449. #>1 byte 0xDB Sega Master System/Game Gear ROM dump
  3450. #>1 byte 0xAF Sega Master System/Game Gear ROM dump
  3451. #>1 byte 0xC3 Sega Master System/Game Gear ROM dump
  3452.  
  3453. #------------------------------------------------------------------------------
  3454. # dreamcast: file(1) uncertain magic for the Sega Dreamcast VMU image format
  3455. #
  3456. 0 belong 0x21068028 Sega Dreamcast VMU game image
  3457. 0 string LCDi Dream Animator file
  3458.  
  3459. #------------------------------------------------------------------------------
  3460. # v64: file(1) uncertain magic for the V64 format N64 ROM dumps
  3461. #
  3462. 0 belong 0x37804012 V64 Nintendo 64 ROM dump
  3463.  
  3464. #------------------------------------------------------------------------------
  3465. # msx: file(1) magic for MSX game cartridge dumps
  3466. # Too simple - MPi
  3467. #0 beshort 0x4142 MSX game cartridge dump
  3468.  
  3469. #------------------------------------------------------------------------------
  3470. # Sony Playstation executables (Adam Sjoegren <[email protected]>) :
  3471. 0 string PS-X\ EXE Sony Playstation executable
  3472. # Area:
  3473. >113 string x (%s)
  3474.  
  3475. #------------------------------------------------------------------------------
  3476. # Microsoft Xbox executables .xbe (Esa HyytiƤ <[email protected]>)
  3477. 0 string XBEH XBE, Microsoft Xbox executable
  3478. # probabilistic checks whether signed or not
  3479. >0x0004 ulelong =0x0
  3480. >>&2 ulelong =0x0
  3481. >>>&2 ulelong =0x0 \b, not signed
  3482. >0x0004 ulelong >0
  3483. >>&2 ulelong >0
  3484. >>>&2 ulelong >0 \b, signed
  3485. # expect base address of 0x10000
  3486. >0x0104 ulelong =0x10000
  3487. >>(0x0118-0x0FF60) ulelong&0x80000007 0x80000007 \b, all regions
  3488. >>(0x0118-0x0FF60) ulelong&0x80000007 !0x80000007
  3489. >>>(0x0118-0x0FF60) ulelong >0 (regions:
  3490. >>>>(0x0118-0x0FF60) ulelong &0x00000001 NA
  3491. >>>>(0x0118-0x0FF60) ulelong &0x00000002 Japan
  3492. >>>>(0x0118-0x0FF60) ulelong &0x00000004 Rest_of_World
  3493. >>>>(0x0118-0x0FF60) ulelong &0x80000000 Manufacturer
  3494. >>>(0x0118-0x0FF60) ulelong >0 \b)
  3495.  
  3496. # --------------------------------
  3497. # Microsoft Xbox data file formats
  3498. 0 string XIP0 XIP, Microsoft Xbox data
  3499. 0 string XTF0 XTF, Microsoft Xbox data
  3500.  
  3501. # Atari Lynx cartridge dump (EXE/BLL header)
  3502. # From: "Stefan A. Haubenthal" <[email protected]>
  3503.  
  3504. 0 beshort 0x8008 Lynx cartridge,
  3505. >2 beshort x RAM start $%04x
  3506. >6 string BS93
  3507.  
  3508. # Opera file system that is used on the 3DO console
  3509. # From: Serge van den Boom <[email protected]>
  3510. 0 string \x01ZZZZZ\x01 3DO "Opera" file system
  3511.  
  3512. # From Gürkan Sengün <[email protected]>, www.linuks.mine.nu
  3513. 0 string GBS Nintendo Gameboy Music/Audio Data
  3514. 12 string GameBoy\ Music\ Module Nintendo Gameboy Music Module
  3515.  
  3516. # Playstations Patch Files from: From: Thomas Klausner <[email protected]>
  3517. 0 string PPF30 Playstation Patch File version 3.0
  3518. >5 byte 0 \b, PPF 1.0 patch
  3519. >5 byte 1 \b, PPF 2.0 patch
  3520. >5 byte 2 \b, PPF 3.0 patch
  3521. >>56 byte 0 \b, Imagetype BIN (any)
  3522. >>56 byte 1 \b, Imagetype GI (PrimoDVD)
  3523. >>57 byte 0 \b, Blockcheck disabled
  3524. >>57 byte 1 \b, Blockcheck enabled
  3525. >>58 byte 0 \b, Undo data not available
  3526. >>58 byte 1 \b, Undo data available
  3527. >6 string x \b, description: %s
  3528.  
  3529. 0 string PPF20 Playstation Patch File version 2.0
  3530. >5 byte 0 \b, PPF 1.0 patch
  3531. >5 byte 1 \b, PPF 2.0 patch
  3532. >>56 lelong >0 \b, size of file to patch %d
  3533. >6 string x \b, description: %s
  3534.  
  3535. 0 string PPF10 Playstation Patch File version 1.0
  3536. >5 byte 0 \b, Simple Encoding
  3537. >6 string x \b, description: %s
  3538.  
  3539. # From: Daniel Dawson <[email protected]>
  3540. # SNES9x .smv "movie" file format.
  3541. 0 string SMV\x1A SNES9x input recording
  3542. >0x4 lelong x \b, version %d
  3543. # version 4 is latest so far
  3544. >0x4 lelong <5
  3545. >>0x8 ledate x \b, recorded at %s
  3546. >>0xc lelong >0 \b, rerecorded %d times
  3547. >>0x10 lelong x \b, %d frames long
  3548. >>0x14 byte >0 \b, data for controller(s):
  3549. >>>0x14 byte &0x1 #1
  3550. >>>0x14 byte &0x2 #2
  3551. >>>0x14 byte &0x4 #3
  3552. >>>0x14 byte &0x8 #4
  3553. >>>0x14 byte &0x10 #5
  3554. >>0x15 byte ^0x1 \b, begins from snapshot
  3555. >>0x15 byte &0x1 \b, begins from reset
  3556. >>0x15 byte ^0x2 \b, NTSC standard
  3557. >>0x15 byte &0x2 \b, PAL standard
  3558. >>0x17 byte &0x1 \b, settings:
  3559. # WIP1Timing not used as of version 4
  3560. >>>0x4 lelong <4
  3561. >>>>0x17 byte &0x2 WIP1Timing
  3562. >>>0x17 byte &0x4 Left+Right
  3563. >>>0x17 byte &0x8 VolumeEnvX
  3564. >>>0x17 byte &0x10 FakeMute
  3565. >>>0x17 byte &0x20 SyncSound
  3566. # New flag as of version 4
  3567. >>>0x4 lelong >3
  3568. >>>>0x17 byte &0x80 NoCPUShutdown
  3569. >>0x4 lelong <4
  3570. >>>0x18 lelong >0x23
  3571. >>>>0x20 leshort !0
  3572. >>>>>0x20 lestring16 x \b, metadata: "%s"
  3573. >>0x4 lelong >3
  3574. >>>0x24 byte >0 \b, port 1:
  3575. >>>>0x24 byte 1 joypad
  3576. >>>>0x24 byte 2 mouse
  3577. >>>>0x24 byte 3 SuperScope
  3578. >>>>0x24 byte 4 Justifier
  3579. >>>>0x24 byte 5 multitap
  3580. >>>0x24 byte >0 \b, port 2:
  3581. >>>>0x25 byte 1 joypad
  3582. >>>>0x25 byte 2 mouse
  3583. >>>>0x25 byte 3 SuperScope
  3584. >>>>0x25 byte 4 Justifier
  3585. >>>>0x25 byte 5 multitap
  3586. >>>0x18 lelong >0x43
  3587. >>>>0x40 leshort !0
  3588. >>>>>0x40 lestring16 x \b, metadata: "%s"
  3589. >>0x17 byte &0x40 \b, ROM:
  3590. >>>(0x18.l-26) lelong x CRC32 0x%08x
  3591. >>>(0x18.l-23) string x "%s"
  3592.  
  3593. # From: "Nelson A. de Oliveira" <[email protected]>
  3594. # .w3g
  3595. 0 string Warcraft\ III\ recorded\ game %s
  3596. # .w3m
  3597. 0 string HM3W Warcraft III map file
  3598.  
  3599. #------------------------------------------------------------------------------
  3600. # convex: file(1) magic for Convex boxes
  3601. #
  3602. # Convexes are big-endian.
  3603. #
  3604. # /*\
  3605. # * Below are the magic numbers and tests added for Convex.
  3606. # * Added at beginning, because they are expected to be used most.
  3607. # \*/
  3608. 0 belong 0507 Convex old-style object
  3609. >16 belong >0 not stripped
  3610. 0 belong 0513 Convex old-style demand paged executable
  3611. >16 belong >0 not stripped
  3612. 0 belong 0515 Convex old-style pre-paged executable
  3613. >16 belong >0 not stripped
  3614. 0 belong 0517 Convex old-style pre-paged, non-swapped executable
  3615. >16 belong >0 not stripped
  3616. 0 belong 0x011257 Core file
  3617. #
  3618. # The following are a series of dump format magic numbers. Each one
  3619. # corresponds to a drastically different dump format. The first on is
  3620. # the original dump format on a 4.1 BSD or earlier file system. The
  3621. # second marks the change between the 4.1 file system and the 4.2 file
  3622. # system. The Third marks the changing of the block size from 1K
  3623. # to 2K to be compatible with an IDC file system. The fourth indicates
  3624. # a dump that is dependent on Convex Storage Manager, because data in
  3625. # secondary storage is not physically contained within the dump.
  3626. # The restore program uses these number to determine how the data is
  3627. # to be extracted.
  3628. #
  3629. 24 belong =60011 dump format, 4.1 BSD or earlier
  3630. 24 belong =60012 dump format, 4.2 or 4.3 BSD without IDC
  3631. 24 belong =60013 dump format, 4.2 or 4.3 BSD (IDC compatible)
  3632. 24 belong =60014 dump format, Convex Storage Manager by-reference dump
  3633. #
  3634. # what follows is a bunch of bit-mask checks on the flags field of the opthdr.
  3635. # If there is no `=' sign, assume just checking for whether the bit is set?
  3636. #
  3637. 0 belong 0601 Convex SOFF
  3638. >88 belong&0x000f0000 =0x00000000 c1
  3639. >88 belong &0x00010000 c2
  3640. >88 belong &0x00020000 c2mp
  3641. >88 belong &0x00040000 parallel
  3642. >88 belong &0x00080000 intrinsic
  3643. >88 belong &0x00000001 demand paged
  3644. >88 belong &0x00000002 pre-paged
  3645. >88 belong &0x00000004 non-swapped
  3646. >88 belong &0x00000008 POSIX
  3647. #
  3648. >84 belong &0x80000000 executable
  3649. >84 belong &0x40000000 object
  3650. >84 belong&0x20000000 =0 not stripped
  3651. >84 belong&0x18000000 =0x00000000 native fpmode
  3652. >84 belong&0x18000000 =0x10000000 ieee fpmode
  3653. >84 belong&0x18000000 =0x18000000 undefined fpmode
  3654. #
  3655. 0 belong 0605 Convex SOFF core
  3656. #
  3657. 0 belong 0607 Convex SOFF checkpoint
  3658. >88 belong&0x000f0000 =0x00000000 c1
  3659. >88 belong &0x00010000 c2
  3660. >88 belong &0x00020000 c2mp
  3661. >88 belong &0x00040000 parallel
  3662. >88 belong &0x00080000 intrinsic
  3663. >88 belong &0x00000008 POSIX
  3664. #
  3665. >84 belong&0x18000000 =0x00000000 native fpmode
  3666. >84 belong&0x18000000 =0x10000000 ieee fpmode
  3667. >84 belong&0x18000000 =0x18000000 undefined fpmode
  3668.  
  3669. # ----------------------------------------------------------------------------
  3670. # ctags: file (1) magic for Exuberant Ctags files
  3671. # From: Alexander Mai <[email protected]>
  3672. 0 string =!_TAG Exuberant Ctags tag file text
  3673.  
  3674. #------------------------------------------------------------------------------
  3675. # dact: file(1) magic for DACT compressed files
  3676. #
  3677. 0 long 0x444354C3 DACT compressed data
  3678. >4 byte >-1 (version %i.
  3679. >5 byte >-1 $BS%i.
  3680. >6 byte >-1 $BS%i)
  3681. >7 long >0 $BS, original size: %i bytes
  3682. >15 long >30 $BS, block size: %i bytes
  3683.  
  3684. #------------------------------------------------------------------------------
  3685. # database: file(1) magic for various databases
  3686. #
  3687. # extracted from header/code files by Graeme Wilford ([email protected])
  3688. #
  3689. #
  3690. # GDBM magic numbers
  3691. # Will be maintained as part of the GDBM distribution in the future.
  3692. 0 belong 0x13579ace GNU dbm 1.x or ndbm database, big endian
  3693. 0 lelong 0x13579ace GNU dbm 1.x or ndbm database, little endian
  3694. 0 string GDBM GNU dbm 2.x database
  3695. #
  3696. # Berkeley DB
  3697. #
  3698. # Ian Darwin's file /etc/magic files: big/little-endian version.
  3699. #
  3700. # Hash 1.85/1.86 databases store metadata in network byte order.
  3701. # Btree 1.85/1.86 databases store the metadata in host byte order.
  3702. # Hash and Btree 2.X and later databases store the metadata in host byte order.
  3703.  
  3704. 0 long 0x00061561 Berkeley DB
  3705. >8 belong 4321
  3706. >>4 belong >2 1.86
  3707. >>4 belong <3 1.85
  3708. >>4 belong >0 (Hash, version %d, native byte-order)
  3709. >8 belong 1234
  3710. >>4 belong >2 1.86
  3711. >>4 belong <3 1.85
  3712. >>4 belong >0 (Hash, version %d, little-endian)
  3713.  
  3714. 0 belong 0x00061561 Berkeley DB
  3715. >8 belong 4321
  3716. >>4 belong >2 1.86
  3717. >>4 belong <3 1.85
  3718. >>4 belong >0 (Hash, version %d, big-endian)
  3719. >8 belong 1234
  3720. >>4 belong >2 1.86
  3721. >>4 belong <3 1.85
  3722. >>4 belong >0 (Hash, version %d, native byte-order)
  3723.  
  3724. 0 long 0x00053162 Berkeley DB 1.85/1.86
  3725. >4 long >0 (Btree, version %d, native byte-order)
  3726. 0 belong 0x00053162 Berkeley DB 1.85/1.86
  3727. >4 belong >0 (Btree, version %d, big-endian)
  3728. 0 lelong 0x00053162 Berkeley DB 1.85/1.86
  3729. >4 lelong >0 (Btree, version %d, little-endian)
  3730.  
  3731. 12 long 0x00061561 Berkeley DB
  3732. >16 long >0 (Hash, version %d, native byte-order)
  3733. 12 belong 0x00061561 Berkeley DB
  3734. >16 belong >0 (Hash, version %d, big-endian)
  3735. 12 lelong 0x00061561 Berkeley DB
  3736. >16 lelong >0 (Hash, version %d, little-endian)
  3737.  
  3738. 12 long 0x00053162 Berkeley DB
  3739. >16 long >0 (Btree, version %d, native byte-order)
  3740. 12 belong 0x00053162 Berkeley DB
  3741. >16 belong >0 (Btree, version %d, big-endian)
  3742. 12 lelong 0x00053162 Berkeley DB
  3743. >16 lelong >0 (Btree, version %d, little-endian)
  3744.  
  3745. 12 long 0x00042253 Berkeley DB
  3746. >16 long >0 (Queue, version %d, native byte-order)
  3747. 12 belong 0x00042253 Berkeley DB
  3748. >16 belong >0 (Queue, version %d, big-endian)
  3749. 12 lelong 0x00042253 Berkeley DB
  3750. >16 lelong >0 (Queue, version %d, little-endian)
  3751.  
  3752. # From Max Bowsher.
  3753. 12 long 0x00040988 Berkeley DB
  3754. >16 long >0 (Log, version %d, native byte-order)
  3755. 12 belong 0x00040988 Berkeley DB
  3756. >16 belong >0 (Log, version %d, big-endian)
  3757. 12 lelong 0x00040988 Berkeley DB
  3758. >16 lelong >0 (Log, version %d, little-endian)
  3759.  
  3760. #
  3761. #
  3762. # Round Robin Database Tool by Tobias Oetiker <[email protected]>
  3763. 0 string RRD RRDTool DB
  3764. >4 string x version %s
  3765. #----------------------------------------------------------------------
  3766. # ROOT: file(1) magic for ROOT databases
  3767. #
  3768. 0 string root\0 ROOT file
  3769. >4 belong x Version %d
  3770. >33 belong x (Compression: %d)
  3771.  
  3772. # XXX: Weak magic.
  3773. # Alex Ott <[email protected]>
  3774. ## Paradox file formats
  3775. #2 leshort 0x0800 Paradox
  3776. #>0x39 byte 3 v. 3.0
  3777. #>0x39 byte 4 v. 3.5
  3778. #>0x39 byte 9 v. 4.x
  3779. #>0x39 byte 10 v. 5.x
  3780. #>0x39 byte 11 v. 5.x
  3781. #>0x39 byte 12 v. 7.x
  3782. #>>0x04 byte 0 indexed .DB data file
  3783. #>>0x04 byte 1 primary index .PX file
  3784. #>>0x04 byte 2 non-indexed .DB data file
  3785. #>>0x04 byte 3 non-incrementing secondary index .Xnn file
  3786. #>>0x04 byte 4 secondary index .Ynn file
  3787. #>>0x04 byte 5 incrementing secondary index .Xnn file
  3788. #>>0x04 byte 6 non-incrementing secondary index .XGn file
  3789. #>>0x04 byte 7 secondary index .YGn file
  3790. #>>>0x04 byte 8 incrementing secondary index .XGn file
  3791. ## XBase database files
  3792. #0 byte 0x02
  3793. #>8 leshort >0
  3794. #>>12 leshort 0 FoxBase
  3795. #>>>0x04 lelong 0 (no records)
  3796. #>>>0x04 lelong >0 (%ld records)
  3797. #
  3798. #0 byte 0x03
  3799. #>8 leshort >0
  3800. #>>12 leshort 0 FoxBase+, FoxPro, dBaseIII+, dBaseIV, no memo
  3801. #>>>0x04 lelong 0 (no records)
  3802. #>>>0x04 lelong >0 (%ld records)
  3803. #
  3804. #0 byte 0x04
  3805. #>8 leshort >0
  3806. #>>12 leshort 0 dBASE IV no memo file
  3807. #>>>0x04 lelong 0 (no records)
  3808. #>>>0x04 lelong >0 (%ld records)
  3809. #
  3810. #0 byte 0x05
  3811. #>8 leshort >0
  3812. #>>12 leshort 0 dBASE V no memo file
  3813. #>>>0x04 lelong 0 (no records)
  3814. #>>>0x04 lelong >0 (%ld records)
  3815. #
  3816. #0 byte 0x30
  3817. #>8 leshort >0
  3818. #>>12 leshort 0 Visual FoxPro
  3819. #>>>0x04 lelong 0 (no records)
  3820. #>>>0x04 lelong >0 (%ld records)
  3821. #
  3822. #0 byte 0x43
  3823. #>8 leshort >0
  3824. #>>12 leshort 0 FlagShip with memo var size
  3825. #>>>0x04 lelong 0 (no records)
  3826. #>>>0x04 lelong >0 (%ld records)
  3827. #
  3828. #0 byte 0x7b
  3829. #>8 leshort >0
  3830. #>>12 leshort 0 dBASEIV with memo
  3831. #>>>0x04 lelong 0 (no records)
  3832. #>>>0x04 lelong >0 (%ld records)
  3833. #
  3834. #0 byte 0x83
  3835. #>8 leshort >0
  3836. #>>12 leshort 0 FoxBase+, dBaseIII+ with memo
  3837. #>>>0x04 lelong 0 (no records)
  3838. #>>>0x04 lelong >0 (%ld records)
  3839. #
  3840. #0 byte 0x8b
  3841. #>8 leshort >0
  3842. #>>12 leshort 0 dBaseIV with memo
  3843. #>>>0x04 lelong 0 (no records)
  3844. #>>>0x04 lelong >0 (%ld records)
  3845. #
  3846. #0 byte 0x8e
  3847. #>8 leshort >0
  3848. #>>12 leshort 0 dBaseIV with SQL Table
  3849. #>>>0x04 lelong 0 (no records)
  3850. #>>>0x04 lelong >0 (%ld records)
  3851. #
  3852. #0 byte 0xb3
  3853. #>8 leshort >0
  3854. #>>12 leshort 0 FlagShip with .dbt memo
  3855. #>>>0x04 lelong 0 (no records)
  3856. #>>>0x04 lelong >0 (%ld records)
  3857. #
  3858. #0 byte 0xf5
  3859. #>8 leshort >0
  3860. #>>12 leshort 0 FoxPro with memo
  3861. #>>>0x04 lelong 0 (no records)
  3862. #>>>0x04 lelong >0 (%ld records)
  3863. #
  3864. #0 leshort 0x0006 DBase 3 index file
  3865.  
  3866. # MS Access database
  3867. 4 string Standard\ Jet\ DB Microsoft Access Database
  3868.  
  3869. # TDB database from Samba et al - Martin Pool <[email protected]>
  3870. 0 string TDB\ file TDB database
  3871. >32 lelong 0x2601196D version 6, little-endian
  3872. >>36 lelong x hash size %d bytes
  3873.  
  3874. # SE Linux policy database
  3875. 0 lelong 0xf97cff8c SE Linux policy
  3876. >16 lelong x v%d
  3877. >20 lelong 1 MLS
  3878. >24 lelong x %d symbols
  3879. >28 lelong x %d ocons
  3880.  
  3881. # ICE authority file data (Wolfram Kleff)
  3882. 2 string ICE ICE authority data
  3883.  
  3884. # X11 Xauthority file (Wolfram Kleff)
  3885. 10 string MIT-MAGIC-COOKIE-1 X11 Xauthority data
  3886. 11 string MIT-MAGIC-COOKIE-1 X11 Xauthority data
  3887. 12 string MIT-MAGIC-COOKIE-1 X11 Xauthority data
  3888. 13 string MIT-MAGIC-COOKIE-1 X11 Xauthority data
  3889. 14 string MIT-MAGIC-COOKIE-1 X11 Xauthority data
  3890. 15 string MIT-MAGIC-COOKIE-1 X11 Xauthority data
  3891. 16 string MIT-MAGIC-COOKIE-1 X11 Xauthority data
  3892. 17 string MIT-MAGIC-COOKIE-1 X11 Xauthority data
  3893. 18 string MIT-MAGIC-COOKIE-1 X11 Xauthority data
  3894.  
  3895. # From: Maxime Henrion <[email protected]>
  3896. # PostgreSQL's custom dump format, Maxime Henrion <[email protected]>
  3897. 0 string PGDMP PostgreSQL custom database dump
  3898. >5 byte x - v%d
  3899. >6 byte x \b.%d
  3900. >5 beshort <=0x100 \b-0
  3901. >5 beshort >0x100
  3902. >>7 byte x \b-%d
  3903.  
  3904.  
  3905. #------------------------------------------------------------------------------
  3906. # diamond: file(1) magic for Diamond system
  3907. #
  3908. # ... diamond is a multi-media mail and electronic conferencing system....
  3909. #
  3910. # XXX - I think it was either renamed Slate, or replaced by Slate....
  3911. #
  3912. # The full deal is too long...
  3913. #0 string <list>\n<protocol\ bbn-multimedia-format> Diamond Multimedia Document
  3914. 0 string =<list>\n<protocol\ bbn-m Diamond Multimedia Document
  3915.  
  3916. #------------------------------------------------------------------------------
  3917. # diff: file(1) magic for diff(1) output
  3918. #
  3919. 0 string diff\ 'diff' output text
  3920. 0 string ***\ 'diff' output text
  3921. 0 string Only\ in\ 'diff' output text
  3922. 0 string Common\ subdirectories:\ 'diff' output text
  3923.  
  3924. 0 string Index: RCS/CVS diff output text
  3925. # Digital UNIX - Info
  3926. #
  3927. 0 string =!<arch>\n________64E Alpha archive
  3928. >22 string X -- out of date
  3929. #
  3930. # Alpha COFF Based Executables
  3931. # The stripped stuff really needs to be an 8 byte (64 bit) compare,
  3932. # but this works
  3933. 0 leshort 0x183 COFF format alpha
  3934. >22 leshort&020000 &010000 sharable library,
  3935. >22 leshort&020000 ^010000 dynamically linked,
  3936. >24 leshort 0410 pure
  3937. >24 leshort 0413 demand paged
  3938. >8 lelong >0 executable or object module, not stripped
  3939. >8 lelong 0
  3940. >>12 lelong 0 executable or object module, stripped
  3941. >>12 lelong >0 executable or object module, not stripped
  3942. >27 byte >0 - version %d.
  3943. >26 byte >0 %d-
  3944. >28 leshort >0 %d
  3945. #
  3946. # The next is incomplete, we could tell more about this format,
  3947. # but its not worth it.
  3948. 0 leshort 0x188 Alpha compressed COFF
  3949. 0 leshort 0x18f Alpha u-code object
  3950. #
  3951. #
  3952. # Some other interesting Digital formats,
  3953. 0 string \377\377\177 ddis/ddif
  3954. 0 string \377\377\174 ddis/dots archive
  3955. 0 string \377\377\176 ddis/dtif table data
  3956. 0 string \033c\033 LN03 output
  3957. 0 long 04553207 X image
  3958. #
  3959. 0 string =!<PDF>!\n profiling data file
  3960. #
  3961. # Locale data tables (MIPS and Alpha).
  3962. #
  3963. 0 short 0x0501 locale data table
  3964. >6 short 0x24 for MIPS
  3965. >6 short 0x40 for Alpha
  3966. # ATSC A/53 aka AC-3 aka Dolby Digital <[email protected]>
  3967. # from http://www.atsc.org/standards/a_52a.pdf
  3968. # corrections, additions, etc. are always welcome!
  3969. #
  3970. # syncword
  3971. 0 beshort 0x0b77 ATSC A/52 aka AC-3 aka Dolby Digital stream,
  3972. # fscod
  3973. >4 byte&0xc0 0x00 48 kHz,
  3974. >4 byte&0xc0 0x40 44.1 kHz,
  3975. >4 byte&0xc0 0x80 32 kHz,
  3976. # is this one used for 96 kHz?
  3977. >4 byte&0xc0 0xc0 reserved frequency,
  3978. #
  3979. >5 byte&7 = 0 \b, complete main (CM)
  3980. >5 byte&7 = 1 \b, music and effects (ME)
  3981. >5 byte&7 = 2 \b, visually impaired (VI)
  3982. >5 byte&7 = 3 \b, hearing impaired (HI)
  3983. >5 byte&7 = 4 \b, dialogue (D)
  3984. >5 byte&7 = 5 \b, commentary (C)
  3985. >5 byte&7 = 6 \b, emergency (E)
  3986. # acmod
  3987. >6 byte&0xe0 0x00 1+1 front,
  3988. >6 byte&0xe0 0x20 1 front/0 rear,
  3989. >6 byte&0xe0 0x40 2 front/0 rear,
  3990. >6 byte&0xe0 0x60 3 front/0 rear,
  3991. >6 byte&0xe0 0x80 2 front/1 rear,
  3992. >6 byte&0xe0 0xa0 3 front/1 rear,
  3993. >6 byte&0xe0 0xc0 2 front/2 rear,
  3994. >6 byte&0xe0 0xe0 3 front/2 rear,
  3995. # lfeon (these may be incorrect)
  3996. >7 byte&0x40 0x00 LFE off,
  3997. >7 byte&0x40 0x40 LFE on,
  3998. #
  3999. >4 byte&0x3e = 0x00 \b, 32 kbit/s
  4000. >4 byte&0x3e = 0x02 \b, 40 kbit/s
  4001. >4 byte&0x3e = 0x04 \b, 48 kbit/s
  4002. >4 byte&0x3e = 0x06 \b, 56 kbit/s
  4003. >4 byte&0x3e = 0x08 \b, 64 kbit/s
  4004. >4 byte&0x3e = 0x0a \b, 80 kbit/s
  4005. >4 byte&0x3e = 0x0c \b, 96 kbit/s
  4006. >4 byte&0x3e = 0x0e \b, 112 kbit/s
  4007. >4 byte&0x3e = 0x10 \b, 128 kbit/s
  4008. >4 byte&0x3e = 0x12 \b, 160 kbit/s
  4009. >4 byte&0x3e = 0x14 \b, 192 kbit/s
  4010. >4 byte&0x3e = 0x16 \b, 224 kbit/s
  4011. >4 byte&0x3e = 0x18 \b, 256 kbit/s
  4012. >4 byte&0x3e = 0x1a \b, 320 kbit/s
  4013. >4 byte&0x3e = 0x1c \b, 384 kbit/s
  4014. >4 byte&0x3e = 0x1e \b, 448 kbit/s
  4015. >4 byte&0x3e = 0x20 \b, 512 kbit/s
  4016. >4 byte&0x3e = 0x22 \b, 576 kbit/s
  4017. >4 byte&0x3e = 0x24 \b, 640 kbit/s
  4018. # dsurmod (these may be incorrect)
  4019. >6 beshort&0x0180 0x0000 Dolby Surround not indicated
  4020. >6 beshort&0x0180 0x0080 not Dolby Surround encoded
  4021. >6 beshort&0x0180 0x0100 Dolby Surround encoded
  4022. >6 beshort&0x0180 0x0180 reserved Dolby Surround mode
  4023.  
  4024. #------------------------------------------------------------------------------
  4025. # dump: file(1) magic for dump file format--for new and old dump filesystems
  4026. #
  4027. # We specify both byte orders in order to recognize byte-swapped dumps.
  4028. #
  4029. 24 belong 60012 new-fs dump file (big endian),
  4030. >4 bedate x Previous dump %s,
  4031. >8 bedate x This dump %s,
  4032. >12 belong >0 Volume %ld,
  4033. >692 belong 0 Level zero, type:
  4034. >692 belong >0 Level %d, type:
  4035. >0 belong 1 tape header,
  4036. >0 belong 2 beginning of file record,
  4037. >0 belong 3 map of inodes on tape,
  4038. >0 belong 4 continuation of file record,
  4039. >0 belong 5 end of volume,
  4040. >0 belong 6 map of inodes deleted,
  4041. >0 belong 7 end of medium (for floppy),
  4042. >676 string >\0 Label %s,
  4043. >696 string >\0 Filesystem %s,
  4044. >760 string >\0 Device %s,
  4045. >824 string >\0 Host %s,
  4046. >888 belong >0 Flags %x
  4047.  
  4048. 24 belong 60011 old-fs dump file (big endian),
  4049. #>4 bedate x Previous dump %s,
  4050. #>8 bedate x This dump %s,
  4051. >12 belong >0 Volume %ld,
  4052. >692 belong 0 Level zero, type:
  4053. >692 belong >0 Level %d, type:
  4054. >0 belong 1 tape header,
  4055. >0 belong 2 beginning of file record,
  4056. >0 belong 3 map of inodes on tape,
  4057. >0 belong 4 continuation of file record,
  4058. >0 belong 5 end of volume,
  4059. >0 belong 6 map of inodes deleted,
  4060. >0 belong 7 end of medium (for floppy),
  4061. >676 string >\0 Label %s,
  4062. >696 string >\0 Filesystem %s,
  4063. >760 string >\0 Device %s,
  4064. >824 string >\0 Host %s,
  4065. >888 belong >0 Flags %x
  4066.  
  4067. 24 lelong 60012 new-fs dump file (little endian),
  4068. >4 ledate x This dump %s,
  4069. >8 ledate x Previous dump %s,
  4070. >12 lelong >0 Volume %ld,
  4071. >692 lelong 0 Level zero, type:
  4072. >692 lelong >0 Level %d, type:
  4073. >0 lelong 1 tape header,
  4074. >0 lelong 2 beginning of file record,
  4075. >0 lelong 3 map of inodes on tape,
  4076. >0 lelong 4 continuation of file record,
  4077. >0 lelong 5 end of volume,
  4078. >0 lelong 6 map of inodes deleted,
  4079. >0 lelong 7 end of medium (for floppy),
  4080. >676 string >\0 Label %s,
  4081. >696 string >\0 Filesystem %s,
  4082. >760 string >\0 Device %s,
  4083. >824 string >\0 Host %s,
  4084. >888 lelong >0 Flags %x
  4085.  
  4086. 24 lelong 60011 old-fs dump file (little endian),
  4087. #>4 ledate x Previous dump %s,
  4088. #>8 ledate x This dump %s,
  4089. >12 lelong >0 Volume %ld,
  4090. >692 lelong 0 Level zero, type:
  4091. >692 lelong >0 Level %d, type:
  4092. >0 lelong 1 tape header,
  4093. >0 lelong 2 beginning of file record,
  4094. >0 lelong 3 map of inodes on tape,
  4095. >0 lelong 4 continuation of file record,
  4096. >0 lelong 5 end of volume,
  4097. >0 lelong 6 map of inodes deleted,
  4098. >0 lelong 7 end of medium (for floppy),
  4099. >676 string >\0 Label %s,
  4100. >696 string >\0 Filesystem %s,
  4101. >760 string >\0 Device %s,
  4102. >824 string >\0 Host %s,
  4103. >888 lelong >0 Flags %x
  4104.  
  4105. 18 leshort 60011 old-fs dump file (16-bit, assuming PDP-11 endianness),
  4106. >2 medate x Previous dump %s,
  4107. >6 medate x This dump %s,
  4108. >10 leshort >0 Volume %ld,
  4109. >0 leshort 1 tape header.
  4110. >0 leshort 2 beginning of file record.
  4111. >0 leshort 3 map of inodes on tape.
  4112. >0 leshort 4 continuation of file record.
  4113. >0 leshort 5 end of volume.
  4114. >0 leshort 6 map of inodes deleted.
  4115. >0 leshort 7 end of medium (for floppy).
  4116.  
  4117. #------------------------------------------------------------------------------
  4118. # T602 editor documents
  4119. # by David Necas <[email protected]>
  4120. 0 string @CT\ T602 document data,
  4121. >4 string 0 Kamenicky
  4122. >4 string 1 CP 852
  4123. >4 string 2 KOI8-CS
  4124. >4 string >2 unknown encoding
  4125.  
  4126. # Vi IMproved Encrypted file
  4127. # by David Necas <[email protected]>
  4128. 0 string VimCrypt~ Vim encrypted file data
  4129. # Vi IMproved Swap file
  4130. # by Sven Wegener <[email protected]>
  4131. 0 string b0VIM\ Vim swap file
  4132. >&0 string >\0 \b, version %s
  4133.  
  4134. #------------------------------------------------------------------------------
  4135. # efi: file(1) magic for Universal EFI binaries
  4136.  
  4137. 0 lelong 0x0ef1fab9
  4138. >4 lelong 1 Universal EFI binary with 1 architecture
  4139. >>&0 lelong 7 \b, i386
  4140. >>&0 lelong 0x01000007 \b, x86_64
  4141. >4 lelong 2 Universal EFI binary with 2 architectures
  4142. >>&0 lelong 7 \b, i386
  4143. >>&0 lelong 0x01000007 \b, x86_64
  4144. >>&20 lelong 7 \b, i386
  4145. >>&20 lelong 0x01000007 \b, x86_64
  4146. >4 lelong >2 Universal EFI binary with %ld architectures
  4147.  
  4148. #------------------------------------------------------------------------------
  4149. # elf: file(1) magic for ELF executables
  4150. #
  4151. # We have to check the byte order flag to see what byte order all the
  4152. # other stuff in the header is in.
  4153. #
  4154. # What're the correct byte orders for the nCUBE and the Fujitsu VPP500?
  4155. #
  4156. # updated by Daniel Quinlan ([email protected])
  4157. 0 string \177ELF ELF
  4158. >4 byte 0 invalid class
  4159. >4 byte 1 32-bit
  4160. >4 byte 2 64-bit
  4161. >5 byte 0 invalid byte order
  4162. >5 byte 1 LSB
  4163. >>16 leshort 0 no file type,
  4164. >>16 leshort 1 relocatable,
  4165. >>16 leshort 2 executable,
  4166. >>16 leshort 3 shared object,
  4167. # Core handling from Peter Tobias <[email protected]>
  4168. # corrections by Christian 'Dr. Disk' Hechelmann <[email protected]>
  4169. >>16 leshort 4 core file
  4170. # Core file detection is not reliable.
  4171. #>>>(0x38+0xcc) string >\0 of '%s'
  4172. #>>>(0x38+0x10) lelong >0 (signal %d),
  4173. >>16 leshort &0xff00 processor-specific,
  4174. >>18 leshort 0 no machine,
  4175. >>18 leshort 1 AT&T WE32100 - invalid byte order,
  4176. >>18 leshort 2 SPARC - invalid byte order,
  4177. >>18 leshort 3 Intel 80386,
  4178. >>18 leshort 4 Motorola
  4179. >>>36 lelong &0x01000000 68000 - invalid byte order,
  4180. >>>36 lelong &0x00810000 CPU32 - invalid byte order,
  4181. >>>36 lelong 0 68020 - invalid byte order,
  4182. >>18 leshort 5 Motorola 88000 - invalid byte order,
  4183. >>18 leshort 6 Intel 80486,
  4184. >>18 leshort 7 Intel 80860,
  4185. # The official e_machine number for MIPS is now #8, regardless of endianness.
  4186. # The second number (#10) will be deprecated later. For now, we still
  4187. # say something if #10 is encountered, but only gory details for #8.
  4188. >>18 leshort 8 MIPS,
  4189. >>>36 lelong &0x20 N32
  4190. >>18 leshort 10 MIPS,
  4191. >>>36 lelong &0x20 N32
  4192. >>18 leshort 8
  4193. # only for 32-bit
  4194. >>>4 byte 1
  4195. >>>>36 lelong&0xf0000000 0x00000000 MIPS-I
  4196. >>>>36 lelong&0xf0000000 0x10000000 MIPS-II
  4197. >>>>36 lelong&0xf0000000 0x20000000 MIPS-III
  4198. >>>>36 lelong&0xf0000000 0x30000000 MIPS-IV
  4199. >>>>36 lelong&0xf0000000 0x40000000 MIPS-V
  4200. >>>>36 lelong&0xf0000000 0x50000000 MIPS32
  4201. >>>>36 lelong&0xf0000000 0x60000000 MIPS64
  4202. >>>>36 lelong&0xf0000000 0x70000000 MIPS32 rel2
  4203. >>>>36 lelong&0xf0000000 0x80000000 MIPS64 rel2
  4204. # only for 64-bit
  4205. >>>4 byte 2
  4206. >>>>48 lelong&0xf0000000 0x00000000 MIPS-I
  4207. >>>>48 lelong&0xf0000000 0x10000000 MIPS-II
  4208. >>>>48 lelong&0xf0000000 0x20000000 MIPS-III
  4209. >>>>48 lelong&0xf0000000 0x30000000 MIPS-IV
  4210. >>>>48 lelong&0xf0000000 0x40000000 MIPS-V
  4211. >>>>48 lelong&0xf0000000 0x50000000 MIPS32
  4212. >>>>48 lelong&0xf0000000 0x60000000 MIPS64
  4213. >>>>48 lelong&0xf0000000 0x70000000 MIPS32 rel2
  4214. >>>>48 lelong&0xf0000000 0x80000000 MIPS64 rel2
  4215. >>18 leshort 9 Amdahl - invalid byte order,
  4216. >>18 leshort 10 MIPS (deprecated),
  4217. >>18 leshort 11 RS6000 - invalid byte order,
  4218. >>18 leshort 15 PA-RISC - invalid byte order,
  4219. >>>50 leshort 0x0214 2.0
  4220. >>>48 leshort &0x0008 (LP64),
  4221. >>18 leshort 16 nCUBE,
  4222. >>18 leshort 17 Fujitsu VPP500,
  4223. >>18 leshort 18 SPARC32PLUS,
  4224. >>18 leshort 20 PowerPC,
  4225. >>18 leshort 22 IBM S/390,
  4226. >>18 leshort 36 NEC V800,
  4227. >>18 leshort 37 Fujitsu FR20,
  4228. >>18 leshort 38 TRW RH-32,
  4229. >>18 leshort 39 Motorola RCE,
  4230. >>18 leshort 40 ARM,
  4231. >>18 leshort 41 Alpha,
  4232. >>18 leshort 0xa390 IBM S/390 (obsolete),
  4233. >>18 leshort 42 Renesas SH,
  4234. >>18 leshort 43 SPARC V9 - invalid byte order,
  4235. >>18 leshort 44 Siemens Tricore Embedded Processor,
  4236. >>18 leshort 45 Argonaut RISC Core, Argonaut Technologies Inc.,
  4237. >>18 leshort 46 Renesas H8/300,
  4238. >>18 leshort 47 Renesas H8/300H,
  4239. >>18 leshort 48 Renesas H8S,
  4240. >>18 leshort 49 Renesas H8/500,
  4241. >>18 leshort 50 IA-64,
  4242. >>18 leshort 51 Stanford MIPS-X,
  4243. >>18 leshort 52 Motorola Coldfire,
  4244. >>18 leshort 53 Motorola M68HC12,
  4245. >>18 leshort 62 x86-64,
  4246. >>18 leshort 75 Digital VAX,
  4247. >>18 leshort 88 Renesas M32R,
  4248. >>18 leshort 94 Tensilica Xtensa,
  4249. >>18 leshort 97 NatSemi 32k,
  4250. >>18 leshort 106 Analog Devices Blackfin,
  4251. >>18 leshort 0x9026 Alpha (unofficial),
  4252. >>20 lelong 0 invalid version
  4253. >>20 lelong 1 version 1
  4254. >>36 lelong 1 MathCoPro/FPU/MAU Required
  4255. >5 byte 2 MSB
  4256. >>16 beshort 0 no file type,
  4257. >>16 beshort 1 relocatable,
  4258. >>16 beshort 2 executable,
  4259. >>16 beshort 3 shared object,
  4260. >>16 beshort 4 core file,
  4261. #>>>(0x38+0xcc) string >\0 of '%s'
  4262. #>>>(0x38+0x10) belong >0 (signal %d),
  4263. >>16 beshort &0xff00 processor-specific,
  4264. >>18 beshort 0 no machine,
  4265. >>18 beshort 1 AT&T WE32100,
  4266. >>18 beshort 2 SPARC,
  4267. >>18 beshort 3 Intel 80386 - invalid byte order,
  4268. >>18 beshort 4 Motorola
  4269. >>>36 belong &0x01000000 68000,
  4270. >>>36 belong &0x00810000 CPU32,
  4271. >>>36 belong 0 68020,
  4272. >>18 beshort 5 Motorola 88000,
  4273. >>18 beshort 6 Intel 80486 - invalid byte order,
  4274. >>18 beshort 7 Intel 80860,
  4275. # only for MIPS - see comment in little-endian section above.
  4276. >>18 beshort 8 MIPS,
  4277. >>>36 belong &0x20 N32
  4278. >>18 beshort 10 MIPS,
  4279. >>>36 belong &0x20 N32
  4280. >>18 beshort 8
  4281. # only for 32-bit
  4282. >>>4 byte 1
  4283. >>>>36 belong&0xf0000000 0x00000000 MIPS-I
  4284. >>>>36 belong&0xf0000000 0x10000000 MIPS-II
  4285. >>>>36 belong&0xf0000000 0x20000000 MIPS-III
  4286. >>>>36 belong&0xf0000000 0x30000000 MIPS-IV
  4287. >>>>36 belong&0xf0000000 0x40000000 MIPS-V
  4288. >>>>36 belong&0xf0000000 0x50000000 MIPS32
  4289. >>>>36 belong&0xf0000000 0x60000000 MIPS64
  4290. >>>>36 belong&0xf0000000 0x70000000 MIPS32 rel2
  4291. >>>>36 belong&0xf0000000 0x80000000 MIPS64 rel2
  4292. # only for 64-bit
  4293. >>>4 byte 2
  4294. >>>>48 belong&0xf0000000 0x00000000 MIPS-I
  4295. >>>>48 belong&0xf0000000 0x10000000 MIPS-II
  4296. >>>>48 belong&0xf0000000 0x20000000 MIPS-III
  4297. >>>>48 belong&0xf0000000 0x30000000 MIPS-IV
  4298. >>>>48 belong&0xf0000000 0x40000000 MIPS-V
  4299. >>>>48 belong&0xf0000000 0x50000000 MIPS32
  4300. >>>>48 belong&0xf0000000 0x60000000 MIPS64
  4301. >>>>48 belong&0xf0000000 0x70000000 MIPS32 rel2
  4302. >>>>48 belong&0xf0000000 0x80000000 MIPS64 rel2
  4303. >>18 beshort 9 Amdahl,
  4304. >>18 beshort 10 MIPS (deprecated),
  4305. >>18 beshort 11 RS6000,
  4306. >>18 beshort 15 PA-RISC
  4307. >>>50 beshort 0x0214 2.0
  4308. >>>48 beshort &0x0008 (LP64)
  4309. >>18 beshort 16 nCUBE,
  4310. >>18 beshort 17 Fujitsu VPP500,
  4311. >>18 beshort 18 SPARC32PLUS,
  4312. >>>36 belong&0xffff00 &0x000100 V8+ Required,
  4313. >>>36 belong&0xffff00 &0x000200 Sun UltraSPARC1 Extensions Required,
  4314. >>>36 belong&0xffff00 &0x000400 HaL R1 Extensions Required,
  4315. >>>36 belong&0xffff00 &0x000800 Sun UltraSPARC3 Extensions Required,
  4316. >>18 beshort 20 PowerPC or cisco 4500,
  4317. >>18 beshort 21 64-bit PowerPC or cisco 7500,
  4318. >>18 beshort 22 IBM S/390,
  4319. >>18 beshort 23 Cell SPU,
  4320. >>18 beshort 24 cisco SVIP,
  4321. >>18 beshort 25 cisco 7200,
  4322. >>18 beshort 36 NEC V800 or cisco 12000,
  4323. >>18 beshort 37 Fujitsu FR20,
  4324. >>18 beshort 38 TRW RH-32,
  4325. >>18 beshort 39 Motorola RCE,
  4326. >>18 beshort 40 ARM,
  4327. >>18 beshort 41 Alpha,
  4328. >>18 beshort 42 Renesas SH,
  4329. >>18 beshort 43 SPARC V9,
  4330. >>18 beshort 44 Siemens Tricore Embedded Processor,
  4331. >>18 beshort 45 Argonaut RISC Core, Argonaut Technologies Inc.,
  4332. >>18 beshort 46 Renesas H8/300,
  4333. >>18 beshort 47 Renesas H8/300H,
  4334. >>18 beshort 48 Renesas H8S,
  4335. >>18 beshort 49 Renesas H8/500,
  4336. >>18 beshort 50 IA-64,
  4337. >>18 beshort 51 Stanford MIPS-X,
  4338. >>18 beshort 52 Motorola Coldfire,
  4339. >>18 beshort 53 Motorola M68HC12,
  4340. >>18 beshort 73 Cray NV1,
  4341. >>18 beshort 75 Digital VAX,
  4342. >>18 beshort 88 Renesas M32R,
  4343. >>18 beshort 94 Tensilica Xtensa,
  4344. >>18 beshort 97 NatSemi 32k,
  4345. >>18 beshort 0x18ad AVR32 (unofficial),
  4346. >>18 beshort 0x9026 Alpha (unofficial),
  4347. >>18 beshort 0xa390 IBM S/390 (obsolete),
  4348. >>20 belong 0 invalid version
  4349. >>20 belong 1 version 1
  4350. >>36 belong 1 MathCoPro/FPU/MAU Required
  4351. # Up to now only 0, 1 and 2 are defined; I've seen a file with 0x83, it seemed
  4352. # like proper ELF, but extracting the string had bad results.
  4353. >4 byte <0x80
  4354. >>8 string >\0 (%s)
  4355. >8 string \0
  4356. >>7 byte 0 (SYSV)
  4357. >>7 byte 1 (HP-UX)
  4358. >>7 byte 2 (NetBSD)
  4359. >>7 byte 3 (GNU/Linux)
  4360. >>7 byte 4 (GNU/Hurd)
  4361. >>7 byte 5 (86Open)
  4362. >>7 byte 6 (Solaris)
  4363. >>7 byte 7 (Monterey)
  4364. >>7 byte 8 (IRIX)
  4365. >>7 byte 9 (FreeBSD)
  4366. >>7 byte 10 (Tru64)
  4367. >>7 byte 11 (Novell Modesto)
  4368. >>7 byte 12 (OpenBSD)
  4369. # VMS Itanium added by [email protected]
  4370. >8 string \2
  4371. >>7 byte 13 (OpenVMS)
  4372. >>7 byte 97 (ARM)
  4373. >>7 byte 255 (embedded)
  4374.  
  4375. #------------------------------------------------------------------------------
  4376. # encore: file(1) magic for Encore machines
  4377. #
  4378. # XXX - needs to have the byte order specified (NS32K was little-endian,
  4379. # dunno whether they run the 88K in little-endian mode or not).
  4380. #
  4381. 0 short 0x154 Encore
  4382. >20 short 0x107 executable
  4383. >20 short 0x108 pure executable
  4384. >20 short 0x10b demand-paged executable
  4385. >20 short 0x10f unsupported executable
  4386. >12 long >0 not stripped
  4387. >22 short >0 - version %ld
  4388. >22 short 0 -
  4389. #>4 date x stamp %s
  4390. 0 short 0x155 Encore unsupported executable
  4391. >12 long >0 not stripped
  4392. >22 short >0 - version %ld
  4393. >22 short 0 -
  4394. #>4 date x stamp %s
  4395.  
  4396. #------------------------------------------------------------------------------
  4397. # Epoc 32 : file(1) magic for Epoc Documents [psion/osaris
  4398. # Stefan Praszalowicz ([email protected])
  4399. #0 lelong 0x10000037 Epoc32
  4400. >4 lelong 0x1000006D
  4401. >>8 lelong 0x1000007F Word
  4402. >>8 lelong 0x10000088 Sheet
  4403. >>8 lelong 0x1000007D Sketch
  4404. >>8 lelong 0x10000085 TextEd
  4405.  
  4406. #------------------------------------------------------------------------------
  4407. # ESRI Shapefile format (.shp .shx .dbf=DBaseIII)
  4408. # Based on info from
  4409. # <URL:http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf>
  4410. 0 belong 9994 ESRI Shapefile
  4411. >4 belong =0
  4412. >8 belong =0
  4413. >12 belong =0
  4414. >16 belong =0
  4415. >20 belong =0
  4416. >28 lelong x version %d
  4417. >24 belong x length %d
  4418. >32 lelong =0 type Null Shape
  4419. >32 lelong =1 type Point
  4420. >32 lelong =3 type PolyLine
  4421. >32 lelong =5 type Polygon
  4422. >32 lelong =8 type MultiPoint
  4423. >32 lelong =11 type PointZ
  4424. >32 lelong =13 type PolyLineZ
  4425. >32 lelong =15 type PolygonZ
  4426. >32 lelong =18 type MultiPointZ
  4427. >32 lelong =21 type PointM
  4428. >32 lelong =23 type PolyLineM
  4429. >32 lelong =25 type PolygonM
  4430. >32 lelong =28 type MultiPointM
  4431. >32 lelong =31 type MultiPatch
  4432.  
  4433. #------------------------------------------------------------------------------
  4434. # fcs: file(1) magic for FCS (Flow Cytometry Standard) data files
  4435. # From Roger Leigh <[email protected]>
  4436. 0 string FCS1.0 Flow Cytometry Standard (FCS) data, version 1.0
  4437. 0 string FCS2.0 Flow Cytometry Standard (FCS) data, version 2.0
  4438. 0 string FCS3.0 Flow Cytometry Standard (FCS) data, version 3.0
  4439.  
  4440.  
  4441. #------------------------------------------------------------------------------
  4442. # filesystems: file(1) magic for different filesystems
  4443. #
  4444. 0 string \366\366\366\366 PC formatted floppy with no filesystem
  4445. # Sun disk labels
  4446. # From /usr/include/sun/dklabel.h:
  4447. 0774 beshort 0xdabe
  4448. # modified by Joerg Jenderek, because original test
  4449. # succeeds for Cabinet archive dao360.dl_ with negative blocks
  4450. >0770 long >0 Sun disk label
  4451. >>0 string x '%s
  4452. >>>31 string >\0 \b%s
  4453. >>>>63 string >\0 \b%s
  4454. >>>>>95 string >\0 \b%s
  4455. >>0 string x \b'
  4456. >>0734 short >0 %d rpm,
  4457. >>0736 short >0 %d phys cys,
  4458. >>0740 short >0 %d alts/cyl,
  4459. >>0746 short >0 %d interleave,
  4460. >>0750 short >0 %d data cyls,
  4461. >>0752 short >0 %d alt cyls,
  4462. >>0754 short >0 %d heads/partition,
  4463. >>0756 short >0 %d sectors/track,
  4464. >>0764 long >0 start cyl %ld,
  4465. >>0770 long x %ld blocks
  4466. # Is there a boot block written 1 sector in?
  4467. >512 belong&077777777 0600407 \b, boot block present
  4468. # Joerg Jenderek: Smart Boot Manager backup file is 41 byte header + first sectors of disc
  4469. # (http://btmgr.sourceforge.net/docs/user-guide-3.html)
  4470. 0 string SBMBAKUP_ Smart Boot Manager backup file
  4471. >9 string x \b, version %-5.5s
  4472. >>14 string =_
  4473. >>>15 string x %-.1s
  4474. >>>>16 string =_ \b.
  4475. >>>>>17 string x \b%-.1s
  4476. >>>>>>18 string =_ \b.
  4477. >>>>>>>19 string x \b%-.1s
  4478. >>>22 ubyte 0
  4479. >>>>21 ubyte x \b, from drive 0x%x
  4480. >>>22 ubyte >0
  4481. >>>>21 string x \b, from drive %s
  4482.  
  4483. # Joerg Jenderek
  4484. # DOS Emulator image is 128 byte, null right padded header + harddisc image
  4485. 0 string DOSEMU\0
  4486. >0x27E leshort 0xAA55
  4487. #offset is 128
  4488. >>19 ubyte 128
  4489. >>>(19.b-1) ubyte 0x0 DOS Emulator image
  4490. >>>>7 ulelong >0 \b, %u heads
  4491. >>>>11 ulelong >0 \b, %d sectors/track
  4492. >>>>15 ulelong >0 \b, %d cylinders
  4493.  
  4494. # updated by Joerg Jenderek at Sep 2007
  4495. # only for sector sizes with 512 or more Bytes
  4496. 0x1FE leshort 0xAA55 x86 boot sector
  4497. # to do also for sectors < than 512 Bytes and some other files, GRR
  4498. #30 search/481 \x55\xAA x86 boot sector
  4499. # not for BeOS floppy 1440k, MBRs
  4500. #(11.s-2) uleshort 0xAA55 x86 boot sector
  4501. >2 string OSBS \b, OS/BS MBR
  4502. # J\xf6rg Jenderek <joerg dot jenderek at web dot de>
  4503. >0x8C string Invalid\ partition\ table \b, MS-DOS MBR
  4504. # dr-dos with some upper-, lowercase variants
  4505. >0x9D string Invalid\ partition\ table$
  4506. >>181 string No\ Operating\ System$
  4507. >>>201 string Operating\ System\ load\ error$ \b, DR-DOS MBR, Version 7.01 to 7.03
  4508. >0x9D string Invalid\ partition\ table$
  4509. >>181 string No\ operating\ system$
  4510. >>>201 string Operating\ system\ load\ error$ \b, DR-DOS MBR, Version 7.01 to 7.03
  4511. >342 string Invalid\ partition\ table$
  4512. >>366 string No\ operating\ system$
  4513. >>>386 string Operating\ system\ load\ error$ \b, DR-DOS MBR, version 7.01 to 7.03
  4514. >295 string NEWLDR\0
  4515. >>302 string Bad\ PT\ $
  4516. >>>310 string No\ OS\ $
  4517. >>>>317 string OS\ load\ err$
  4518. >>>>>329 string Moved\ or\ missing\ IBMBIO.LDR\n\r
  4519. >>>>>>358 string Press\ any\ key\ to\ continue.\n\r$
  4520. >>>>>>>387 string Copyright\ (c)\ 1984,1998
  4521. >>>>>>>>411 string Caldera\ Inc.\0 \b, DR-DOS MBR (IBMBIO.LDR)
  4522. >0x10F string Ung\201ltige\ Partitionstabelle \b, MS-DOS MBR, german version 4.10.1998, 4.10.2222
  4523. >>0x1B8 ubelong >0 \b, Serial 0x%-.4x
  4524. >0x8B string Ung\201ltige\ Partitionstabelle \b, MS-DOS MBR, german version 5.00 to 4.00.950
  4525. >271 string Invalid\ partition\ table\0
  4526. >>295 string Error\ loading\ operating\ system\0
  4527. >>>326 string Missing\ operating\ system\0 \b, mbr
  4528. #
  4529. >139 string Invalid\ partition\ table\0
  4530. >>163 string Error\ loading\ operating\ system\0
  4531. >>>194 string Missing\ operating\ system\0 \b, Microsoft Windows XP mbr
  4532. # http://www.heise.de/ct/05/09/006/ page 184
  4533. #HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices\DosDevices\?:=Serial4Bytes+8Bytes
  4534. >>>>0x1B8 ulelong >0 \b,Serial 0x%-.4x
  4535. >300 string Invalid\ partition\ table\0
  4536. >>324 string Error\ loading\ operating\ system\0
  4537. >>>355 string Missing\ operating\ system\0 \b, Microsoft Windows XP MBR
  4538. #??>>>389 string Invalid\ system\ disk
  4539. >>>>0x1B8 ulelong >0 \b, Serial 0x%-.4x
  4540. >300 string Ung\201ltige\ Partitionstabelle
  4541. #split string to avoid error: String too long
  4542. >>328 string Fehler\ beim\ Laden\
  4543. >>>346 string des\ Betriebssystems
  4544. >>>>366 string Betriebssystem\ nicht\ vorhanden \b, Microsoft Windows XP MBR (german)
  4545. >>>>>0x1B8 ulelong >0 \b, Serial 0x%-.4x
  4546. >0x145 string Default:\ F \b, FREE-DOS MBR
  4547. >64 string no\ active\ partition\ found
  4548. >>96 string read\ error\ while\ reading\ drive \b, FREE-DOS Beta 0.9 MBR
  4549. >271 string Operating\ system\ loading
  4550. >>296 string error\r \b, SYSLINUX MBR (2.10)
  4551. # http://www.acronis.de/
  4552. >362 string MBR\ Error\ \0\r
  4553. >>376 string ress\ any\ key\ to\
  4554. >>>392 string boot\ from\ floppy...\0 \b, Acronis MBR
  4555. # added by Joerg Jenderek
  4556. # http://www.visopsys.org/
  4557. # http://partitionlogic.org.uk/
  4558. >309 string No\ bootable\ partition\ found\r
  4559. >>339 string I/O\ Error\ reading\ boot\ sector\r \b, Visopsys MBR
  4560. >349 string No\ bootable\ partition\ found\r
  4561. >>379 string I/O\ Error\ reading\ boot\ sector\r \b, simple Visopsys MBR
  4562. # bootloader, bootmanager
  4563. >0x40 string SBML
  4564. # label with 11 characters of FAT 12 bit filesystem
  4565. >>43 string SMART\ BTMGR
  4566. >>>430 string SBMK\ Bad!\r
  4567. >>>>3 string SBM \b, Smart Boot Manager
  4568. >>>>>6 string >\0 \b, version %s
  4569. >382 string XOSLLOADXCF \b, eXtended Operating System Loader
  4570. >6 string LILO \b, LInux i386 boot LOader
  4571. >>120 string LILO \b, version 22.3.4 SuSe
  4572. >>172 string LILO \b, version 22.5.8 Debian
  4573. # updated by Joerg Jenderek
  4574. # variables according to grub-0.97/stage1/stage1.S or
  4575. # http://www.gnu.org/software/grub/manual/grub.html#Embedded-data
  4576. # usual values are marked with comments to get only informations of strange GRUB loaders
  4577. >0 ulelong 0x009048EB
  4578. >>0x41 ubyte <2
  4579. >>>0x3E ubyte >2 \b; GRand Unified Bootloader
  4580. # 0x3 for 0.5.95,0.93,0.94,0.96 0x4 for 1.90
  4581. >>>>0x3E ubyte x \b, stage1 version 0x%x
  4582. #If it is 0xFF, use a drive passed by BIOS
  4583. >>>>0x40 ubyte <0xFF \b, boot drive 0x%x
  4584. # in most case 0,1,0x2e for GRUB 0.5.95
  4585. >>>>0x41 ubyte >0 \b, LBA flag 0x%x
  4586. >>>>0x42 uleshort <0x8000 \b, stage2 address 0x%x
  4587. #>>>>0x42 uleshort =0x8000 \b, stage2 address 0x%x (usual)
  4588. >>>>0x42 uleshort >0x8000 \b, stage2 address 0x%x
  4589. #>>>>0x44 ulelong =1 \b, 1st sector stage2 0x%x (default)
  4590. >>>>0x44 ulelong >1 \b, 1st sector stage2 0x%x
  4591. >>>>0x48 uleshort <0x800 \b, stage2 segment 0x%x
  4592. #>>>>0x48 uleshort =0x800 \b, stage2 segment 0x%x (usual)
  4593. >>>>0x48 uleshort >0x800 \b, stage2 segment 0x%x
  4594. >>>>402 string Geom\0Hard\ Disk\0Read\0\ Error\0
  4595. >>>>>394 string stage1 \b, GRUB version 0.5.95
  4596. >>>>382 string Geom\0Hard\ Disk\0Read\0\ Error\0
  4597. >>>>>376 string GRUB\ \0 \b, GRUB version 0.93 or 1.94
  4598. >>>>383 string Geom\0Hard\ Disk\0Read\0\ Error\0
  4599. >>>>>377 string GRUB\ \0 \b, GRUB version 0.94
  4600. >>>>385 string Geom\0Hard\ Disk\0Read\0\ Error\0
  4601. >>>>>379 string GRUB\ \0 \b, GRUB version 0.95 or 0.96
  4602. >>>>391 string Geom\0Hard\ Disk\0Read\0\ Error\0
  4603. >>>>>385 string GRUB\ \0 \b, GRUB version 0.97
  4604. #unkown version
  4605. >>>343 string Geom\0Read\0\ Error\0
  4606. >>>>321 string Loading\ stage1.5 \b, GRUB version x.y
  4607. >>>380 string Geom\0Hard\ Disk\0Read\0\ Error\0
  4608. >>>>374 string GRUB\ \0 \b, GRUB version n.m
  4609. # http://syslinux.zytor.com/
  4610. >478 string Boot\ failed\r
  4611. >>495 string LDLINUX\ SYS \b, SYSLINUX bootloader (1.62)
  4612. >480 string Boot\ failed\r
  4613. >>495 string LDLINUX\ SYS \b, SYSLINUX bootloader (2.06 or 2.11)
  4614. >484 string Boot\ error\r \b, SYSLINUX bootloader (3.11)
  4615. >395 string chksum\0\ ERROR!\0 \b, Gujin bootloader
  4616. # http://www.bcdwb.de/bcdw/index_e.htm
  4617. >3 string BCDL
  4618. >>498 string BCDL\ \ \ \ BIN \b, Bootable CD Loader (1.50Z)
  4619. # mbr partion table entries
  4620. # OEM-ID not Microsoft,SYSLINUX,or MTOOLs
  4621. >3 string !MS
  4622. >>3 string !SYSLINUX
  4623. >>>3 string !MTOOL
  4624. # not FAT (32 bit)
  4625. >>>>82 string !FAT32
  4626. #not IO.SYS
  4627. >>>>>472 string !IO\ \ \ \ \ \ SYS
  4628. >>>>>>480 string !IO\ \ \ \ \ \ SYS
  4629. #not Linux kernel
  4630. >>>>>>>514 string !HdrS
  4631. #not BeOS
  4632. >>>>>>>>422 string !Be\ Boot\ Loader
  4633. # active flag 0 or 0x80 and type > 0
  4634. >>>>>>>>>446 ubyte <0x81
  4635. >>>>>>>>>>446 ubyte&0x7F 0
  4636. >>>>>>>>>>>450 ubyte >0 \b; partition 1: ID=0x%x
  4637. >>>>>>>>>>>>446 ubyte 0x80 \b, active
  4638. >>>>>>>>>>>>447 ubyte x \b, starthead %u
  4639. #>>>>>>>>>>>>448 ubyte x \b, start C_S: 0x%x
  4640. #>>>>>>>>>>>>448 ubeshort&1023 x \b, startcylinder? %d
  4641. >>>>>>>>>>>>454 ulelong x \b, startsector %u
  4642. >>>>>>>>>>>>458 ulelong x \b, %u sectors
  4643. #
  4644. >>>>>>>>>462 ubyte <0x81
  4645. >>>>>>>>>>462 ubyte&0x7F 0
  4646. >>>>>>>>>>>466 ubyte >0 \b; partition 2: ID=0x%x
  4647. >>>>>>>>>>>>462 ubyte 0x80 \b, active
  4648. >>>>>>>>>>>>463 ubyte x \b, starthead %u
  4649. #>>>>>>>>>>>>464 ubyte x \b, start C_S: 0x%x
  4650. #>>>>>>>>>>>>464 ubeshort&1023 x \b, startcylinder? %d
  4651. >>>>>>>>>>>>470 ulelong x \b, startsector %u
  4652. >>>>>>>>>>>>474 ulelong x \b, %u sectors
  4653. #
  4654. >>>>>>>>>478 ubyte <0x81
  4655. >>>>>>>>>>478 ubyte&0x7F 0
  4656. >>>>>>>>>>>482 ubyte >0 \b; partition 3: ID=0x%x
  4657. >>>>>>>>>>>>478 ubyte 0x80 \b, active
  4658. >>>>>>>>>>>>479 ubyte x \b, starthead %u
  4659. #>>>>>>>>>>>>480 ubyte x \b, start C_S: 0x%x
  4660. #>>>>>>>>>>>>481 ubyte x \b, start C2S: 0x%x
  4661. #>>>>>>>>>>>>480 ubeshort&1023 x \b, startcylinder? %d
  4662. >>>>>>>>>>>>486 ulelong x \b, startsector %u
  4663. >>>>>>>>>>>>490 ulelong x \b, %u sectors
  4664. #
  4665. >>>>>>>>>494 ubyte <0x81
  4666. >>>>>>>>>>494 ubyte&0x7F 0
  4667. >>>>>>>>>>>498 ubyte >0 \b; partition 4: ID=0x%x
  4668. >>>>>>>>>>>>494 ubyte 0x80 \b, active
  4669. >>>>>>>>>>>>495 ubyte x \b, starthead %u
  4670. #>>>>>>>>>>>>496 ubyte x \b, start C_S: 0x%x
  4671. #>>>>>>>>>>>>496 ubeshort&1023 x \b, startcylinder? %d
  4672. >>>>>>>>>>>>502 ulelong x \b, startsector %u
  4673. >>>>>>>>>>>>506 ulelong x \b, %u sectors
  4674. # mbr partion table entries end
  4675. # http://www.acronis.de/
  4676. #FAT label=ACRONIS\ SZ
  4677. #OEM-ID=BOOTWIZ0
  4678. >442 string Non-system\ disk,\
  4679. >>459 string press\ any\ key...\x7\0 \b, Acronis Startup Recovery Loader
  4680. # DOS names like F11.SYS are 8 right space padded bytes+3 bytes
  4681. >>>477 ubyte&0xDF >0
  4682. >>>>477 string x \b %-.3s
  4683. >>>>>480 ubyte&0xDF >0
  4684. >>>>>>480 string x \b%-.5s
  4685. >>>>485 ubyte&0xDF >0
  4686. >>>>>485 string x \b.%-.3s
  4687. #
  4688. >185 string FDBOOT\ Version\
  4689. >>204 string \rNo\ Systemdisk.\
  4690. >>>220 string Booting\ from\ harddisk.\n\r
  4691. >>>245 string Cannot\ load\ from\ harddisk.\n\r
  4692. >>>>273 string Insert\ Systemdisk\
  4693. >>>>>291 string and\ press\ any\ key.\n\r \b, FDBOOT harddisk Bootloader
  4694. >>>>>>200 string >\0 \b, version %-3s
  4695. >242 string Bootsector\ from\ C.H.\ Hochst\204
  4696. >>278 string No\ Systemdisk.\
  4697. >>>293 string Booting\ from\ harddisk.\n\r
  4698. >>>441 string Cannot\ load\ from\ harddisk.\n\r
  4699. >>>>469 string Insert\ Systemdisk\
  4700. >>>>>487 string and\ press\ any\ key.\n\r \b, WinImage harddisk Bootloader
  4701. >>>>>>209 string >\0 \b, version %-4.4s
  4702. >(1.b+2) ubyte 0xe
  4703. >>(1.b+3) ubyte 0x1f
  4704. >>>(1.b+4) ubyte 0xbe
  4705. >>>>(1.b+5) ubyte 0x77
  4706. >>>>(1.b+6) ubyte 0x7c
  4707. >>>>>(1.b+7) ubyte 0xac
  4708. >>>>>>(1.b+8) ubyte 0x22
  4709. >>>>>>>(1.b+9) ubyte 0xc0
  4710. >>>>>>>>(1.b+10) ubyte 0x74
  4711. >>>>>>>>>(1.b+11) ubyte 0xb
  4712. >>>>>>>>>>(1.b+12) ubyte 0x56
  4713. >>>>>>>>>>(1.b+13) ubyte 0xb4 \b, mkdosfs boot message display
  4714. >103 string This\ is\ not\ a\ bootable\ disk.\
  4715. >>132 string Please\ insert\ a\ bootable\
  4716. >>>157 string floppy\ and\r\n
  4717. >>>>169 string press\ any\ key\ to\ try\ again...\r \b, FREE-DOS message display
  4718. #
  4719. >66 string Solaris\ Boot\ Sector
  4720. >>99 string Incomplete\ MDBoot\ load.
  4721. >>>89 string Version \b, Sun Solaris Bootloader
  4722. >>>>97 byte x version %c
  4723. #
  4724. >408 string OS/2\ !!\ SYS01475\r\0
  4725. >>429 string OS/2\ !!\ SYS02025\r\0
  4726. >>>450 string OS/2\ !!\ SYS02027\r\0
  4727. >>>469 string OS2BOOT\ \ \ \ \b, IBM OS/2 Warp bootloader
  4728. #
  4729. >409 string OS/2\ !!\ SYS01475\r\0
  4730. >>430 string OS/2\ !!\ SYS02025\r\0
  4731. >>>451 string OS/2\ !!\ SYS02027\r\0
  4732. >>>470 string OS2BOOT\ \ \ \ \b, IBM OS/2 Warp Bootloader
  4733. >112 string This\ disk\ is\ not\ bootable\r
  4734. >>142 string If\ you\ wish\ to\ make\ it\ bootable
  4735. >>>176 string run\ the\ DOS\ program\ SYS\
  4736. >>>200 string after\ the\r
  4737. >>>>216 string system\ has\ been\ loaded\r\n
  4738. >>>>>242 string Please\ insert\ a\ DOS\ diskette\
  4739. >>>>>271 string into\r\n\ the\ drive\ and\
  4740. >>>>>>292 string strike\ any\ key...\0 \b, IBM OS/2 Warp message display
  4741. # XP
  4742. >430 string NTLDR\ is\ missing\xFF\r\n
  4743. >>449 string Disk\ error\xFF\r\n
  4744. >>>462 string Press\ any\ key\ to\ restart\r \b, Microsoft Windows XP Bootloader
  4745. # DOS names like NTLDR,CMLDR,$LDR$ are 8 right space padded bytes+3 bytes
  4746. >>>>417 ubyte&0xDF >0
  4747. >>>>>417 string x %-.5s
  4748. >>>>>>422 ubyte&0xDF >0
  4749. >>>>>>>422 string x \b%-.3s
  4750. >>>>>425 ubyte&0xDF >0
  4751. >>>>>>425 string >\ \b.%-.3s
  4752. #
  4753. >>>>371 ubyte >0x20
  4754. >>>>>368 ubyte&0xDF >0
  4755. >>>>>>368 string x %-.5s
  4756. >>>>>>>373 ubyte&0xDF >0
  4757. >>>>>>>>373 string x \b%-.3s
  4758. >>>>>>376 ubyte&0xDF >0
  4759. >>>>>>>376 string x \b.%-.3s
  4760. #
  4761. >430 string NTLDR\ nicht\ gefunden\xFF\r\n
  4762. >>453 string Datentr\204gerfehler\xFF\r\n
  4763. >>>473 string Neustart\ mit\ beliebiger\ Taste\r \b, Microsoft Windows XP Bootloader (german)
  4764. >>>>417 ubyte&0xDF >0
  4765. >>>>>417 string x %-.5s
  4766. >>>>>>422 ubyte&0xDF >0
  4767. >>>>>>>422 string x \b%-.3s
  4768. >>>>>425 ubyte&0xDF >0
  4769. >>>>>>425 string >\ \b.%-.3s
  4770. # offset variant
  4771. >>>>379 string \0
  4772. >>>>>368 ubyte&0xDF >0
  4773. >>>>>>368 string x %-.5s
  4774. >>>>>>>373 ubyte&0xDF >0
  4775. >>>>>>>>373 string x \b%-.3s
  4776. #
  4777. >430 string NTLDR\ fehlt\xFF\r\n
  4778. >>444 string Datentr\204gerfehler\xFF\r\n
  4779. >>>464 string Neustart\ mit\ beliebiger\ Taste\r \b, Microsoft Windows XP Bootloader (2.german)
  4780. >>>>417 ubyte&0xDF >0
  4781. >>>>>417 string x %-.5s
  4782. >>>>>>422 ubyte&0xDF >0
  4783. >>>>>>>422 string x \b%-.3s
  4784. >>>>>425 ubyte&0xDF >0
  4785. >>>>>>425 string >\ \b.%-.3s
  4786. # variant
  4787. >>>>371 ubyte >0x20
  4788. >>>>>368 ubyte&0xDF >0
  4789. >>>>>>368 string x %-.5s
  4790. >>>>>>>373 ubyte&0xDF >0
  4791. >>>>>>>>373 string x \b%-.3s
  4792. >>>>>>376 ubyte&0xDF >0
  4793. >>>>>>>376 string x \b.%-.3s
  4794. #
  4795. >430 string NTLDR\ fehlt\xFF\r\n
  4796. >>444 string Medienfehler\xFF\r\n
  4797. >>>459 string Neustart:\ Taste\ dr\201cken\r \b, Microsoft Windows XP Bootloader (3.german)
  4798. >>>>371 ubyte >0x20
  4799. >>>>>368 ubyte&0xDF >0
  4800. >>>>>>368 string x %-.5s
  4801. >>>>>>>373 ubyte&0xDF >0
  4802. >>>>>>>>373 string x \b%-.3s
  4803. >>>>>>376 ubyte&0xDF >0
  4804. >>>>>>>376 string x \b.%-.3s
  4805. # variant
  4806. >>>>417 ubyte&0xDF >0
  4807. >>>>>417 string x %-.5s
  4808. >>>>>>422 ubyte&0xDF >0
  4809. >>>>>>>422 string x \b%-.3s
  4810. >>>>>425 ubyte&0xDF >0
  4811. >>>>>>425 string >\ \b.%-.3s
  4812. #
  4813. >430 string Datentr\204ger\ entfernen\xFF\r\n
  4814. >>454 string Medienfehler\xFF\r\n
  4815. >>>469 string Neustart:\ Taste\ dr\201cken\r \b, Microsoft Windows XP Bootloader (4.german)
  4816. >>>>368 ubyte&0xDF >0
  4817. >>>>>368 string x %-.5s
  4818. >>>>>>373 ubyte&0xDF >0
  4819. >>>>>>>373 string x \b%-.3s
  4820. >>>>>376 ubyte&0xDF >0
  4821. >>>>>>376 string x \b.%-.3s
  4822. #>3 string NTFS\ \ \ \
  4823. >389 string Fehler\ beim\ Lesen\
  4824. >>407 string des\ Datentr\204gers
  4825. >>>426 string NTLDR\ fehlt
  4826. >>>>440 string NTLDR\ ist\ komprimiert
  4827. >>>>>464 string Neustart\ mit\ Strg+Alt+Entf\r \b, Microsoft Windows XP Bootloader NTFS (german)
  4828. #>3 string NTFS\ \ \ \
  4829. >313 string A\ disk\ read\ error\ occurred.\r
  4830. >>345 string A\ kernel\ file\ is\ missing\
  4831. >>>370 string from\ the\ disk.\r
  4832. >>>>484 string NTLDR\ is\ compressed
  4833. >>>>>429 string Insert\ a\ system\ diskette\
  4834. >>>>>>454 string and\ restart\r\nthe\ system.\r \b, Microsoft Windows XP Bootloader NTFS
  4835. # DOS loader variants different languages,offsets
  4836. >472 ubyte&0xDF >0
  4837. >>389 string Invalid\ system\ disk\xFF\r\n
  4838. >>>411 string Disk\ I/O\ error
  4839. >>>>428 string Replace\ the\ disk,\ and\
  4840. >>>>>455 string press\ any\ key \b, Microsoft Windows 98 Bootloader
  4841. #IO.SYS
  4842. >>>>>>472 ubyte&0xDF >0
  4843. >>>>>>>472 string x \b %-.2s
  4844. >>>>>>>>474 ubyte&0xDF >0
  4845. >>>>>>>>>474 string x \b%-.5s
  4846. >>>>>>>>>>479 ubyte&0xDF >0
  4847. >>>>>>>>>>>479 string x \b%-.1s
  4848. >>>>>>>480 ubyte&0xDF >0
  4849. >>>>>>>>480 string x \b.%-.3s
  4850. #MSDOS.SYS
  4851. >>>>>>>483 ubyte&0xDF >0 \b+
  4852. >>>>>>>>483 string x \b%-.5s
  4853. >>>>>>>>>488 ubyte&0xDF >0
  4854. >>>>>>>>>>488 string x \b%-.3s
  4855. >>>>>>>>491 ubyte&0xDF >0
  4856. >>>>>>>>>491 string x \b.%-.3s
  4857. #
  4858. >>390 string Invalid\ system\ disk\xFF\r\n
  4859. >>>412 string Disk\ I/O\ error\xFF\r\n
  4860. >>>>429 string Replace\ the\ disk,\ and\
  4861. >>>>>451 string then\ press\ any\ key\r \b, Microsoft Windows 98 Bootloader
  4862. >>388 string Ungueltiges\ System\ \xFF\r\n
  4863. >>>410 string E/A-Fehler\ \ \ \ \xFF\r\n
  4864. >>>>427 string Datentraeger\ wechseln\ und\
  4865. >>>>>453 string Taste\ druecken\r \b, Microsoft Windows 95/98/ME Bootloader (german)
  4866. #WINBOOT.SYS only not spaces (0xDF)
  4867. >>>>>>497 ubyte&0xDF >0
  4868. >>>>>>>497 string x %-.5s
  4869. >>>>>>>>502 ubyte&0xDF >0
  4870. >>>>>>>>>502 string x \b%-.1s
  4871. >>>>>>>>>>503 ubyte&0xDF >0
  4872. >>>>>>>>>>>503 string x \b%-.1s
  4873. >>>>>>>>>>>>504 ubyte&0xDF >0
  4874. >>>>>>>>>>>>>504 string x \b%-.1s
  4875. >>>>>>505 ubyte&0xDF >0
  4876. >>>>>>>505 string x \b.%-.3s
  4877. #IO.SYS
  4878. >>>>>>472 ubyte&0xDF >0 or
  4879. >>>>>>>472 string x \b %-.2s
  4880. >>>>>>>>474 ubyte&0xDF >0
  4881. >>>>>>>>>474 string x \b%-.5s
  4882. >>>>>>>>>>479 ubyte&0xDF >0
  4883. >>>>>>>>>>>479 string x \b%-.1s
  4884. >>>>>>>480 ubyte&0xDF >0
  4885. >>>>>>>>480 string x \b.%-.3s
  4886. #MSDOS.SYS
  4887. >>>>>>>483 ubyte&0xDF >0 \b+
  4888. >>>>>>>>483 string x \b%-.5s
  4889. >>>>>>>>>488 ubyte&0xDF >0
  4890. >>>>>>>>>>488 string x \b%-.3s
  4891. >>>>>>>>491 ubyte&0xDF >0
  4892. >>>>>>>>>491 string x \b.%-.3s
  4893. #
  4894. >>390 string Ungueltiges\ System\ \xFF\r\n
  4895. >>>412 string E/A-Fehler\ \ \ \ \xFF\r\n
  4896. >>>>429 string Datentraeger\ wechseln\ und\
  4897. >>>>>455 string Taste\ druecken\r \b, Microsoft Windows 95/98/ME Bootloader (German)
  4898. #WINBOOT.SYS only not spaces (0xDF)
  4899. >>>>>>497 ubyte&0xDF >0
  4900. >>>>>>>497 string x %-.7s
  4901. >>>>>>>>504 ubyte&0xDF >0
  4902. >>>>>>>>>504 string x \b%-.1s
  4903. >>>>>>505 ubyte&0xDF >0
  4904. >>>>>>>505 string x \b.%-.3s
  4905. #IO.SYS
  4906. >>>>>>472 ubyte&0xDF >0 or
  4907. >>>>>>>472 string x \b %-.2s
  4908. >>>>>>>>474 ubyte&0xDF >0
  4909. >>>>>>>>>474 string x \b%-.6s
  4910. >>>>>>>480 ubyte&0xDF >0
  4911. >>>>>>>>480 string x \b.%-.3s
  4912. #MSDOS.SYS
  4913. >>>>>>>483 ubyte&0xDF >0 \b+
  4914. >>>>>>>>483 string x \b%-.5s
  4915. >>>>>>>>>488 ubyte&0xDF >0
  4916. >>>>>>>>>>488 string x \b%-.3s
  4917. >>>>>>>>491 ubyte&0xDF >0
  4918. >>>>>>>>>491 string x \b.%-.3s
  4919. #
  4920. >>389 string Ungueltiges\ System\ \xFF\r\n
  4921. >>>411 string E/A-Fehler\ \ \ \ \xFF\r\n
  4922. >>>>428 string Datentraeger\ wechseln\ und\
  4923. >>>>>454 string Taste\ druecken\r \b, Microsoft Windows 95/98/ME Bootloader (GERMAN)
  4924. # DOS names like IO.SYS,WINBOOT.SYS,MSDOS.SYS,WINBOOT.INI are 8 right space padded bytes+3 bytes
  4925. >>>>>>472 string x %-.2s
  4926. >>>>>>>474 ubyte&0xDF >0
  4927. >>>>>>>>474 string x \b%-.5s
  4928. >>>>>>>>479 ubyte&0xDF >0
  4929. >>>>>>>>>479 string x \b%-.1s
  4930. >>>>>>480 ubyte&0xDF >0
  4931. >>>>>>>480 string x \b.%-.3s
  4932. >>>>>>483 ubyte&0xDF >0 \b+
  4933. >>>>>>>483 string x \b%-.5s
  4934. >>>>>>>488 ubyte&0xDF >0
  4935. >>>>>>>>488 string x \b%-.2s
  4936. >>>>>>>>490 ubyte&0xDF >0
  4937. >>>>>>>>>490 string x \b%-.1s
  4938. >>>>>>>491 ubyte&0xDF >0
  4939. >>>>>>>>491 string x \b.%-.3s
  4940. >479 ubyte&0xDF >0
  4941. >>416 string Kein\ System\ oder\
  4942. >>>433 string Laufwerksfehler
  4943. >>>>450 string Wechseln\ und\ Taste\ dr\201cken \b, Microsoft DOS Bootloader (german)
  4944. #IO.SYS
  4945. >>>>>479 string x \b %-.2s
  4946. >>>>>>481 ubyte&0xDF >0
  4947. >>>>>>>481 string x \b%-.6s
  4948. >>>>>487 ubyte&0xDF >0
  4949. >>>>>>487 string x \b.%-.3s
  4950. #MSDOS.SYS
  4951. >>>>>>490 ubyte&0xDF >0 \b+
  4952. >>>>>>>490 string x \b%-.5s
  4953. >>>>>>>>495 ubyte&0xDF >0
  4954. >>>>>>>>>495 string x \b%-.3s
  4955. >>>>>>>498 ubyte&0xDF >0
  4956. >>>>>>>>498 string x \b.%-.3s
  4957. #
  4958. >376 search/41 Non-System\ disk\ or\
  4959. >>395 search/41 disk\ error\r
  4960. >>>407 search/41 Replace\ and\
  4961. >>>>419 search/41 press\ \b,
  4962. >>>>419 search/41 strike\ \b, old
  4963. >>>>426 search/41 any\ key\ when\ ready\r MS or PC-DOS bootloader
  4964. #449 Disk\ Boot\ failure\r MS 3.21
  4965. #466 Boot\ Failure\r MS 3.30
  4966. >>>>>468 search/18 \0
  4967. #IO.SYS,IBMBIO.COM
  4968. >>>>>>&0 string x \b %-.2s
  4969. >>>>>>>&-20 ubyte&0xDF >0
  4970. >>>>>>>>&-1 string x \b%-.4s
  4971. >>>>>>>>>&-16 ubyte&0xDF >0
  4972. >>>>>>>>>>&-1 string x \b%-.2s
  4973. >>>>>>&8 ubyte&0xDF >0 \b.
  4974. >>>>>>>&-1 string x \b%-.3s
  4975. #MSDOS.SYS,IBMDOS.COM
  4976. >>>>>>&11 ubyte&0xDF >0 \b+
  4977. >>>>>>>&-1 string x \b%-.5s
  4978. >>>>>>>>&-6 ubyte&0xDF >0
  4979. >>>>>>>>>&-1 string x \b%-.1s
  4980. >>>>>>>>>>&-5 ubyte&0xDF >0
  4981. >>>>>>>>>>>&-1 string x \b%-.2s
  4982. >>>>>>>&7 ubyte&0xDF >0 \b.
  4983. >>>>>>>>&-1 string x \b%-.3s
  4984. >441 string Cannot\ load\ from\ harddisk.\n\r
  4985. >>469 string Insert\ Systemdisk\
  4986. >>>487 string and\ press\ any\ key.\n\r \b, MS (2.11) DOS bootloader
  4987. #>43 string \224R-LOADER\ \ SYS =label
  4988. >54 string SYS
  4989. >>324 string VASKK
  4990. >>>495 string NEWLDR\0 \b, DR-DOS Bootloader (LOADER.SYS)
  4991. #
  4992. >98 string Press\ a\ key\ to\ retry\0\r
  4993. >>120 string Cannot\ find\ file\ \0\r
  4994. >>>139 string Disk\ read\ error\0\r
  4995. >>>>156 string Loading\ ...\0 \b, DR-DOS (3.41) Bootloader
  4996. #DRBIOS.SYS
  4997. >>>>>44 ubyte&0xDF >0
  4998. >>>>>>44 string x \b %-.6s
  4999. >>>>>>>50 ubyte&0xDF >0
  5000. >>>>>>>>50 string x \b%-.2s
  5001. >>>>>>52 ubyte&0xDF >0
  5002. >>>>>>>52 string x \b.%-.3s
  5003. #
  5004. >70 string IBMBIO\ \ COM
  5005. >>472 string Cannot\ load\ DOS!\
  5006. >>>489 string Any\ key\ to\ retry \b, DR-DOS Bootloader
  5007. >>471 string Cannot\ load\ DOS\
  5008. >>487 string press\ key\ to\ retry \b, Open-DOS Bootloader
  5009. >444 string KERNEL\ \ SYS
  5010. >>314 string BOOT\ error! \b, FREE-DOS Bootloader
  5011. >499 string KERNEL\ \ SYS
  5012. >>305 string BOOT\ err!\0 \b, Free-DOS Bootloader
  5013. >449 string KERNEL\ \ SYS
  5014. >>319 string BOOT\ error! \b, FREE-DOS 0.5 Bootloader
  5015. >125 string Loading\ FreeDOS...\r
  5016. >>311 string BOOT\ error!\r \b, FREE-DOS bootloader
  5017. >>>441 ubyte&0xDF >0
  5018. >>>>441 string x \b %-.6s
  5019. >>>>>447 ubyte&0xDF >0
  5020. >>>>>>447 string x \b%-.1s
  5021. >>>>>>>448 ubyte&0xDF >0
  5022. >>>>>>>>448 string x \b%-.1s
  5023. >>>>449 ubyte&0xDF >0
  5024. >>>>>449 string x \b.%-.3s
  5025. >124 string FreeDOS\0
  5026. >>331 string \ err\0 \b, FREE-DOS BETa 0.9 Bootloader
  5027. # DOS names like KERNEL.SYS,KERNEL16.SYS,KERNEL32.SYS,METAKERN.SYS are 8 right space padded bytes+3 bytes
  5028. >>>497 ubyte&0xDF >0
  5029. >>>>497 string x \b %-.6s
  5030. >>>>>503 ubyte&0xDF >0
  5031. >>>>>>503 string x \b%-.1s
  5032. >>>>>>>504 ubyte&0xDF >0
  5033. >>>>>>>>504 string x \b%-.1s
  5034. >>>>505 ubyte&0xDF >0
  5035. >>>>>505 string x \b.%-.3s
  5036. >>333 string \ err\0 \b, FREE-DOS BEta 0.9 Bootloader
  5037. >>>497 ubyte&0xDF >0
  5038. >>>>497 string x \b %-.6s
  5039. >>>>>503 ubyte&0xDF >0
  5040. >>>>>>503 string x \b%-.1s
  5041. >>>>>>>504 ubyte&0xDF >0
  5042. >>>>>>>>504 string x \b%-.1s
  5043. >>>>505 ubyte&0xDF >0
  5044. >>>>>505 string x \b.%-.3s
  5045. >>334 string \ err\0 \b, FREE-DOS Beta 0.9 Bootloader
  5046. >>>497 ubyte&0xDF >0
  5047. >>>>497 string x \b %-.6s
  5048. >>>>>503 ubyte&0xDF >0
  5049. >>>>>>503 string x \b%-.1s
  5050. >>>>>>>504 ubyte&0xDF >0
  5051. >>>>>>>>504 string x \b%-.1s
  5052. >>>>505 ubyte&0xDF >0
  5053. >>>>>505 string x \b.%-.3s
  5054. >336 string Error!\
  5055. >>343 string Hit\ a\ key\ to\ reboot. \b, FREE-DOS Beta 0.9sr1 Bootloader
  5056. >>>497 ubyte&0xDF >0
  5057. >>>>497 string x \b %-.6s
  5058. >>>>>503 ubyte&0xDF >0
  5059. >>>>>>503 string x \b%-.1s
  5060. >>>>>>>504 ubyte&0xDF >0
  5061. >>>>>>>>504 string x \b%-.1s
  5062. >>>>505 ubyte&0xDF >0
  5063. >>>>>505 string x \b.%-.3s
  5064. # added by Joerg Jenderek
  5065. # http://www.visopsys.org/
  5066. # http://partitionlogic.org.uk/
  5067. # OEM-ID=Visopsys
  5068. >478 ulelong 0
  5069. >>(1.b+326) string I/O\ Error\ reading\
  5070. >>>(1.b+344) string Visopsys\ loader\r
  5071. >>>>(1.b+361) string Press\ any\ key\ to\ continue.\r \b, Visopsys loader
  5072. # http://alexfru.chat.ru/epm.html#bootprog
  5073. >494 ubyte >0x4D
  5074. >>495 string >E
  5075. >>>495 string <S
  5076. #OEM-ID is not reliable
  5077. >>>>3 string BootProg
  5078. # It just looks for a program file name at the root directory
  5079. # and loads corresponding file with following execution.
  5080. # DOS names like STARTUP.BIN,STARTUPC.COM,STARTUPE.EXE are 8 right space padded bytes+3 bytes
  5081. >>>>499 ubyte&0xDF >0 \b, COM/EXE Bootloader
  5082. >>>>>499 string x \b %-.1s
  5083. >>>>>>500 ubyte&0xDF >0
  5084. >>>>>>>500 string x \b%-.1s
  5085. >>>>>>>>501 ubyte&0xDF >0
  5086. >>>>>>>>>501 string x \b%-.1s
  5087. >>>>>>>>>>502 ubyte&0xDF >0
  5088. >>>>>>>>>>>502 string x \b%-.1s
  5089. >>>>>>>>>>>>503 ubyte&0xDF >0
  5090. >>>>>>>>>>>>>503 string x \b%-.1s
  5091. >>>>>>>>>>>>>>504 ubyte&0xDF >0
  5092. >>>>>>>>>>>>>>>504 string x \b%-.1s
  5093. >>>>>>>>>>>>>>>>505 ubyte&0xDF >0
  5094. >>>>>>>>>>>>>>>>>505 string x \b%-.1s
  5095. >>>>>>>>>>>>>>>>>>506 ubyte&0xDF >0
  5096. >>>>>>>>>>>>>>>>>>>506 string x \b%-.1s
  5097. #name extension
  5098. >>>>>507 ubyte&0xDF >0 \b.
  5099. >>>>>>507 string x \b%-.1s
  5100. >>>>>>>508 ubyte&0xDF >0
  5101. >>>>>>>>508 string x \b%-.1s
  5102. >>>>>>>>>509 ubyte&0xDF >0
  5103. >>>>>>>>>>509 string x \b%-.1s
  5104. #If the boot sector fails to read any other sector,
  5105. #it prints a very short message ("RE") to the screen and hangs the computer.
  5106. #If the boot sector fails to find needed program in the root directory,
  5107. #it also hangs with another message ("NF").
  5108. >>>>>492 string RENF \b, FAT (12 bit)
  5109. >>>>>495 string RENF \b, FAT (16 bit)
  5110. # http://alexfru.chat.ru/epm.html#bootprog
  5111. >494 ubyte >0x4D
  5112. >>495 string >E
  5113. >>>495 string <S
  5114. #OEM-ID is not reliable
  5115. >>>>3 string BootProg
  5116. # It just looks for a program file name at the root directory
  5117. # and loads corresponding file with following execution.
  5118. # DOS names like STARTUP.BIN,STARTUPC.COM,STARTUPE.EXE are 8 right space padded bytes+3 bytes
  5119. >>>>499 ubyte&0xDF >0 \b, COM/EXE Bootloader
  5120. >>>>>499 string x \b %-.1s
  5121. >>>>>>500 ubyte&0xDF >0
  5122. >>>>>>>500 string x \b%-.1s
  5123. >>>>>>>>501 ubyte&0xDF >0
  5124. >>>>>>>>>501 string x \b%-.1s
  5125. >>>>>>>>>>502 ubyte&0xDF >0
  5126. >>>>>>>>>>>502 string x \b%-.1s
  5127. >>>>>>>>>>>>503 ubyte&0xDF >0
  5128. >>>>>>>>>>>>>503 string x \b%-.1s
  5129. >>>>>>>>>>>>>>504 ubyte&0xDF >0
  5130. >>>>>>>>>>>>>>>504 string x \b%-.1s
  5131. >>>>>>>>>>>>>>>>505 ubyte&0xDF >0
  5132. >>>>>>>>>>>>>>>>>505 string x \b%-.1s
  5133. >>>>>>>>>>>>>>>>>>506 ubyte&0xDF >0
  5134. >>>>>>>>>>>>>>>>>>>506 string x \b%-.1s
  5135. #name extension
  5136. >>>>>507 ubyte&0xDF >0 \b.
  5137. >>>>>>507 string x \b%-.1s
  5138. >>>>>>>508 ubyte&0xDF >0
  5139. >>>>>>>>508 string x \b%-.1s
  5140. >>>>>>>>>509 ubyte&0xDF >0
  5141. >>>>>>>>>>509 string x \b%-.1s
  5142. #If the boot sector fails to read any other sector,
  5143. #it prints a very short message ("RE") to the screen and hangs the computer.
  5144. #If the boot sector fails to find needed program in the root directory,
  5145. #it also hangs with another message ("NF").
  5146. >>>>>492 string RENF \b, FAT (12 bit)
  5147. >>>>>495 string RENF \b, FAT (16 bit)
  5148. # added by Joerg Jenderek
  5149. # http://syslinux.zytor.com/iso.php
  5150. 0 ulelong 0x7c40eafa isolinux Loader
  5151. # http://syslinux.zytor.com/pxe.php
  5152. 0 ulelong 0x007c05ea pxelinux Loader
  5153. 0 ulelong 0x60669c66 pxelinux Loader
  5154. # loader end
  5155. # updated by Joerg Jenderek at Sep 2007
  5156. >3 ubyte 0
  5157. #no active flag
  5158. >>446 ubyte 0
  5159. # partition 1 not empty
  5160. >>>450 ubyte >0
  5161. # partitions 3,4 empty
  5162. >>>>482 ubyte 0
  5163. >>>>>498 ubyte 0
  5164. # partition 2 ID=0,5,15
  5165. >>>>>>466 ubyte <0x10
  5166. >>>>>>>466 ubyte 0x05 \b, extended partition table
  5167. >>>>>>>466 ubyte 0x0F \b, extended partition table (LBA)
  5168. >>>>>>>466 ubyte 0x0 \b, extended partition table (last)
  5169. # JuMP short bootcodeoffset NOP assembler instructions will usually be EB xx 90
  5170. # http://mirror.href.com/thestarman/asm/2bytejumps.htmm#FWD
  5171. # older drives may use Near JuMP instruction E9 xx xx
  5172. >0 lelong&0x009000EB 0x009000EB
  5173. >0 lelong&0x000000E9 0x000000E9
  5174. # maximal short forward jump is 07fx
  5175. >1 ubyte <0xff \b, code offset 0x%x
  5176. # mtools-3.9.8/msdos.h
  5177. # usual values are marked with comments to get only informations of strange FAT systems
  5178. # valid sectorsize must be a power of 2 from 32 to 32768
  5179. >>11 uleshort&0x000f x
  5180. >>>11 uleshort <32769
  5181. >>>>11 uleshort >31
  5182. >>>>>3 string >\0 \b, OEM-ID "%8.8s"
  5183. #http://mirror.href.com/thestarman/asm/debug/debug2.htm#IHC
  5184. >>>>>>8 string IHC \b cached by Windows 9M
  5185. >>>>>11 uleshort >512 \b, Bytes/sector %u
  5186. #>>>>>11 uleshort =512 \b, Bytes/sector %u=512 (usual)
  5187. >>>>>11 uleshort <512 \b, Bytes/sector %u
  5188. >>>>>13 ubyte >1 \b, sectors/cluster %u
  5189. #>>>>>13 ubyte =1 \b, sectors/cluster %u (usual on Floppies)
  5190. >>>>>14 uleshort >32 \b, reserved sectors %u
  5191. #>>>>>14 uleshort =32 \b, reserved sectors %u (usual Fat32)
  5192. #>>>>>14 uleshort >1 \b, reserved sectors %u
  5193. #>>>>>14 uleshort =1 \b, reserved sectors %u (usual FAT12,FAT16)
  5194. >>>>>14 uleshort <1 \b, reserved sectors %u
  5195. >>>>>16 ubyte >2 \b, FATs %u
  5196. #>>>>>16 ubyte =2 \b, FATs %u (usual)
  5197. >>>>>16 ubyte =1 \b, FAT %u
  5198. >>>>>16 ubyte >0
  5199. >>>>>17 uleshort >0 \b, root entries %u
  5200. #>>>>>17 uleshort =0 \b, root entries %u=0 (usual Fat32)
  5201. >>>>>19 uleshort >0 \b, sectors %u (volumes <=32 MB)
  5202. #>>>>>19 uleshort =0 \b, sectors %u=0 (usual Fat32)
  5203. >>>>>21 ubyte >0xF0 \b, Media descriptor 0x%x
  5204. #>>>>>21 ubyte =0xF0 \b, Media descriptor 0x%x (usual floppy)
  5205. >>>>>21 ubyte <0xF0 \b, Media descriptor 0x%x
  5206. >>>>>22 uleshort >0 \b, sectors/FAT %u
  5207. #>>>>>22 uleshort =0 \b, sectors/FAT %u=0 (usual Fat32)
  5208. >>>>>26 ubyte >2 \b, heads %u
  5209. #>>>>>26 ubyte =2 \b, heads %u (usual floppy)
  5210. >>>>>26 ubyte =1 \b, heads %u
  5211. #skip for Digital Research DOS (version 3.41) 1440 kB Bootdisk
  5212. >>>>>38 ubyte !0x70
  5213. >>>>>>28 ulelong >0 \b, hidden sectors %u
  5214. #>>>>>>28 ulelong =0 \b, hidden sectors %u (usual floppy)
  5215. >>>>>>32 ulelong >0 \b, sectors %u (volumes > 32 MB)
  5216. #>>>>>>32 ulelong =0 \b, sectors %u (volumes > 32 MB)
  5217. # FAT<32 specific
  5218. >>>>>82 string !FAT32
  5219. #>>>>>>36 ubyte 0x80 \b, physical drive 0x%x=0x80 (usual harddisk)
  5220. #>>>>>>36 ubyte 0 \b, physical drive 0x%x=0 (usual floppy)
  5221. >>>>>>36 ubyte !0x80
  5222. >>>>>>>36 ubyte !0 \b, physical drive 0x%x
  5223. >>>>>>37 ubyte >0 \b, reserved 0x%x
  5224. #>>>>>>37 ubyte =0 \b, reserved 0x%x
  5225. >>>>>>38 ubyte >0x29 \b, dos < 4.0 BootSector (0x%x)
  5226. >>>>>>38 ubyte <0x29 \b, dos < 4.0 BootSector (0x%x)
  5227. >>>>>>38 ubyte =0x29
  5228. >>>>>>>39 ulelong x \b, serial number 0x%x
  5229. >>>>>>>43 string <NO\ NAME \b, label: "%11.11s"
  5230. >>>>>>>43 string >NO\ NAME \b, label: "%11.11s"
  5231. >>>>>>>43 string =NO\ NAME \b, unlabeled
  5232. >>>>>>54 string FAT \b, FAT
  5233. >>>>>>>54 string FAT12 \b (12 bit)
  5234. >>>>>>>54 string FAT16 \b (16 bit)
  5235. # FAT32 specific
  5236. >>>>>82 string FAT32 \b, FAT (32 bit)
  5237. >>>>>>36 ulelong x \b, sectors/FAT %u
  5238. >>>>>>40 uleshort >0 \b, extension flags %u
  5239. #>>>>>>40 uleshort =0 \b, extension flags %u
  5240. >>>>>>42 uleshort >0 \b, fsVersion %u
  5241. #>>>>>>42 uleshort =0 \b, fsVersion %u (usual)
  5242. >>>>>>44 ulelong >2 \b, rootdir cluster %u
  5243. #>>>>>>44 ulelong =2 \b, rootdir cluster %u
  5244. #>>>>>>44 ulelong =1 \b, rootdir cluster %u
  5245. >>>>>>48 uleshort >1 \b, infoSector %u
  5246. #>>>>>>48 uleshort =1 \b, infoSector %u (usual)
  5247. >>>>>>48 uleshort <1 \b, infoSector %u
  5248. >>>>>>50 uleshort >6 \b, Backup boot sector %u
  5249. #>>>>>>50 uleshort =6 \b, Backup boot sector %u (usual)
  5250. >>>>>>50 uleshort <6 \b, Backup boot sector %u
  5251. >>>>>>54 ulelong >0 \b, reserved1 0x%x
  5252. >>>>>>58 ulelong >0 \b, reserved2 0x%x
  5253. >>>>>>62 ulelong >0 \b, reserved3 0x%x
  5254. # same structure as FAT1X
  5255. >>>>>>64 ubyte >0x80 \b, physical drive 0x%x
  5256. #>>>>>>64 ubyte =0x80 \b, physical drive 0x%x=80 (usual harddisk)
  5257. >>>>>>64 ubyte&0x7F >0 \b, physical drive 0x%x
  5258. #>>>>>>64 ubyte =0 \b, physical drive 0x%x=0 (usual floppy)
  5259. >>>>>>65 ubyte >0 \b, reserved 0x%x
  5260. >>>>>>66 ubyte >0x29 \b, dos < 4.0 BootSector (0x%x)
  5261. >>>>>>66 ubyte <0x29 \b, dos < 4.0 BootSector (0x%x)
  5262. >>>>>>66 ubyte =0x29
  5263. >>>>>>>67 ulelong x \b, serial number 0x%x
  5264. >>>>>>>71 string <NO\ NAME \b, label: "%11.11s"
  5265. >>>>>>71 string >NO\ NAME \b, label: "%11.11s"
  5266. >>>>>>71 string =NO\ NAME \b, unlabeled
  5267. ### FATs end
  5268. >0x200 lelong 0x82564557 \b, BSD disklabel
  5269. # FATX
  5270. 0 string FATX FATX filesystem data
  5271.  
  5272.  
  5273. # Minix filesystems - Juan Cespedes <[email protected]>
  5274. 0x410 leshort 0x137f Minix filesystem
  5275. 0x410 beshort 0x137f Minix filesystem (big endian),
  5276. >0x402 beshort !0 \b, %d zones
  5277. >0x1e string minix \b, bootable
  5278. 0x410 leshort 0x138f Minix filesystem, 30 char names
  5279. 0x410 leshort 0x2468 Minix filesystem, version 2
  5280. 0x410 leshort 0x2478 Minix filesystem, version 2, 30 char names
  5281.  
  5282. # romfs filesystems - Juan Cespedes <[email protected]>
  5283. 0 string -rom1fs-\0 romfs filesystem, version 1
  5284. >8 belong x %d bytes,
  5285. >16 string x named %s.
  5286.  
  5287. # netboot image - Juan Cespedes <[email protected]>
  5288. 0 lelong 0x1b031336L Netboot image,
  5289. >4 lelong&0xFFFFFF00 0
  5290. >>4 lelong&0x100 0x000 mode 2
  5291. >>4 lelong&0x100 0x100 mode 3
  5292. >4 lelong&0xFFFFFF00 !0 unknown mode
  5293.  
  5294. 0x18b string OS/2 OS/2 Boot Manager
  5295.  
  5296. # added by Joerg Jenderek
  5297. # In the second sector (+0x200) are variables according to grub-0.97/stage2/asm.S or
  5298. # grub-1.94/kern/i386/pc/startup.S
  5299. # http://www.gnu.org/software/grub/manual/grub.html#Embedded-data
  5300. # usual values are marked with comments to get only informations of strange GRUB loaders
  5301. 0x200 uleshort 0x70EA
  5302. # found only version 3.{1,2}
  5303. >0x206 ubeshort >0x0300
  5304. # GRUB version (0.5.)95,0.93,0.94,0.96,0.97 > "00"
  5305. >>0x212 ubyte >0x29
  5306. >>>0x213 ubyte >0x29
  5307. # not iso9660_stage1_5
  5308. #>>>0 ulelong&0x00BE5652 0x00BE5652
  5309. >>>>0x213 ubyte >0x29 GRand Unified Bootloader
  5310. # config_file for stage1_5 is 0xffffffff + default "/boot/grub/stage2"
  5311. >>>>0x217 ubyte 0xFF stage1_5
  5312. >>>>0x217 ubyte <0xFF stage2
  5313. >>>>0x206 ubyte x \b version %u
  5314. >>>>0x207 ubyte x \b.%u
  5315. # module_size for 1.94
  5316. >>>>0x208 ulelong <0xffffff \b, installed partition %u
  5317. #>>>>0x208 ulelong =0xffffff \b, %u (default)
  5318. >>>>0x208 ulelong >0xffffff \b, installed partition %u
  5319. # GRUB 0.5.95 unofficial
  5320. >>>>0x20C ulelong&0x2E300000 0x2E300000
  5321. # 0=stage2 1=ffs 2=e2fs 3=fat 4=minix 5=reiserfs
  5322. >>>>>0x20C ubyte x \b, identifier 0x%x
  5323. #>>>>>0x20D ubyte =0 \b, LBA flag 0x%x (default)
  5324. >>>>>0x20D ubyte >0 \b, LBA flag 0x%x
  5325. # GRUB version as string
  5326. >>>>>0x20E string >\0 \b, GRUB version %-s
  5327. # for stage1_5 is 0xffffffff + config_file "/boot/grub/stage2" default
  5328. >>>>>>0x215 ulong 0xffffffff
  5329. >>>>>>>0x219 string >\0 \b, configuration file %-s
  5330. >>>>>>0x215 ulong !0xffffffff
  5331. >>>>>>>0x215 string >\0 \b, configuration file %-s
  5332. # newer GRUB versions
  5333. >>>>0x20C ulelong&0x2E300000 !0x2E300000
  5334. ##>>>>>0x20C ulelong =0 \b, saved entry %d (usual)
  5335. >>>>>0x20C ulelong >0 \b, saved entry %d
  5336. # for 1.94 contains kernel image size
  5337. # for 0.93,0.94,0.96,0.97
  5338. # 0=stage2 1=ffs 2=e2fs 3=fat 4=minix 5=reiserfs 6=vstafs 7=jfs 8=xfs 9=iso9660 a=ufs2
  5339. >>>>>0x210 ubyte x \b, identifier 0x%x
  5340. # The flag for LBA forcing is in most cases 0
  5341. #>>>>>0x211 ubyte =0 \b, LBA flag 0x%x (default)
  5342. >>>>>0x211 ubyte >0 \b, LBA flag 0x%x
  5343. # GRUB version as string
  5344. >>>>>0x212 string >\0 \b, GRUB version %-s
  5345. # for stage1_5 is 0xffffffff + config_file "/boot/grub/stage2" default
  5346. >>>>>0x217 ulong 0xffffffff
  5347. >>>>>>0x21b string >\0 \b, configuration file %-s
  5348. >>>>>0x217 ulong !0xffffffff
  5349. >>>>>>0x217 string >\0 \b, configuration file %-s
  5350.  
  5351. 9564 lelong 0x00011954 Unix Fast File system [v1] (little-endian),
  5352. >8404 string x last mounted on %s,
  5353. #>9504 ledate x last checked at %s,
  5354. >8224 ledate x last written at %s,
  5355. >8401 byte x clean flag %d,
  5356. >8228 lelong x number of blocks %d,
  5357. >8232 lelong x number of data blocks %d,
  5358. >8236 lelong x number of cylinder groups %d,
  5359. >8240 lelong x block size %d,
  5360. >8244 lelong x fragment size %d,
  5361. >8252 lelong x minimum percentage of free blocks %d,
  5362. >8256 lelong x rotational delay %dms,
  5363. >8260 lelong x disk rotational speed %drps,
  5364. >8320 lelong 0 TIME optimization
  5365. >8320 lelong 1 SPACE optimization
  5366.  
  5367. 42332 lelong 0x19540119 Unix Fast File system [v2] (little-endian)
  5368. >&-1164 string x last mounted on %s,
  5369. >&-696 string >\0 volume name %s,
  5370. >&-304 leqldate x last written at %s,
  5371. >&-1167 byte x clean flag %d,
  5372. >&-1168 byte x readonly flag %d,
  5373. >&-296 lequad x number of blocks %lld,
  5374. >&-288 lequad x number of data blocks %lld,
  5375. >&-1332 lelong x number of cylinder groups %d,
  5376. >&-1328 lelong x block size %d,
  5377. >&-1324 lelong x fragment size %d,
  5378. >&-180 lelong x average file size %d,
  5379. >&-176 lelong x average number of files in dir %d,
  5380. >&-272 lequad x pending blocks to free %lld,
  5381. >&-264 lelong x pending inodes to free %ld,
  5382. >&-664 lequad x system-wide uuid %0llx,
  5383. >&-1316 lelong x minimum percentage of free blocks %d,
  5384. >&-1248 lelong 0 TIME optimization
  5385. >&-1248 lelong 1 SPACE optimization
  5386.  
  5387. 66908 lelong 0x19540119 Unix Fast File system [v2] (little-endian)
  5388. >&-1164 string x last mounted on %s,
  5389. >&-696 string >\0 volume name %s,
  5390. >&-304 leqldate x last written at %s,
  5391. >&-1167 byte x clean flag %d,
  5392. >&-1168 byte x readonly flag %d,
  5393. >&-296 lequad x number of blocks %lld,
  5394. >&-288 lequad x number of data blocks %lld,
  5395. >&-1332 lelong x number of cylinder groups %d,
  5396. >&-1328 lelong x block size %d,
  5397. >&-1324 lelong x fragment size %d,
  5398. >&-180 lelong x average file size %d,
  5399. >&-176 lelong x average number of files in dir %d,
  5400. >&-272 lequad x pending blocks to free %lld,
  5401. >&-264 lelong x pending inodes to free %ld,
  5402. >&-664 lequad x system-wide uuid %0llx,
  5403. >&-1316 lelong x minimum percentage of free blocks %d,
  5404. >&-1248 lelong 0 TIME optimization
  5405. >&-1248 lelong 1 SPACE optimization
  5406.  
  5407. 9564 belong 0x00011954 Unix Fast File system [v1] (big-endian),
  5408. >7168 belong 0x4c41424c Apple UFS Volume
  5409. >>7186 string x named %s,
  5410. >>7176 belong x volume label version %d,
  5411. >>7180 bedate x created on %s,
  5412. >8404 string x last mounted on %s,
  5413. #>9504 bedate x last checked at %s,
  5414. >8224 bedate x last written at %s,
  5415. >8401 byte x clean flag %d,
  5416. >8228 belong x number of blocks %d,
  5417. >8232 belong x number of data blocks %d,
  5418. >8236 belong x number of cylinder groups %d,
  5419. >8240 belong x block size %d,
  5420. >8244 belong x fragment size %d,
  5421. >8252 belong x minimum percentage of free blocks %d,
  5422. >8256 belong x rotational delay %dms,
  5423. >8260 belong x disk rotational speed %drps,
  5424. >8320 belong 0 TIME optimization
  5425. >8320 belong 1 SPACE optimization
  5426.  
  5427. 42332 belong 0x19540119 Unix Fast File system [v2] (big-endian)
  5428. >&-1164 string x last mounted on %s,
  5429. >&-696 string >\0 volume name %s,
  5430. >&-304 beqldate x last written at %s,
  5431. >&-1167 byte x clean flag %d,
  5432. >&-1168 byte x readonly flag %d,
  5433. >&-296 bequad x number of blocks %lld,
  5434. >&-288 bequad x number of data blocks %lld,
  5435. >&-1332 belong x number of cylinder groups %d,
  5436. >&-1328 belong x block size %d,
  5437. >&-1324 belong x fragment size %d,
  5438. >&-180 belong x average file size %d,
  5439. >&-176 belong x average number of files in dir %d,
  5440. >&-272 bequad x pending blocks to free %lld,
  5441. >&-264 belong x pending inodes to free %ld,
  5442. >&-664 bequad x system-wide uuid %0llx,
  5443. >&-1316 belong x minimum percentage of free blocks %d,
  5444. >&-1248 belong 0 TIME optimization
  5445. >&-1248 belong 1 SPACE optimization
  5446.  
  5447. 66908 belong 0x19540119 Unix Fast File system [v2] (big-endian)
  5448. >&-1164 string x last mounted on %s,
  5449. >&-696 string >\0 volume name %s,
  5450. >&-304 beqldate x last written at %s,
  5451. >&-1167 byte x clean flag %d,
  5452. >&-1168 byte x readonly flag %d,
  5453. >&-296 bequad x number of blocks %lld,
  5454. >&-288 bequad x number of data blocks %lld,
  5455. >&-1332 belong x number of cylinder groups %d,
  5456. >&-1328 belong x block size %d,
  5457. >&-1324 belong x fragment size %d,
  5458. >&-180 belong x average file size %d,
  5459. >&-176 belong x average number of files in dir %d,
  5460. >&-272 bequad x pending blocks to free %lld,
  5461. >&-264 belong x pending inodes to free %ld,
  5462. >&-664 bequad x system-wide uuid %0llx,
  5463. >&-1316 belong x minimum percentage of free blocks %d,
  5464. >&-1248 belong 0 TIME optimization
  5465. >&-1248 belong 1 SPACE optimization
  5466.  
  5467. # ext2/ext3 filesystems - Andreas Dilger <[email protected]>
  5468. 0x438 leshort 0xEF53 Linux
  5469. >0x44c lelong x rev %d
  5470. >0x43e leshort x \b.%d
  5471. >0x45c lelong ^0x0000004 ext2 filesystem data
  5472. >>0x43a leshort ^0x0000001 (mounted or unclean)
  5473. >0x45c lelong &0x0000004 ext3 filesystem data
  5474. >>0x460 lelong &0x0000004 (needs journal recovery)
  5475. >0x43a leshort &0x0000002 (errors)
  5476. >0x460 lelong &0x0000001 (compressed)
  5477. #>0x460 lelong &0x0000002 (filetype)
  5478. #>0x464 lelong &0x0000001 (sparse_super)
  5479. >0x464 lelong &0x0000002 (large files)
  5480.  
  5481. # SGI disk labels - Nathan Scott <[email protected]>
  5482. 0 belong 0x0BE5A941 SGI disk label (volume header)
  5483.  
  5484. # SGI XFS filesystem - Nathan Scott <[email protected]>
  5485. 0 belong 0x58465342 SGI XFS filesystem data
  5486. >0x4 belong x (blksz %d,
  5487. >0x68 beshort x inosz %d,
  5488. >0x64 beshort ^0x2004 v1 dirs)
  5489. >0x64 beshort &0x2004 v2 dirs)
  5490.  
  5491. ############################################################################
  5492. # Minix-ST kernel floppy
  5493. 0x800 belong 0x46fc2700 Atari-ST Minix kernel image
  5494. >19 string \240\5\371\5\0\011\0\2\0 \b, 720k floppy
  5495. >19 string \320\2\370\5\0\011\0\1\0 \b, 360k floppy
  5496.  
  5497. ############################################################################
  5498. # Hmmm, is this a better way of detecting _standard_ floppy images ?
  5499. 19 string \320\2\360\3\0\011\0\1\0 DOS floppy 360k
  5500. >0x1FE leshort 0xAA55 \b, x86 hard disk boot sector
  5501. 19 string \240\5\371\3\0\011\0\2\0 DOS floppy 720k
  5502. >0x1FE leshort 0xAA55 \b, x86 hard disk boot sector
  5503. 19 string \100\013\360\011\0\022\0\2\0 DOS floppy 1440k
  5504. >0x1FE leshort 0xAA55 \b, x86 hard disk boot sector
  5505.  
  5506. 19 string \240\5\371\5\0\011\0\2\0 DOS floppy 720k, IBM
  5507. >0x1FE leshort 0xAA55 \b, x86 hard disk boot sector
  5508. 19 string \100\013\371\5\0\011\0\2\0 DOS floppy 1440k, mkdosfs
  5509. >0x1FE leshort 0xAA55 \b, x86 hard disk boot sector
  5510.  
  5511. 19 string \320\2\370\5\0\011\0\1\0 Atari-ST floppy 360k
  5512. 19 string \240\5\371\5\0\011\0\2\0 Atari-ST floppy 720k
  5513.  
  5514. # Valid media descriptor bytes for MS-DOS:
  5515. #
  5516. # Byte Capacity Media Size and Type
  5517. # -------------------------------------------------
  5518. #
  5519. # F0 2.88 MB 3.5-inch, 2-sided, 36-sector
  5520. # F0 1.44 MB 3.5-inch, 2-sided, 18-sector
  5521. # F9 720K 3.5-inch, 2-sided, 9-sector
  5522. # F9 1.2 MB 5.25-inch, 2-sided, 15-sector
  5523. # FD 360K 5.25-inch, 2-sided, 9-sector
  5524. # FF 320K 5.25-inch, 2-sided, 8-sector
  5525. # FC 180K 5.25-inch, 1-sided, 9-sector
  5526. # FE 160K 5.25-inch, 1-sided, 8-sector
  5527. # FE 250K 8-inch, 1-sided, single-density
  5528. # FD 500K 8-inch, 2-sided, single-density
  5529. # FE 1.2 MB 8-inch, 2-sided, double-density
  5530. # F8 ----- Fixed disk
  5531. #
  5532. # FC xxxK Apricot 70x1x9 boot disk.
  5533. #
  5534. # Originally a bitmap:
  5535. # xxxxxxx0 Not two sided
  5536. # xxxxxxx1 Double sided
  5537. # xxxxxx0x Not 8 SPT
  5538. # xxxxxx1x 8 SPT
  5539. # xxxxx0xx Not Removable drive
  5540. # xxxxx1xx Removable drive
  5541. # 11111xxx Must be one.
  5542. #
  5543. # But now it's rather random:
  5544. # 111111xx Low density disk
  5545. # 00 SS, Not 8 SPT
  5546. # 01 DS, Not 8 SPT
  5547. # 10 SS, 8 SPT
  5548. # 11 DS, 8 SPT
  5549. #
  5550. # 11111001 Double density 3ݠfloppy disk, high density 5܊# 11110000 High density 3ݠfloppy disk
  5551. # 11111000 Hard disk any format
  5552. #
  5553.  
  5554. # CDROM Filesystems
  5555. # Modified for UDF by [email protected]
  5556. 32769 string CD001
  5557. >38913 string !NSR0 ISO 9660 CD-ROM filesystem data
  5558. >38913 string NSR0 UDF filesystem data
  5559. >>38917 string 1 (version 1.0)
  5560. >>38917 string 2 (version 1.5)
  5561. >>38917 string 3 (version 2.0)
  5562. >>38917 byte >0x33 (unknown version, ID 0x%X)
  5563. >>38917 byte <0x31 (unknown version, ID 0x%X)
  5564. # "application id" which appears to be used as a volume label
  5565. >32808 string >\0 '%s'
  5566. >34816 string \000CD001\001EL\ TORITO\ SPECIFICATION (bootable)
  5567. 37633 string CD001 ISO 9660 CD-ROM filesystem data (raw 2352 byte sectors)
  5568. 32776 string CDROM High Sierra CD-ROM filesystem data
  5569.  
  5570. # cramfs filesystem - [email protected]
  5571. 0 lelong 0x28cd3d45 Linux Compressed ROM File System data, little endian
  5572. >4 lelong x size %d
  5573. >8 lelong &1 version #2
  5574. >8 lelong &2 sorted_dirs
  5575. >8 lelong &4 hole_support
  5576. >32 lelong x CRC 0x%x,
  5577. >36 lelong x edition %d,
  5578. >40 lelong x %d blocks,
  5579. >44 lelong x %d files
  5580.  
  5581. 0 belong 0x28cd3d45 Linux Compressed ROM File System data, big endian
  5582. >4 belong x size %d
  5583. >8 belong &1 version #2
  5584. >8 belong &2 sorted_dirs
  5585. >8 belong &4 hole_support
  5586. >32 belong x CRC 0x%x,
  5587. >36 belong x edition %d,
  5588. >40 belong x %d blocks,
  5589. >44 belong x %d files
  5590.  
  5591. # reiserfs - [email protected]
  5592. 0x10034 string ReIsErFs ReiserFS V3.5
  5593. 0x10034 string ReIsEr2Fs ReiserFS V3.6
  5594. >0x1002c leshort x block size %d
  5595. >0x10032 leshort &2 (mounted or unclean)
  5596. >0x10000 lelong x num blocks %d
  5597. >0x10040 lelong 1 tea hash
  5598. >0x10040 lelong 2 yura hash
  5599. >0x10040 lelong 3 r5 hash
  5600.  
  5601. 0 lelong 0x34383931 Linux Journalled Flash File system, little endian
  5602. 0 belong 0x34383931 Linux Journalled Flash File system, big endian
  5603.  
  5604. # EST flat binary format (which isn't, but anyway)
  5605. # From: Mark Brown <[email protected]>
  5606. 0 string ESTFBINR EST flat binary
  5607.  
  5608. # Aculab VoIP firmware
  5609. # From: Mark Brown <[email protected]>
  5610. 0 string VoIP\ Startup\ and Aculab VoIP firmware
  5611. >35 string x format %s
  5612.  
  5613. # u-boot/PPCBoot image file
  5614. # From: Mark Brown <[email protected]>
  5615. 0 belong 0x27051956 u-boot/PPCBoot image
  5616. >4 string PPCBoot
  5617. >>12 string x version %s
  5618.  
  5619. # JFFS2 file system
  5620. 0 leshort 0x1984 Linux old jffs2 filesystem data little endian
  5621. 0 leshort 0x1985 Linux jffs2 filesystem data little endian
  5622.  
  5623. # Squashfs
  5624. 0 string sqsh Squashfs filesystem, big endian,
  5625. >28 beshort x version %d.
  5626. >30 beshort x \b%d,
  5627. >28 beshort <3
  5628. >>8 belong x %d bytes,
  5629. >28 beshort >2
  5630. >>63 bequad x %lld bytes,
  5631. #>>67 belong x %d bytes,
  5632. >4 belong x %d inodes,
  5633. >28 beshort <2
  5634. >>32 beshort x blocksize: %d bytes,
  5635. >28 beshort >1
  5636. >>51 belong x blocksize: %d bytes,
  5637. >39 bedate x created: %s
  5638. 0 string hsqs Squashfs filesystem, little endian,
  5639. >28 leshort x version %d.
  5640. >30 leshort x \b%d,
  5641. >28 leshort <3
  5642. >>8 lelong x %d bytes,
  5643. >28 leshort >2
  5644. >>63 lequad x %lld bytes,
  5645. #>>63 lelong x %d bytes,
  5646. >4 lelong x %d inodes,
  5647. >28 leshort <2
  5648. >>32 leshort x blocksize: %d bytes,
  5649. >28 leshort >1
  5650. >>51 lelong x blocksize: %d bytes,
  5651. >39 ledate x created: %s
  5652.  
  5653. 0 string td\000 floppy image data (TeleDisk)
  5654.  
  5655. # AFS Dump Magic
  5656. # From: Ty Sarna <[email protected]>
  5657. 0 string \x01\xb3\xa1\x13\x22 AFS Dump
  5658. >&0 belong x (v%d)
  5659. >>&0 byte 0x76
  5660. >>>&0 belong x Vol %d,
  5661. >>>>&0 byte 0x6e
  5662. >>>>>&0 string x %s
  5663. >>>>>>&1 byte 0x74
  5664. >>>>>>>&0 beshort 2
  5665. >>>>>>>>&4 bedate x on: %s
  5666. >>>>>>>>&0 bedate =0 full dump
  5667. >>>>>>>>&0 bedate !0 incremental since: %s
  5668.  
  5669. #----------------------------------------------------------
  5670. # VMS backup savesets - [email protected]
  5671. #
  5672. 4 string \x01\x00\x01\x00\x01\x00
  5673. >(0.s+16) string \x01\x01
  5674. >>&(&0.b+8) byte 0x42 OpenVMS backup saveset data
  5675. >>>40 lelong x (block size %d,
  5676. >>>49 string >\0 original name '%s',
  5677. >>>2 short 1024 VAX generated)
  5678. >>>2 short 2048 AXP generated)
  5679. >>>2 short 4096 I64 generated)
  5680.  
  5681. # Compaq/HP RILOE floppy image
  5682. # From: Dirk Jagdmann <[email protected]>
  5683. 0 string CPQRFBLO Compaq/HP RILOE floppy image
  5684.  
  5685. #------------------------------------------------------------------------------
  5686. # Files-11 On-Disk Structure (OpenVMS file system) - [email protected]
  5687. # These bits come from LBN 1 (home block) of ODS-2 and ODS-5 volumes, which is
  5688. # mapped to VBN 2 of [000000]INDEXF.SYS;1
  5689. #
  5690. 1008 string DECFILE11B Files-11 On-Disk Structure
  5691. >525 byte x Level %d
  5692. >525 byte x (ODS-%d OpenVMS file system),
  5693. >984 string x volume label is '%-12.12s'
  5694.  
  5695. # From: Thomas Klausner <[email protected]>
  5696. # http://filext.com/file-extension/DAA
  5697. # describes the daa file format. The magic would be:
  5698. 0 string DAA\x0\x0\x0\x0\x0 PowerISO Direct-Access-Archive
  5699.  
  5700. #------------------------------------------------------------------------------
  5701. # flash: file(1) magic for Macromedia Flash file format
  5702. #
  5703. # See
  5704. #
  5705. # http://www.macromedia.com/software/flash/open/
  5706. #
  5707. 0 string FWS Macromedia Flash data,
  5708. >3 byte x version %d
  5709. 0 string CWS Macromedia Flash data (compressed),
  5710. >3 byte x version %d
  5711. # From: Cal Peake <[email protected]>
  5712. 0 string FLV Macromedia Flash Video
  5713.  
  5714. #
  5715. # From Dave Wilson
  5716. 0 string AGD4\xbe\xb8\xbb\xcb\x00 Macromedia Freehand 9 Document
  5717.  
  5718. #------------------------------------------------------------------------------
  5719. # fonts: file(1) magic for font data
  5720. #
  5721. 0 string FONT ASCII vfont text
  5722. 0 short 0436 Berkeley vfont data
  5723. 0 short 017001 byte-swapped Berkeley vfont data
  5724.  
  5725. # PostScript fonts (must precede "printer" entries), [email protected]
  5726. 0 string %!PS-AdobeFont-1. PostScript Type 1 font text
  5727. >20 string >\0 (%s)
  5728. 6 string %!PS-AdobeFont-1. PostScript Type 1 font program data
  5729.  
  5730. # X11 font files in SNF (Server Natural Format) format
  5731. 0 belong 00000004 X11 SNF font data, MSB first
  5732. 0 lelong 00000004 X11 SNF font data, LSB first
  5733.  
  5734. # X11 Bitmap Distribution Format, from Daniel Quinlan ([email protected])
  5735. 0 string STARTFONT\040 X11 BDF font text
  5736.  
  5737. # X11 fonts, from Daniel Quinlan ([email protected])
  5738. # PCF must come before SGI additions ("MIPSEL MIPS-II COFF" collides)
  5739. 0 string \001fcp X11 Portable Compiled Font data
  5740. >12 byte 0x02 \b, LSB first
  5741. >12 byte 0x0a \b, MSB first
  5742. 0 string D1.0\015 X11 Speedo font data
  5743.  
  5744. #------------------------------------------------------------------------------
  5745. # FIGlet fonts and controlfiles
  5746. # From figmagic supplied with Figlet version 2.2
  5747. # "David E. O'Brien" <[email protected]>
  5748. 0 string flf FIGlet font
  5749. >3 string >2a version %-2.2s
  5750. 0 string flc FIGlet controlfile
  5751. >3 string >2a version %-2.2s
  5752.  
  5753. # libGrx graphics lib fonts, from Albert Cahalan ([email protected])
  5754. # Used with djgpp (DOS Gnu C++), sometimes Linux or Turbo C++
  5755. 0 belong 0x14025919 libGrx font data,
  5756. >8 leshort x %dx
  5757. >10 leshort x \b%d
  5758. >40 string x %s
  5759. # Misc. DOS VGA fonts, from Albert Cahalan ([email protected])
  5760. 0 belong 0xff464f4e DOS code page font data collection
  5761. 7 belong 0x00454741 DOS code page font data
  5762. 7 belong 0x00564944 DOS code page font data (from Linux?)
  5763. 4098 string DOSFONT DOSFONT2 encrypted font data
  5764.  
  5765. # downloadable fonts for browser (prints type) [email protected]
  5766. 0 string PFR1 PFR1 font
  5767. >102 string >0 \b: %s
  5768.  
  5769. # True Type fonts
  5770. 0 string \000\001\000\000\000 TrueType font data
  5771.  
  5772. 0 string \007\001\001\000Copyright\ (c)\ 199 Adobe Multiple Master font
  5773. 0 string \012\001\001\000Copyright\ (c)\ 199 Adobe Multiple Master font
  5774.  
  5775. # Opentype font data from Avi Bercovich
  5776. 0 string OTTO OpenType font data
  5777.  
  5778. # Gürkan Sengün <[email protected]>, www.linuks.mine.nu
  5779. 0 string SplineFontDB: Spline Font Database
  5780. >14 string x version %s
  5781. # FORTRAN source
  5782. 0 string/c c\ FORTRAN program
  5783.  
  5784. #------------------------------------------------------------------------------
  5785. # frame: file(1) magic for FrameMaker files
  5786. #
  5787. # This stuff came on a FrameMaker demo tape, most of which is
  5788. # copyright, but this file is "published" as witness the following:
  5789. #
  5790. 0 string \<MakerFile FrameMaker document
  5791. >11 string 5.5 (5.5
  5792. >11 string 5.0 (5.0
  5793. >11 string 4.0 (4.0
  5794. >11 string 3.0 (3.0
  5795. >11 string 2.0 (2.0
  5796. >11 string 1.0 (1.0
  5797. >14 byte x %c)
  5798. 0 string \<MIFFile FrameMaker MIF (ASCII) file
  5799. >9 string 4.0 (4.0)
  5800. >9 string 3.0 (3.0)
  5801. >9 string 2.0 (2.0)
  5802. >9 string 1.0 (1.x)
  5803. 0 string \<MakerDictionary FrameMaker Dictionary text
  5804. >17 string 3.0 (3.0)
  5805. >17 string 2.0 (2.0)
  5806. >17 string 1.0 (1.x)
  5807. 0 string \<MakerScreenFont FrameMaker Font file
  5808. >17 string 1.01 (%s)
  5809. 0 string \<MML FrameMaker MML file
  5810. 0 string \<BookFile FrameMaker Book file
  5811. >10 string 3.0 (3.0
  5812. >10 string 2.0 (2.0
  5813. >10 string 1.0 (1.0
  5814. >13 byte x %c)
  5815. # XXX - this book entry should be verified, if you find one, uncomment this
  5816. #0 string \<Book\ FrameMaker Book (ASCII) file
  5817. #>6 string 3.0 (3.0)
  5818. #>6 string 2.0 (2.0)
  5819. #>6 string 1.0 (1.0)
  5820. 0 string \<Maker Intermediate Print File FrameMaker IPL file
  5821.  
  5822. #------------------------------------------------------------------------------
  5823. # freebsd: file(1) magic for FreeBSD objects
  5824. #
  5825. # All new-style FreeBSD magic numbers are in host byte order (i.e.,
  5826. # little-endian on x86).
  5827. #
  5828. # XXX - this comes from the file "freebsd" in a recent FreeBSD version of
  5829. # "file"; it, and the NetBSD stuff in "netbsd", appear to use different
  5830. # schemes for distinguishing between executable images, shared libraries,
  5831. # and object files.
  5832. #
  5833. # FreeBSD says:
  5834. #
  5835. # Regardless of whether it's pure, demand-paged, or none of the
  5836. # above:
  5837. #
  5838. # if the entry point is < 4096, then it's a shared library if
  5839. # the "has run-time loader information" bit is set, and is
  5840. # position-independent if the "is position-independent" bit
  5841. # is set;
  5842. #
  5843. # if the entry point is >= 4096 (or >4095, same thing), then it's
  5844. # an executable, and is dynamically-linked if the "has run-time
  5845. # loader information" bit is set.
  5846. #
  5847. # On x86, NetBSD says:
  5848. #
  5849. # If it's neither pure nor demand-paged:
  5850. #
  5851. # if it has the "has run-time loader information" bit set, it's
  5852. # a dynamically-linked executable;
  5853. #
  5854. # if it doesn't have that bit set, then:
  5855. #
  5856. # if it has the "is position-independent" bit set, it's
  5857. # position-independent;
  5858. #
  5859. # if the entry point is non-zero, it's an executable, otherwise
  5860. # it's an object file.
  5861. #
  5862. # If it's pure:
  5863. #
  5864. # if it has the "has run-time loader information" bit set, it's
  5865. # a dynamically-linked executable, otherwise it's just an
  5866. # executable.
  5867. #
  5868. # If it's demand-paged:
  5869. #
  5870. # if it has the "has run-time loader information" bit set,
  5871. # then:
  5872. #
  5873. # if the entry point is < 4096, it's a shared library;
  5874. #
  5875. # if the entry point is = 4096 or > 4096 (i.e., >= 4096),
  5876. # it's a dynamically-linked executable);
  5877. #
  5878. # if it doesn't have the "has run-time loader information" bit
  5879. # set, then it's just an executable.
  5880. #
  5881. # (On non-x86, NetBSD does much the same thing, except that it uses
  5882. # 8192 on 68K - except for "68k4k", which is presumably "68K with 4K
  5883. # pages - SPARC, and MIPS, presumably because Sun-3's and Sun-4's
  5884. # had 8K pages; dunno about MIPS.)
  5885. #
  5886. # I suspect the two will differ only in perverse and uninteresting cases
  5887. # ("shared" libraries that aren't demand-paged and whose pages probably
  5888. # won't actually be shared, executables with entry points <4096).
  5889. #
  5890. # I leave it to those more familiar with FreeBSD and NetBSD to figure out
  5891. # what the right answer is (although using ">4095", FreeBSD-style, is
  5892. # probably better than separately checking for "=4096" and ">4096",
  5893. # NetBSD-style). (The old "netbsd" file analyzed FreeBSD demand paged
  5894. # executables using the NetBSD technique.)
  5895. #
  5896. 0 lelong&0377777777 041400407 FreeBSD/i386
  5897. >20 lelong <4096
  5898. >>3 byte&0xC0 &0x80 shared library
  5899. >>3 byte&0xC0 0x40 PIC object
  5900. >>3 byte&0xC0 0x00 object
  5901. >20 lelong >4095
  5902. >>3 byte&0x80 0x80 dynamically linked executable
  5903. >>3 byte&0x80 0x00 executable
  5904. >16 lelong >0 not stripped
  5905.  
  5906. 0 lelong&0377777777 041400410 FreeBSD/i386 pure
  5907. >20 lelong <4096
  5908. >>3 byte&0xC0 &0x80 shared library
  5909. >>3 byte&0xC0 0x40 PIC object
  5910. >>3 byte&0xC0 0x00 object
  5911. >20 lelong >4095
  5912. >>3 byte&0x80 0x80 dynamically linked executable
  5913. >>3 byte&0x80 0x00 executable
  5914. >16 lelong >0 not stripped
  5915.  
  5916. 0 lelong&0377777777 041400413 FreeBSD/i386 demand paged
  5917. >20 lelong <4096
  5918. >>3 byte&0xC0 &0x80 shared library
  5919. >>3 byte&0xC0 0x40 PIC object
  5920. >>3 byte&0xC0 0x00 object
  5921. >20 lelong >4095
  5922. >>3 byte&0x80 0x80 dynamically linked executable
  5923. >>3 byte&0x80 0x00 executable
  5924. >16 lelong >0 not stripped
  5925.  
  5926. 0 lelong&0377777777 041400314 FreeBSD/i386 compact demand paged
  5927. >20 lelong <4096
  5928. >>3 byte&0xC0 &0x80 shared library
  5929. >>3 byte&0xC0 0x40 PIC object
  5930. >>3 byte&0xC0 0x00 object
  5931. >20 lelong >4095
  5932. >>3 byte&0x80 0x80 dynamically linked executable
  5933. >>3 byte&0x80 0x00 executable
  5934. >16 lelong >0 not stripped
  5935.  
  5936. # XXX gross hack to identify core files
  5937. # cores start with a struct tss; we take advantage of the following:
  5938. # byte 7: highest byte of the kernel stack pointer, always 0xfe
  5939. # 8/9: kernel (ring 0) ss value, always 0x0010
  5940. # 10 - 27: ring 1 and 2 ss/esp, unused, thus always 0
  5941. # 28: low order byte of the current PTD entry, always 0 since the
  5942. # PTD is page-aligned
  5943. #
  5944. 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
  5945. >1039 string >\0 from '%s'
  5946.  
  5947. # /var/run/ld.so.hints
  5948. # What are you laughing about?
  5949. 0 lelong 011421044151 ld.so hints file (Little Endian
  5950. >4 lelong >0 \b, version %d)
  5951. >4 belong <=0 \b)
  5952. 0 belong 011421044151 ld.so hints file (Big Endian
  5953. >4 belong >0 \b, version %d)
  5954. >4 belong <=0 \b)
  5955.  
  5956. #
  5957. # Files generated by FreeBSD scrshot(1)/vidcontrol(1) utilities
  5958. #
  5959. 0 string SCRSHOT_ scrshot(1) screenshot,
  5960. >8 byte x version %d,
  5961. >9 byte 2 %d bytes in header,
  5962. >>10 byte x %d chars wide by
  5963. >>11 byte x %d chars high
  5964.  
  5965. #------------------------------------------------------------------------------
  5966. # fsav: file(1) magic for datafellows fsav virus definition files
  5967. # Anthon van der Neut ([email protected])
  5968.  
  5969. # ftp://ftp.f-prot.com/pub/{macrdef2.zip,nomacro.def}
  5970. 0 beshort 0x1575 fsav macro virus signatures
  5971. >8 leshort >0 (%d-
  5972. >11 byte >0 \b%02d-
  5973. >10 byte >0 \b%02d)
  5974. # ftp://ftp.f-prot.com/pub/sign.zip
  5975. #10 ubyte <12
  5976. #>9 ubyte <32
  5977. #>>8 ubyte 0x0a
  5978. #>>>12 ubyte 0x07
  5979. #>>>>11 uleshort >0 fsav DOS/Windows virus signatures (%d-
  5980. #>>>>10 byte 0 \b01-
  5981. #>>>>10 byte 1 \b02-
  5982. #>>>>10 byte 2 \b03-
  5983. #>>>>10 byte 3 \b04-
  5984. #>>>>10 byte 4 \b05-
  5985. #>>>>10 byte 5 \b06-
  5986. #>>>>10 byte 6 \b07-
  5987. #>>>>10 byte 7 \b08-
  5988. #>>>>10 byte 8 \b09-
  5989. #>>>>10 byte 9 \b10-
  5990. #>>>>10 byte 10 \b11-
  5991. #>>>>10 byte 11 \b12-
  5992. #>>>>9 ubyte >0 \b%02d)
  5993. # ftp://ftp.f-prot.com/pub/sign2.zip
  5994. #0 ubyte 0x62
  5995. #>1 ubyte 0xF5
  5996. #>>2 ubyte 0x1
  5997. #>>>3 ubyte 0x1
  5998. #>>>>4 ubyte 0x0e
  5999. #>>>>>13 ubyte >0 fsav virus signatures
  6000. #>>>>>>11 ubyte x size 0x%02x
  6001. #>>>>>>12 ubyte x \b%02x
  6002. #>>>>>>13 ubyte x \b%02x bytes
  6003.  
  6004. # Joerg Jenderek: joerg dot jenderek at web dot de
  6005. # http://www.clamav.net/doc/latest/html/node45.html
  6006. # .cvd files start with a 512 bytes colon separated header
  6007. # ClamAV-VDB:buildDate:version:signaturesNumbers:functionalityLevelRequired:MD5:Signature:builder:buildTime
  6008. # + gzipped tarball files
  6009. 0 string ClamAV-VDB:
  6010. >11 string >\0 Clam AntiVirus database %-.23s
  6011. >>34 string :
  6012. >>>35 regex [^:]+ \b, version
  6013. >>>>35 string x \b%-.1s
  6014. >>>>>36 string !:
  6015. >>>>>>36 string x \b%-.1s
  6016. >>>>>>>37 string !:
  6017. >>>>>>>>37 string x \b%-.1s
  6018. >>>>>>>>>38 string !:
  6019. >>>>>>>>>>38 string x \b%-.1s
  6020. >>>>512 string \037\213 \b, gzipped
  6021. >>>>769 string ustar\0 \b, tared
  6022. >512 string \037\213 \b, gzipped
  6023. >769 string ustar\0 \b, tared
  6024. #------------------------------------------------------------------------------
  6025. # games: file(1) for games
  6026.  
  6027. # Thomas M. Ott (ThMO)
  6028. 1 string =WAD DOOM data,
  6029. >0 string =I main wad
  6030. >0 string =P patch wad
  6031. >0 byte x unknown junk
  6032.  
  6033. # Fabio Bonelli <[email protected]>
  6034. # Quake II - III data files
  6035. 0 string IDP2 Quake II 3D Model file,
  6036. >20 long x %lu skin(s),
  6037. >8 long x (%lu x
  6038. >12 long x %lu),
  6039. >40 long x %lu frame(s),
  6040. >16 long x Frame size %lu bytes,
  6041. >24 long x %lu vertices/frame,
  6042. >28 long x %lu texture coordinates,
  6043. >32 long x %lu triangles/frame
  6044.  
  6045. 0 string IBSP Quake
  6046. >4 long 0x26 II Map file (BSP)
  6047. >4 long 0x2E III Map file (BSP)
  6048.  
  6049. 0 string IDS2 Quake II SP2 sprite file
  6050.  
  6051. #---------------------------------------------------------------------------
  6052. # Doom and Quake
  6053. # submitted by Nicolas Patrois
  6054.  
  6055. # DOOM
  6056.  
  6057. 0 string IWAD DOOM or DOOM ][ world
  6058. 0 string PWAD DOOM or DOOM ][ extension world
  6059.  
  6060. 0 string \xcb\x1dBoom\xe6\xff\x03\x01 Boom or linuxdoom demo
  6061. # some doom lmp files don't match, I've got one beginning with \x6d\x02\x01\x01
  6062.  
  6063. 24 string LxD\ 203 Linuxdoom save
  6064. >0 string x , name=%s
  6065. >44 string x , world=%s
  6066.  
  6067. # Quake
  6068.  
  6069. 0 string PACK Quake I or II world or extension
  6070.  
  6071. #0 string -1\x0a Quake I demo
  6072. #>30 string x version %.4s
  6073. #>61 string x level %s
  6074.  
  6075. #0 string 5\x0a Quake I save
  6076.  
  6077. # The levels
  6078.  
  6079. # Quake 1
  6080.  
  6081. 0 string 5\x0aIntroduction Quake I save: start Introduction
  6082. 0 string 5\x0athe_Slipgate_Complex Quake I save: e1m1 The slipgate complex
  6083. 0 string 5\x0aCastle_of_the_Damned Quake I save: e1m2 Castle of the damned
  6084. 0 string 5\x0athe_Necropolis Quake I save: e1m3 The necropolis
  6085. 0 string 5\x0athe_Grisly_Grotto Quake I save: e1m4 The grisly grotto
  6086. 0 string 5\x0aZiggurat_Vertigo Quake I save: e1m8 Ziggurat vertigo (secret)
  6087. 0 string 5\x0aGloom_Keep Quake I save: e1m5 Gloom keep
  6088. 0 string 5\x0aThe_Door_To_Chthon Quake I save: e1m6 The door to Chthon
  6089. 0 string 5\x0aThe_House_of_Chthon Quake I save: e1m7 The house of Chthon
  6090. 0 string 5\x0athe_Installation Quake I save: e2m1 The installation
  6091. 0 string 5\x0athe_Ogre_Citadel Quake I save: e2m2 The ogre citadel
  6092. 0 string 5\x0athe_Crypt_of_Decay Quake I save: e2m3 The crypt of decay (dopefish lives!)
  6093. 0 string 5\x0aUnderearth Quake I save: e2m7 Underearth (secret)
  6094. 0 string 5\x0athe_Ebon_Fortress Quake I save: e2m4 The ebon fortress
  6095. 0 string 5\x0athe_Wizard's_Manse Quake I save: e2m5 The wizard's manse
  6096. 0 string 5\x0athe_Dismal_Oubliette Quake I save: e2m6 The dismal oubliette
  6097. 0 string 5\x0aTermination_Central Quake I save: e3m1 Termination central
  6098. 0 string 5\x0aVaults_of_Zin Quake I save: e3m2 Vaults of Zin
  6099. 0 string 5\x0athe_Tomb_of_Terror Quake I save: e3m3 The tomb of terror
  6100. 0 string 5\x0aSatan's_Dark_Delight Quake I save: e3m4 Satan's dark delight
  6101. 0 string 5\x0athe_Haunted_Halls Quake I save: e3m7 The haunted halls (secret)
  6102. 0 string 5\x0aWind_Tunnels Quake I save: e3m5 Wind tunnels
  6103. 0 string 5\x0aChambers_of_Torment Quake I save: e3m6 Chambers of torment
  6104. 0 string 5\x0athe_Sewage_System Quake I save: e4m1 The sewage system
  6105. 0 string 5\x0aThe_Tower_of_Despair Quake I save: e4m2 The tower of despair
  6106. 0 string 5\x0aThe_Elder_God_Shrine Quake I save: e4m3 The elder god shrine
  6107. 0 string 5\x0athe_Palace_of_Hate Quake I save: e4m4 The palace of hate
  6108. 0 string 5\x0aHell's_Atrium Quake I save: e4m5 Hell's atrium
  6109. 0 string 5\x0athe_Nameless_City Quake I save: e4m8 The nameless city (secret)
  6110. 0 string 5\x0aThe_Pain_Maze Quake I save: e4m6 The pain maze
  6111. 0 string 5\x0aAzure_Agony Quake I save: e4m7 Azure agony
  6112. 0 string 5\x0aShub-Niggurath's_Pit Quake I save: end Shub-Niggurath's pit
  6113.  
  6114. # Quake DeathMatch levels
  6115.  
  6116. 0 string 5\x0aPlace_of_Two_Deaths Quake I save: dm1 Place of two deaths
  6117. 0 string 5\x0aClaustrophobopolis Quake I save: dm2 Claustrophobopolis
  6118. 0 string 5\x0aThe_Abandoned_Base Quake I save: dm3 The abandoned base
  6119. 0 string 5\x0aThe_Bad_Place Quake I save: dm4 The bad place
  6120. 0 string 5\x0aThe_Cistern Quake I save: dm5 The cistern
  6121. 0 string 5\x0aThe_Dark_Zone Quake I save: dm6 The dark zone
  6122.  
  6123. # Scourge of Armagon
  6124.  
  6125. 0 string 5\x0aCommand_HQ Quake I save: start Command HQ
  6126. 0 string 5\x0aThe_Pumping_Station Quake I save: hip1m1 The pumping station
  6127. 0 string 5\x0aStorage_Facility Quake I save: hip1m2 Storage facility
  6128. 0 string 5\x0aMilitary_Complex Quake I save: hip1m5 Military complex (secret)
  6129. 0 string 5\x0athe_Lost_Mine Quake I save: hip1m3 The lost mine
  6130. 0 string 5\x0aResearch_Facility Quake I save: hip1m4 Research facility
  6131. 0 string 5\x0aAncient_Realms Quake I save: hip2m1 Ancient realms
  6132. 0 string 5\x0aThe_Gremlin's_Domain Quake I save: hip2m6 The gremlin's domain (secret)
  6133. 0 string 5\x0aThe_Black_Cathedral Quake I save: hip2m2 The black cathedral
  6134. 0 string 5\x0aThe_Catacombs Quake I save: hip2m3 The catacombs
  6135. 0 string 5\x0athe_Crypt__ Quake I save: hip2m4 The crypt
  6136. 0 string 5\x0aMortum's_Keep Quake I save: hip2m5 Mortum's keep
  6137. 0 string 5\x0aTur_Torment Quake I save: hip3m1 Tur torment
  6138. 0 string 5\x0aPandemonium Quake I save: hip3m2 Pandemonium
  6139. 0 string 5\x0aLimbo Quake I save: hip3m3 Limbo
  6140. 0 string 5\x0athe_Edge_of_Oblivion Quake I save: hipdm1 The edge of oblivion (secret)
  6141. 0 string 5\x0aThe_Gauntlet Quake I save: hip3m4 The gauntlet
  6142. 0 string 5\x0aArmagon's_Lair Quake I save: hipend Armagon's lair
  6143.  
  6144. # Malice
  6145.  
  6146. 0 string 5\x0aThe_Academy Quake I save: start The academy
  6147. 0 string 5\x0aThe_Lab Quake I save: d1 The lab
  6148. 0 string 5\x0aArea_33 Quake I save: d1b Area 33
  6149. 0 string 5\x0aSECRET_MISSIONS Quake I save: d3b Secret missions
  6150. 0 string 5\x0aThe_Hospital Quake I save: d10 The hospital (secret)
  6151. 0 string 5\x0aThe_Genetics_Lab Quake I save: d11 The genetics lab (secret)
  6152. 0 string 5\x0aBACK_2_MALICE Quake I save: d4b Back to Malice
  6153. 0 string 5\x0aArea44 Quake I save: d1c Area 44
  6154. 0 string 5\x0aTakahiro_Towers Quake I save: d2 Takahiro towers
  6155. 0 string 5\x0aA_Rat's_Life Quake I save: d3 A rat's life
  6156. 0 string 5\x0aInto_The_Flood Quake I save: d4 Into the flood
  6157. 0 string 5\x0aThe_Flood Quake I save: d5 The flood
  6158. 0 string 5\x0aNuclear_Plant Quake I save: d6 Nuclear plant
  6159. 0 string 5\x0aThe_Incinerator_Plant Quake I save: d7 The incinerator plant
  6160. 0 string 5\x0aThe_Foundry Quake I save: d7b The foundry
  6161. 0 string 5\x0aThe_Underwater_Base Quake I save: d8 The underwater base
  6162. 0 string 5\x0aTakahiro_Base Quake I save: d9 Takahiro base
  6163. 0 string 5\x0aTakahiro_Laboratories Quake I save: d12 Takahiro laboratories
  6164. 0 string 5\x0aStayin'_Alive Quake I save: d13 Stayin' alive
  6165. 0 string 5\x0aB.O.S.S._HQ Quake I save: d14 B.O.S.S. HQ
  6166. 0 string 5\x0aSHOWDOWN! Quake I save: d15 Showdown!
  6167.  
  6168. # Malice DeathMatch levels
  6169.  
  6170. 0 string 5\x0aThe_Seventh_Precinct Quake I save: ddm1 The seventh precinct
  6171. 0 string 5\x0aSub_Station Quake I save: ddm2 Sub station
  6172. 0 string 5\x0aCrazy_Eights! Quake I save: ddm3 Crazy eights!
  6173. 0 string 5\x0aEast_Side_Invertationa Quake I save: ddm4 East side invertationa
  6174. 0 string 5\x0aSlaughterhouse Quake I save: ddm5 Slaughterhouse
  6175. 0 string 5\x0aDOMINO Quake I save: ddm6 Domino
  6176. 0 string 5\x0aSANDRA'S_LADDER Quake I save: ddm7 Sandra's ladder
  6177.  
  6178.  
  6179. 0 string MComprHD MAME CHD compressed hard disk image,
  6180. >12 belong x version %lu
  6181.  
  6182. #------------------------------------------------------------------------------
  6183. # GEOS files (Vidar Madsen, [email protected])
  6184. # semi-commonly used in embedded and handheld systems.
  6185. 0 belong 0xc745c153 GEOS
  6186. >40 byte 1 executable
  6187. >40 byte 2 VMFile
  6188. >40 byte 3 binary
  6189. >40 byte 4 directory label
  6190. >40 byte <1 unknown
  6191. >40 byte >4 unknown
  6192. >4 string >\0 \b, name "%s"
  6193. #>44 short x \b, version %d
  6194. #>46 short x \b.%d
  6195. #>48 short x \b, rev %d
  6196. #>50 short x \b.%d
  6197. #>52 short x \b, proto %d
  6198. #>54 short x \br%d
  6199. #>168 string >\0 \b, copyright "%s"
  6200.  
  6201. #------------------------------------------------------------------------------
  6202. # gcc: file(1) magic for GCC special files
  6203. #
  6204. 0 string gpch GCC precompiled header
  6205.  
  6206. # The version field is annoying. It's 3 characters, not zero-terminated.
  6207. >5 byte x (version %c
  6208. >6 byte x \b%c
  6209. >7 byte x \b%c)
  6210.  
  6211. # 67 = 'C', 111 = 'o', 43 = '+', 79 = 'O'
  6212. >4 byte 67 for C
  6213. >4 byte 111 for Objective C
  6214. >4 byte 43 for C++
  6215. >4 byte 79 for Objective C++
  6216. #------------------------------------------------------------------------------
  6217. # GIMP Gradient: file(1) magic for the GIMP's gradient data files
  6218. # by Federico Mena <[email protected]>
  6219.  
  6220. 0 string GIMP\ Gradient GIMP gradient data
  6221.  
  6222. #------------------------------------------------------------------------------
  6223. # XCF: file(1) magic for the XCF image format used in the GIMP developed
  6224. # by Spencer Kimball and Peter Mattis
  6225. # ('Bucky' LaDieu, [email protected])
  6226.  
  6227. 0 string gimp\ xcf GIMP XCF image data,
  6228. >9 string file version 0,
  6229. >9 string v version
  6230. >>10 string >\0 %s,
  6231. >14 belong x %lu x
  6232. >18 belong x %lu,
  6233. >22 belong 0 RGB Color
  6234. >22 belong 1 Greyscale
  6235. >22 belong 2 Indexed Color
  6236. >22 belong >2 Unknown Image Type.
  6237.  
  6238. #------------------------------------------------------------------------------
  6239. # XCF: file(1) magic for the patterns used in the GIMP, developed
  6240. # by Spencer Kimball and Peter Mattis
  6241. # ('Bucky' LaDieu, [email protected])
  6242.  
  6243. 20 string GPAT GIMP pattern data,
  6244. >24 string x %s
  6245.  
  6246. #------------------------------------------------------------------------------
  6247. # XCF: file(1) magic for the brushes used in the GIMP, developed
  6248. # by Spencer Kimball and Peter Mattis
  6249. # ('Bucky' LaDieu, [email protected])
  6250.  
  6251. 20 string GIMP GIMP brush data
  6252. #------------------------------------------------------------------------------
  6253. # gnu: file(1) magic for various GNU tools
  6254. #
  6255. # GNU nlsutils message catalog file format
  6256. #
  6257. 0 string \336\22\4\225 GNU message catalog (little endian),
  6258. >4 lelong x revision %d,
  6259. >8 lelong x %d messages
  6260. 0 string \225\4\22\336 GNU message catalog (big endian),
  6261. >4 belong x revision %d,
  6262. >8 belong x %d messages
  6263. # message catalogs, from Mitchum DSouza <[email protected]>
  6264. 0 string *nazgul* Nazgul style compiled message catalog
  6265. >8 lelong >0 \b, version %ld
  6266.  
  6267. # GnuPG
  6268. # The format is very similar to pgp
  6269. 0 string \001gpg GPG key trust database
  6270. >4 byte x version %d
  6271. 0 beshort 0x8502 GPG encrypted data
  6272. # This magic is not particularly good, as the keyrings don't have true
  6273. # magic. Nevertheless, it covers many keyrings.
  6274. 0 beshort 0x9901 GPG key public ring
  6275.  
  6276. # Gnumeric spreadsheet
  6277. # This entry is only semi-helpful, as Gnumeric compresses its files, so
  6278. # they will ordinarily reported as "compressed", but at least -z helps
  6279. 39 string =<gmr:Workbook Gnumeric spreadsheet
  6280.  
  6281. # From: James Youngman <[email protected]>
  6282. # gnu find magic
  6283. 0 string \0LOCATE GNU findutils locate database data
  6284. >7 string >\0 \b, format %s
  6285. >7 string 02 \b (frcode)
  6286.  
  6287. #------------------------------------------------------------------------------
  6288. # ACE/gr and Grace type files - PLEASE DO NOT REMOVE THIS LINE
  6289. #
  6290. # ACE/gr binary
  6291. 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
  6292. >39 byte >0 - version %c
  6293. # ACE/gr ascii
  6294. 0 string #\ xvgr\ parameter\ file ACE/gr ascii file
  6295. 0 string #\ xmgr\ parameter\ file ACE/gr ascii file
  6296. 0 string #\ ACE/gr\ parameter\ file ACE/gr ascii file
  6297. # Grace projects
  6298. 0 string #\ Grace\ project\ file Grace project file
  6299. >23 string @version\ (version
  6300. >>32 byte >0 %c
  6301. >>33 string >\0 \b.%.2s
  6302. >>35 string >\0 \b.%.2s)
  6303. # ACE/gr fit description files
  6304. 0 string #\ ACE/gr\ fit\ description\ ACE/gr fit description file
  6305. # end of ACE/gr and Grace type files - PLEASE DO NOT REMOVE THIS LINE
  6306.  
  6307. #------------------------------------------------------------------------------
  6308. # gringotts: file(1) magic for Gringotts
  6309. # http://devel.pluto.linux.it/projects/Gringotts/
  6310. # author: Germano Rizzo <[email protected]>
  6311. #GRG3????Y
  6312. 0 string GRG Gringotts data file
  6313. #file format 1
  6314. >3 string 1 v.1, MCRYPT S2K, SERPENT crypt, SHA-256 hash, ZLib lvl.9
  6315. #file format 2
  6316. >3 string 2 v.2, MCRYPT S2K,
  6317. >>8 byte&0x70 0x00 RIJNDAEL-128 crypt,
  6318. >>8 byte&0x70 0x10 SERPENT crypt,
  6319. >>8 byte&0x70 0x20 TWOFISH crypt,
  6320. >>8 byte&0x70 0x30 CAST-256 crypt,
  6321. >>8 byte&0x70 0x40 SAFER+ crypt,
  6322. >>8 byte&0x70 0x50 LOKI97 crypt,
  6323. >>8 byte&0x70 0x60 3DES crypt,
  6324. >>8 byte&0x70 0x70 RIJNDAEL-256 crypt,
  6325. >>8 byte&0x08 0x00 SHA1 hash,
  6326. >>8 byte&0x08 0x08 RIPEMD-160 hash,
  6327. >>8 byte&0x04 0x00 ZLib
  6328. >>8 byte&0x04 0x04 BZip2
  6329. >>8 byte&0x03 0x00 lvl.0
  6330. >>8 byte&0x03 0x01 lvl.3
  6331. >>8 byte&0x03 0x02 lvl.6
  6332. >>8 byte&0x03 0x03 lvl.9
  6333. #file format 3
  6334. >3 string 3 v.3, OpenPGP S2K,
  6335. >>8 byte&0x70 0x00 RIJNDAEL-128 crypt,
  6336. >>8 byte&0x70 0x10 SERPENT crypt,
  6337. >>8 byte&0x70 0x20 TWOFISH crypt,
  6338. >>8 byte&0x70 0x30 CAST-256 crypt,
  6339. >>8 byte&0x70 0x40 SAFER+ crypt,
  6340. >>8 byte&0x70 0x50 LOKI97 crypt,
  6341. >>8 byte&0x70 0x60 3DES crypt,
  6342. >>8 byte&0x70 0x70 RIJNDAEL-256 crypt,
  6343. >>8 byte&0x08 0x00 SHA1 hash,
  6344. >>8 byte&0x08 0x08 RIPEMD-160 hash,
  6345. >>8 byte&0x04 0x00 ZLib
  6346. >>8 byte&0x04 0x04 BZip2
  6347. >>8 byte&0x03 0x00 lvl.0
  6348. >>8 byte&0x03 0x01 lvl.3
  6349. >>8 byte&0x03 0x02 lvl.6
  6350. >>8 byte&0x03 0x03 lvl.9
  6351. #file format >3
  6352. >3 string >3 v.%.1s (unknown details)
  6353.  
  6354. #------------------------------------------------------------------------------
  6355. # hitach-sh: file(1) magic for Hitachi Super-H
  6356. #
  6357. # Super-H COFF
  6358. #
  6359. 0 beshort 0x0500 Hitachi SH big-endian COFF
  6360. >18 beshort&0x0002 =0x0000 object
  6361. >18 beshort&0x0002 =0x0002 executable
  6362. >18 beshort&0x0008 =0x0008 \b, stripped
  6363. >18 beshort&0x0008 =0x0000 \b, not stripped
  6364. #
  6365. 0 leshort 0x0550 Hitachi SH little-endian COFF
  6366. >18 leshort&0x0002 =0x0000 object
  6367. >18 leshort&0x0002 =0x0002 executable
  6368. >18 leshort&0x0008 =0x0008 \b, stripped
  6369. >18 leshort&0x0008 =0x0000 \b, not stripped
  6370.  
  6371.  
  6372. #------------------------------------------------------------------------------
  6373. # hp: file(1) magic for Hewlett Packard machines (see also "printer")
  6374. #
  6375. # XXX - somebody should figure out whether any byte order needs to be
  6376. # applied to the "TML" stuff; I'm assuming the Apollo stuff is
  6377. # big-endian as it was mostly 68K-based.
  6378. #
  6379. # I think the 500 series was the old stack-based machines, running a
  6380. # UNIX environment atop the "SUN kernel"; dunno whether it was
  6381. # big-endian or little-endian.
  6382. #
  6383. # Daniel Quinlan ([email protected]): hp200 machines are 68010 based;
  6384. # hp300 are 68020+68881 based; hp400 are also 68k. The following basic
  6385. # HP magic is useful for reference, but using "long" magic is a better
  6386. # practice in order to avoid collisions.
  6387. #
  6388. # Guy Harris ([email protected]): some additions to this list came from
  6389. # HP-UX 10.0's "/usr/include/sys/unistd.h" (68030, 68040, PA-RISC 1.1,
  6390. # 1.2, and 2.0). The 1.2 and 2.0 stuff isn't in the HP-UX 10.0
  6391. # "/etc/magic", though, except for the "archive file relocatable library"
  6392. # stuff, and the 68030 and 68040 stuff isn't there at all - are they not
  6393. # used in executables, or have they just not yet updated "/etc/magic"
  6394. # completely?
  6395. #
  6396. # 0 beshort 200 hp200 (68010) BSD binary
  6397. # 0 beshort 300 hp300 (68020+68881) BSD binary
  6398. # 0 beshort 0x20c hp200/300 HP-UX binary
  6399. # 0 beshort 0x20d hp400 (68030) HP-UX binary
  6400. # 0 beshort 0x20e hp400 (68040?) HP-UX binary
  6401. # 0 beshort 0x20b PA-RISC1.0 HP-UX binary
  6402. # 0 beshort 0x210 PA-RISC1.1 HP-UX binary
  6403. # 0 beshort 0x211 PA-RISC1.2 HP-UX binary
  6404. # 0 beshort 0x214 PA-RISC2.0 HP-UX binary
  6405.  
  6406. #
  6407. # The "misc" stuff needs a byte order; the archives look suspiciously
  6408. # like the old 177545 archives (0xff65 = 0177545).
  6409. #
  6410. #### Old Apollo stuff
  6411. 0 beshort 0627 Apollo m68k COFF executable
  6412. >18 beshort ^040000 not stripped
  6413. >22 beshort >0 - version %ld
  6414. 0 beshort 0624 apollo a88k COFF executable
  6415. >18 beshort ^040000 not stripped
  6416. >22 beshort >0 - version %ld
  6417. 0 long 01203604016 TML 0123 byte-order format
  6418. 0 long 01702407010 TML 1032 byte-order format
  6419. 0 long 01003405017 TML 2301 byte-order format
  6420. 0 long 01602007412 TML 3210 byte-order format
  6421. #### PA-RISC 1.1
  6422. 0 belong 0x02100106 PA-RISC1.1 relocatable object
  6423. 0 belong 0x02100107 PA-RISC1.1 executable
  6424. >168 belong &0x00000004 dynamically linked
  6425. >(144) belong 0x054ef630 dynamically linked
  6426. >96 belong >0 - not stripped
  6427.  
  6428. 0 belong 0x02100108 PA-RISC1.1 shared executable
  6429. >168 belong&0x4 0x4 dynamically linked
  6430. >(144) belong 0x054ef630 dynamically linked
  6431. >96 belong >0 - not stripped
  6432.  
  6433. 0 belong 0x0210010b PA-RISC1.1 demand-load executable
  6434. >168 belong&0x4 0x4 dynamically linked
  6435. >(144) belong 0x054ef630 dynamically linked
  6436. >96 belong >0 - not stripped
  6437.  
  6438. 0 belong 0x0210010e PA-RISC1.1 shared library
  6439. >96 belong >0 - not stripped
  6440.  
  6441. 0 belong 0x0210010d PA-RISC1.1 dynamic load library
  6442. >96 belong >0 - not stripped
  6443.  
  6444. #### PA-RISC 2.0
  6445. 0 belong 0x02140106 PA-RISC2.0 relocatable object
  6446.  
  6447. 0 belong 0x02140107 PA-RISC2.0 executable
  6448. >168 belong &0x00000004 dynamically linked
  6449. >(144) belong 0x054ef630 dynamically linked
  6450. >96 belong >0 - not stripped
  6451.  
  6452. 0 belong 0x02140108 PA-RISC2.0 shared executable
  6453. >168 belong &0x00000004 dynamically linked
  6454. >(144) belong 0x054ef630 dynamically linked
  6455. >96 belong >0 - not stripped
  6456.  
  6457. 0 belong 0x0214010b PA-RISC2.0 demand-load executable
  6458. >168 belong &0x00000004 dynamically linked
  6459. >(144) belong 0x054ef630 dynamically linked
  6460. >96 belong >0 - not stripped
  6461.  
  6462. 0 belong 0x0214010e PA-RISC2.0 shared library
  6463. >96 belong >0 - not stripped
  6464.  
  6465. 0 belong 0x0214010d PA-RISC2.0 dynamic load library
  6466. >96 belong >0 - not stripped
  6467.  
  6468. #### 800
  6469. 0 belong 0x020b0106 PA-RISC1.0 relocatable object
  6470.  
  6471. 0 belong 0x020b0107 PA-RISC1.0 executable
  6472. >168 belong&0x4 0x4 dynamically linked
  6473. >(144) belong 0x054ef630 dynamically linked
  6474. >96 belong >0 - not stripped
  6475.  
  6476. 0 belong 0x020b0108 PA-RISC1.0 shared executable
  6477. >168 belong&0x4 0x4 dynamically linked
  6478. >(144) belong 0x054ef630 dynamically linked
  6479. >96 belong >0 - not stripped
  6480.  
  6481. 0 belong 0x020b010b PA-RISC1.0 demand-load executable
  6482. >168 belong&0x4 0x4 dynamically linked
  6483. >(144) belong 0x054ef630 dynamically linked
  6484. >96 belong >0 - not stripped
  6485.  
  6486. 0 belong 0x020b010e PA-RISC1.0 shared library
  6487. >96 belong >0 - not stripped
  6488.  
  6489. 0 belong 0x020b010d PA-RISC1.0 dynamic load library
  6490. >96 belong >0 - not stripped
  6491.  
  6492. 0 belong 0x213c6172 archive file
  6493. >68 belong 0x020b0619 - PA-RISC1.0 relocatable library
  6494. >68 belong 0x02100619 - PA-RISC1.1 relocatable library
  6495. >68 belong 0x02110619 - PA-RISC1.2 relocatable library
  6496. >68 belong 0x02140619 - PA-RISC2.0 relocatable library
  6497.  
  6498. #### 500
  6499. 0 long 0x02080106 HP s500 relocatable executable
  6500. >16 long >0 - version %ld
  6501.  
  6502. 0 long 0x02080107 HP s500 executable
  6503. >16 long >0 - version %ld
  6504.  
  6505. 0 long 0x02080108 HP s500 pure executable
  6506. >16 long >0 - version %ld
  6507.  
  6508. #### 200
  6509. 0 belong 0x020c0108 HP s200 pure executable
  6510. >4 beshort >0 - version %ld
  6511. >8 belong &0x80000000 save fp regs
  6512. >8 belong &0x40000000 dynamically linked
  6513. >8 belong &0x20000000 debuggable
  6514. >36 belong >0 not stripped
  6515.  
  6516. 0 belong 0x020c0107 HP s200 executable
  6517. >4 beshort >0 - version %ld
  6518. >8 belong &0x80000000 save fp regs
  6519. >8 belong &0x40000000 dynamically linked
  6520. >8 belong &0x20000000 debuggable
  6521. >36 belong >0 not stripped
  6522.  
  6523. 0 belong 0x020c010b HP s200 demand-load executable
  6524. >4 beshort >0 - version %ld
  6525. >8 belong &0x80000000 save fp regs
  6526. >8 belong &0x40000000 dynamically linked
  6527. >8 belong &0x20000000 debuggable
  6528. >36 belong >0 not stripped
  6529.  
  6530. 0 belong 0x020c0106 HP s200 relocatable executable
  6531. >4 beshort >0 - version %ld
  6532. >6 beshort >0 - highwater %d
  6533. >8 belong &0x80000000 save fp regs
  6534. >8 belong &0x20000000 debuggable
  6535. >8 belong &0x10000000 PIC
  6536.  
  6537. 0 belong 0x020a0108 HP s200 (2.x release) pure executable
  6538. >4 beshort >0 - version %ld
  6539. >36 belong >0 not stripped
  6540.  
  6541. 0 belong 0x020a0107 HP s200 (2.x release) executable
  6542. >4 beshort >0 - version %ld
  6543. >36 belong >0 not stripped
  6544.  
  6545. 0 belong 0x020c010e HP s200 shared library
  6546. >4 beshort >0 - version %ld
  6547. >6 beshort >0 - highwater %d
  6548. >36 belong >0 not stripped
  6549.  
  6550. 0 belong 0x020c010d HP s200 dynamic load library
  6551. >4 beshort >0 - version %ld
  6552. >6 beshort >0 - highwater %d
  6553. >36 belong >0 not stripped
  6554.  
  6555. #### MISC
  6556. 0 long 0x0000ff65 HP old archive
  6557. 0 long 0x020aff65 HP s200 old archive
  6558. 0 long 0x020cff65 HP s200 old archive
  6559. 0 long 0x0208ff65 HP s500 old archive
  6560.  
  6561. 0 long 0x015821a6 HP core file
  6562.  
  6563. 0 long 0x4da7eee8 HP-WINDOWS font
  6564. >8 byte >0 - version %ld
  6565. 0 string Bitmapfile HP Bitmapfile
  6566.  
  6567. 0 string IMGfile CIS compimg HP Bitmapfile
  6568. # XXX - see "lif"
  6569. #0 short 0x8000 lif file
  6570. 0 long 0x020c010c compiled Lisp
  6571.  
  6572. 0 string msgcat01 HP NLS message catalog,
  6573. >8 long >0 %d messages
  6574.  
  6575. # addendum to /etc/magic with HP-48sx file-types by [email protected] 1jan92
  6576. 0 string HPHP48- HP48 binary
  6577. >7 byte >0 - Rev %c
  6578. >8 beshort 0x1129 (ADR)
  6579. >8 beshort 0x3329 (REAL)
  6580. >8 beshort 0x5529 (LREAL)
  6581. >8 beshort 0x7729 (COMPLX)
  6582. >8 beshort 0x9d29 (LCOMPLX)
  6583. >8 beshort 0xbf29 (CHAR)
  6584. >8 beshort 0xe829 (ARRAY)
  6585. >8 beshort 0x0a2a (LNKARRAY)
  6586. >8 beshort 0x2c2a (STRING)
  6587. >8 beshort 0x4e2a (HXS)
  6588. >8 beshort 0x742a (LIST)
  6589. >8 beshort 0x962a (DIR)
  6590. >8 beshort 0xb82a (ALG)
  6591. >8 beshort 0xda2a (UNIT)
  6592. >8 beshort 0xfc2a (TAGGED)
  6593. >8 beshort 0x1e2b (GROB)
  6594. >8 beshort 0x402b (LIB)
  6595. >8 beshort 0x622b (BACKUP)
  6596. >8 beshort 0x882b (LIBDATA)
  6597. >8 beshort 0x9d2d (PROG)
  6598. >8 beshort 0xcc2d (CODE)
  6599. >8 beshort 0x482e (GNAME)
  6600. >8 beshort 0x6d2e (LNAME)
  6601. >8 beshort 0x922e (XLIB)
  6602. 0 string %%HP: HP48 text
  6603. >6 string T(0) - T(0)
  6604. >6 string T(1) - T(1)
  6605. >6 string T(2) - T(2)
  6606. >6 string T(3) - T(3)
  6607. >10 string A(D) A(D)
  6608. >10 string A(R) A(R)
  6609. >10 string A(G) A(G)
  6610. >14 string F(.) F(.);
  6611. >14 string F(,) F(,);
  6612.  
  6613. # hpBSD magic numbers
  6614. 0 beshort 200 hp200 (68010) BSD
  6615. >2 beshort 0407 impure binary
  6616. >2 beshort 0410 read-only binary
  6617. >2 beshort 0413 demand paged binary
  6618. 0 beshort 300 hp300 (68020+68881) BSD
  6619. >2 beshort 0407 impure binary
  6620. >2 beshort 0410 read-only binary
  6621. >2 beshort 0413 demand paged binary
  6622. #
  6623. # From David Gero <[email protected]>
  6624. # HP-UX 10.20 core file format from /usr/include/sys/core.h
  6625. # Unfortunately, HP-UX uses corehead blocks without specifying the order
  6626. # There are four we care about:
  6627. # CORE_KERNEL, which starts with the string "HP-UX"
  6628. # CORE_EXEC, which contains the name of the command
  6629. # CORE_PROC, which contains the signal number that caused the core dump
  6630. # CORE_FORMAT, which contains the version of the core file format (== 1)
  6631. # The only observed order in real core files is KERNEL, EXEC, FORMAT, PROC
  6632. # but we include all 6 variations of the order of the first 3, and
  6633. # assume that PROC will always be last
  6634. # Order 1: KERNEL, EXEC, FORMAT, PROC
  6635. 0x10 string HP-UX
  6636. >0 belong 2
  6637. >>0xC belong 0x3C
  6638. >>>0x4C belong 0x100
  6639. >>>>0x58 belong 0x44
  6640. >>>>>0xA0 belong 1
  6641. >>>>>>0xAC belong 4
  6642. >>>>>>>0xB0 belong 1
  6643. >>>>>>>>0xB4 belong 4 core file
  6644. >>>>>>>>>0x90 string >\0 from '%s'
  6645. >>>>>>>>>0xC4 belong 3 - received SIGQUIT
  6646. >>>>>>>>>0xC4 belong 4 - received SIGILL
  6647. >>>>>>>>>0xC4 belong 5 - received SIGTRAP
  6648. >>>>>>>>>0xC4 belong 6 - received SIGABRT
  6649. >>>>>>>>>0xC4 belong 7 - received SIGEMT
  6650. >>>>>>>>>0xC4 belong 8 - received SIGFPE
  6651. >>>>>>>>>0xC4 belong 10 - received SIGBUS
  6652. >>>>>>>>>0xC4 belong 11 - received SIGSEGV
  6653. >>>>>>>>>0xC4 belong 12 - received SIGSYS
  6654. >>>>>>>>>0xC4 belong 33 - received SIGXCPU
  6655. >>>>>>>>>0xC4 belong 34 - received SIGXFSZ
  6656. # Order 2: KERNEL, FORMAT, EXEC, PROC
  6657. >>>0x4C belong 1
  6658. >>>>0x58 belong 4
  6659. >>>>>0x5C belong 1
  6660. >>>>>>0x60 belong 0x100
  6661. >>>>>>>0x6C belong 0x44
  6662. >>>>>>>>0xB4 belong 4 core file
  6663. >>>>>>>>>0xA4 string >\0 from '%s'
  6664. >>>>>>>>>0xC4 belong 3 - received SIGQUIT
  6665. >>>>>>>>>0xC4 belong 4 - received SIGILL
  6666. >>>>>>>>>0xC4 belong 5 - received SIGTRAP
  6667. >>>>>>>>>0xC4 belong 6 - received SIGABRT
  6668. >>>>>>>>>0xC4 belong 7 - received SIGEMT
  6669. >>>>>>>>>0xC4 belong 8 - received SIGFPE
  6670. >>>>>>>>>0xC4 belong 10 - received SIGBUS
  6671. >>>>>>>>>0xC4 belong 11 - received SIGSEGV
  6672. >>>>>>>>>0xC4 belong 12 - received SIGSYS
  6673. >>>>>>>>>0xC4 belong 33 - received SIGXCPU
  6674. >>>>>>>>>0xC4 belong 34 - received SIGXFSZ
  6675. # Order 3: FORMAT, KERNEL, EXEC, PROC
  6676. 0x24 string HP-UX
  6677. >0 belong 1
  6678. >>0xC belong 4
  6679. >>>0x10 belong 1
  6680. >>>>0x14 belong 2
  6681. >>>>>0x20 belong 0x3C
  6682. >>>>>>0x60 belong 0x100
  6683. >>>>>>>0x6C belong 0x44
  6684. >>>>>>>>0xB4 belong 4 core file
  6685. >>>>>>>>>0xA4 string >\0 from '%s'
  6686. >>>>>>>>>0xC4 belong 3 - received SIGQUIT
  6687. >>>>>>>>>0xC4 belong 4 - received SIGILL
  6688. >>>>>>>>>0xC4 belong 5 - received SIGTRAP
  6689. >>>>>>>>>0xC4 belong 6 - received SIGABRT
  6690. >>>>>>>>>0xC4 belong 7 - received SIGEMT
  6691. >>>>>>>>>0xC4 belong 8 - received SIGFPE
  6692. >>>>>>>>>0xC4 belong 10 - received SIGBUS
  6693. >>>>>>>>>0xC4 belong 11 - received SIGSEGV
  6694. >>>>>>>>>0xC4 belong 12 - received SIGSYS
  6695. >>>>>>>>>0xC4 belong 33 - received SIGXCPU
  6696. >>>>>>>>>0xC4 belong 34 - received SIGXFSZ
  6697. # Order 4: EXEC, KERNEL, FORMAT, PROC
  6698. 0x64 string HP-UX
  6699. >0 belong 0x100
  6700. >>0xC belong 0x44
  6701. >>>0x54 belong 2
  6702. >>>>0x60 belong 0x3C
  6703. >>>>>0xA0 belong 1
  6704. >>>>>>0xAC belong 4
  6705. >>>>>>>0xB0 belong 1
  6706. >>>>>>>>0xB4 belong 4 core file
  6707. >>>>>>>>>0x44 string >\0 from '%s'
  6708. >>>>>>>>>0xC4 belong 3 - received SIGQUIT
  6709. >>>>>>>>>0xC4 belong 4 - received SIGILL
  6710. >>>>>>>>>0xC4 belong 5 - received SIGTRAP
  6711. >>>>>>>>>0xC4 belong 6 - received SIGABRT
  6712. >>>>>>>>>0xC4 belong 7 - received SIGEMT
  6713. >>>>>>>>>0xC4 belong 8 - received SIGFPE
  6714. >>>>>>>>>0xC4 belong 10 - received SIGBUS
  6715. >>>>>>>>>0xC4 belong 11 - received SIGSEGV
  6716. >>>>>>>>>0xC4 belong 12 - received SIGSYS
  6717. >>>>>>>>>0xC4 belong 33 - received SIGXCPU
  6718. >>>>>>>>>0xC4 belong 34 - received SIGXFSZ
  6719. # Order 5: FORMAT, EXEC, KERNEL, PROC
  6720. 0x78 string HP-UX
  6721. >0 belong 1
  6722. >>0xC belong 4
  6723. >>>0x10 belong 1
  6724. >>>>0x14 belong 0x100
  6725. >>>>>0x20 belong 0x44
  6726. >>>>>>0x68 belong 2
  6727. >>>>>>>0x74 belong 0x3C
  6728. >>>>>>>>0xB4 belong 4 core file
  6729. >>>>>>>>>0x58 string >\0 from '%s'
  6730. >>>>>>>>>0xC4 belong 3 - received SIGQUIT
  6731. >>>>>>>>>0xC4 belong 4 - received SIGILL
  6732. >>>>>>>>>0xC4 belong 5 - received SIGTRAP
  6733. >>>>>>>>>0xC4 belong 6 - received SIGABRT
  6734. >>>>>>>>>0xC4 belong 7 - received SIGEMT
  6735. >>>>>>>>>0xC4 belong 8 - received SIGFPE
  6736. >>>>>>>>>0xC4 belong 10 - received SIGBUS
  6737. >>>>>>>>>0xC4 belong 11 - received SIGSEGV
  6738. >>>>>>>>>0xC4 belong 12 - received SIGSYS
  6739. >>>>>>>>>0xC4 belong 33 - received SIGXCPU
  6740. >>>>>>>>>0xC4 belong 34 - received SIGXFSZ
  6741. # Order 6: EXEC, FORMAT, KERNEL, PROC
  6742. >0 belong 0x100
  6743. >>0xC belong 0x44
  6744. >>>0x54 belong 1
  6745. >>>>0x60 belong 4
  6746. >>>>>0x64 belong 1
  6747. >>>>>>0x68 belong 2
  6748. >>>>>>>0x74 belong 0x2C
  6749. >>>>>>>>0xB4 belong 4 core file
  6750. >>>>>>>>>0x44 string >\0 from '%s'
  6751. >>>>>>>>>0xC4 belong 3 - received SIGQUIT
  6752. >>>>>>>>>0xC4 belong 4 - received SIGILL
  6753. >>>>>>>>>0xC4 belong 5 - received SIGTRAP
  6754. >>>>>>>>>0xC4 belong 6 - received SIGABRT
  6755. >>>>>>>>>0xC4 belong 7 - received SIGEMT
  6756. >>>>>>>>>0xC4 belong 8 - received SIGFPE
  6757. >>>>>>>>>0xC4 belong 10 - received SIGBUS
  6758. >>>>>>>>>0xC4 belong 11 - received SIGSEGV
  6759. >>>>>>>>>0xC4 belong 12 - received SIGSYS
  6760. >>>>>>>>>0xC4 belong 33 - received SIGXCPU
  6761. >>>>>>>>>0xC4 belong 34 - received SIGXFSZ
  6762.  
  6763. # From: AMAKAWA Shuhei <[email protected]>
  6764. 0 string HPHP49- HP49 binary
  6765.  
  6766.  
  6767. #------------------------------------------------------------------------------
  6768. # human68k: file(1) magic for Human68k (X680x0 DOS) binary formats
  6769. # Magic too short!
  6770. #0 string HU Human68k
  6771. #>68 string LZX LZX compressed
  6772. #>>72 string >\0 (version %s)
  6773. #>(8.L+74) string LZX LZX compressed
  6774. #>>(8.L+78) string >\0 (version %s)
  6775. #>60 belong >0 binded
  6776. #>(8.L+66) string #HUPAIR hupair
  6777. #>0 string HU X executable
  6778. #>(8.L+74) string #LIBCV1 - linked PD LIBC ver 1
  6779. #>4 belong >0 - base address 0x%x
  6780. #>28 belong >0 not stripped
  6781. #>32 belong >0 with debug information
  6782. #0 beshort 0x601a Human68k Z executable
  6783. #0 beshort 0x6000 Human68k object file
  6784. #0 belong 0xd1000000 Human68k ar binary archive
  6785. #0 belong 0xd1010000 Human68k ar ascii archive
  6786. #0 beshort 0x0068 Human68k lib archive
  6787. #4 string LZX Human68k LZX compressed
  6788. #>8 string >\0 (version %s)
  6789. #>4 string LZX R executable
  6790. #2 string #HUPAIR Human68k hupair R executable
  6791.  
  6792. #------------------------------------------------------------------------------
  6793. # ibm370: file(1) magic for IBM 370 and compatibles.
  6794. #
  6795. # "ibm370" said that 0x15d == 0535 was "ibm 370 pure executable".
  6796. # What the heck *is* "USS/370"?
  6797. # AIX 4.1's "/etc/magic" has
  6798. #
  6799. # 0 short 0535 370 sysV executable
  6800. # >12 long >0 not stripped
  6801. # >22 short >0 - version %d
  6802. # >30 long >0 - 5.2 format
  6803. # 0 short 0530 370 sysV pure executable
  6804. # >12 long >0 not stripped
  6805. # >22 short >0 - version %d
  6806. # >30 long >0 - 5.2 format
  6807. #
  6808. # instead of the "USS/370" versions of the same magic numbers.
  6809. #
  6810. 0 beshort 0537 370 XA sysV executable
  6811. >12 belong >0 not stripped
  6812. >22 beshort >0 - version %d
  6813. >30 belong >0 - 5.2 format
  6814. 0 beshort 0532 370 XA sysV pure executable
  6815. >12 belong >0 not stripped
  6816. >22 beshort >0 - version %d
  6817. >30 belong >0 - 5.2 format
  6818. 0 beshort 054001 370 sysV pure executable
  6819. >12 belong >0 not stripped
  6820. 0 beshort 055001 370 XA sysV pure executable
  6821. >12 belong >0 not stripped
  6822. 0 beshort 056401 370 sysV executable
  6823. >12 belong >0 not stripped
  6824. 0 beshort 057401 370 XA sysV executable
  6825. >12 belong >0 not stripped
  6826. 0 beshort 0531 SVR2 executable (Amdahl-UTS)
  6827. >12 belong >0 not stripped
  6828. >24 belong >0 - version %ld
  6829. 0 beshort 0534 SVR2 pure executable (Amdahl-UTS)
  6830. >12 belong >0 not stripped
  6831. >24 belong >0 - version %ld
  6832. 0 beshort 0530 SVR2 pure executable (USS/370)
  6833. >12 belong >0 not stripped
  6834. >24 belong >0 - version %ld
  6835. 0 beshort 0535 SVR2 executable (USS/370)
  6836. >12 belong >0 not stripped
  6837. >24 belong >0 - version %ld
  6838.  
  6839. #------------------------------------------------------------------------------
  6840. # ibm6000: file(1) magic for RS/6000 and the RT PC.
  6841. #
  6842. 0 beshort 0x01df executable (RISC System/6000 V3.1) or obj module
  6843. >12 belong >0 not stripped
  6844. # Breaks sun4 statically linked execs.
  6845. #0 beshort 0x0103 executable (RT Version 2) or obj module
  6846. #>2 byte 0x50 pure
  6847. #>28 belong >0 not stripped
  6848. #>6 beshort >0 - version %ld
  6849. 0 beshort 0x0104 shared library
  6850. 0 beshort 0x0105 ctab data
  6851. 0 beshort 0xfe04 structured file
  6852. 0 string 0xabcdef AIX message catalog
  6853. 0 belong 0x000001f9 AIX compiled message catalog
  6854. 0 string \<aiaff> archive
  6855. 0 string \<bigaf> archive (big format)
  6856.  
  6857.  
  6858. #------------------------------------------------------------------------------
  6859. # iff: file(1) magic for Interchange File Format (see also "audio" & "images")
  6860. #
  6861. # Daniel Quinlan ([email protected]) -- IFF was designed by Electronic
  6862. # Arts for file interchange. It has also been used by Apple, SGI, and
  6863. # especially Commodore-Amiga.
  6864. #
  6865. # IFF files begin with an 8 byte FORM header, followed by a 4 character
  6866. # FORM type, which is followed by the first chunk in the FORM.
  6867.  
  6868. 0 string FORM IFF data
  6869. #>4 belong x \b, FORM is %d bytes long
  6870. # audio formats
  6871. >8 string AIFF \b, AIFF audio
  6872. >8 string AIFC \b, AIFF-C compressed audio
  6873. >8 string 8SVX \b, 8SVX 8-bit sampled sound voice
  6874. >8 string 16SV \b, 16SV 16-bit sampled sound voice
  6875. >8 string SAMP \b, SAMP sampled audio
  6876. >8 string MAUD \b, MAUD MacroSystem audio
  6877. >8 string SMUS \b, SMUS simple music
  6878. >8 string CMUS \b, CMUS complex music
  6879. # image formats
  6880. >8 string ILBMBMHD \b, ILBM interleaved image
  6881. >>20 beshort x \b, %d x
  6882. >>22 beshort x %d
  6883. >8 string RGBN \b, RGBN 12-bit RGB image
  6884. >8 string RGB8 \b, RGB8 24-bit RGB image
  6885. >8 string DEEP \b, DEEP TVPaint/XiPaint image
  6886. >8 string DR2D \b, DR2D 2-D object
  6887. >8 string TDDD \b, TDDD 3-D rendering
  6888. >8 string LWOB \b, LWOB 3-D object
  6889. >8 string LWO2 \b, LWO2 3-D object, v2
  6890. >8 string LWLO \b, LWLO 3-D layered object
  6891. >8 string REAL \b, REAL Real3D rendering
  6892. >8 string MC4D \b, MC4D MaxonCinema4D rendering
  6893. >8 string ANIM \b, ANIM animation
  6894. >8 string YAFA \b, YAFA animation
  6895. >8 string SSA\ \b, SSA super smooth animation
  6896. >8 string ACBM \b, ACBM continuous image
  6897. >8 string FAXX \b, FAXX fax image
  6898. # other formats
  6899. >8 string FTXT \b, FTXT formatted text
  6900. >8 string CTLG \b, CTLG message catalog
  6901. >8 string PREF \b, PREF preferences
  6902. >8 string DTYP \b, DTYP datatype description
  6903. >8 string PTCH \b, PTCH binary patch
  6904. >8 string AMFF \b, AMFF AmigaMetaFile format
  6905. >8 string WZRD \b, WZRD StormWIZARD resource
  6906. >8 string DOC\ \b, DOC desktop publishing document
  6907.  
  6908. # These go at the end of the iff rules
  6909. #
  6910. # I don't see why these might collide with anything else.
  6911. #
  6912. # Interactive Fiction related formats
  6913. #
  6914. >8 string IFRS \b, Blorb Interactive Fiction
  6915. >>24 string Exec with executable chunk
  6916. >8 string IFZS \b, Z-machine or Glulx saved game file (Quetzal)
  6917.  
  6918. #------------------------------------------------------------------------------
  6919. # images: file(1) magic for image formats (see also "iff")
  6920. #
  6921. # originally from [email protected] (Jef Poskanzer),
  6922. # additions by [email protected] as well as others. Jan also suggested
  6923. # merging several one- and two-line files into here.
  6924. #
  6925. # little magic: PCX (first byte is 0x0a)
  6926.  
  6927. # Targa - matches `povray', `ppmtotga' and `xv' outputs
  6928. # by Philippe De Muyter <[email protected]>
  6929. # at 2, byte ImgType must be 1, 2, 3, 9, 10 or 11
  6930. # at 1, byte CoMapType must be 1 if ImgType is 1 or 9, 0 otherwise
  6931. # at 3, leshort Index is 0 for povray, ppmtotga and xv outputs
  6932. # `xv' recognizes only a subset of the following (RGB with pixelsize = 24)
  6933. # `tgatoppm' recognizes a superset (Index may be anything)
  6934. 1 belong&0xfff7ffff 0x01010000 Targa image data - Map
  6935. >2 byte&8 8 - RLE
  6936. >12 leshort >0 %hd x
  6937. >14 leshort >0 %hd
  6938. 1 belong&0xfff7ffff 0x00020000 Targa image data - RGB
  6939. >2 byte&8 8 - RLE
  6940. >12 leshort >0 %hd x
  6941. >14 leshort >0 %hd
  6942. 1 belong&0xfff7ffff 0x00030000 Targa image data - Mono
  6943. >2 byte&8 8 - RLE
  6944. >12 leshort >0 %hd x
  6945. >14 leshort >0 %hd
  6946.  
  6947. # PBMPLUS images
  6948. # The next byte following the magic is always whitespace.
  6949. 0 string P1 Netpbm PBM image text
  6950. 0 string P2 Netpbm PGM image text
  6951. 0 string P3 Netpbm PPM image text
  6952. 0 string P4 Netpbm PBM "rawbits" image data
  6953. 0 string P5 Netpbm PGM "rawbits" image data
  6954. 0 string P6 Netpbm PPM "rawbits" image data
  6955. 0 string P7 Netpbm PAM image file
  6956.  
  6957. # From: [email protected] (Bryan Henderson)
  6958. 0 string \117\072 Solitaire Image Recorder format
  6959. >4 string \013 MGI Type 11
  6960. >4 string \021 MGI Type 17
  6961. 0 string .MDA MicroDesign data
  6962. >21 byte 48 version 2
  6963. >21 byte 51 version 3
  6964. 0 string .MDP MicroDesign page data
  6965. >21 byte 48 version 2
  6966. >21 byte 51 version 3
  6967.  
  6968. # NIFF (Navy Interchange File Format, a modification of TIFF) images
  6969. 0 string IIN1 NIFF image data
  6970.  
  6971. # Tag Image File Format, from Daniel Quinlan ([email protected])
  6972. # The second word of TIFF files is the TIFF version number, 42, which has
  6973. # never changed. The TIFF specification recommends testing for it.
  6974. 0 string MM\x00\x2a TIFF image data, big-endian
  6975. 0 string II\x2a\x00 TIFF image data, little-endian
  6976.  
  6977. # PNG [Portable Network Graphics, or "PNG's Not GIF"] images
  6978. # (Greg Roelofs, [email protected])
  6979. # (Albert Cahalan, [email protected])
  6980. #
  6981. # 137 P N G \r \n ^Z \n [4-byte length] H E A D [HEAD data] [HEAD crc] ...
  6982. #
  6983. 0 string \x89PNG PNG image data,
  6984. >4 belong !0x0d0a1a0a CORRUPTED,
  6985. >4 belong 0x0d0a1a0a
  6986. >>16 belong x %ld x
  6987. >>20 belong x %ld,
  6988. >>24 byte x %d-bit
  6989. >>25 byte 0 grayscale,
  6990. >>25 byte 2 \b/color RGB,
  6991. >>25 byte 3 colormap,
  6992. >>25 byte 4 gray+alpha,
  6993. >>25 byte 6 \b/color RGBA,
  6994. #>>26 byte 0 deflate/32K,
  6995. >>28 byte 0 non-interlaced
  6996. >>28 byte 1 interlaced
  6997. 1 string PNG PNG image data, CORRUPTED
  6998.  
  6999. # GIF
  7000. 0 string GIF8 GIF image data
  7001. >4 string 7a \b, version 8%s,
  7002. >4 string 9a \b, version 8%s,
  7003. >6 leshort >0 %hd x
  7004. >8 leshort >0 %hd
  7005. #>10 byte &0x80 color mapped,
  7006. #>10 byte&0x07 =0x00 2 colors
  7007. #>10 byte&0x07 =0x01 4 colors
  7008. #>10 byte&0x07 =0x02 8 colors
  7009. #>10 byte&0x07 =0x03 16 colors
  7010. #>10 byte&0x07 =0x04 32 colors
  7011. #>10 byte&0x07 =0x05 64 colors
  7012. #>10 byte&0x07 =0x06 128 colors
  7013. #>10 byte&0x07 =0x07 256 colors
  7014.  
  7015. # ITC (CMU WM) raster files. It is essentially a byte-reversed Sun raster,
  7016. # 1 plane, no encoding.
  7017. 0 string \361\0\100\273 CMU window manager raster image data
  7018. >4 lelong >0 %d x
  7019. >8 lelong >0 %d,
  7020. >12 lelong >0 %d-bit
  7021.  
  7022. # Magick Image File Format
  7023. 0 string id=ImageMagick MIFF image data
  7024.  
  7025. # Artisan
  7026. 0 long 1123028772 Artisan image data
  7027. >4 long 1 \b, rectangular 24-bit
  7028. >4 long 2 \b, rectangular 8-bit with colormap
  7029. >4 long 3 \b, rectangular 32-bit (24-bit with matte)
  7030.  
  7031. # FIG (Facility for Interactive Generation of figures), an object-based format
  7032. 0 string #FIG FIG image text
  7033. >5 string x \b, version %.3s
  7034.  
  7035. # PHIGS
  7036. 0 string ARF_BEGARF PHIGS clear text archive
  7037. 0 string @(#)SunPHIGS SunPHIGS
  7038. # version number follows, in the form m.n
  7039. >40 string SunBin binary
  7040. >32 string archive archive
  7041.  
  7042. # GKS (Graphics Kernel System)
  7043. 0 string GKSM GKS Metafile
  7044. >24 string SunGKS \b, SunGKS
  7045.  
  7046. # CGM image files
  7047. 0 string BEGMF clear text Computer Graphics Metafile
  7048. # XXX - questionable magic
  7049. 0 beshort&0xffe0 0x0020 binary Computer Graphics Metafile
  7050. 0 beshort 0x3020 character Computer Graphics Metafile
  7051.  
  7052. # MGR bitmaps (Michael Haardt, [email protected])
  7053. 0 string yz MGR bitmap, modern format, 8-bit aligned
  7054. 0 string zz MGR bitmap, old format, 1-bit deep, 16-bit aligned
  7055. 0 string xz MGR bitmap, old format, 1-bit deep, 32-bit aligned
  7056. 0 string yx MGR bitmap, modern format, squeezed
  7057.  
  7058. # Fuzzy Bitmap (FBM) images
  7059. 0 string %bitmap\0 FBM image data
  7060. >30 long 0x31 \b, mono
  7061. >30 long 0x33 \b, color
  7062.  
  7063. # facsimile data
  7064. 1 string PC\ Research,\ Inc group 3 fax data
  7065. >29 byte 0 \b, normal resolution (204x98 DPI)
  7066. >29 byte 1 \b, fine resolution (204x196 DPI)
  7067. # From: Herbert Rosmanith <[email protected]>
  7068. 0 string Sfff structured fax file
  7069.  
  7070.  
  7071. # PC bitmaps (OS/2, Windoze BMP files) (Greg Roelofs, [email protected])
  7072. 0 string BM PC bitmap data
  7073. >14 leshort 12 \b, OS/2 1.x format
  7074. >>18 leshort x \b, %d x
  7075. >>20 leshort x %d
  7076. >14 leshort 64 \b, OS/2 2.x format
  7077. >>18 leshort x \b, %d x
  7078. >>20 leshort x %d
  7079. >14 leshort 40 \b, Windows 3.x format
  7080. >>18 lelong x \b, %d x
  7081. >>22 lelong x %d x
  7082. >>28 leshort x %d
  7083. # Too simple - MPi
  7084. #0 string IC PC icon data
  7085. #0 string PI PC pointer image data
  7086. #0 string CI PC color icon data
  7087. #0 string CP PC color pointer image data
  7088. # Conflicts with other entries [BABYL]
  7089. #0 string BA PC bitmap array data
  7090.  
  7091. # XPM icons (Greg Roelofs, [email protected])
  7092. # note possible collision with C/REXX entry in c-lang; currently commented out
  7093. 0 string /*\ XPM\ */ X pixmap image text
  7094.  
  7095. # Utah Raster Toolkit RLE images ([email protected])
  7096. 0 leshort 0xcc52 RLE image data,
  7097. >6 leshort x %d x
  7098. >8 leshort x %d
  7099. >2 leshort >0 \b, lower left corner: %d
  7100. >4 leshort >0 \b, lower right corner: %d
  7101. >10 byte&0x1 =0x1 \b, clear first
  7102. >10 byte&0x2 =0x2 \b, no background
  7103. >10 byte&0x4 =0x4 \b, alpha channel
  7104. >10 byte&0x8 =0x8 \b, comment
  7105. >11 byte >0 \b, %d color channels
  7106. >12 byte >0 \b, %d bits per pixel
  7107. >13 byte >0 \b, %d color map channels
  7108.  
  7109. # image file format (Robert Potter, [email protected])
  7110. 0 string Imagefile\ version- iff image data
  7111. # this adds the whole header (inc. version number), informative but longish
  7112. >10 string >\0 %s
  7113.  
  7114. # Sun raster images, from Daniel Quinlan ([email protected])
  7115. 0 belong 0x59a66a95 Sun raster image data
  7116. >4 belong >0 \b, %d x
  7117. >8 belong >0 %d,
  7118. >12 belong >0 %d-bit,
  7119. #>16 belong >0 %d bytes long,
  7120. >20 belong 0 old format,
  7121. #>20 belong 1 standard,
  7122. >20 belong 2 compressed,
  7123. >20 belong 3 RGB,
  7124. >20 belong 4 TIFF,
  7125. >20 belong 5 IFF,
  7126. >20 belong 0xffff reserved for testing,
  7127. >24 belong 0 no colormap
  7128. >24 belong 1 RGB colormap
  7129. >24 belong 2 raw colormap
  7130. #>28 belong >0 colormap is %d bytes long
  7131.  
  7132. # SGI image file format, from Daniel Quinlan ([email protected])
  7133. #
  7134. # See
  7135. # http://reality.sgi.com/grafica/sgiimage.html
  7136. #
  7137. 0 beshort 474 SGI image data
  7138. #>2 byte 0 \b, verbatim
  7139. >2 byte 1 \b, RLE
  7140. #>3 byte 1 \b, normal precision
  7141. >3 byte 2 \b, high precision
  7142. >4 beshort x \b, %d-D
  7143. >6 beshort x \b, %d x
  7144. >8 beshort x %d
  7145. >10 beshort x \b, %d channel
  7146. >10 beshort !1 \bs
  7147. >80 string >0 \b, "%s"
  7148.  
  7149. 0 string IT01 FIT image data
  7150. >4 belong x \b, %d x
  7151. >8 belong x %d x
  7152. >12 belong x %d
  7153. #
  7154. 0 string IT02 FIT image data
  7155. >4 belong x \b, %d x
  7156. >8 belong x %d x
  7157. >12 belong x %d
  7158. #
  7159. 2048 string PCD_IPI Kodak Photo CD image pack file
  7160. >0xe02 byte&0x03 0x00 , landscape mode
  7161. >0xe02 byte&0x03 0x01 , portrait mode
  7162. >0xe02 byte&0x03 0x02 , landscape mode
  7163. >0xe02 byte&0x03 0x03 , portrait mode
  7164. 0 string PCD_OPA Kodak Photo CD overview pack file
  7165.  
  7166. # FITS format. Jeff Uphoff <[email protected]>
  7167. # FITS is the Flexible Image Transport System, the de facto standard for
  7168. # data and image transfer, storage, etc., for the astronomical community.
  7169. # (FITS floating point formats are big-endian.)
  7170. 0 string SIMPLE\ \ = FITS image data
  7171. >109 string 8 \b, 8-bit, character or unsigned binary integer
  7172. >108 string 16 \b, 16-bit, two's complement binary integer
  7173. >107 string \ 32 \b, 32-bit, two's complement binary integer
  7174. >107 string -32 \b, 32-bit, floating point, single precision
  7175. >107 string -64 \b, 64-bit, floating point, double precision
  7176.  
  7177. # other images
  7178. 0 string This\ is\ a\ BitMap\ file Lisp Machine bit-array-file
  7179. 0 string =!! Bennet Yee's "face" format
  7180.  
  7181. # From SunOS 5.5.1 "/etc/magic" - appeared right before Sun raster image
  7182. # stuff.
  7183. #
  7184. 0 beshort 0x1010 PEX Binary Archive
  7185.  
  7186. # DICOM medical imaging data
  7187. 128 string DICM DICOM medical imaging data
  7188.  
  7189. # XWD - X Window Dump file.
  7190. # As described in /usr/X11R6/include/X11/XWDFile.h
  7191. # used by the xwd program.
  7192. # Bradford Castalia, idaeim, 1/01
  7193. 4 belong 7 XWD X Window Dump image data
  7194. >100 string >\0 \b, "%s"
  7195. >16 belong x \b, %dx
  7196. >20 belong x \b%dx
  7197. >12 belong x \b%d
  7198.  
  7199. # PDS - Planetary Data System
  7200. # These files use Parameter Value Language in the header section.
  7201. # Unfortunately, there is no certain magic, but the following
  7202. # strings have been found to be most likely.
  7203. 0 string NJPL1I00 PDS (JPL) image data
  7204. 2 string NJPL1I PDS (JPL) image data
  7205. 0 string CCSD3ZF PDS (CCSD) image data
  7206. 2 string CCSD3Z PDS (CCSD) image data
  7207. 0 string PDS_ PDS image data
  7208. 0 string LBLSIZE= PDS (VICAR) image data
  7209.  
  7210. # pM8x: ATARI STAD compressed bitmap format
  7211. #
  7212. # from Oskar Schirmer <[email protected]> Feb 2, 2001
  7213. # p M 8 5/6 xx yy zz data...
  7214. # Atari ST STAD bitmap is always 640x400, bytewise runlength compressed.
  7215. # bytes either run horizontally (pM85) or vertically (pM86). yy is the
  7216. # most frequent byte, xx and zz are runlength escape codes, where xx is
  7217. # used for runs of yy.
  7218. #
  7219. 0 string pM85 Atari ST STAD bitmap image data (hor)
  7220. >5 byte 0x00 (white background)
  7221. >5 byte 0xFF (black background)
  7222. 0 string pM86 Atari ST STAD bitmap image data (vert)
  7223. >5 byte 0x00 (white background)
  7224. >5 byte 0xFF (black background)
  7225.  
  7226. # Gürkan Sengün <[email protected]>, www.linuks.mine.nu
  7227. # http://www.atarimax.com/jindroush.atari.org/afmtatr.html
  7228. 0 leshort 0x0296 Atari ATR image
  7229.  
  7230. # XXX:
  7231. # This is bad magic 0x5249 == 'RI' conflicts with RIFF and other
  7232. # magic.
  7233. # SGI RICE image file <[email protected]>
  7234. #0 beshort 0x5249 RICE image
  7235. #>2 beshort x v%d
  7236. #>4 beshort x (%d x
  7237. #>6 beshort x %d)
  7238. #>8 beshort 0 8 bit
  7239. #>8 beshort 1 10 bit
  7240. #>8 beshort 2 12 bit
  7241. #>8 beshort 3 13 bit
  7242. #>10 beshort 0 4:2:2
  7243. #>10 beshort 1 4:2:2:4
  7244. #>10 beshort 2 4:4:4
  7245. #>10 beshort 3 4:4:4:4
  7246. #>12 beshort 1 RGB
  7247. #>12 beshort 2 CCIR601
  7248. #>12 beshort 3 RP175
  7249. #>12 beshort 4 YUV
  7250.  
  7251. #------------------------------------------------------------------------------
  7252. #
  7253. # Marco Schmidt ([email protected]) -- an image file format
  7254. # for the EPOC operating system, which is used with PDAs like those from Psion
  7255. #
  7256. # see http://huizen.dds.nl/~frodol/psiconv/html/Index.html for a description
  7257. # of various EPOC file formats
  7258.  
  7259. 0 string \x37\x00\x00\x10\x42\x00\x00\x10\x00\x00\x00\x00\x39\x64\x39\x47 EPOC MBM image file
  7260.  
  7261. # PCX image files
  7262. # From: Dan Fandrich <[email protected]>
  7263. 0 beshort 0x0a00 PCX ver. 2.5 image data
  7264. 0 beshort 0x0a02 PCX ver. 2.8 image data, with palette
  7265. 0 beshort 0x0a03 PCX ver. 2.8 image data, without palette
  7266. 0 beshort 0x0a04 PCX for Windows image data
  7267. 0 beshort 0x0a05 PCX ver. 3.0 image data
  7268. >4 leshort x bounding box [%hd,
  7269. >6 leshort x %hd] -
  7270. >8 leshort x [%hd,
  7271. >10 leshort x %hd],
  7272. >65 byte >1 %d planes each of
  7273. >3 byte x %hhd-bit
  7274. >68 byte 0 image,
  7275. >68 byte 1 colour,
  7276. >68 byte 2 grayscale,
  7277. >68 byte >2 image,
  7278. >68 byte <0 image,
  7279. >12 leshort >0 %hd x
  7280. >>14 leshort x %hd dpi,
  7281. >2 byte 0 uncompressed
  7282. >2 byte 1 RLE compressed
  7283.  
  7284. # Adobe Photoshop
  7285. 0 string 8BPS Adobe Photoshop Image
  7286.  
  7287. # XV thumbnail indicator (ThMO)
  7288. 0 string P7\ 332 XV thumbnail image data
  7289.  
  7290. # NITF is defined by United States MIL-STD-2500A
  7291. 0 string NITF National Imagery Transmission Format
  7292. >25 string >\0 dated %.14s
  7293.  
  7294. # GEM Image: Version 1, Headerlen 8 (Wolfram Kleff)
  7295. 0 belong 0x00010008 GEM Image data
  7296. >12 beshort x %d x
  7297. >14 beshort x %d,
  7298. >4 beshort x %d planes,
  7299. >8 beshort x %d x
  7300. >10 beshort x %d pixelsize
  7301.  
  7302. # GEM Metafile (Wolfram Kleff)
  7303. 0 lelong 0x0018FFFF GEM Metafile data
  7304. >4 leshort x version %d
  7305.  
  7306. #
  7307. # SMJPEG. A custom Motion JPEG format used by Loki Entertainment
  7308. # Software Torbjorn Andersson <[email protected]>.
  7309. #
  7310. 0 string \0\nSMJPEG SMJPEG
  7311. >8 belong x %d.x data
  7312. # According to the specification you could find any number of _TXT
  7313. # headers here, but I can't think of any way of handling that. None of
  7314. # the SMJPEG files I tried it on used this feature. Even if such a
  7315. # file is encountered the output should still be reasonable.
  7316. >16 string _SND \b,
  7317. >>24 beshort >0 %d Hz
  7318. >>26 byte 8 8-bit
  7319. >>26 byte 16 16-bit
  7320. >>28 string NONE uncompressed
  7321. # >>28 string APCM ADPCM compressed
  7322. >>27 byte 1 mono
  7323. >>28 byte 2 stereo
  7324. # Help! Isn't there any way to avoid writing this part twice?
  7325. >>32 string _VID \b,
  7326. # >>>48 string JFIF JPEG
  7327. >>>40 belong >0 %d frames
  7328. >>>44 beshort >0 (%d x
  7329. >>>46 beshort >0 %d)
  7330. >16 string _VID \b,
  7331. # >>32 string JFIF JPEG
  7332. >>24 belong >0 %d frames
  7333. >>28 beshort >0 (%d x
  7334. >>30 beshort >0 %d)
  7335.  
  7336. 0 string Paint\ Shop\ Pro\ Image\ File Paint Shop Pro Image File
  7337.  
  7338. # "thumbnail file" (icon)
  7339. # descended from "xv", but in use by other applications as well (Wolfram Kleff)
  7340. 0 string P7\ 332 XV "thumbnail file" (icon) data
  7341.  
  7342. # taken from fkiss: (<[email protected]> ?)
  7343. 0 string KiSS KISS/GS
  7344. >4 byte 16 color
  7345. >>5 byte x %d bit
  7346. >>8 leshort x %d colors
  7347. >>10 leshort x %d groups
  7348. >4 byte 32 cell
  7349. >>5 byte x %d bit
  7350. >>8 leshort x %d x
  7351. >>10 leshort x %d
  7352. >>12 leshort x +%d
  7353. >>14 leshort x +%d
  7354.  
  7355. # Webshots (www.webshots.com), by John Harrison
  7356. 0 string C\253\221g\230\0\0\0 Webshots Desktop .wbz file
  7357.  
  7358. # Hercules DASD image files
  7359. # From Jan Jaeger <[email protected]>
  7360. 0 string CKD_P370 Hercules CKD DASD image file
  7361. >8 long x \b, %d heads per cylinder
  7362. >12 long x \b, track size %d bytes
  7363. >16 byte x \b, device type 33%2.2X
  7364.  
  7365. 0 string CKD_C370 Hercules compressed CKD DASD image file
  7366. >8 long x \b, %d heads per cylinder
  7367. >12 long x \b, track size %d bytes
  7368. >16 byte x \b, device type 33%2.2X
  7369.  
  7370. 0 string CKD_S370 Hercules CKD DASD shadow file
  7371. >8 long x \b, %d heads per cylinder
  7372. >12 long x \b, track size %d bytes
  7373. >16 byte x \b, device type 33%2.2X
  7374.  
  7375. # Squeak images and - [email protected]
  7376. 0 string \146\031\0\0 Squeak image data
  7377. 0 string 'From\040Squeak Squeak program text
  7378.  
  7379. # partimage: file(1) magic for PartImage files (experimental, incomplete)
  7380. # Author: Hans-Joachim Baader <[email protected]>
  7381. 0 string PaRtImAgE-VoLuMe PartImage
  7382. >0x0020 string 0.6.1 file version %s
  7383. >>0x0060 lelong >-1 volume %ld
  7384. #>>0x0064 8 byte identifier
  7385. #>>0x007c reserved
  7386. >>0x0200 string >\0 type %s
  7387. >>0x1400 string >\0 device %s,
  7388. >>0x1600 string >\0 original filename %s,
  7389. # Some fields omitted
  7390. >>0x2744 lelong 0 not compressed
  7391. >>0x2744 lelong 1 gzip compressed
  7392. >>0x2744 lelong 2 bzip2 compressed
  7393. >>0x2744 lelong >2 compressed with unknown algorithm
  7394. >0x0020 string >0.6.1 file version %s
  7395. >0x0020 string <0.6.1 file version %s
  7396.  
  7397. # DCX is multi-page PCX, using a simple header of up to 1024
  7398. # offsets for the respective PCX components.
  7399. # From: Joerg Wunsch <[email protected]>
  7400. 0 lelong 987654321 DCX multi-page PCX image data
  7401.  
  7402. # Simon Walton <[email protected]>
  7403. # Kodak Cineon format for scanned negatives
  7404. # http://www.kodak.com/US/en/motion/support/dlad/
  7405. 0 lelong 0xd75f2a80 Cineon image data
  7406. >200 belong >0 \b, %ld x
  7407. >204 belong >0 %ld
  7408.  
  7409.  
  7410. # Bio-Rad .PIC is an image format used by microscope control systems
  7411. # and related image processing software used by biologists.
  7412. # From: Vebjorn Ljosa <[email protected]>
  7413. 54 leshort 12345 Bio-Rad .PIC Image File
  7414. >0 leshort >0 %hd x
  7415. >2 leshort >0 %hd,
  7416. >4 leshort =1 1 image in file
  7417. >4 leshort >1 %hd images in file
  7418.  
  7419. # From Jan "Yenya" Kasprzak <[email protected]>
  7420. # The description of *.mrw format can be found at
  7421. # http://www.dalibor.cz/minolta/raw_file_format.htm
  7422. 0 string \000MRM Minolta Dimage camera raw image data
  7423.  
  7424. # http://www.djvuzone.org/
  7425. 0 string AT&TFORM DjVu Image file
  7426.  
  7427. # From: Jason Bacon <[email protected]>
  7428. 0 beshort 0x3020 character Computer Graphics Metafile
  7429.  
  7430. # From Marc Espie
  7431. 0 lelong 20000630 OpenEXR image data
  7432.  
  7433. # From: Tom Hilinski <[email protected]>
  7434. # http://www.unidata.ucar.edu/packages/netcdf/
  7435. 0 string CDF\001 NetCDF Data Format data
  7436.  
  7437. #-----------------------------------------------------------------------
  7438. # Hierarchical Data Format, used to facilitate scientific data exchange
  7439. # specifications at http://hdf.ncsa.uiuc.edu/
  7440. 0 belong 0x0e031301 Hierarchical Data Format (version 4) data
  7441. 0 string \211HDF\r\n\032 Hierarchical Data Format (version 5) data
  7442.  
  7443. # From: Tobias Burnus <[email protected]>
  7444. # Xara (for a while: Corel Xara) is a graphic package, see
  7445. # http://www.xara.com/ for Windows and as GPL application for
  7446. 0 string XARA\243\243 Xara graphics file
  7447.  
  7448. #------------------------------------------------------------------------------
  7449. # intel: file(1) magic for x86 Unix
  7450. #
  7451. # Various flavors of x86 UNIX executable/object (other than Xenix, which
  7452. # is in "microsoft"). DOS is in "msdos"; the ambitious soul can do
  7453. # Windows as well.
  7454. #
  7455. # Windows NT belongs elsewhere, as you need x86 and MIPS and Alpha and
  7456. # whatever comes next (HP-PA Hummingbird?). OS/2 may also go elsewhere
  7457. # as well, if, as, and when IBM makes it portable.
  7458. #
  7459. # The `versions' should be un-commented if they work for you.
  7460. # (Was the problem just one of endianness?)
  7461. #
  7462. 0 leshort 0502 basic-16 executable
  7463. >12 lelong >0 not stripped
  7464. #>22 leshort >0 - version %ld
  7465. 0 leshort 0503 basic-16 executable (TV)
  7466. >12 lelong >0 not stripped
  7467. #>22 leshort >0 - version %ld
  7468. 0 leshort 0510 x86 executable
  7469. >12 lelong >0 not stripped
  7470. 0 leshort 0511 x86 executable (TV)
  7471. >12 lelong >0 not stripped
  7472. 0 leshort =0512 iAPX 286 executable small model (COFF)
  7473. >12 lelong >0 not stripped
  7474. #>22 leshort >0 - version %ld
  7475. 0 leshort =0522 iAPX 286 executable large model (COFF)
  7476. >12 lelong >0 not stripped
  7477. #>22 leshort >0 - version %ld
  7478. # SGI labeled the next entry as "iAPX 386 executable" --Dan Quinlan
  7479. 0 leshort =0514 80386 COFF executable
  7480. >12 lelong >0 not stripped
  7481. >22 leshort >0 - version %ld
  7482.  
  7483. # rom: file(1) magic for BIOS ROM Extensions found in intel machines
  7484. # mapped into memory between 0xC0000 and 0xFFFFF
  7485. # From Gürkan Sengün <[email protected]>, www.linuks.mine.nu
  7486. 0 beshort 0x55AA BIOS (ia32) ROM Ext.
  7487. >5 string USB USB
  7488. >7 string LDR UNDI image
  7489. >30 string IBM IBM comp. Video
  7490. >26 string Adaptec Adaptec
  7491. >28 string Adaptec Adaptec
  7492. >42 string PROMISE Promise
  7493. >2 byte x (%d*512)
  7494.  
  7495. #------------------------------------------------------------------------------
  7496. # interleaf: file(1) magic for InterLeaf TPS:
  7497. #
  7498. 0 string =\210OPS Interleaf saved data
  7499. 0 string =<!OPS Interleaf document text
  7500. >5 string ,\ Version\ = \b, version
  7501. >>17 string >\0 %.3s
  7502.  
  7503. #------------------------------------------------------------------------------
  7504. # island: file(1) magic for IslandWite/IslandDraw, from SunOS 5.5.1
  7505. # "/etc/magic":
  7506. # From: [email protected] (Guy Harris)
  7507. #
  7508. 4 string pgscriptver IslandWrite document
  7509. 13 string DrawFile IslandDraw document
  7510.  
  7511.  
  7512. #------------------------------------------------------------------------------
  7513. # ispell: file(1) magic for ispell
  7514. #
  7515. # Ispell 3.0 has a magic of 0x9601 and ispell 3.1 has 0x9602. This magic
  7516. # will match 0x9600 through 0x9603 in *both* little endian and big endian.
  7517. # (No other current magic entries collide.)
  7518. #
  7519. # Updated by Daniel Quinlan ([email protected])
  7520. #
  7521. 0 leshort&0xFFFC 0x9600 little endian ispell
  7522. >0 byte 0 hash file (?),
  7523. >0 byte 1 3.0 hash file,
  7524. >0 byte 2 3.1 hash file,
  7525. >0 byte 3 hash file (?),
  7526. >2 leshort 0x00 8-bit, no capitalization, 26 flags
  7527. >2 leshort 0x01 7-bit, no capitalization, 26 flags
  7528. >2 leshort 0x02 8-bit, capitalization, 26 flags
  7529. >2 leshort 0x03 7-bit, capitalization, 26 flags
  7530. >2 leshort 0x04 8-bit, no capitalization, 52 flags
  7531. >2 leshort 0x05 7-bit, no capitalization, 52 flags
  7532. >2 leshort 0x06 8-bit, capitalization, 52 flags
  7533. >2 leshort 0x07 7-bit, capitalization, 52 flags
  7534. >2 leshort 0x08 8-bit, no capitalization, 128 flags
  7535. >2 leshort 0x09 7-bit, no capitalization, 128 flags
  7536. >2 leshort 0x0A 8-bit, capitalization, 128 flags
  7537. >2 leshort 0x0B 7-bit, capitalization, 128 flags
  7538. >2 leshort 0x0C 8-bit, no capitalization, 256 flags
  7539. >2 leshort 0x0D 7-bit, no capitalization, 256 flags
  7540. >2 leshort 0x0E 8-bit, capitalization, 256 flags
  7541. >2 leshort 0x0F 7-bit, capitalization, 256 flags
  7542. >4 leshort >0 and %d string characters
  7543. 0 beshort&0xFFFC 0x9600 big endian ispell
  7544. >1 byte 0 hash file (?),
  7545. >1 byte 1 3.0 hash file,
  7546. >1 byte 2 3.1 hash file,
  7547. >1 byte 3 hash file (?),
  7548. >2 beshort 0x00 8-bit, no capitalization, 26 flags
  7549. >2 beshort 0x01 7-bit, no capitalization, 26 flags
  7550. >2 beshort 0x02 8-bit, capitalization, 26 flags
  7551. >2 beshort 0x03 7-bit, capitalization, 26 flags
  7552. >2 beshort 0x04 8-bit, no capitalization, 52 flags
  7553. >2 beshort 0x05 7-bit, no capitalization, 52 flags
  7554. >2 beshort 0x06 8-bit, capitalization, 52 flags
  7555. >2 beshort 0x07 7-bit, capitalization, 52 flags
  7556. >2 beshort 0x08 8-bit, no capitalization, 128 flags
  7557. >2 beshort 0x09 7-bit, no capitalization, 128 flags
  7558. >2 beshort 0x0A 8-bit, capitalization, 128 flags
  7559. >2 beshort 0x0B 7-bit, capitalization, 128 flags
  7560. >2 beshort 0x0C 8-bit, no capitalization, 256 flags
  7561. >2 beshort 0x0D 7-bit, no capitalization, 256 flags
  7562. >2 beshort 0x0E 8-bit, capitalization, 256 flags
  7563. >2 beshort 0x0F 7-bit, capitalization, 256 flags
  7564. >4 beshort >0 and %d string characters
  7565. # ispell 4.0 hash files kromJx <[email protected]>
  7566. # Ispell 4.0
  7567. 0 string ISPL ispell
  7568. >4 long x hash file version %d,
  7569. >8 long x lexletters %d,
  7570. >12 long x lexsize %d,
  7571. >16 long x hashsize %d,
  7572. >20 long x stblsize %d
  7573. #------------------------------------------------------------
  7574. # Java ByteCode and Mach-O binaries (e.g., Mac OS X) use the
  7575. # same magic number, 0xcafebabe, so they are both handled
  7576. # in the entry called "cafebabe".
  7577. #------------------------------------------------------------
  7578. # Java serialization
  7579. # From Martin Pool ([email protected])
  7580. 0 beshort 0xaced Java serialization data
  7581. >2 beshort >0x0004 \b, version %d
  7582.  
  7583. 0 belong 0xfeedfeed Java KeyStore
  7584.  
  7585. 0 belong 0xcececece Java JCE KeyStore
  7586.  
  7587. # Dalvik .dex format. http://retrodev.com/android/dexformat.html
  7588. # From <[email protected]> "Mike Fleming"
  7589. 0 string dex\n
  7590. >0 regex dex\n[0-9][0-9][0-9]\0 Dalvik dex file
  7591. >4 string >000 version %s
  7592. 0 string dey\n
  7593. >0 regex dey\n[0-9][0-9][0-9]\0 Dalvik dex file (optimized for host)
  7594. >4 string >000 version %s
  7595.  
  7596.  
  7597. #------------------------------------------------------------------------------
  7598. # JPEG images
  7599. # SunOS 5.5.1 had
  7600. #
  7601. # 0 string \377\330\377\340 JPEG file
  7602. # 0 string \377\330\377\356 JPG file
  7603. #
  7604. # both of which turn into "JPEG image data" here.
  7605. #
  7606. 0 beshort 0xffd8 JPEG image data
  7607. >6 string JFIF \b, JFIF standard
  7608. # The following added by Erik Rossen <[email protected]> 1999-09-06
  7609. # in a vain attempt to add image size reporting for JFIF. Note that these
  7610. # tests are not fool-proof since some perfectly valid JPEGs are currently
  7611. # impossible to specify in magic(4) format.
  7612. # First, a little JFIF version info:
  7613. >>11 byte x \b %d.
  7614. >>12 byte x \b%02d
  7615. # Next, the resolution or aspect ratio of the image:
  7616. #>>13 byte 0 \b, aspect ratio
  7617. #>>13 byte 1 \b, resolution (DPI)
  7618. #>>13 byte 2 \b, resolution (DPCM)
  7619. #>>4 beshort x \b, segment length %d
  7620. # Next, show thumbnail info, if it exists:
  7621. >>18 byte !0 \b, thumbnail %dx
  7622. >>>19 byte x \b%d
  7623.  
  7624. # EXIF moved down here to avoid reporting a bogus version number,
  7625. # and EXIF version number printing added.
  7626. # - Patrik R=E5dman <[email protected]>
  7627. >6 string Exif \b, EXIF standard
  7628. # Look for EXIF IFD offset in IFD 0, and then look for EXIF version tag in EXIF IFD.
  7629. # All possible combinations of entries have to be enumerated, since no looping
  7630. # is possible. And both endians are possible...
  7631. # The combinations included below are from real-world JPEGs.
  7632. # Little-endian
  7633. >>12 string II
  7634. # IFD 0 Entry #5:
  7635. >>>70 leshort 0x8769
  7636. # EXIF IFD Entry #1:
  7637. >>>>(78.l+14) leshort 0x9000
  7638. >>>>>(78.l+23) byte x %c
  7639. >>>>>(78.l+24) byte x \b.%c
  7640. >>>>>(78.l+25) byte !0x30 \b%c
  7641. # IFD 0 Entry #9:
  7642. >>>118 leshort 0x8769
  7643. # EXIF IFD Entry #3:
  7644. >>>>(126.l+38) leshort 0x9000
  7645. >>>>>(126.l+47) byte x %c
  7646. >>>>>(126.l+48) byte x \b.%c
  7647. >>>>>(126.l+49) byte !0x30 \b%c
  7648. # IFD 0 Entry #10
  7649. >>>130 leshort 0x8769
  7650. # EXIF IFD Entry #3:
  7651. >>>>(138.l+38) leshort 0x9000
  7652. >>>>>(138.l+47) byte x %c
  7653. >>>>>(138.l+48) byte x \b.%c
  7654. >>>>>(138.l+49) byte !0x30 \b%c
  7655. # EXIF IFD Entry #4:
  7656. >>>>(138.l+50) leshort 0x9000
  7657. >>>>>(138.l+59) byte x %c
  7658. >>>>>(138.l+60) byte x \b.%c
  7659. >>>>>(138.l+61) byte !0x30 \b%c
  7660. # EXIF IFD Entry #5:
  7661. >>>>(138.l+62) leshort 0x9000
  7662. >>>>>(138.l+71) byte x %c
  7663. >>>>>(138.l+72) byte x \b.%c
  7664. >>>>>(138.l+73) byte !0x30 \b%c
  7665. # IFD 0 Entry #11
  7666. >>>142 leshort 0x8769
  7667. # EXIF IFD Entry #3:
  7668. >>>>(150.l+38) leshort 0x9000
  7669. >>>>>(150.l+47) byte x %c
  7670. >>>>>(150.l+48) byte x \b.%c
  7671. >>>>>(150.l+49) byte !0x30 \b%c
  7672. # EXIF IFD Entry #4:
  7673. >>>>(150.l+50) leshort 0x9000
  7674. >>>>>(150.l+59) byte x %c
  7675. >>>>>(150.l+60) byte x \b.%c
  7676. >>>>>(150.l+61) byte !0x30 \b%c
  7677. # EXIF IFD Entry #5:
  7678. >>>>(150.l+62) leshort 0x9000
  7679. >>>>>(150.l+71) byte x %c
  7680. >>>>>(150.l+72) byte x \b.%c
  7681. >>>>>(150.l+73) byte !0x30 \b%c
  7682. # Big-endian
  7683. >>12 string MM
  7684. # IFD 0 Entry #9:
  7685. >>>118 beshort 0x8769
  7686. # EXIF IFD Entry #1:
  7687. >>>>(126.L+14) beshort 0x9000
  7688. >>>>>(126.L+23) byte x %c
  7689. >>>>>(126.L+24) byte x \b.%c
  7690. >>>>>(126.L+25) byte !0x30 \b%c
  7691. # EXIF IFD Entry #3:
  7692. >>>>(126.L+38) beshort 0x9000
  7693. >>>>>(126.L+47) byte x %c
  7694. >>>>>(126.L+48) byte x \b.%c
  7695. >>>>>(126.L+49) byte !0x30 \b%c
  7696. # IFD 0 Entry #10
  7697. >>>130 beshort 0x8769
  7698. # EXIF IFD Entry #3:
  7699. >>>>(138.L+38) beshort 0x9000
  7700. >>>>>(138.L+47) byte x %c
  7701. >>>>>(138.L+48) byte x \b.%c
  7702. >>>>>(138.L+49) byte !0x30 \b%c
  7703. # EXIF IFD Entry #5:
  7704. >>>>(138.L+62) beshort 0x9000
  7705. >>>>>(138.L+71) byte x %c
  7706. >>>>>(138.L+72) byte x \b.%c
  7707. >>>>>(138.L+73) byte !0x30 \b%c
  7708. # IFD 0 Entry #11
  7709. >>>142 beshort 0x8769
  7710. # EXIF IFD Entry #4:
  7711. >>>>(150.L+50) beshort 0x9000
  7712. >>>>>(150.L+59) byte x %c
  7713. >>>>>(150.L+60) byte x \b.%c
  7714. >>>>>(150.L+61) byte !0x30 \b%c
  7715. # Here things get sticky. We can do ONE MORE marker segment with
  7716. # indirect addressing, and that's all. It would be great if we could
  7717. # do pointer arithemetic like in an assembler language. Christos?
  7718. # And if there was some sort of looping construct to do searches, plus a few
  7719. # named accumulators, it would be even more effective...
  7720. # At least we can show a comment if no other segments got inserted before:
  7721. >(4.S+5) byte 0xFE
  7722. >>(4.S+8) string >\0 \b, comment: "%s"
  7723. #>(4.S+5) byte 0xFE \b, comment
  7724. #>>(4.S+6) beshort x \b length=%d
  7725. #>>(4.S+8) string >\0 \b, "%s"
  7726. # Or, we can show the encoding type (I've included only the three most common)
  7727. # and image dimensions if we are lucky and the SOFn (image segment) is here:
  7728. >(4.S+5) byte 0xC0 \b, baseline
  7729. >>(4.S+6) byte x \b, precision %d
  7730. >>(4.S+7) beshort x \b, %dx
  7731. >>(4.S+9) beshort x \b%d
  7732. >(4.S+5) byte 0xC1 \b, extended sequential
  7733. >>(4.S+6) byte x \b, precision %d
  7734. >>(4.S+7) beshort x \b, %dx
  7735. >>(4.S+9) beshort x \b%d
  7736. >(4.S+5) byte 0xC2 \b, progressive
  7737. >>(4.S+6) byte x \b, precision %d
  7738. >>(4.S+7) beshort x \b, %dx
  7739. >>(4.S+9) beshort x \b%d
  7740. # I've commented-out quantisation table reporting. I doubt anyone cares yet.
  7741. #>(4.S+5) byte 0xDB \b, quantisation table
  7742. #>>(4.S+6) beshort x \b length=%d
  7743. #>14 beshort x \b, %d x
  7744. #>16 beshort x \b %d
  7745.  
  7746. # HSI is Handmade Software's proprietary JPEG encoding scheme
  7747. 0 string hsi1 JPEG image data, HSI proprietary
  7748.  
  7749. # From: David Santinoli <[email protected]>
  7750. 0 string \x00\x00\x00\x0C\x6A\x50\x20\x20\x0D\x0A\x87\x0A JPEG 2000 image data
  7751.  
  7752. #------------------------------------------------------------------------------
  7753. # karma: file(1) magic for Karma data files
  7754. #
  7755.  
  7756. 0 string KarmaRHD Version Karma Data Structure Version
  7757. >16 belong x %lu
  7758. #------------------------------------------------------------------------------
  7759. # DEC SRC Virtual Paper: Lectern files
  7760. # Karl M. Hegbloom <[email protected]>
  7761. 0 string lect DEC SRC Virtual Paper Lectern file
  7762.  
  7763. #------------------------------------------------------------------------------
  7764. # lex: file(1) magic for lex
  7765. #
  7766. # derived empirically, your offsets may vary!
  7767. 53 string yyprevious C program text (from lex)
  7768. >3 string >\0 for %s
  7769. # C program text from GNU flex, from Daniel Quinlan <[email protected]>
  7770. 21 string generated\ by\ flex C program text (from flex)
  7771. # lex description file, from Daniel Quinlan <[email protected]>
  7772. 0 string %{ lex description text
  7773.  
  7774. #------------------------------------------------------------------------------
  7775. # lif: file(1) magic for lif
  7776. #
  7777. # (Daniel Quinlan <[email protected]>)
  7778. #
  7779. 0 beshort 0x8000 lif file
  7780.  
  7781. #------------------------------------------------------------------------------
  7782. # linux: file(1) magic for Linux files
  7783. #
  7784. # Values for Linux/i386 binaries, from Daniel Quinlan <[email protected]>
  7785. # The following basic Linux magic is useful for reference, but using
  7786. # "long" magic is a better practice in order to avoid collisions.
  7787. #
  7788. # 2 leshort 100 Linux/i386
  7789. # >0 leshort 0407 impure executable (OMAGIC)
  7790. # >0 leshort 0410 pure executable (NMAGIC)
  7791. # >0 leshort 0413 demand-paged executable (ZMAGIC)
  7792. # >0 leshort 0314 demand-paged executable (QMAGIC)
  7793. #
  7794. 0 lelong 0x00640107 Linux/i386 impure executable (OMAGIC)
  7795. >16 lelong 0 \b, stripped
  7796. 0 lelong 0x00640108 Linux/i386 pure executable (NMAGIC)
  7797. >16 lelong 0 \b, stripped
  7798. 0 lelong 0x0064010b Linux/i386 demand-paged executable (ZMAGIC)
  7799. >16 lelong 0 \b, stripped
  7800. 0 lelong 0x006400cc Linux/i386 demand-paged executable (QMAGIC)
  7801. >16 lelong 0 \b, stripped
  7802. #
  7803. 0 string \007\001\000 Linux/i386 object file
  7804. >20 lelong >0x1020 \b, DLL library
  7805. # Linux-8086 stuff:
  7806. 0 string \01\03\020\04 Linux-8086 impure executable
  7807. >28 long !0 not stripped
  7808. 0 string \01\03\040\04 Linux-8086 executable
  7809. >28 long !0 not stripped
  7810. #
  7811. 0 string \243\206\001\0 Linux-8086 object file
  7812. #
  7813. 0 string \01\03\020\20 Minix-386 impure executable
  7814. >28 long !0 not stripped
  7815. 0 string \01\03\040\20 Minix-386 executable
  7816. >28 long !0 not stripped
  7817. # core dump file, from Bill Reynolds <[email protected]>
  7818. 216 lelong 0421 Linux/i386 core file
  7819. >220 string >\0 of '%s'
  7820. >200 lelong >0 (signal %d)
  7821. #
  7822. # LILO boot/chain loaders, from Daniel Quinlan <[email protected]>
  7823. # this can be overridden by the DOS executable (COM) entry
  7824. 2 string LILO Linux/i386 LILO boot/chain loader
  7825. #
  7826. # PSF fonts, from H. Peter Anvin <[email protected]>
  7827. 0 leshort 0x0436 Linux/i386 PC Screen Font data,
  7828. >2 byte 0 256 characters, no directory,
  7829. >2 byte 1 512 characters, no directory,
  7830. >2 byte 2 256 characters, Unicode directory,
  7831. >2 byte 3 512 characters, Unicode directory,
  7832. >3 byte >0 8x%d
  7833. # Linux swap file, from Daniel Quinlan <[email protected]>
  7834. 4086 string SWAP-SPACE Linux/i386 swap file
  7835. # From: Jeff Bailey <[email protected]>
  7836. # Linux swap file with swsusp1 image, from Jeff Bailey <[email protected]>
  7837. 4076 string SWAPSPACE2S1SUSPEND Linux/i386 swap file (new style) with SWSUSP1 image
  7838. # according to man page of mkswap (8) March 1999
  7839. 4086 string SWAPSPACE2 Linux/i386 swap file (new style)
  7840. >0x400 long x %d (4K pages)
  7841. >0x404 long x size %d pages
  7842. >>4086 string SWAPSPACE2
  7843. >>>1052 string >\0 Label %s
  7844. # ECOFF magic for OSF/1 and Linux (only tested under Linux though)
  7845. #
  7846. # from Erik Troan ([email protected]) examining od dumps, so this
  7847. # could be wrong
  7848. # updated by David Mosberger ([email protected]) based on
  7849. # GNU BFD and MIPS info found below.
  7850. #
  7851. 0 leshort 0x0183 ECOFF alpha
  7852. >24 leshort 0407 executable
  7853. >24 leshort 0410 pure
  7854. >24 leshort 0413 demand paged
  7855. >8 long >0 not stripped
  7856. >8 long 0 stripped
  7857. >23 leshort >0 - version %ld.
  7858. #
  7859. # Linux kernel boot images, from Albert Cahalan <[email protected]>
  7860. # and others such as Axel Kohlmeyer <[email protected]>
  7861. # and Nicolā³ Lichtmaier <[email protected]>
  7862. # All known start with: b8 c0 07 8e d8 b8 00 90 8e c0 b9 00 01 29 f6 29
  7863. # Linux kernel boot images (i386 arch) (Wolfram Kleff)
  7864. 514 string HdrS Linux kernel
  7865. >510 leshort 0xAA55 x86 boot executable
  7866. >>518 leshort >=0x200
  7867. >>529 byte 0 zImage,
  7868. >>>529 byte 1 bzImage,
  7869. >>>(526.s+0x200) string >\0 version %s,
  7870. >>498 leshort 1 RO-rootFS,
  7871. >>498 leshort 0 RW-rootFS,
  7872. >>508 leshort >0 root_dev 0x%X,
  7873. >>502 leshort >0 swap_dev 0x%X,
  7874. >>504 leshort >0 RAMdisksize %u KB,
  7875. >>506 leshort 0xFFFF Normal VGA
  7876. >>506 leshort 0xFFFE Extended VGA
  7877. >>506 leshort 0xFFFD Prompt for Videomode
  7878. >>506 leshort >0 Video mode %d
  7879. # This also matches new kernels, which were caught above by "HdrS".
  7880. 0 belong 0xb8c0078e Linux kernel
  7881. >0x1e3 string Loading version 1.3.79 or older
  7882. >0x1e9 string Loading from prehistoric times
  7883.  
  7884. # System.map files - Nicolā³ Lichtmaier <[email protected]>
  7885. 8 string \ A\ _text Linux kernel symbol map text
  7886.  
  7887. # LSM entries - Nicolā³ Lichtmaier <[email protected]>
  7888. 0 string Begin3 Linux Software Map entry text
  7889. 0 string Begin4 Linux Software Map entry text (new format)
  7890.  
  7891. # From Matt Zimmerman
  7892. 0 belong 0x4f4f4f4d User-mode Linux COW file
  7893. >4 belong x \b, version %d
  7894. >8 string >\0 \b, backing file %s
  7895.  
  7896. ############################################################################
  7897. # Linux kernel versions
  7898.  
  7899. 0 string \xb8\xc0\x07\x8e\xd8\xb8\x00\x90 Linux
  7900. >497 leshort 0 x86 boot sector
  7901. >>514 belong 0x8e of a kernel from the dawn of time!
  7902. >>514 belong 0x908ed8b4 version 0.99-1.1.42
  7903. >>514 belong 0x908ed8b8 for memtest86
  7904.  
  7905. >497 leshort !0 x86 kernel
  7906. >>504 leshort >0 RAMdisksize=%u KB
  7907. >>502 leshort >0 swap=0x%X
  7908. >>508 leshort >0 root=0x%X
  7909. >>>498 leshort 1 \b-ro
  7910. >>>498 leshort 0 \b-rw
  7911. >>506 leshort 0xFFFF vga=normal
  7912. >>506 leshort 0xFFFE vga=extended
  7913. >>506 leshort 0xFFFD vga=ask
  7914. >>506 leshort >0 vga=%d
  7915. >>514 belong 0x908ed881 version 1.1.43-1.1.45
  7916. >>514 belong 0x15b281cd
  7917. >>>0xa8e belong 0x55AA5a5a version 1.1.46-1.2.13,1.3.0
  7918. >>>0xa99 belong 0x55AA5a5a version 1.3.1,2
  7919. >>>0xaa3 belong 0x55AA5a5a version 1.3.3-1.3.30
  7920. >>>0xaa6 belong 0x55AA5a5a version 1.3.31-1.3.41
  7921. >>>0xb2b belong 0x55AA5a5a version 1.3.42-1.3.45
  7922. >>>0xaf7 belong 0x55AA5a5a version 1.3.46-1.3.72
  7923. >>514 string HdrS
  7924. >>>518 leshort >0x1FF
  7925. >>>>529 byte 0 \b, zImage
  7926. >>>>529 byte 1 \b, bzImage
  7927. >>>>(526.s+0x200) string >\0 \b, version %s
  7928.  
  7929. # Linux boot sector thefts.
  7930. 0 belong 0xb8c0078e Linux
  7931. >0x1e6 belong 0x454c4b53 ELKS Kernel
  7932. >0x1e6 belong !0x454c4b53 style boot sector
  7933.  
  7934. ############################################################################
  7935. # Linux 8086 executable
  7936. 0 lelong&0xFF0000FF 0xC30000E9 Linux-Dev86 executable, headerless
  7937. >5 string .
  7938. >>4 string >\0 \b, libc version %s
  7939.  
  7940. 0 lelong&0xFF00FFFF 0x4000301 Linux-8086 executable
  7941. >2 byte&0x01 !0 \b, unmapped zero page
  7942. >2 byte&0x20 0 \b, impure
  7943. >2 byte&0x20 !0
  7944. >>2 byte&0x10 !0 \b, A_EXEC
  7945. >2 byte&0x02 !0 \b, A_PAL
  7946. >2 byte&0x04 !0 \b, A_NSYM
  7947. >2 byte&0x08 !0 \b, A_STAND
  7948. >2 byte&0x40 !0 \b, A_PURE
  7949. >2 byte&0x80 !0 \b, A_TOVLY
  7950. >28 long !0 \b, not stripped
  7951. >37 string .
  7952. >>36 string >\0 \b, libc version %s
  7953.  
  7954. # 0 lelong&0xFF00FFFF 0x10000301 ld86 I80386 executable
  7955. # 0 lelong&0xFF00FFFF 0xB000301 ld86 M68K executable
  7956. # 0 lelong&0xFF00FFFF 0xC000301 ld86 NS16K executable
  7957. # 0 lelong&0xFF00FFFF 0x17000301 ld86 SPARC executable
  7958.  
  7959. # SYSLINUX boot logo files (from 'ppmtolss16' sources)
  7960. # http://syslinux.zytor.com/
  7961. #
  7962. 0 lelong =0x1413f33d SYSLINUX' LSS16 image data
  7963. >4 leshort x \b, width %d
  7964. >6 leshort x \b, height %d
  7965.  
  7966. 0 string OOOM User-Mode-Linux's Copy-On-Write disk image
  7967. >4 belong x version %d
  7968.  
  7969. # SE Linux policy database
  7970. # From: Mike Frysinger <[email protected]>
  7971. 0 lelong 0xf97cff8c SE Linux policy
  7972. >16 lelong x v%d
  7973. >20 lelong 1 MLS
  7974. >24 lelong x %d symbols
  7975. >28 lelong x %d ocons
  7976.  
  7977. # Linux Logical Volume Manager (LVM)
  7978. # Emmanuel VARAGNAT <[email protected]>
  7979. #
  7980. # System ID, UUID and volume group name are 128 bytes long
  7981. # but they should never be full and initialized with zeros...
  7982. #
  7983. # LVM1
  7984. #
  7985. 0x0 string HM\001 LVM1 (Linux Logical Volume Manager), version 1
  7986. >0x12c string >\0 , System ID: %s
  7987.  
  7988. 0x0 string HM\002 LVM1 (Linux Logical Volume Manager), version 2
  7989. >0x12c string >\0 , System ID: %s
  7990.  
  7991. # LVM2
  7992. #
  7993. # It seems that the label header can be in one the four first sector
  7994. # of the disk... (from _find_labeller in lib/label/label.c of LVM2)
  7995. #
  7996. # 0x200 seems to be the common case
  7997.  
  7998. 0x218 string LVM2\ 001 LVM2 (Linux Logical Volume Manager)
  7999. # read the offset to add to the start of the header, and the header
  8000. # start in 0x200
  8001. >(0x214.l+0x200) string >\0 , UUID: %s
  8002.  
  8003. 0x018 string LVM2\ 001 LVM2 (Linux Logical Volume Manager)
  8004. >(0x014.l) string >\0 , UUID: %s
  8005.  
  8006. 0x418 string LVM2\ 001 LVM2 (Linux Logical Volume Manager)
  8007. >(0x414.l+0x400) string >\0 , UUID: %s
  8008.  
  8009. 0x618 string LVM2\ 001 LVM2 (Linux Logical Volume Manager)
  8010. >(0x614.l+0x600) string >\0 , UUID: %s
  8011.  
  8012. # SE Linux policy database
  8013. 0 lelong 0xf97cff8c SE Linux policy
  8014. >16 lelong x v%d
  8015. >20 lelong 1 MLS
  8016. >24 lelong x %d symbols
  8017. >28 lelong x %d ocons
  8018.  
  8019. # LUKS: Linux Unified Key Setup, On-Disk Format, http://luks.endorphin.org/spec
  8020. # Anthon van der Neut ([email protected])
  8021. 0 string LUKS\xba\xbe LUKS encrypted file,
  8022. >6 beshort x ver %d
  8023. >8 string x [%s,
  8024. >40 string x %s,
  8025. >72 string x %s]
  8026. >168 string x UUID: %s
  8027.  
  8028.  
  8029. #------------------------------------------------------------------------------
  8030. # lisp: file(1) magic for lisp programs
  8031. #
  8032. # various lisp types, from Daniel Quinlan ([email protected])
  8033.  
  8034. # updated by Joerg Jenderek
  8035. 0 string ;;
  8036. # windows INF files often begin with semicolon and use CRLF as line end
  8037. # lisp files are mainly created on unix system with LF as line end
  8038. >2 search/2048 !\r Lisp/Scheme program text
  8039. >2 search/2048 \r Windows INF file
  8040.  
  8041. 0 search/256 (if\ Lisp/Scheme program text
  8042. 0 search/256 (setq\ Lisp/Scheme program text
  8043. 0 search/256 (defvar\ Lisp/Scheme program text
  8044. 0 search/256 (defparam\ Lisp/Scheme program text
  8045. 0 search/256 (defun\ Lisp/Scheme program text
  8046. 0 search/256 (autoload\ Lisp/Scheme program text
  8047. 0 search/256 (custom-set-variables\ Lisp/Scheme program text
  8048.  
  8049. # Emacs 18 - this is always correct, but not very magical.
  8050. 0 string \012( Emacs v18 byte-compiled Lisp data
  8051. # Emacs 19+ - ver. recognition added by Ian Springer
  8052. # Also applies to XEmacs 19+ .elc files; could tell them apart if we had regexp
  8053. # support or similar - Chris Chittleborough <[email protected]>
  8054. 0 string ;ELC
  8055. >4 byte >19
  8056. >4 byte <32 Emacs/XEmacs v%d byte-compiled Lisp data
  8057.  
  8058. # Files produced by CLISP Common Lisp From: Bruno Haible <[email protected]>
  8059. 0 string (SYSTEM::VERSION\040' CLISP byte-compiled Lisp program text
  8060. 0 long 0x70768BD2 CLISP memory image data
  8061. 0 long 0xD28B7670 CLISP memory image data, other endian
  8062.  
  8063. # Files produced by GNU gettext
  8064. 0 long 0xDE120495 GNU-format message catalog data
  8065. 0 long 0x950412DE GNU-format message catalog data
  8066.  
  8067. #.com and .bin for MIT scheme
  8068. 0 string \372\372\372\372 MIT scheme (library?)
  8069.  
  8070. # From: David Allouche <[email protected]>
  8071. 0 string \<TeXmacs| TeXmacs document text
  8072. #------------------------------------------------------------
  8073. # Mach has two magic numbers, 0xcafebabe and 0xfeedface.
  8074. # Unfortunately the first, cafebabe, is shared with
  8075. # Java ByteCode, so they are both handled in the file "cafebabe".
  8076. # The "feedface" ones are handled herein.
  8077. #------------------------------------------------------------
  8078. 0 lelong&0xfeffffff 0xfeedface Mach-O
  8079. >0 byte 0xcf 64-bit
  8080. >12 lelong 1 object
  8081. >12 lelong 2 executable
  8082. >12 lelong 3 fixed virtual memory shared library
  8083. >12 lelong 4 core
  8084. >12 lelong 5 preload executable
  8085. >12 lelong 6 dynamically linked shared library
  8086. >12 lelong 7 dynamic linker
  8087. >12 lelong 8 bundle
  8088. >12 lelong 9 dynamically linked shared library stub
  8089. >12 lelong >9
  8090. >>12 lelong x filetype=%ld
  8091. >4 lelong <0
  8092. >>4 lelong x architecture=%ld
  8093. >4 lelong 1 vax
  8094. >4 lelong 2 romp
  8095. >4 lelong 3 architecture=3
  8096. >4 lelong 4 ns32032
  8097. >4 lelong 5 ns32332
  8098. >4 lelong 6 m68k
  8099. >4 lelong 7 i386
  8100. >4 lelong 8 mips
  8101. >4 lelong 9 ns32532
  8102. >4 lelong 10 architecture=10
  8103. >4 lelong 11 hppa
  8104. >4 lelong 12 acorn
  8105. >4 lelong 13 m88k
  8106. >4 lelong 14 sparc
  8107. >4 lelong 15 i860-big
  8108. >4 lelong 16 i860
  8109. >4 lelong 17 rs6000
  8110. >4 lelong 18 ppc
  8111. >4 lelong 16777234 ppc64
  8112. >4 lelong >16777234
  8113. >>4 lelong x architecture=%ld
  8114. #
  8115. 0 belong&0xfffffffe 0xfeedface Mach-O
  8116. >3 byte 0xcf 64-bit
  8117. >12 belong 1 object
  8118. >12 belong 2 executable
  8119. >12 belong 3 fixed virtual memory shared library
  8120. >12 belong 4 core
  8121. >12 belong 5 preload executable
  8122. >12 belong 6 dynamically linked shared library
  8123. >12 belong 7 dynamic linker
  8124. >12 belong 8 bundle
  8125. >12 belong 9 dynamically linked shared library stub
  8126. >12 belong >9
  8127. >>12 belong x filetype=%ld
  8128. >4 belong <0
  8129. >>4 belong x architecture=%ld
  8130. >4 belong 1 vax
  8131. >4 belong 2 romp
  8132. >4 belong 3 architecture=3
  8133. >4 belong 4 ns32032
  8134. >4 belong 5 ns32332
  8135. >4 belong 6 for m68k architecture
  8136. # from NeXTstep 3.0 <mach/machine.h>
  8137. # i.e. mc680x0_all, ignore
  8138. # >>8 belong 1 (mc68030)
  8139. >>8 belong 2 (mc68040)
  8140. >>8 belong 3 (mc68030 only)
  8141. >4 belong 7 i386
  8142. >4 belong 8 mips
  8143. >4 belong 9 ns32532
  8144. >4 belong 10 architecture=10
  8145. >4 belong 11 hppa
  8146. >4 belong 12 acorn
  8147. >4 belong 13 m88k
  8148. >4 belong 14 sparc
  8149. >4 belong 15 i860-big
  8150. >4 belong 16 i860
  8151. >4 belong 17 rs6000
  8152. >4 belong 18 ppc
  8153. >4 belong 16777234 ppc64
  8154. >4 belong >16777234
  8155. >>4 belong x architecture=%ld
  8156.  
  8157. #------------------------------------------------------------------------------
  8158. # macintosh description
  8159. #
  8160. # BinHex is the Macintosh ASCII-encoded file format (see also "apple")
  8161. # Daniel Quinlan, [email protected]
  8162. 11 string must\ be\ converted\ with\ BinHex BinHex binary text
  8163. >41 string x \b, version %.3s
  8164.  
  8165. # Stuffit archives are the de facto standard of compression for Macintosh
  8166. # files obtained from most archives. ([email protected])
  8167. 0 string SIT! StuffIt Archive (data)
  8168. >2 string x : %s
  8169. 0 string SITD StuffIt Deluxe (data)
  8170. >2 string x : %s
  8171. 0 string Seg StuffIt Deluxe Segment (data)
  8172. >2 string x : %s
  8173.  
  8174. # Newer StuffIt archives ([email protected])
  8175. 0 string StuffIt StuffIt Archive
  8176. #>162 string >0 : %s
  8177.  
  8178. # Macintosh Applications and Installation binaries ([email protected])
  8179. 0 string APPL Macintosh Application (data)
  8180. >2 string x \b: %s
  8181.  
  8182. # Macintosh System files ([email protected])
  8183. 0 string zsys Macintosh System File (data)
  8184. 0 string FNDR Macintosh Finder (data)
  8185. 0 string libr Macintosh Library (data)
  8186. >2 string x : %s
  8187. 0 string shlb Macintosh Shared Library (data)
  8188. >2 string x : %s
  8189. 0 string cdev Macintosh Control Panel (data)
  8190. >2 string x : %s
  8191. 0 string INIT Macintosh Extension (data)
  8192. >2 string x : %s
  8193. 0 string FFIL Macintosh Truetype Font (data)
  8194. >2 string x : %s
  8195. 0 string LWFN Macintosh Postscript Font (data)
  8196. >2 string x : %s
  8197.  
  8198. # Additional Macintosh Files ([email protected])
  8199. 0 string PACT Macintosh Compact Pro Archive (data)
  8200. >2 string x : %s
  8201. 0 string ttro Macintosh TeachText File (data)
  8202. >2 string x : %s
  8203. 0 string TEXT Macintosh TeachText File (data)
  8204. >2 string x : %s
  8205. 0 string PDF Macintosh PDF File (data)
  8206. >2 string x : %s
  8207.  
  8208. # MacBinary format (Eric Fischer, [email protected])
  8209. #
  8210. # Unfortunately MacBinary doesn't really have a magic number prior
  8211. # to the MacBinary III format. The checksum is really the way to
  8212. # do it, but the magic file format isn't up to the challenge.
  8213. #
  8214. # 0 byte 0
  8215. # 1 byte # filename length
  8216. # 2 string # filename
  8217. # 65 string # file type
  8218. # 69 string # file creator
  8219. # 73 byte # Finder flags
  8220. # 74 byte 0
  8221. # 75 beshort # vertical posn in window
  8222. # 77 beshort # horiz posn in window
  8223. # 79 beshort # window or folder ID
  8224. # 81 byte # protected?
  8225. # 82 byte 0
  8226. # 83 belong # length of data segment
  8227. # 87 belong # length of resource segment
  8228. # 91 belong # file creation date
  8229. # 95 belong # file modification date
  8230. # 99 beshort # length of comment after resource
  8231. # 101 byte # new Finder flags
  8232. # 102 string mBIN # (only in MacBinary III)
  8233. # 106 byte # char. code of file name
  8234. # 107 byte # still more Finder flags
  8235. # 116 belong # total file length
  8236. # 120 beshort # length of add'l header
  8237. # 122 byte 129 # for MacBinary II
  8238. # 122 byte 130 # for MacBinary III
  8239. # 123 byte 129 # minimum version that can read fmt
  8240. # 124 beshort # checksum
  8241. #
  8242. # This attempts to use the version numbers as a magic number, requiring
  8243. # that the first one be 0x80, 0x81, 0x82, or 0x83, and that the second
  8244. # be 0x81. This works for the files I have, but maybe not for everyone's.
  8245.  
  8246. # Unfortunately, this magic is quite weak - MPi
  8247. #122 beshort&0xFCFF 0x8081 Macintosh MacBinary data
  8248.  
  8249. # MacBinary I doesn't have the version number field at all, but MacBinary II
  8250. # has been in use since 1987 so I hope there aren't many really old files
  8251. # floating around that this will miss. The original spec calls for using
  8252. # the nulls in 0, 74, and 82 as the magic number.
  8253. #
  8254. # Another possibility, that would also work for MacBinary I, is to use
  8255. # the assumption that 65-72 will all be ASCII (0x20-0x7F), that 73 will
  8256. # have bits 1 (changed), 2 (busy), 3 (bozo), and 6 (invisible) unset,
  8257. # and that 74 will be 0. So something like
  8258. #
  8259. # 71 belong&0x80804EFF 0x00000000 Macintosh MacBinary data
  8260. #
  8261. # >73 byte&0x01 0x01 \b, inited
  8262. # >73 byte&0x02 0x02 \b, changed
  8263. # >73 byte&0x04 0x04 \b, busy
  8264. # >73 byte&0x08 0x08 \b, bozo
  8265. # >73 byte&0x10 0x10 \b, system
  8266. # >73 byte&0x10 0x20 \b, bundle
  8267. # >73 byte&0x10 0x40 \b, invisible
  8268. # >73 byte&0x10 0x80 \b, locked
  8269.  
  8270. #>65 string x \b, type "%4.4s"
  8271.  
  8272. #>65 string 8BIM (PhotoShop)
  8273. #>65 string ALB3 (PageMaker 3)
  8274. #>65 string ALB4 (PageMaker 4)
  8275. #>65 string ALT3 (PageMaker 3)
  8276. #>65 string APPL (application)
  8277. #>65 string AWWP (AppleWorks word processor)
  8278. #>65 string CIRC (simulated circuit)
  8279. #>65 string DRWG (MacDraw)
  8280. #>65 string EPSF (Encapsulated PostScript)
  8281. #>65 string FFIL (font suitcase)
  8282. #>65 string FKEY (function key)
  8283. #>65 string FNDR (Macintosh Finder)
  8284. #>65 string GIFf (GIF image)
  8285. #>65 string Gzip (GNU gzip)
  8286. #>65 string INIT (system extension)
  8287. #>65 string LIB\ (library)
  8288. #>65 string LWFN (PostScript font)
  8289. #>65 string MSBC (Microsoft BASIC)
  8290. #>65 string PACT (Compact Pro archive)
  8291. #>65 string PDF\ (Portable Document Format)
  8292. #>65 string PICT (picture)
  8293. #>65 string PNTG (MacPaint picture)
  8294. #>65 string PREF (preferences)
  8295. #>65 string PROJ (Think C project)
  8296. #>65 string QPRJ (Think Pascal project)
  8297. #>65 string SCFL (Defender scores)
  8298. #>65 string SCRN (startup screen)
  8299. #>65 string SITD (StuffIt Deluxe)
  8300. #>65 string SPn3 (SuperPaint)
  8301. #>65 string STAK (HyperCard stack)
  8302. #>65 string Seg\ (StuffIt segment)
  8303. #>65 string TARF (Unix tar archive)
  8304. #>65 string TEXT (ASCII)
  8305. #>65 string TIFF (TIFF image)
  8306. #>65 string TOVF (Eudora table of contents)
  8307. #>65 string WDBN (Microsoft Word word processor)
  8308. #>65 string WORD (MacWrite word processor)
  8309. #>65 string XLS\ (Microsoft Excel)
  8310. #>65 string ZIVM (compress (.Z))
  8311. #>65 string ZSYS (Pre-System 7 system file)
  8312. #>65 string acf3 (Aldus FreeHand)
  8313. #>65 string cdev (control panel)
  8314. #>65 string dfil (Desk Acessory suitcase)
  8315. #>65 string libr (library)
  8316. #>65 string nX^d (WriteNow word processor)
  8317. #>65 string nX^w (WriteNow dictionary)
  8318. #>65 string rsrc (resource)
  8319. #>65 string scbk (Scrapbook)
  8320. #>65 string shlb (shared library)
  8321. #>65 string ttro (SimpleText read-only)
  8322. #>65 string zsys (system file)
  8323.  
  8324. #>69 string x \b, creator "%4.4s"
  8325.  
  8326. # Somewhere, Apple has a repository of registered Creator IDs. These are
  8327. # just the ones that I happened to have files from and was able to identify.
  8328.  
  8329. #>69 string 8BIM (Adobe Photoshop)
  8330. #>69 string ALD3 (PageMaker 3)
  8331. #>69 string ALD4 (PageMaker 4)
  8332. #>69 string ALFA (Alpha editor)
  8333. #>69 string APLS (Apple Scanner)
  8334. #>69 string APSC (Apple Scanner)
  8335. #>69 string BRKL (Brickles)
  8336. #>69 string BTFT (BitFont)
  8337. #>69 string CCL2 (Common Lisp 2)
  8338. #>69 string CCL\ (Common Lisp)
  8339. #>69 string CDmo (The Talking Moose)
  8340. #>69 string CPCT (Compact Pro)
  8341. #>69 string CSOm (Eudora)
  8342. #>69 string DMOV (Font/DA Mover)
  8343. #>69 string DSIM (DigSim)
  8344. #>69 string EDIT (Macintosh Edit)
  8345. #>69 string ERIK (Macintosh Finder)
  8346. #>69 string EXTR (self-extracting archive)
  8347. #>69 string Gzip (GNU gzip)
  8348. #>69 string KAHL (Think C)
  8349. #>69 string LWFU (LaserWriter Utility)
  8350. #>69 string LZIV (compress)
  8351. #>69 string MACA (MacWrite)
  8352. #>69 string MACS (Macintosh operating system)
  8353. #>69 string MAcK (MacKnowledge terminal emulator)
  8354. #>69 string MLND (Defender)
  8355. #>69 string MPNT (MacPaint)
  8356. #>69 string MSBB (Microsoft BASIC (binary))
  8357. #>69 string MSWD (Microsoft Word)
  8358. #>69 string NCSA (NCSA Telnet)
  8359. #>69 string PJMM (Think Pascal)
  8360. #>69 string PSAL (Hunt the Wumpus)
  8361. #>69 string PSI2 (Apple File Exchange)
  8362. #>69 string R*ch (BBEdit)
  8363. #>69 string RMKR (Resource Maker)
  8364. #>69 string RSED (Resource Editor)
  8365. #>69 string Rich (BBEdit)
  8366. #>69 string SIT! (StuffIt)
  8367. #>69 string SPNT (SuperPaint)
  8368. #>69 string Unix (NeXT Mac filesystem)
  8369. #>69 string VIM! (Vim editor)
  8370. #>69 string WILD (HyperCard)
  8371. #>69 string XCEL (Microsoft Excel)
  8372. #>69 string aCa2 (Fontographer)
  8373. #>69 string aca3 (Aldus FreeHand)
  8374. #>69 string dosa (Macintosh MS-DOS file system)
  8375. #>69 string movr (Font/DA Mover)
  8376. #>69 string nX^n (WriteNow)
  8377. #>69 string pdos (Apple ProDOS file system)
  8378. #>69 string scbk (Scrapbook)
  8379. #>69 string ttxt (SimpleText)
  8380. #>69 string ufox (Foreign File Access)
  8381.  
  8382. # Just in case...
  8383.  
  8384. 102 string mBIN MacBinary III data with surprising version number
  8385.  
  8386. # sas magic from Bruce Foster ([email protected])
  8387. #
  8388. #0 string SAS SAS
  8389. #>8 string x %s
  8390. 0 string SAS SAS
  8391. >24 string DATA data file
  8392. >24 string CATALOG catalog
  8393. >24 string INDEX data file index
  8394. >24 string VIEW data view
  8395. # sas 7+ magic from Reinhold Koch ([email protected])
  8396. #
  8397. 0x54 string SAS SAS 7+
  8398. >0x9C string DATA data file
  8399. >0x9C string CATALOG catalog
  8400. >0x9C string INDEX data file index
  8401. >0x9C string VIEW data view
  8402.  
  8403. # spss magic for SPSS system and portable files,
  8404. # from Bruce Foster ([email protected]).
  8405.  
  8406. 0 long 0xc1e2c3c9 SPSS Portable File
  8407. >40 string x %s
  8408.  
  8409. 0 string $FL2 SPSS System File
  8410. >24 string x %s
  8411.  
  8412. # Macintosh filesystem data
  8413. # From "Tom N Harris" <[email protected]>
  8414. # Fixed HFS+ and Partition map magic: Ethan Benson <[email protected]>
  8415. # The MacOS epoch begins on 1 Jan 1904 instead of 1 Jan 1970, so these
  8416. # entries depend on the data arithmetic added after v.35
  8417. # There's also some Pascal strings in here, ditto...
  8418.  
  8419. # The boot block signature, according to IM:Files, is
  8420. # "for HFS volumes, this field always contains the value 0x4C4B."
  8421. # But if this is true for MFS or HFS+ volumes, I don't know.
  8422. # Alternatively, the boot block is supposed to be zeroed if it's
  8423. # unused, so a simply >0 should suffice.
  8424.  
  8425. 0x400 beshort 0xD2D7 Macintosh MFS data
  8426. >0 beshort 0x4C4B (bootable)
  8427. >0x40a beshort &0x8000 (locked)
  8428. >0x402 beldate-0x7C25B080 x created: %s,
  8429. >0x406 beldate-0x7C25B080 >0 last backup: %s,
  8430. >0x414 belong x block size: %d,
  8431. >0x412 beshort x number of blocks: %d,
  8432. >0x424 pstring x volume name: %s
  8433.  
  8434. # "BD" is has many false positives
  8435. #0x400 beshort 0x4244 Macintosh HFS data
  8436. #>0 beshort 0x4C4B (bootable)
  8437. #>0x40a beshort &0x8000 (locked)
  8438. #>0x40a beshort ^0x0100 (mounted)
  8439. #>0x40a beshort &0x0200 (spared blocks)
  8440. #>0x40a beshort &0x0800 (unclean)
  8441. #>0x47C beshort 0x482B (Embedded HFS+ Volume)
  8442. #>0x402 beldate-0x7C25B080 x created: %s,
  8443. #>0x406 beldate-0x7C25B080 x last modified: %s,
  8444. #>0x440 beldate-0x7C25B080 >0 last backup: %s,
  8445. #>0x414 belong x block size: %d,
  8446. #>0x412 beshort x number of blocks: %d,
  8447. #>0x424 pstring x volume name: %s
  8448.  
  8449. 0x400 beshort 0x482B Macintosh HFS Extended
  8450. >&0 beshort x version %d data
  8451. >0 beshort 0x4C4B (bootable)
  8452. >0x404 belong ^0x00000100 (mounted)
  8453. >&2 belong &0x00000200 (spared blocks)
  8454. >&2 belong &0x00000800 (unclean)
  8455. >&2 belong &0x00008000 (locked)
  8456. >&6 string x last mounted by: '%.4s',
  8457. # really, that should be treated as a belong and we print a string
  8458. # based on the value. TN1150 only mentions '8.10' for "MacOS 8.1"
  8459. >&14 beldate-0x7C25B080 x created: %s,
  8460. # only the creation date is local time, all other timestamps in HFS+ are UTC.
  8461. >&18 bedate-0x7C25B080 x last modified: %s,
  8462. >&22 bedate-0x7C25B080 >0 last backup: %s,
  8463. >&26 bedate-0x7C25B080 >0 last checked: %s,
  8464. >&38 belong x block size: %d,
  8465. >&42 belong x number of blocks: %d,
  8466. >&46 belong x free blocks: %d
  8467.  
  8468. # I don't think this is really necessary since it doesn't do much and
  8469. # anything with a valid driver descriptor will also have a valid
  8470. # partition map
  8471. #0 beshort 0x4552 Apple Device Driver data
  8472. #>&24 beshort =1 \b, MacOS
  8473.  
  8474. # Is that the partition type a cstring or a pstring? Well, IM says "strings
  8475. # shorter than 32 bytes must be terminated with NULL" so I'll treat it as a
  8476. # cstring. Of course, partitions can contain more than four entries, but
  8477. # what're you gonna do?
  8478. 0x200 beshort 0x504D Apple Partition data
  8479. >0x2 beshort x block size: %d,
  8480. >0x230 string x first type: %s,
  8481. >0x210 string x name: %s,
  8482. >0x254 belong x number of blocks: %d,
  8483. >0x400 beshort 0x504D
  8484. >>0x430 string x second type: %s,
  8485. >>0x410 string x name: %s,
  8486. >>0x454 belong x number of blocks: %d,
  8487. >>0x800 beshort 0x504D
  8488. >>>0x830 string x third type: %s,
  8489. >>>0x810 string x name: %s,
  8490. >>>0x854 belong x number of blocks: %d,
  8491. >>>0xa00 beshort 0x504D
  8492. >>>>0xa30 string x fourth type: %s,
  8493. >>>>0xa10 string x name: %s,
  8494. >>>>0xa54 belong x number of blocks: %d
  8495. # AFAIK, only the signature is different
  8496. 0x200 beshort 0x5453 Apple Old Partition data
  8497. >0x2 beshort x block size: %d,
  8498. >0x230 string x first type: %s,
  8499. >0x210 string x name: %s,
  8500. >0x254 belong x number of blocks: %d,
  8501. >0x400 beshort 0x504D
  8502. >>0x430 string x second type: %s,
  8503. >>0x410 string x name: %s,
  8504. >>0x454 belong x number of blocks: %d,
  8505. >>0x800 beshort 0x504D
  8506. >>>0x830 string x third type: %s,
  8507. >>>0x810 string x name: %s,
  8508. >>>0x854 belong x number of blocks: %d,
  8509. >>>0xa00 beshort 0x504D
  8510. >>>>0xa30 string x fourth type: %s,
  8511. >>>>0xa10 string x name: %s,
  8512. >>>>0xa54 belong x number of blocks: %d
  8513.  
  8514. # From: Remi Mommsen <[email protected]>
  8515. 0 string BOMStore Mac OS X bill of materials (BOM) file
  8516.  
  8517. #------------------------------------------------------------------------------
  8518. # magic: file(1) magic for magic files
  8519. #
  8520. 0 string #\ Magic magic text file for file(1) cmd
  8521. 0 lelong 0xF11E041C magic binary file for file(1) cmd
  8522. >4 lelong x (version %d) (little endian)
  8523. 0 belong 0xF11E041C magic binary file for file(1) cmd
  8524. >4 belong x (version %d) (big endian)
  8525.  
  8526. #------------------------------------------------------------------------------
  8527. # mail.news: file(1) magic for mail and news
  8528. #
  8529. # Unfortunately, saved netnews also has From line added in some news software.
  8530. #0 string From mail text
  8531. # There are tests to ascmagic.c to cope with mail and news.
  8532. 0 string Relay-Version: old news text
  8533. 0 string #!\ rnews batched news text
  8534. 0 string N#!\ rnews mailed, batched news text
  8535. 0 string Forward\ to mail forwarding text
  8536. 0 string Pipe\ to mail piping text
  8537. 0 string Return-Path: smtp mail text
  8538. 0 string Path: news text
  8539. 0 string Xref: news text
  8540. 0 string From: news or mail text
  8541. 0 string Article saved news text
  8542. 0 string BABYL Emacs RMAIL text
  8543. 0 string Received: RFC 822 mail text
  8544. 0 string MIME-Version: MIME entity text
  8545. #0 string Content- MIME entity text
  8546.  
  8547. # TNEF files...
  8548. 0 lelong 0x223E9F78 Transport Neutral Encapsulation Format
  8549.  
  8550. # From: Kevin Sullivan <[email protected]>
  8551. 0 string *mbx* MBX mail folder
  8552.  
  8553. # From: Simon Matter <[email protected]>
  8554. 0 string \241\002\213\015skiplist\ file\0\0\0 Cyrus skiplist DB
  8555.  
  8556. # JAM(mbp) Fidonet message area databases
  8557. # JHR file
  8558. 0 string JAM\0 JAM message area header file
  8559. >12 leshort >0 (%d messages)
  8560.  
  8561. # Squish Fidonet message area databases
  8562. # SQD file (requires at least one message in the area)
  8563. # XXX: Weak magic
  8564. #256 leshort 0xAFAE4453 Squish message area data file
  8565. #>4 leshort >0 (%d messages)
  8566.  
  8567. #------------------------------------------------------------------------------
  8568. # maple: file(1) magic for maple files
  8569. # "H. Nanosecond" <[email protected]>
  8570. # Maple V release 4, a multi-purpose math program
  8571. #
  8572.  
  8573. # maple library .lib
  8574. 0 string \000MVR4\nI MapleVr4 library
  8575.  
  8576. # .ind
  8577. # no magic for these :-(
  8578. # they are compiled indexes for maple files
  8579.  
  8580. # .hdb
  8581. 0 string \000\004\000\000 Maple help database
  8582.  
  8583. # .mhp
  8584. # this has the form <PACKAGE=name>
  8585. 0 string \<PACKAGE= Maple help file
  8586. 0 string \<HELP\ NAME= Maple help file
  8587. 0 string \n\<HELP\ NAME= Maple help file with extra carriage return at start (yuck)
  8588. #0 string #\ Newton Maple help file, old style
  8589. 0 string #\ daub Maple help file, old style
  8590. #0 string #=========== Maple help file, old style
  8591.  
  8592. # .mws
  8593. 0 string \000\000\001\044\000\221 Maple worksheet
  8594. #this is anomalous
  8595. 0 string WriteNow\000\002\000\001\000\000\000\000\100\000\000\000\000\000 Maple worksheet, but weird
  8596. # this has the form {VERSION 2 3 "IBM INTEL NT" "2.3" }\n
  8597. # that is {VERSION major_version miunor_version computer_type version_string}
  8598. 0 string {VERSION\ Maple worksheet
  8599. >9 string >\0 version %.1s.
  8600. >>>11 string >\0 %.1s
  8601.  
  8602. # .mps
  8603. 0 string \0\0\001$ Maple something
  8604. # from byte 4 it is either 'nul E' or 'soh R'
  8605. # I think 'nul E' means a file that was saved as a different name
  8606. # a sort of revision marking
  8607. # 'soh R' means new
  8608. >4 string \000\105 An old revision
  8609. >4 string \001\122 The latest save
  8610.  
  8611. # .mpl
  8612. # some of these are the same as .mps above
  8613. #0000000 000 000 001 044 000 105 same as .mps
  8614. #0000000 000 000 001 044 001 122 same as .mps
  8615.  
  8616. 0 string #\n##\ <SHAREFILE= Maple something
  8617. 0 string \n#\n##\ <SHAREFILE= Maple something
  8618. 0 string ##\ <SHAREFILE= Maple something
  8619. 0 string #\r##\ <SHAREFILE= Maple something
  8620. 0 string \r#\r##\ <SHAREFILE= Maple something
  8621. 0 string #\ \r##\ <DESCRIBE> Maple something anomalous.
  8622.  
  8623. #------------------------------------------------------------------------------
  8624. # mathematica: file(1) magic for mathematica files
  8625. # "H. Nanosecond" <[email protected]>
  8626. # Mathematica a multi-purpose math program
  8627. # versions 2.2 and 3.0
  8628.  
  8629. #mathematica .mb
  8630. 0 string \064\024\012\000\035\000\000\000 Mathematica version 2 notebook
  8631. 0 string \064\024\011\000\035\000\000\000 Mathematica version 2 notebook
  8632.  
  8633. # .ma
  8634. # multiple possibilites:
  8635.  
  8636. 0 string (*^\n\n::[\011frontEndVersion\ =\ Mathematica notebook
  8637. #>41 string >\0 %s
  8638.  
  8639. #0 string (*^\n\n::[\011palette Mathematica notebook version 2.x
  8640.  
  8641. #0 string (*^\n\n::[\011Information Mathematica notebook version 2.x
  8642. #>675 string >\0 %s #doesn't work well
  8643.  
  8644. # there may be 'cr' instread of 'nl' in some does this matter?
  8645.  
  8646. # generic:
  8647. 0 string (*^\r\r::[\011 Mathematica notebook version 2.x
  8648. 0 string (*^\r\n\r\n::[\011 Mathematica notebook version 2.x
  8649. 0 string (*^\015 Mathematica notebook version 2.x
  8650. 0 string (*^\n\r\n\r::[\011 Mathematica notebook version 2.x
  8651. 0 string (*^\r::[\011 Mathematica notebook version 2.x
  8652. 0 string (*^\r\n::[\011 Mathematica notebook version 2.x
  8653. 0 string (*^\n\n::[\011 Mathematica notebook version 2.x
  8654. 0 string (*^\n::[\011 Mathematica notebook version 2.x
  8655.  
  8656.  
  8657. # Mathematica .mx files
  8658.  
  8659. #0 string (*This\ is\ a\ Mathematica\ binary\ dump\ file.\ It\ can\ be\ loaded\ with\ Get.*) Mathematica binary file
  8660. 0 string (*This\ is\ a\ Mathematica\ binary\ Mathematica binary file
  8661. #>71 string \000\010\010\010\010\000\000\000\000\000\000\010\100\010\000\000\000
  8662. # >71... is optional
  8663. >88 string >\0 from %s
  8664.  
  8665.  
  8666. # Mathematica files PBF:
  8667. # 115 115 101 120 102 106 000 001 000 000 000 203 000 001 000
  8668. 0 string MMAPBF\000\001\000\000\000\203\000\001\000 Mathematica PBF (fonts I think)
  8669.  
  8670. # .ml files These are menu resources I think
  8671. # these start with "[0-9][0-9][0-9]\ A~[0-9][0-9][0-9]\
  8672. # how to put that into a magic rule?
  8673. 4 string \ A~ MAthematica .ml file
  8674.  
  8675. # .nb files
  8676. #too long 0 string (***********************************************************************\n\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Mathematica-Compatible Notebook Mathematica 3.0 notebook
  8677. 0 string (*********************** Mathematica 3.0 notebook
  8678.  
  8679. # other (* matches it is a comment start in these langs
  8680. 0 string (* Mathematica, or Pascal, Modula-2 or 3 code text
  8681.  
  8682. #########################
  8683. # MatLab v5
  8684. 0 string MATLAB Matlab v5 mat-file
  8685. >126 short 0x494d (big endian)
  8686. >>124 beshort x version 0x%04x
  8687. >126 short 0x4d49 (little endian)
  8688. >>124 leshort x version 0x%04x
  8689.  
  8690.  
  8691. #------------------------------------------------------------------------------
  8692. # matroska: file(1) magic for Matroska files
  8693. #
  8694. # See http://www.matroska.org/
  8695. #
  8696.  
  8697. # EBML id:
  8698. 0 belong 0x1a45dfa3
  8699. # DocType id:
  8700. >5 beshort 0x4282
  8701. # DocType contents:
  8702. >>8 string matroska Matroska data
  8703.  
  8704. #------------------------------------------------------------------------------
  8705. # Mavroyanopoulos Nikos <[email protected]>
  8706. # mcrypt: file(1) magic for mcrypt 2.2.x;
  8707. 0 string \0m\3 mcrypt 2.5 encrypted data,
  8708. >4 string >\0 algorithm: %s,
  8709. >>&1 leshort >0 keysize: %d bytes,
  8710. >>>&0 string >\0 mode: %s,
  8711.  
  8712. 0 string \0m\2 mcrypt 2.2 encrypted data,
  8713. >3 byte 0 algorithm: blowfish-448,
  8714. >3 byte 1 algorithm: DES,
  8715. >3 byte 2 algorithm: 3DES,
  8716. >3 byte 3 algorithm: 3-WAY,
  8717. >3 byte 4 algorithm: GOST,
  8718. >3 byte 6 algorithm: SAFER-SK64,
  8719. >3 byte 7 algorithm: SAFER-SK128,
  8720. >3 byte 8 algorithm: CAST-128,
  8721. >3 byte 9 algorithm: xTEA,
  8722. >3 byte 10 algorithm: TWOFISH-128,
  8723. >3 byte 11 algorithm: RC2,
  8724. >3 byte 12 algorithm: TWOFISH-192,
  8725. >3 byte 13 algorithm: TWOFISH-256,
  8726. >3 byte 14 algorithm: blowfish-128,
  8727. >3 byte 15 algorithm: blowfish-192,
  8728. >3 byte 16 algorithm: blowfish-256,
  8729. >3 byte 100 algorithm: RC6,
  8730. >3 byte 101 algorithm: IDEA,
  8731. >4 byte 0 mode: CBC,
  8732. >4 byte 1 mode: ECB,
  8733. >4 byte 2 mode: CFB,
  8734. >4 byte 3 mode: OFB,
  8735. >4 byte 4 mode: nOFB,
  8736. >5 byte 0 keymode: 8bit
  8737. >5 byte 1 keymode: 4bit
  8738. >5 byte 2 keymode: SHA-1 hash
  8739. >5 byte 3 keymode: MD5 hash
  8740. #------------------------------------------------------------------------------
  8741. # mime: file(1) magic for MIME encoded files
  8742. #
  8743. 0 string Content-Type:\
  8744. >14 string >\0 %s
  8745. 0 string Content-Type:
  8746. >13 string >\0 %s
  8747.  
  8748. #------------------------------------------------------------------------------
  8749. # mips: file(1) magic for Silicon Graphics (MIPS, IRIS, IRIX, etc.)
  8750. # Dec Ultrix (MIPS)
  8751. # all of SGI's *current* machines and OSes run in big-endian mode on the
  8752. # MIPS machines, as far as I know.
  8753. #
  8754. # XXX - what is the blank "-" line?
  8755. #
  8756. # kbd file definitions
  8757. 0 string kbd!map kbd map file
  8758. >8 byte >0 Ver %d:
  8759. >10 short >0 with %d table(s)
  8760. 0 belong 0407 old SGI 68020 executable
  8761. 0 belong 0410 old SGI 68020 pure executable
  8762. 0 beshort 0x8765 disk quotas file
  8763. 0 beshort 0x0506 IRIS Showcase file
  8764. >2 byte 0x49 -
  8765. >3 byte x - version %ld
  8766. 0 beshort 0x0226 IRIS Showcase template
  8767. >2 byte 0x63 -
  8768. >3 byte x - version %ld
  8769. 0 belong 0x5343464d IRIS Showcase file
  8770. >4 byte x - version %ld
  8771. 0 belong 0x5443464d IRIS Showcase template
  8772. >4 byte x - version %ld
  8773. 0 belong 0xdeadbabe IRIX Parallel Arena
  8774. >8 belong >0 - version %ld
  8775. #
  8776. 0 beshort 0x0160 MIPSEB ECOFF executable
  8777. >20 beshort 0407 (impure)
  8778. >20 beshort 0410 (swapped)
  8779. >20 beshort 0413 (paged)
  8780. >8 belong >0 not stripped
  8781. >8 belong 0 stripped
  8782. >22 byte x - version %ld
  8783. >23 byte x .%ld
  8784. #
  8785. 0 beshort 0x0162 MIPSEL-BE ECOFF executable
  8786. >20 beshort 0407 (impure)
  8787. >20 beshort 0410 (swapped)
  8788. >20 beshort 0413 (paged)
  8789. >8 belong >0 not stripped
  8790. >8 belong 0 stripped
  8791. >23 byte x - version %d
  8792. >22 byte x .%ld
  8793. #
  8794. 0 beshort 0x6001 MIPSEB-LE ECOFF executable
  8795. >20 beshort 03401 (impure)
  8796. >20 beshort 04001 (swapped)
  8797. >20 beshort 05401 (paged)
  8798. >8 belong >0 not stripped
  8799. >8 belong 0 stripped
  8800. >23 byte x - version %d
  8801. >22 byte x .%ld
  8802. #
  8803. 0 beshort 0x6201 MIPSEL ECOFF executable
  8804. >20 beshort 03401 (impure)
  8805. >20 beshort 04001 (swapped)
  8806. >20 beshort 05401 (paged)
  8807. >8 belong >0 not stripped
  8808. >8 belong 0 stripped
  8809. >23 byte x - version %ld
  8810. >22 byte x .%ld
  8811. #
  8812. # MIPS 2 additions
  8813. #
  8814. 0 beshort 0x0163 MIPSEB MIPS-II ECOFF executable
  8815. >20 beshort 0407 (impure)
  8816. >20 beshort 0410 (swapped)
  8817. >20 beshort 0413 (paged)
  8818. >8 belong >0 not stripped
  8819. >8 belong 0 stripped
  8820. >22 byte x - version %ld
  8821. >23 byte x .%ld
  8822. #
  8823. 0 beshort 0x0166 MIPSEL-BE MIPS-II ECOFF executable
  8824. >20 beshort 0407 (impure)
  8825. >20 beshort 0410 (swapped)
  8826. >20 beshort 0413 (paged)
  8827. >8 belong >0 not stripped
  8828. >8 belong 0 stripped
  8829. >22 byte x - version %ld
  8830. >23 byte x .%ld
  8831. #
  8832. 0 beshort 0x6301 MIPSEB-LE MIPS-II ECOFF executable
  8833. >20 beshort 03401 (impure)
  8834. >20 beshort 04001 (swapped)
  8835. >20 beshort 05401 (paged)
  8836. >8 belong >0 not stripped
  8837. >8 belong 0 stripped
  8838. >23 byte x - version %ld
  8839. >22 byte x .%ld
  8840. #
  8841. 0 beshort 0x6601 MIPSEL MIPS-II ECOFF executable
  8842. >20 beshort 03401 (impure)
  8843. >20 beshort 04001 (swapped)
  8844. >20 beshort 05401 (paged)
  8845. >8 belong >0 not stripped
  8846. >8 belong 0 stripped
  8847. >23 byte x - version %ld
  8848. >22 byte x .%ld
  8849. #
  8850. # MIPS 3 additions
  8851. #
  8852. 0 beshort 0x0140 MIPSEB MIPS-III ECOFF executable
  8853. >20 beshort 0407 (impure)
  8854. >20 beshort 0410 (swapped)
  8855. >20 beshort 0413 (paged)
  8856. >8 belong >0 not stripped
  8857. >8 belong 0 stripped
  8858. >22 byte x - version %ld
  8859. >23 byte x .%ld
  8860. #
  8861. 0 beshort 0x0142 MIPSEL-BE MIPS-III ECOFF executable
  8862. >20 beshort 0407 (impure)
  8863. >20 beshort 0410 (swapped)
  8864. >20 beshort 0413 (paged)
  8865. >8 belong >0 not stripped
  8866. >8 belong 0 stripped
  8867. >22 byte x - version %ld
  8868. >23 byte x .%ld
  8869. #
  8870. 0 beshort 0x4001 MIPSEB-LE MIPS-III ECOFF executable
  8871. >20 beshort 03401 (impure)
  8872. >20 beshort 04001 (swapped)
  8873. >20 beshort 05401 (paged)
  8874. >8 belong >0 not stripped
  8875. >8 belong 0 stripped
  8876. >23 byte x - version %ld
  8877. >22 byte x .%ld
  8878. #
  8879. 0 beshort 0x4201 MIPSEL MIPS-III ECOFF executable
  8880. >20 beshort 03401 (impure)
  8881. >20 beshort 04001 (swapped)
  8882. >20 beshort 05401 (paged)
  8883. >8 belong >0 not stripped
  8884. >8 belong 0 stripped
  8885. >23 byte x - version %ld
  8886. >22 byte x .%ld
  8887. #
  8888. 0 beshort 0x180 MIPSEB Ucode
  8889. 0 beshort 0x182 MIPSEL-BE Ucode
  8890. # 32bit core file
  8891. 0 belong 0xdeadadb0 IRIX core dump
  8892. >4 belong 1 of
  8893. >16 string >\0 '%s'
  8894. # 64bit core file
  8895. 0 belong 0xdeadad40 IRIX 64-bit core dump
  8896. >4 belong 1 of
  8897. >16 string >\0 '%s'
  8898. # N32bit core file
  8899. 0 belong 0xbabec0bb IRIX N32 core dump
  8900. >4 belong 1 of
  8901. >16 string >\0 '%s'
  8902. # New style crash dump file
  8903. 0 string \x43\x72\x73\x68\x44\x75\x6d\x70 IRIX vmcore dump of
  8904. >36 string >\0 '%s'
  8905. # Trusted IRIX info
  8906. 0 string SGIAUDIT SGI Audit file
  8907. >8 byte x - version %d
  8908. >9 byte x .%ld
  8909. #
  8910. 0 string WNGZWZSC Wingz compiled script
  8911. 0 string WNGZWZSS Wingz spreadsheet
  8912. 0 string WNGZWZHP Wingz help file
  8913. #
  8914. 0 string #Inventor V IRIS Inventor 1.0 file
  8915. 0 string #Inventor V2 Open Inventor 2.0 file
  8916. # GLF is OpenGL stream encoding
  8917. 0 string glfHeadMagic(); GLF_TEXT
  8918. 4 belong 0x7d000000 GLF_BINARY_LSB_FIRST
  8919. 4 belong 0x0000007d GLF_BINARY_MSB_FIRST
  8920. # GLS is OpenGL stream encoding; GLS is the successor of GLF
  8921. 0 string glsBeginGLS( GLS_TEXT
  8922. 4 belong 0x10000000 GLS_BINARY_LSB_FIRST
  8923. 4 belong 0x00000010 GLS_BINARY_MSB_FIRST
  8924.  
  8925. #------------------------------------------------------------------------------
  8926. # mirage: file(1) magic for Mirage executables
  8927. #
  8928. # XXX - byte order?
  8929. #
  8930. 0 long 31415 Mirage Assembler m.out executable
  8931. #-----------------------------------------------------------------------------
  8932. # misctools: file(1) magic for miscelanous UNIX tools.
  8933. #
  8934. 0 string %%!! X-Post-It-Note text
  8935. 0 string/c BEGIN:VCALENDAR vCalendar calendar file
  8936. 0 string/c BEGIN:VCARD vCard visiting card
  8937.  
  8938. # From: Alex Beregszaszi <[email protected]>
  8939. 4 string gtktalog GNOME Catalogue (gtktalog)
  8940. >13 string >\0 version %s
  8941.  
  8942. # From: Tomasz Trojanowski <[email protected]>
  8943. 0 search/80 .la\ -\ a\ libtool\ library\ file libtool library file
  8944.  
  8945. #------------------------------------------------------------------------------
  8946. # mkid: file(1) magic for mkid(1) databases
  8947. #
  8948. # ID is the binary tags database produced by mkid(1).
  8949. #
  8950. # XXX - byte order?
  8951. #
  8952. 0 string \311\304 ID tags data
  8953. >2 short >0 version %d
  8954.  
  8955. #------------------------------------------------------------------------------
  8956. # mlssa: file(1) magic for MLSSA datafiles
  8957. #
  8958. 0 lelong 0xffffabcd MLSSA datafile,
  8959. >4 leshort x algorithm %d,
  8960. >10 lelong x %d samples
  8961.  
  8962. #------------------------------------------------------------------------------
  8963. # mmdf: file(1) magic for MMDF mail files
  8964. #
  8965. 0 string \001\001\001\001 MMDF mailbox
  8966. #------------------------------------------------------------------------------
  8967. # modem: file(1) magic for modem programs
  8968. #
  8969. # From: Florian La Roche <[email protected]>
  8970. 4 string Research, Digifax-G3-File
  8971. >29 byte 1 , fine resolution
  8972. >29 byte 0 , normal resolution
  8973.  
  8974. 0 short 0x0100 raw G3 data, byte-padded
  8975. 0 short 0x1400 raw G3 data
  8976. #
  8977. # Magic data for vgetty voice formats
  8978. # (Martin Seine & Marc Eberhard)
  8979.  
  8980. #
  8981. # raw modem data version 1
  8982. #
  8983. 0 string RMD1 raw modem data
  8984. >4 string >\0 (%s /
  8985. >20 short >0 compression type 0x%04x)
  8986.  
  8987. #
  8988. # portable voice format 1
  8989. #
  8990. 0 string PVF1\n portable voice format
  8991. >5 string >\0 (binary %s)
  8992.  
  8993. #
  8994. # portable voice format 2
  8995. #
  8996. 0 string PVF2\n portable voice format
  8997. >5 string >\0 (ascii %s)
  8998.  
  8999.  
  9000. #------------------------------------------------------------------------------
  9001. # motorola: file(1) magic for Motorola 68K and 88K binaries
  9002. #
  9003. # 68K
  9004. #
  9005. 0 beshort 0520 mc68k COFF
  9006. >18 beshort ^00000020 object
  9007. >18 beshort &00000020 executable
  9008. >12 belong >0 not stripped
  9009. >168 string .lowmem Apple toolbox
  9010. >20 beshort 0407 (impure)
  9011. >20 beshort 0410 (pure)
  9012. >20 beshort 0413 (demand paged)
  9013. >20 beshort 0421 (standalone)
  9014. 0 beshort 0521 mc68k executable (shared)
  9015. >12 belong >0 not stripped
  9016. 0 beshort 0522 mc68k executable (shared demand paged)
  9017. >12 belong >0 not stripped
  9018. #
  9019. # Motorola/UniSoft 68K Binary Compatibility Standard (BCS)
  9020. #
  9021. 0 beshort 0554 68K BCS executable
  9022. #
  9023. # 88K
  9024. #
  9025. # Motorola/88Open BCS
  9026. #
  9027. 0 beshort 0555 88K BCS executable
  9028. #
  9029. # Motorola S-Records, from Gerd Truschinski <[email protected]>
  9030. 0 string S0 Motorola S-Record; binary data in text format
  9031.  
  9032. # ATARI ST relocatable PRG
  9033. #
  9034. # from Oskar Schirmer <[email protected]> Feb 3, 2001
  9035. # (according to Roland Waldi, Oct 21, 1987)
  9036. # besides the magic 0x601a, the text segment size is checked to be
  9037. # not larger than 1 MB (which is a lot on ST).
  9038. # The additional 0x601b distinction I took from Doug Lee's magic.
  9039. 0 belong&0xFFFFFFF0 0x601A0000 Atari ST M68K contiguous executable
  9040. >2 belong x (txt=%ld,
  9041. >6 belong x dat=%ld,
  9042. >10 belong x bss=%ld,
  9043. >14 belong x sym=%ld)
  9044. 0 belong&0xFFFFFFF0 0x601B0000 Atari ST M68K non-contig executable
  9045. >2 belong x (txt=%ld,
  9046. >6 belong x dat=%ld,
  9047. >10 belong x bss=%ld,
  9048. >14 belong x sym=%ld)
  9049.  
  9050. # Atari ST/TT... program format (sent by Wolfram Kleff <[email protected]>)
  9051. 0 beshort 0x601A Atari 68xxx executable,
  9052. >2 belong x text len %lu,
  9053. >6 belong x data len %lu,
  9054. >10 belong x BSS len %lu,
  9055. >14 belong x symboltab len %lu,
  9056. >18 belong 0
  9057. >22 belong &0x01 fastload flag,
  9058. >22 belong &0x02 may be loaded to alternate RAM,
  9059. >22 belong &0x04 malloc may be from alternate RAM,
  9060. >22 belong x flags: 0x%lX,
  9061. >26 beshort 0 no relocation tab
  9062. >26 beshort !0 + relocation tab
  9063. >30 string SFX [Self-Extracting LZH SFX archive]
  9064. >38 string SFX [Self-Extracting LZH SFX archive]
  9065. >44 string ZIP! [Self-Extracting ZIP SFX archive]
  9066.  
  9067. 0 beshort 0x0064 Atari 68xxx CPX file
  9068. >8 beshort x (version %04lx)
  9069.  
  9070. #------------------------------------------------------------------------------
  9071. # msdos: file(1) magic for MS-DOS files
  9072. #
  9073.  
  9074. # .BAT files (Daniel Quinlan, [email protected])
  9075. # updated by Joerg Jenderek
  9076. 0 string @
  9077. >1 string/cB \ echo\ off MS-DOS batch file text
  9078. >1 string/cB echo\ off MS-DOS batch file text
  9079. >1 string/cB rem\ MS-DOS batch file text
  9080. >1 string/cB set\ MS-DOS batch file text
  9081.  
  9082.  
  9083. # OS/2 batch files are REXX. the second regex is a bit generic, oh well
  9084. # the matched commands seem to be common in REXX and uncommon elsewhere
  9085. 100 regex/c =^[\ \t]{0,10}call[\ \t]{1,10}rxfunc OS/2 REXX batch file text
  9086. 100 regex/c =^[\ \t]{0,10}say\ ['"] OS/2 REXX batch file text
  9087.  
  9088. 0 leshort 0x14c MS Windows COFF Intel 80386 object file
  9089. #>4 ledate x stamp %s
  9090. 0 leshort 0x166 MS Windows COFF MIPS R4000 object file
  9091. #>4 ledate x stamp %s
  9092. 0 leshort 0x184 MS Windows COFF Alpha object file
  9093. #>4 ledate x stamp %s
  9094. 0 leshort 0x268 MS Windows COFF Motorola 68000 object file
  9095. #>4 ledate x stamp %s
  9096. 0 leshort 0x1f0 MS Windows COFF PowerPC object file
  9097. #>4 ledate x stamp %s
  9098. 0 leshort 0x290 MS Windows COFF PA-RISC object file
  9099. #>4 ledate x stamp %s
  9100.  
  9101. # XXX - according to Microsoft's spec, at an offset of 0x3c in a
  9102. # PE-format executable is the offset in the file of the PE header;
  9103. # unfortunately, that's a little-endian offset, and there's no way
  9104. # to specify an indirect offset with a specified byte order.
  9105. # So, for now, we assume the standard MS-DOS stub, which puts the
  9106. # PE header at 0x80 = 128.
  9107. #
  9108. # Required OS version and subsystem version were 4.0 on some NT 3.51
  9109. # executables built with Visual C++ 4.0, so it's not clear that
  9110. # they're interesting. The user version was 0.0, but there's
  9111. # probably some linker directive to set it. The linker version was
  9112. # 3.0, except for one ".exe" which had it as 4.20 (same damn linker!).
  9113. #
  9114. # many of the compressed formats were extraced from IDARC 1.23 source code
  9115. #
  9116. 0 string MZ MS-DOS executable
  9117. >0 string MZ\0\0\0\0\0\0\0\0\0\0PE\0\0 \b, PE for MS Windows
  9118. >>&18 leshort&0x2000 >0 (DLL)
  9119. >>&88 leshort 0 (unknown subsystem)
  9120. >>&88 leshort 1 (native)
  9121. >>&88 leshort 2 (GUI)
  9122. >>&88 leshort 3 (console)
  9123. >>&88 leshort 7 (POSIX)
  9124. >>&0 leshort 0x0 unknown processor
  9125. >>&0 leshort 0x14c Intel 80386
  9126. >>&0 leshort 0x166 MIPS R4000
  9127. >>&0 leshort 0x184 Alpha
  9128. >>&0 leshort 0x268 Motorola 68000
  9129. >>&0 leshort 0x1f0 PowerPC
  9130. >>&0 leshort 0x290 PA-RISC
  9131. >>&18 leshort&0x0100 >0 32-bit
  9132. >>&18 leshort&0x1000 >0 system file
  9133. >>&0xf4 search/0x140 \x0\x40\x1\x0
  9134. >>>(&0.l+(4)) string MSCF \b, WinHKI CAB self-extracting archive
  9135.  
  9136. >0x18 leshort >0x3f
  9137. >>(0x3c.l) string PE\0\0 PE
  9138. # hooray, there's a DOS extender using the PE format, with a valid PE
  9139. # executable inside (which just prints a message and exits if run in win)
  9140. >>>(8.s*16) string 32STUB for MS-DOS, 32rtm DOS extender
  9141. >>>(8.s*16) string !32STUB for MS Windows
  9142. >>>>(0x3c.l+22) leshort&0x2000 >0 (DLL)
  9143. >>>>(0x3c.l+92) leshort 0 (unknown subsystem)
  9144. >>>>(0x3c.l+92) leshort 1 (native)
  9145. >>>>(0x3c.l+92) leshort 2 (GUI)
  9146. >>>>(0x3c.l+92) leshort 3 (console)
  9147. >>>>(0x3c.l+92) leshort 7 (POSIX)
  9148. >>>>(0x3c.l+4) leshort 0x0 unknown processor
  9149. >>>>(0x3c.l+4) leshort 0x14c Intel 80386
  9150. >>>>(0x3c.l+4) leshort 0x166 MIPS R4000
  9151. >>>>(0x3c.l+4) leshort 0x184 Alpha
  9152. >>>>(0x3c.l+4) leshort 0x268 Motorola 68000
  9153. >>>>(0x3c.l+4) leshort 0x1f0 PowerPC
  9154. >>>>(0x3c.l+4) leshort 0x290 PA-RISC
  9155. >>>>(0x3c.l+22) leshort&0x0100 >0 32-bit
  9156. >>>>(0x3c.l+22) leshort&0x1000 >0 system file
  9157. >>>>(0x3c.l+232) lelong >0 Mono/.Net assembly
  9158.  
  9159. >>>>(0x3c.l+0xf8) string UPX0 \b, UPX compressed
  9160. >>>>(0x3c.l+0xf8) search/0x140 PEC2 \b, PECompact2 compressed
  9161. >>>>(0x3c.l+0xf8) search/0x140 UPX2
  9162. >>>>>(&0x10.l+(-4)) string PK\3\4 \b, ZIP self-extracting archive (Info-Zip)
  9163. >>>>(0x3c.l+0xf8) search/0x140 .idata
  9164. >>>>>(&0xe.l+(-4)) string PK\3\4 \b, ZIP self-extracting archive (Info-Zip)
  9165. >>>>>(&0xe.l+(-4)) string ZZ0 \b, ZZip self-extracting archive
  9166. >>>>>(&0xe.l+(-4)) string ZZ1 \b, ZZip self-extracting archive
  9167. >>>>(0x3c.l+0xf8) search/0x140 .rsrc
  9168. >>>>>(&0x0f.l+(-4)) string a\\\4\5 \b, WinHKI self-extracting archive
  9169. >>>>>(&0x0f.l+(-4)) string Rar! \b, RAR self-extracting archive
  9170. >>>>>(&0x0f.l+(-4)) search/0x3000 MSCF \b, InstallShield self-extracting archive
  9171. >>>>>(&0x0f.l+(-4)) search/32 Nullsoft \b, Nullsoft Installer self-extracting archive
  9172. >>>>(0x3c.l+0xf8) search/0x140 .data
  9173. >>>>>(&0x0f.l) string WEXTRACT \b, MS CAB-Installer self-extracting archive
  9174. >>>>(0x3c.l+0xf8) search/0x140 .petite\0 \b, Petite compressed
  9175. >>>>>(0x3c.l+0xf7) byte x
  9176. >>>>>>(&0x104.l+(-4)) string =!sfx! \b, ACE self-extracting archive
  9177. >>>>(0x3c.l+0xf8) search/0x140 .WISE \b, WISE installer self-extracting archive
  9178. >>>>(0x3c.l+0xf8) search/0x140 .dz\0\0\0 \b, Dzip self-extracting archive
  9179. >>>>(0x3c.l+0xf8) search/0x140 .reloc
  9180. >>>>>(&0xe.l+(-4)) search/0x180 PK\3\4 \b, ZIP self-extracting archive (WinZip)
  9181.  
  9182. >>>>&(0x3c.l+0xf8) search/0x100 _winzip_ \b, ZIP self-extracting archive (WinZip)
  9183. >>>>&(0x3c.l+0xf8) search/0x100 SharedD \b, Microsoft Installer self-extracting archive
  9184. >>>>0x30 string Inno \b, InnoSetup self-extracting archive
  9185.  
  9186. >>(0x3c.l) string NE \b, NE
  9187. >>>(0x3c.l+0x36) byte 0 (unknown OS)
  9188. >>>(0x3c.l+0x36) byte 1 for OS/2 1.x
  9189. >>>(0x3c.l+0x36) byte 2 for MS Windows 3.x
  9190. >>>(0x3c.l+0x36) byte 3 for MS-DOS
  9191. >>>(0x3c.l+0x36) byte >3 (unknown OS)
  9192. >>>(0x3c.l+0x36) byte 0x81 for MS-DOS, Phar Lap DOS extender
  9193. >>>(0x3c.l+0x0c) leshort&0x8003 0x8002 (DLL)
  9194. >>>(0x3c.l+0x0c) leshort&0x8003 0x8001 (driver)
  9195. >>>&(&0x24.s-1) string ARJSFX \b, ARJ self-extracting archive
  9196. >>>(0x3c.l+0x70) search/0x80 WinZip(R)\ Self-Extractor \b, ZIP self-extracting archive (WinZip)
  9197.  
  9198. >>(0x3c.l) string LX\0\0 \b, LX
  9199. >>>(0x3c.l+0x0a) leshort <1 (unknown OS)
  9200. >>>(0x3c.l+0x0a) leshort 1 for OS/2
  9201. >>>(0x3c.l+0x0a) leshort 2 for MS Windows
  9202. >>>(0x3c.l+0x0a) leshort 3 for DOS
  9203. >>>(0x3c.l+0x0a) leshort >3 (unknown OS)
  9204. >>>(0x3c.l+0x10) lelong&0x28000 =0x8000 (DLL)
  9205. >>>(0x3c.l+0x10) lelong&0x20000 >0 (device driver)
  9206. >>>(0x3c.l+0x10) lelong&0x300 0x300 (GUI)
  9207. >>>(0x3c.l+0x10) lelong&0x28300 <0x300 (console)
  9208. >>>(0x3c.l+0x08) leshort 1 i80286
  9209. >>>(0x3c.l+0x08) leshort 2 i80386
  9210. >>>(0x3c.l+0x08) leshort 3 i80486
  9211. >>>(8.s*16) string emx \b, emx
  9212. >>>>&1 string x %s
  9213. >>>&(&0x54.l-3) string arjsfx \b, ARJ self-extracting archive
  9214.  
  9215. # MS Windows system file, supposedly a collection of LE executables
  9216. >>(0x3c.l) string W3 \b, W3 for MS Windows
  9217.  
  9218. >>(0x3c.l) string LE\0\0 \b, LE executable
  9219. >>>(0x3c.l+0x0a) leshort 1
  9220. # some DOS extenders use LE files with OS/2 header
  9221. >>>>0x240 search/0x100 DOS/4G for MS-DOS, DOS4GW DOS extender
  9222. >>>>0x240 search/0x200 WATCOM\ C/C++ for MS-DOS, DOS4GW DOS extender
  9223. >>>>0x440 search/0x100 CauseWay\ DOS\ Extender for MS-DOS, CauseWay DOS extender
  9224. >>>>0x40 search/0x40 PMODE/W for MS-DOS, PMODE/W DOS extender
  9225. >>>>0x40 search/0x40 STUB/32A for MS-DOS, DOS/32A DOS extender (stub)
  9226. >>>>0x40 search/0x80 STUB/32C for MS-DOS, DOS/32A DOS extender (configurable stub)
  9227. >>>>0x40 search/0x80 DOS/32A for MS-DOS, DOS/32A DOS extender (embedded)
  9228. # this is a wild guess; hopefully it is a specific signature
  9229. >>>>&0x24 lelong <0x50
  9230. >>>>>(&0x4c.l) string \xfc\xb8WATCOM
  9231. >>>>>>&0 search/8 3\xdbf\xb9 \b, 32Lite compressed
  9232. # another wild guess: if real OS/2 LE executables exist, they probably have higher start EIP
  9233. #>>>>(0x3c.l+0x1c) lelong >0x10000 for OS/2
  9234. # fails with DOS-Extenders.
  9235. >>>(0x3c.l+0x0a) leshort 2 for MS Windows
  9236. >>>(0x3c.l+0x0a) leshort 3 for DOS
  9237. >>>(0x3c.l+0x0a) leshort 4 for MS Windows (VxD)
  9238. >>>(&0x7c.l+0x26) string UPX \b, UPX compressed
  9239. >>>&(&0x54.l-3) string UNACE \b, ACE self-extracting archive
  9240.  
  9241. # looks like ASCII, probably some embedded copyright message.
  9242. # and definitely not NE/LE/LX/PE
  9243. >>0x3c lelong >0x20000000
  9244. >>>(4.s*512) leshort !0x014c \b, MZ for MS-DOS
  9245. # header data too small for extended executable
  9246. >2 long !0
  9247. >>0x18 leshort <0x40
  9248. >>>(4.s*512) leshort !0x014c
  9249.  
  9250. >>>>&(2.s-514) string !LE
  9251. >>>>>&-2 string !BW \b, MZ for MS-DOS
  9252. >>>>&(2.s-514) string LE \b, LE
  9253. >>>>>0x240 search/0x100 DOS/4G for MS-DOS, DOS4GW DOS extender
  9254. # educated guess since indirection is still not capable enough for complex offset
  9255. # calculations (next embedded executable would be at &(&2*512+&0-2)
  9256. # I suspect there are only LE executables in these multi-exe files
  9257. >>>>&(2.s-514) string BW
  9258. >>>>>0x240 search/0x100 DOS/4G ,\b LE for MS-DOS, DOS4GW DOS extender (embedded)
  9259. >>>>>0x240 search/0x100 !DOS/4G ,\b BW collection for MS-DOS
  9260.  
  9261. # This sequence skips to the first COFF segment, usually .text
  9262. >(4.s*512) leshort 0x014c \b, COFF
  9263. >>(8.s*16) string go32stub for MS-DOS, DJGPP go32 DOS extender
  9264. >>(8.s*16) string emx
  9265. >>>&1 string x for DOS, Win or OS/2, emx %s
  9266. >>&(&0x42.l-3) byte x
  9267. >>>&0x26 string UPX \b, UPX compressed
  9268. # and yet another guess: small .text, and after large .data is unusal, could be 32lite
  9269. >>&0x2c search/0xa0 .text
  9270. >>>&0x0b lelong <0x2000
  9271. >>>>&0 lelong >0x6000 \b, 32lite compressed
  9272.  
  9273. >(8.s*16) string $WdX \b, WDos/X DOS extender
  9274.  
  9275. # .EXE formats (Greg Roelofs, [email protected])
  9276. #
  9277. >0x35 string \x8e\xc0\xb9\x08\x00\xf3\xa5\x4a\x75\xeb\x8e\xc3\x8e\xd8\x33\xff\xbe\x30\x00\x05 \b, aPack compressed
  9278. >0xe7 string LH/2\ Self-Extract \b, %s
  9279. >0x1c string diet \b, diet compressed
  9280. >0x1c string LZ09 \b, LZEXE v0.90 compressed
  9281. >0x1c string LZ91 \b, LZEXE v0.91 compressed
  9282. >0x1c string tz \b, TinyProg compressed
  9283. >0x1e string PKLITE \b, %s compressed
  9284. >0x64 string W\ Collis\0\0 \b, Compack compressed
  9285. >0x24 string LHa's\ SFX \b, LHa self-extracting archive
  9286. >0x24 string LHA's\ SFX \b, LHa self-extracting archive
  9287. >0x24 string \ $ARX \b, ARX self-extracting archive
  9288. >0x24 string \ $LHarc \b, LHarc self-extracting archive
  9289. >0x20 string SFX\ by\ LARC \b, LARC self-extracting archive
  9290. >1638 string -lh5- \b, LHa self-extracting archive v2.13S
  9291. >0x17888 string Rar! \b, RAR self-extracting archive
  9292. >0x40 string aPKG \b, aPackage self-extracting archive
  9293.  
  9294. >32 string AIN
  9295. >>35 string 2 \b, AIN 2.x compressed
  9296. >>35 string <2 \b, AIN 1.x compressed
  9297. >>35 string >2 \b, AIN 1.x compressed
  9298. >28 string UC2X \b, UCEXE compressed
  9299. >28 string WWP\ \b, WWPACK compressed
  9300.  
  9301. # skip to the end of the exe
  9302. >(4.s*512) long x
  9303. >>&(2.s-517) byte x
  9304. >>>&0 string PK\3\4 \b, ZIP self-extracting archive
  9305. >>>&0 string Rar! \b, RAR self-extracting archive
  9306. >>>&0 string =!\x11 \b, AIN 2.x self-extracting archive
  9307. >>>&0 string =!\x12 \b, AIN 2.x self-extracting archive
  9308. >>>&0 string =!\x17 \b, AIN 1.x self-extracting archive
  9309. >>>&0 string =!\x18 \b, AIN 1.x self-extracting archive
  9310. >>>&7 search/400 **ACE** \b, ACE self-extracting archive
  9311. >>>&0 search/0x480 UC2SFX\ Header \b, UC2 self-extracting archive
  9312.  
  9313. >0x1c string RJSX \b, ARJ self-extracting archive
  9314. # winarj stores a message in the stub instead of the sig in the MZ header
  9315. >0x20 search/0xe0 aRJsfX \b, ARJ self-extracting archive
  9316.  
  9317. # a few unknown ZIP sfxes, no idea if they are needed or if they are
  9318. # already captured by the generic patterns above
  9319. >122 string Windows\ self-extracting\ ZIP \b, ZIP self-extracting archive
  9320. >(8.s*16) search/0x20 PKSFX \b, ZIP self-extracting archive (PKZIP)
  9321. # TODO: how to add this? >FileSize-34 string Windows\ Self-Installing\ Executable \b, ZIP self-extracting archive
  9322. #
  9323.  
  9324. # TELVOX Teleinformatica CODEC self-extractor for OS/2:
  9325. >49801 string \x79\xff\x80\xff\x76\xff \b, CODEC archive v3.21
  9326. >>49824 leshort =1 \b, 1 file
  9327. >>49824 leshort >1 \b, %u files
  9328.  
  9329. # .COM formats (Daniel Quinlan, [email protected])
  9330. # Uncommenting only the first two lines will cover about 2/3 of COM files,
  9331. # but it isn't feasible to match all COM files since there must be at least
  9332. # two dozen different one-byte "magics".
  9333. 0 byte 0xe9 DOS executable (COM)
  9334. >0x1FE leshort 0xAA55 \b, boot code
  9335. >6 string SFX\ of\ LHarc (%s)
  9336. 0 belong 0xffffffff DOS executable (device driver)
  9337. #CMD640X2.SYS
  9338. >10 string >\x23
  9339. >>10 string !\x2e
  9340. >>>17 string <\x5B
  9341. >>>>10 string x \b, name: %.8s
  9342. #UDMA.SYS KEYB.SYS CMD640X2.SYS
  9343. >10 string <\x41
  9344. >>12 string >\x40
  9345. >>>10 string !$
  9346. >>>>12 string x \b, name: %.8s
  9347. #BTCDROM.SYS ASPICD.SYS
  9348. >22 string >\x40
  9349. >>22 string <\x5B
  9350. >>>23 string <\x5B
  9351. >>>>22 string x \b, name: %.8s
  9352. #ATAPICD.SYS
  9353. >76 string \0
  9354. >>77 string >\x40
  9355. >>>77 string <\x5B
  9356. >>>>77 string x \b, name: %.8s
  9357. 0 byte 0x8c DOS executable (COM)
  9358. # 0xeb conflicts with "sequent" magic
  9359. 0 byte 0xeb DOS executable (COM)
  9360. >0x1FE leshort 0xAA55 \b, boot code
  9361. >85 string UPX \b, UPX compressed
  9362. >4 string \ $ARX \b, ARX self-extracting archive
  9363. >4 string \ $LHarc \b, LHarc self-extracting archive
  9364. >0x20e string SFX\ by\ LARC \b, LARC self-extracting archive
  9365. 0 byte 0xb8 COM executable
  9366. # modified by Joerg Jenderek
  9367. >1 lelong !0x21cd4cff for DOS
  9368. # http://syslinux.zytor.com/comboot.php
  9369. # (32-bit COMBOOT) programs *.C32 contain 32-bit code and run in flat-memory 32-bit protected mode
  9370. # start with assembler instructions mov eax,21cd4cffh
  9371. >1 lelong 0x21cd4cff (32-bit COMBOOT)
  9372. 0 string \x81\xfc
  9373. >4 string \x77\x02\xcd\x20\xb9
  9374. >>36 string UPX! FREE-DOS executable (COM), UPX compressed
  9375. 252 string Must\ have\ DOS\ version DR-DOS executable (COM)
  9376. # GRR search is not working
  9377. #2 search/28 \xcd\x21 COM executable for MS-DOS
  9378. #WHICHFAT.cOM
  9379. 2 string \xcd\x21 COM executable for DOS
  9380. #DELTREE.cOM DELTREE2.cOM
  9381. 4 string \xcd\x21 COM executable for DOS
  9382. #IFMEMDSK.cOM ASSIGN.cOM COMP.cOM
  9383. 5 string \xcd\x21 COM executable for DOS
  9384. #DELTMP.COm HASFAT32.cOM
  9385. 7 string \xcd\x21
  9386. >0 byte !0xb8 COM executable for DOS
  9387. #COMP.cOM MORE.COm
  9388. 10 string \xcd\x21
  9389. >5 string !\xcd\x21 COM executable for DOS
  9390. #comecho.com
  9391. 13 string \xcd\x21 COM executable for DOS
  9392. #HELP.COm EDIT.coM
  9393. 18 string \xcd\x21 COM executable for MS-DOS
  9394. #NWRPLTRM.COm
  9395. 23 string \xcd\x21 COM executable for MS-DOS
  9396. #LOADFIX.cOm LOADFIX.cOm
  9397. 30 string \xcd\x21 COM executable for MS-DOS
  9398. #syslinux.com 3.11
  9399. 70 string \xcd\x21 COM executable for DOS
  9400. # many compressed/converted COMs start with a copy loop instead of a jump
  9401. 0x6 search/0xa \xfc\x57\xf3\xa5\xc3 COM executable for MS-DOS
  9402. 0x6 search/0xa \xfc\x57\xf3\xa4\xc3 COM executable for DOS
  9403. >0x18 search/0x10 \x50\xa4\xff\xd5\x73 \b, aPack compressed
  9404. 0x3c string W\ Collis\0\0 COM executable for MS-DOS, Compack compressed
  9405. # FIXME: missing diet .com compression
  9406.  
  9407. # miscellaneous formats
  9408. 0 string LZ MS-DOS executable (built-in)
  9409. #0 byte 0xf0 MS-DOS program library data
  9410. #
  9411.  
  9412. #
  9413. # Windows Registry files.
  9414. # updated by Joerg Jenderek
  9415. 0 string regf Windows NT/XP registry file
  9416. 0 string CREG Windows 95/98/ME registry file
  9417. 0 string SHCC3 Windows 3.1 registry file
  9418.  
  9419.  
  9420. # AAF files:
  9421. # <[email protected]> Stuart Cunningham
  9422. 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
  9423. >30 byte 9 (512B sectors)
  9424. >30 byte 12 (4kB sectors)
  9425. 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
  9426. >30 byte 9 (512B sectors)
  9427. >30 byte 12 (4kB sectors)
  9428.  
  9429. # Popular applications
  9430. 2080 string Microsoft\ Word\ 6.0\ Document %s
  9431. 2080 string Documento\ Microsoft\ Word\ 6 Spanish Microsoft Word 6 document data
  9432. # Pawel Wiecek <[email protected]> (for polish Word)
  9433. 2112 string MSWordDoc Microsoft Word document data
  9434. #
  9435. 0 belong 0x31be0000 Microsoft Word Document
  9436. #
  9437. 0 string PO^Q` Microsoft Word 6.0 Document
  9438. #
  9439. 0 string \376\067\0\043 Microsoft Office Document
  9440. 0 string \333\245-\0\0\0 Microsoft Office Document
  9441. #
  9442. 2080 string Microsoft\ Excel\ 5.0\ Worksheet %s
  9443. 2080 string Foglio\ di\ lavoro\ Microsoft\ Exce %s
  9444. #
  9445. # Pawel Wiecek <[email protected]> (for polish Excel)
  9446. 2114 string Biff5 Microsoft Excel 5.0 Worksheet
  9447. # Italian MS-Excel
  9448. 2121 string Biff5 Microsoft Excel 5.0 Worksheet
  9449. 0 string \x09\x04\x06\x00\x00\x00\x10\x00 Microsoft Excel Worksheet
  9450. #
  9451. 0 belong 0x00001a00 Lotus 1-2-3
  9452. >4 belong 0x00100400 wk3 document data
  9453. >4 belong 0x02100400 wk4 document data
  9454. >4 belong 0x07800100 fm3 or fmb document data
  9455. >4 belong 0x07800000 fm3 or fmb document data
  9456. #
  9457. 0 belong 0x00000200 Lotus 1-2-3
  9458. >4 belong 0x06040600 wk1 document data
  9459. >4 belong 0x06800200 fmt document data
  9460.  
  9461. # Help files
  9462. 0 string ?_\3\0 MS Windows Help Data
  9463.  
  9464. # DeIsL1.isu what this is I don't know
  9465. 0 string \161\250\000\000\001\002 DeIsL1.isu whatever that is
  9466.  
  9467. # Winamp .avs
  9468. #0 string Nullsoft\ AVS\ Preset\ \060\056\061\032 A plug in for Winamp ms-windows Freeware media player
  9469. 0 string Nullsoft\ AVS\ Preset\ Winamp plug in
  9470.  
  9471. # Hyper terminal:
  9472. 0 string HyperTerminal\ hyperterm
  9473. >15 string 1.0\ --\ HyperTerminal\ data\ file MS-windows Hyperterminal
  9474.  
  9475. # Windows Metafont .WMF
  9476. 0 string \327\315\306\232 ms-windows metafont .wmf
  9477. 0 string \002\000\011\000 ms-windows metafont .wmf
  9478. 0 string \001\000\011\000 ms-windows metafont .wmf
  9479.  
  9480. #tz3 files whatever that is (MS Works files)
  9481. 0 string \003\001\001\004\070\001\000\000 tz3 ms-works file
  9482. 0 string \003\002\001\004\070\001\000\000 tz3 ms-works file
  9483. 0 string \003\003\001\004\070\001\000\000 tz3 ms-works file
  9484.  
  9485. # PGP sig files .sig
  9486. #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
  9487. 0 string \211\000\077\003\005\000\063\237\127\065\027\266\151\064\005\045\101\233\021\002 PGP sig
  9488. 0 string \211\000\077\003\005\000\063\237\127\066\027\266\151\064\005\045\101\233\021\002 PGP sig
  9489. 0 string \211\000\077\003\005\000\063\237\127\067\027\266\151\064\005\045\101\233\021\002 PGP sig
  9490. 0 string \211\000\077\003\005\000\063\237\127\070\027\266\151\064\005\045\101\233\021\002 PGP sig
  9491. 0 string \211\000\077\003\005\000\063\237\127\071\027\266\151\064\005\045\101\233\021\002 PGP sig
  9492. 0 string \211\000\225\003\005\000\062\122\207\304\100\345\042 PGP sig
  9493.  
  9494. # windows zips files .dmf
  9495. 0 string MDIF\032\000\010\000\000\000\372\046\100\175\001\000\001\036\001\000 MS Windows special zipped file
  9496.  
  9497.  
  9498. # Windows help file FTG FTS
  9499. 0 string \164\146\115\122\012\000\000\000\001\000\000\000 MS Windows help cache
  9500.  
  9501. # grp old windows 3.1 group files
  9502. 0 string \120\115\103\103 MS Windows 3.1 group files
  9503.  
  9504.  
  9505. # lnk files windows symlinks
  9506. 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
  9507.  
  9508. #ico files
  9509. 0 string \102\101\050\000\000\000\056\000\000\000\000\000\000\000 Icon for MS Windows
  9510.  
  9511. # Windows icons (Ian Springer <[email protected]>)
  9512. 0 string \000\000\001\000 MS Windows icon resource
  9513. >4 byte 1 - 1 icon
  9514. >4 byte >1 - %d icons
  9515. >>6 byte >0 \b, %dx
  9516. >>>7 byte >0 \b%d
  9517. >>8 byte 0 \b, 256-colors
  9518. >>8 byte >0 \b, %d-colors
  9519.  
  9520.  
  9521. # .chr files
  9522. 0 string PK\010\010BGI Borland font
  9523. >4 string >\0 %s
  9524. # then there is a copyright notice
  9525.  
  9526.  
  9527. # .bgi files
  9528. 0 string pk\010\010BGI Borland device
  9529. >4 string >\0 %s
  9530. # then there is a copyright notice
  9531.  
  9532.  
  9533. # recycled/info the windows trash bin index
  9534. 9 string \000\000\000\030\001\000\000\000 MS Windows recycled bin info
  9535.  
  9536.  
  9537. ##### put in Either Magic/font or Magic/news
  9538. # Acroread or something files wrongly identified as G3 .pfm
  9539. # these have the form \000 \001 any? \002 \000 \000
  9540. # or \000 \001 any? \022 \000 \000
  9541. #0 string \000\001 pfm?
  9542. #>3 string \022\000\000Copyright\ yes
  9543. #>3 string \002\000\000Copyright\ yes
  9544. #>3 string >\0 oops, not a font file. Cancel that.
  9545. #it clashes with ttf files so put it lower down.
  9546.  
  9547. # From Doug Lee via a FreeBSD pr
  9548. 9 string GERBILDOC First Choice document
  9549. 9 string GERBILDB First Choice database
  9550. 9 string GERBILCLIP First Choice database
  9551. 0 string GERBIL First Choice device file
  9552. 9 string RABBITGRAPH RabbitGraph file
  9553. 0 string DCU1 Borland Delphi .DCU file
  9554. 0 string =!<spell> MKS Spell hash list (old format)
  9555. 0 string =!<spell2> MKS Spell hash list
  9556. # Too simple - MPi
  9557. #0 string AH Halo(TM) bitmapped font file
  9558. 0 lelong 0x08086b70 TurboC BGI file
  9559. 0 lelong 0x08084b50 TurboC Font file
  9560.  
  9561. # WARNING: below line conflicts with Infocom game data Z-machine 3
  9562. 0 byte 0x03 DBase 3 data file
  9563. >0x04 lelong 0 (no records)
  9564. >0x04 lelong >0 (%ld records)
  9565. 0 byte 0x83 DBase 3 data file with memo(s)
  9566. >0x04 lelong 0 (no records)
  9567. >0x04 lelong >0 (%ld records)
  9568. 0 leshort 0x0006 DBase 3 index file
  9569. 0 string PMCC Windows 3.x .GRP file
  9570. 1 string RDC-meg MegaDots
  9571. >8 byte >0x2F version %c
  9572. >9 byte >0x2F \b.%c file
  9573. 0 lelong 0x4C
  9574. >4 lelong 0x00021401 Windows shortcut file
  9575.  
  9576. # DOS EPS Binary File Header
  9577. # From: Ed Sznyter <[email protected]>
  9578. 0 belong 0xC5D0D3C6 DOS EPS Binary File
  9579. >4 long >0 Postscript starts at byte %d
  9580. >>8 long >0 length %d
  9581. >>>12 long >0 Metafile starts at byte %d
  9582. >>>>16 long >0 length %d
  9583. >>>20 long >0 TIFF starts at byte %d
  9584. >>>>24 long >0 length %d
  9585.  
  9586. # TNEF magic From "Joomy" <[email protected]>
  9587. 0 leshort 0x223e9f78 TNEF
  9588.  
  9589. # HtmlHelp files (.chm)
  9590. 0 string ITSF\003\000\000\000\x60\000\000\000\001\000\000\000 MS Windows HtmlHelp Data
  9591.  
  9592. # GFA-BASIC (Wolfram Kleff)
  9593. 2 string GFA-BASIC3 GFA-BASIC 3 data
  9594.  
  9595. #------------------------------------------------------------------------------
  9596. # From Stuart Caie <[email protected]> (developer of cabextract)
  9597. # Microsoft Cabinet files
  9598. 0 string MSCF\0\0\0\0 Microsoft Cabinet archive data
  9599. >8 lelong x \b, %u bytes
  9600. >28 leshort 1 \b, 1 file
  9601. >28 leshort >1 \b, %u files
  9602.  
  9603. # InstallShield Cabinet files
  9604. 0 string ISc( InstallShield Cabinet archive data
  9605. >5 byte&0xf0 =0x60 version 6,
  9606. >5 byte&0xf0 !0x60 version 4/5,
  9607. >(12.l+40) lelong x %u files
  9608.  
  9609. # Windows CE package files
  9610. 0 string MSCE\0\0\0\0 Microsoft WinCE install header
  9611. >20 lelong 0 \b, architecture-independent
  9612. >20 lelong 103 \b, Hitachi SH3
  9613. >20 lelong 104 \b, Hitachi SH4
  9614. >20 lelong 0xA11 \b, StrongARM
  9615. >20 lelong 4000 \b, MIPS R4000
  9616. >20 lelong 10003 \b, Hitachi SH3
  9617. >20 lelong 10004 \b, Hitachi SH3E
  9618. >20 lelong 10005 \b, Hitachi SH4
  9619. >20 lelong 70001 \b, ARM 7TDMI
  9620. >52 leshort 1 \b, 1 file
  9621. >52 leshort >1 \b, %u files
  9622. >56 leshort 1 \b, 1 registry entry
  9623. >56 leshort >1 \b, %u registry entries
  9624.  
  9625. # Outlook Personal Folders
  9626. 0 lelong 0x4E444221 Microsoft Outlook binary email folder
  9627. >10 leshort 0x0e (Outlook <=2002)
  9628. >10 leshort 0x17 (Outlook >=2003)
  9629.  
  9630.  
  9631. # From: Dirk Jagdmann <[email protected]>
  9632. 0 lelong 0x00035f3f Windows 3.x help file
  9633.  
  9634. # Christophe Monniez
  9635. 0 string Client\ UrlCache\ MMF Microsoft Internet Explorer Cache File
  9636. >20 string >\0 Version %s
  9637. 0 string \xCF\xAD\x12\xFE Microsoft Outlook Express DBX File
  9638. >4 byte =0xC5 Message database
  9639. >4 byte =0xC6 Folder database
  9640. >4 byte =0xC7 Accounts informations
  9641. >4 byte =0x30 Offline database
  9642.  
  9643.  
  9644. # Windows Enhanced Metafile (EMF)
  9645. # See msdn.microsoft.com/archive/en-us/dnargdi/html/msdn_enhmeta.asp
  9646. # for further information. Note that "0 lelong 1" should be true i.e.
  9647. # the first double word in the file should be 1. With the extended
  9648. # syntax available by some file commands you could write:
  9649. # 0 lelong 1
  9650. # &40 ulelong 0x464D4520 Windows Enhanced Metafile (EMF) image data
  9651. 40 ulelong 0x464D4520 Windows Enhanced Metafile (EMF) image data
  9652. >44 ulelong x version 0x%x.
  9653. # If the description has a length greater than zero, it exists and is
  9654. # found at offset (*64).
  9655. >64 ulelong >0 Description available at offset 0x%x
  9656. >>60 ulelong >0 (length 0x%x)
  9657. # Note it would be better to print out the description, which is found
  9658. # as below. Unfortunately the following only prints out the first couple
  9659. # of characters instead of all the "description length"
  9660. # number of characters -- indicated by the ulelong at offset 60.
  9661. >>(64.l) lestring16 >0 Description: %15.15s
  9662.  
  9663. # From: Alex Beregszaszi <[email protected]>
  9664. 0 string COWD VMWare3
  9665. >4 byte 3 disk image
  9666. >>32 lelong x (%d/
  9667. >>36 lelong x \b%d/
  9668. >>40 lelong x \b%d)
  9669. >4 byte 2 undoable disk image
  9670. >>32 string >\0 (%s)
  9671.  
  9672. 0 string VMDK VMware4 disk image
  9673. 0 string KDMV VMware4 disk image
  9674.  
  9675. #--------------------------------------------------------------------
  9676. # Qemu Emulator Images
  9677. # Lines written by Friedrich Schwittay ([email protected])
  9678. # Made by reading sources and doing trial and error on existing
  9679. # qcow files
  9680. 0 string QFI Qemu Image, Format: Qcow
  9681.  
  9682. # Uncomment the following line to display Magic (only used for debugging
  9683. # this magic number)
  9684. #>0 string x , Magic: %s
  9685.  
  9686. # There are currently 2 Versions: "1" and "2"
  9687. # I do not use Version 2 and therefor branch here
  9688. # but can assure: it works (tested on both versions)
  9689. # Also my Qemu 0.9.0 which uses this Version 2 refuses
  9690. # to start in its bios
  9691. >0x04 belong 2 , Version: 2
  9692. >0x04 belong 1 , Version: 1
  9693.  
  9694. # Using the existence of the Backing File Offset to Branch or not
  9695. # to read Backing File Information
  9696. >>0xc belong >0 , Backing File( Offset: %d
  9697. >>>(0xc.L) string >\0 , Path: %s
  9698.  
  9699. # Didnt got the Trick here how qemu stores the "Size" at this Position
  9700. # There is actually something stored but nothing makes sense
  9701. # The header in the sources talks about it
  9702. #>>>16 lelong x , Size: %d
  9703.  
  9704. # Modification time of the Backing File
  9705. # Really usefull if you want to know if your backing
  9706. # file is still usable together with this image
  9707. >>>20 bedate x , Mtime: %s )
  9708.  
  9709. # Dont know how to calculate in Magicfiles
  9710. # Also: this Information is not reliably
  9711. # stored in image-files
  9712. >>24 lelong x , Disk Size could be: %d * 256 bytes
  9713.  
  9714. 0 string QEVM QEMU's suspend to disk image
  9715.  
  9716. 0 string Bochs\ Virtual\ HD\ Image Bochs disk image,
  9717. >32 string x type %s,
  9718. >48 string x subtype %s
  9719.  
  9720. 0 lelong 0x02468ace Bochs Sparse disk image
  9721.  
  9722. # from http://filext.com by Derek M Jones <[email protected]>
  9723. # False positive with PPT
  9724. #0 string \xD0\xCF\x11\xE0\xA1\xB1\x1A\xE1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3E\x00\x03\x00\xFE\xFF Microsoft Installer
  9725. 0 string \320\317\021\340\241\261\032\341 Microsoft Office Document
  9726.  
  9727. # From: "Nelson A. de Oliveira" <[email protected]>
  9728. # Magic type for Dell's BIOS .hdr files
  9729. # Dell's .hdr
  9730. 0 string $RBU
  9731. >23 string Dell %s system BIOS
  9732. >48 string x version %.3s
  9733.  
  9734.  
  9735. #------------------------------------------------------------------------------
  9736. # msvc: file(1) magic for msvc
  9737. # "H. Nanosecond" <[email protected]>
  9738. # Microsoft visual C
  9739. #
  9740. # I have version 1.0
  9741.  
  9742. # .aps
  9743. 0 string HWB\000\377\001\000\000\000 Microsoft Visual C .APS file
  9744.  
  9745. # .ide
  9746. #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
  9747. 0 string \102\157\162\154\141\156\144\040\103\053\053\040\120\162\157 MSVC .ide
  9748.  
  9749. # .res
  9750. 0 string \000\000\000\000\040\000\000\000\377 MSVC .res
  9751. 0 string \377\003\000\377\001\000\020\020\350 MSVC .res
  9752. 0 string \377\003\000\377\001\000\060\020\350 MSVC .res
  9753.  
  9754. #.lib
  9755. 0 string \360\015\000\000 Microsoft Visual C library
  9756. 0 string \360\075\000\000 Microsoft Visual C library
  9757. 0 string \360\175\000\000 Microsoft Visual C library
  9758.  
  9759. #.pch
  9760. 0 string DTJPCH0\000\022\103\006\200 Microsoft Visual C .pch
  9761.  
  9762. # .pdb
  9763. # too long 0 string Microsoft\ C/C++\ program\ database\
  9764. 0 string Microsoft\ C/C++\ MSVC program database
  9765. >18 string program\ database\
  9766. >33 string >\0 ver %s
  9767.  
  9768. #.sbr
  9769. 0 string \000\002\000\007\000 MSVC .sbr
  9770. >5 string >\0 %s
  9771.  
  9772. #.bsc
  9773. 0 string \002\000\002\001 MSVC .bsc
  9774.  
  9775. #.wsp
  9776. 0 string 1.00\ .0000.0000\000\003 MSVC .wsp version 1.0000.0000
  9777. # these seem to start with the version and contain menus
  9778. # ------------------------------------------------------------------------
  9779. # mup: file(1) magic for Mup (Music Publisher) input file.
  9780. #
  9781. # From: Abel Cheung <abel (@) oaka.org>
  9782. #
  9783. # NOTE: This header is mainly proposed in the Arkkra mailing list,
  9784. # and is not a mandatory header because of old mup input file
  9785. # compatibility. Noteedit also use mup format, but is not forcing
  9786. # user to use any header as well.
  9787. #
  9788. 0 string //!Mup Mup music publication program input text
  9789. >6 string -Arkkra (Arkkra)
  9790. >>13 string -
  9791. >>>16 string .
  9792. >>>>14 string x \b, need V%.4s
  9793. >>>15 string .
  9794. >>>>14 string x \b, need V%.3s
  9795. >6 string -
  9796. >>9 string .
  9797. >>>7 string x \b, need V%.4s
  9798. >>8 string .
  9799. >>>7 string x \b, need V%.3s
  9800.  
  9801. #-----------------------------------------------------------------------------
  9802. # natinst: file(1) magic for National Instruments Code Files
  9803.  
  9804. #
  9805. # From <[email protected]> Enrique G⮄z-Flores
  9806. # version 1
  9807. # Many formats still missing, we use, for the moment LabVIEW
  9808. # We guess VXI format file. VISA, LabWindowsCVI, BridgeVIEW, etc, are missing
  9809. #
  9810. 0 string RSRC National Instruments,
  9811. # Check if it's a LabVIEW File
  9812. >8 string LV LabVIEW File,
  9813. # Check wich kind of file is
  9814. >>10 string SB Code Resource File, data
  9815. >>10 string IN Virtual Instrument Program, data
  9816. >>10 string AR VI Library, data
  9817. # This is for Menu Libraries
  9818. >8 string LMNULBVW Portable File Names, data
  9819. # This is for General Resources
  9820. >8 string rsc Resources File, data
  9821. # This is for VXI Package
  9822. 0 string VMAP National Instruments, VXI File, data
  9823.  
  9824. #------------------------------------------------------------------------------
  9825. # ncr: file(1) magic for NCR Tower objects
  9826. #
  9827. # contributed by
  9828. # Michael R. Wayne *** TMC & Associates *** INTERNET: [email protected]
  9829. # uucp: {philabs | pyramid} !fmsrl7!wayne OR [email protected]
  9830. #
  9831. 0 beshort 000610 Tower/XP rel 2 object
  9832. >12 belong >0 not stripped
  9833. >20 beshort 0407 executable
  9834. >20 beshort 0410 pure executable
  9835. >22 beshort >0 - version %ld
  9836. 0 beshort 000615 Tower/XP rel 2 object
  9837. >12 belong >0 not stripped
  9838. >20 beshort 0407 executable
  9839. >20 beshort 0410 pure executable
  9840. >22 beshort >0 - version %ld
  9841. 0 beshort 000620 Tower/XP rel 3 object
  9842. >12 belong >0 not stripped
  9843. >20 beshort 0407 executable
  9844. >20 beshort 0410 pure executable
  9845. >22 beshort >0 - version %ld
  9846. 0 beshort 000625 Tower/XP rel 3 object
  9847. >12 belong >0 not stripped
  9848. >20 beshort 0407 executable
  9849. >20 beshort 0410 pure executable
  9850. >22 beshort >0 - version %ld
  9851. 0 beshort 000630 Tower32/600/400 68020 object
  9852. >12 belong >0 not stripped
  9853. >20 beshort 0407 executable
  9854. >20 beshort 0410 pure executable
  9855. >22 beshort >0 - version %ld
  9856. 0 beshort 000640 Tower32/800 68020
  9857. >18 beshort &020000 w/68881 object
  9858. >18 beshort &040000 compatible object
  9859. >18 beshort &060000 object
  9860. >20 beshort 0407 executable
  9861. >20 beshort 0413 pure executable
  9862. >12 belong >0 not stripped
  9863. >22 beshort >0 - version %ld
  9864. 0 beshort 000645 Tower32/800 68010
  9865. >18 beshort &040000 compatible object
  9866. >18 beshort &060000 object
  9867. >20 beshort 0407 executable
  9868. >20 beshort 0413 pure executable
  9869. >12 belong >0 not stripped
  9870. >22 beshort >0 - version %ld
  9871.  
  9872. #------------------------------------------------------------------------------
  9873. # netbsd: file(1) magic for NetBSD objects
  9874. #
  9875. # All new-style magic numbers are in network byte order.
  9876. #
  9877.  
  9878. 0 lelong 000000407 a.out NetBSD little-endian object file
  9879. >16 lelong >0 not stripped
  9880. 0 belong 000000407 a.out NetBSD big-endian object file
  9881. >16 belong >0 not stripped
  9882.  
  9883. 0 belong&0377777777 041400413 a.out NetBSD/i386 demand paged
  9884. >0 byte &0x80
  9885. >>20 lelong <4096 shared library
  9886. >>20 lelong =4096 dynamically linked executable
  9887. >>20 lelong >4096 dynamically linked executable
  9888. >0 byte ^0x80 executable
  9889. >16 lelong >0 not stripped
  9890. 0 belong&0377777777 041400410 a.out NetBSD/i386 pure
  9891. >0 byte &0x80 dynamically linked executable
  9892. >0 byte ^0x80 executable
  9893. >16 lelong >0 not stripped
  9894. 0 belong&0377777777 041400407 a.out NetBSD/i386
  9895. >0 byte &0x80 dynamically linked executable
  9896. >0 byte ^0x80
  9897. >>0 byte &0x40 position independent
  9898. >>20 lelong !0 executable
  9899. >>20 lelong =0 object file
  9900. >16 lelong >0 not stripped
  9901. 0 belong&0377777777 041400507 a.out NetBSD/i386 core
  9902. >12 string >\0 from '%s'
  9903. >32 lelong !0 (signal %d)
  9904.  
  9905. 0 belong&0377777777 041600413 a.out NetBSD/m68k demand paged
  9906. >0 byte &0x80
  9907. >>20 belong <8192 shared library
  9908. >>20 belong =8192 dynamically linked executable
  9909. >>20 belong >8192 dynamically linked executable
  9910. >0 byte ^0x80 executable
  9911. >16 belong >0 not stripped
  9912. 0 belong&0377777777 041600410 a.out NetBSD/m68k pure
  9913. >0 byte &0x80 dynamically linked executable
  9914. >0 byte ^0x80 executable
  9915. >16 belong >0 not stripped
  9916. 0 belong&0377777777 041600407 a.out NetBSD/m68k
  9917. >0 byte &0x80 dynamically linked executable
  9918. >0 byte ^0x80
  9919. >>0 byte &0x40 position independent
  9920. >>20 belong !0 executable
  9921. >>20 belong =0 object file
  9922. >16 belong >0 not stripped
  9923. 0 belong&0377777777 041600507 a.out NetBSD/m68k core
  9924. >12 string >\0 from '%s'
  9925. >32 belong !0 (signal %d)
  9926.  
  9927. 0 belong&0377777777 042000413 a.out NetBSD/m68k4k demand paged
  9928. >0 byte &0x80
  9929. >>20 belong <4096 shared library
  9930. >>20 belong =4096 dynamically linked executable
  9931. >>20 belong >4096 dynamically linked executable
  9932. >0 byte ^0x80 executable
  9933. >16 belong >0 not stripped
  9934. 0 belong&0377777777 042000410 a.out NetBSD/m68k4k pure
  9935. >0 byte &0x80 dynamically linked executable
  9936. >0 byte ^0x80 executable
  9937. >16 belong >0 not stripped
  9938. 0 belong&0377777777 042000407 a.out NetBSD/m68k4k
  9939. >0 byte &0x80 dynamically linked executable
  9940. >0 byte ^0x80
  9941. >>0 byte &0x40 position independent
  9942. >>20 belong !0 executable
  9943. >>20 belong =0 object file
  9944. >16 belong >0 not stripped
  9945. 0 belong&0377777777 042000507 a.out NetBSD/m68k4k core
  9946. >12 string >\0 from '%s'
  9947. >32 belong !0 (signal %d)
  9948.  
  9949. 0 belong&0377777777 042200413 a.out NetBSD/ns32532 demand paged
  9950. >0 byte &0x80
  9951. >>20 lelong <4096 shared library
  9952. >>20 lelong =4096 dynamically linked executable
  9953. >>20 lelong >4096 dynamically linked executable
  9954. >0 byte ^0x80 executable
  9955. >16 lelong >0 not stripped
  9956. 0 belong&0377777777 042200410 a.out NetBSD/ns32532 pure
  9957. >0 byte &0x80 dynamically linked executable
  9958. >0 byte ^0x80 executable
  9959. >16 lelong >0 not stripped
  9960. 0 belong&0377777777 042200407 a.out NetBSD/ns32532
  9961. >0 byte &0x80 dynamically linked executable
  9962. >0 byte ^0x80
  9963. >>0 byte &0x40 position independent
  9964. >>20 lelong !0 executable
  9965. >>20 lelong =0 object file
  9966. >16 lelong >0 not stripped
  9967. 0 belong&0377777777 042200507 a.out NetBSD/ns32532 core
  9968. >12 string >\0 from '%s'
  9969. >32 lelong !0 (signal %d)
  9970.  
  9971. 0 belong&0377777777 045200507 a.out NetBSD/powerpc core
  9972. >12 string >\0 from '%s'
  9973.  
  9974. 0 belong&0377777777 042400413 a.out NetBSD/sparc demand paged
  9975. >0 byte &0x80
  9976. >>20 belong <8192 shared library
  9977. >>20 belong =8192 dynamically linked executable
  9978. >>20 belong >8192 dynamically linked executable
  9979. >0 byte ^0x80 executable
  9980. >16 belong >0 not stripped
  9981. 0 belong&0377777777 042400410 a.out NetBSD/sparc pure
  9982. >0 byte &0x80 dynamically linked executable
  9983. >0 byte ^0x80 executable
  9984. >16 belong >0 not stripped
  9985. 0 belong&0377777777 042400407 a.out NetBSD/sparc
  9986. >0 byte &0x80 dynamically linked executable
  9987. >0 byte ^0x80
  9988. >>0 byte &0x40 position independent
  9989. >>20 belong !0 executable
  9990. >>20 belong =0 object file
  9991. >16 belong >0 not stripped
  9992. 0 belong&0377777777 042400507 a.out NetBSD/sparc core
  9993. >12 string >\0 from '%s'
  9994. >32 belong !0 (signal %d)
  9995.  
  9996. 0 belong&0377777777 042600413 a.out NetBSD/pmax demand paged
  9997. >0 byte &0x80
  9998. >>20 lelong <4096 shared library
  9999. >>20 lelong =4096 dynamically linked executable
  10000. >>20 lelong >4096 dynamically linked executable
  10001. >0 byte ^0x80 executable
  10002. >16 lelong >0 not stripped
  10003. 0 belong&0377777777 042600410 a.out NetBSD/pmax pure
  10004. >0 byte &0x80 dynamically linked executable
  10005. >0 byte ^0x80 executable
  10006. >16 lelong >0 not stripped
  10007. 0 belong&0377777777 042600407 a.out NetBSD/pmax
  10008. >0 byte &0x80 dynamically linked executable
  10009. >0 byte ^0x80
  10010. >>0 byte &0x40 position independent
  10011. >>20 lelong !0 executable
  10012. >>20 lelong =0 object file
  10013. >16 lelong >0 not stripped
  10014. 0 belong&0377777777 042600507 a.out NetBSD/pmax core
  10015. >12 string >\0 from '%s'
  10016. >32 lelong !0 (signal %d)
  10017.  
  10018. 0 belong&0377777777 043000413 a.out NetBSD/vax 1k demand paged
  10019. >0 byte &0x80
  10020. >>20 lelong <4096 shared library
  10021. >>20 lelong =4096 dynamically linked executable
  10022. >>20 lelong >4096 dynamically linked executable
  10023. >0 byte ^0x80 executable
  10024. >16 lelong >0 not stripped
  10025. 0 belong&0377777777 043000410 a.out NetBSD/vax 1k pure
  10026. >0 byte &0x80 dynamically linked executable
  10027. >0 byte ^0x80 executable
  10028. >16 lelong >0 not stripped
  10029. 0 belong&0377777777 043000407 a.out NetBSD/vax 1k
  10030. >0 byte &0x80 dynamically linked executable
  10031. >0 byte ^0x80
  10032. >>0 byte &0x40 position independent
  10033. >>20 lelong !0 executable
  10034. >>20 lelong =0 object file
  10035. >16 lelong >0 not stripped
  10036. 0 belong&0377777777 043000507 a.out NetBSD/vax 1k core
  10037. >12 string >\0 from '%s'
  10038. >32 lelong !0 (signal %d)
  10039.  
  10040. 0 belong&0377777777 045400413 a.out NetBSD/vax 4k demand paged
  10041. >0 byte &0x80
  10042. >>20 lelong <4096 shared library
  10043. >>20 lelong =4096 dynamically linked executable
  10044. >>20 lelong >4096 dynamically linked executable
  10045. >0 byte ^0x80 executable
  10046. >16 lelong >0 not stripped
  10047. 0 belong&0377777777 045400410 a.out NetBSD/vax 4k pure
  10048. >0 byte &0x80 dynamically linked executable
  10049. >0 byte ^0x80 executable
  10050. >16 lelong >0 not stripped
  10051. 0 belong&0377777777 045400407 a.out NetBSD/vax 4k
  10052. >0 byte &0x80 dynamically linked executable
  10053. >0 byte ^0x80
  10054. >>0 byte &0x40 position independent
  10055. >>20 lelong !0 executable
  10056. >>20 lelong =0 object file
  10057. >16 lelong >0 not stripped
  10058. 0 belong&0377777777 045400507 a.out NetBSD/vax 4k core
  10059. >12 string >\0 from '%s'
  10060. >32 lelong !0 (signal %d)
  10061.  
  10062. # NetBSD/alpha does not support (and has never supported) a.out objects,
  10063. # so no rules are provided for them. NetBSD/alpha ELF objects are
  10064. # dealt with in "elf".
  10065. 0 lelong 0x00070185 ECOFF NetBSD/alpha binary
  10066. >10 leshort 0x0001 not stripped
  10067. >10 leshort 0x0000 stripped
  10068. 0 belong&0377777777 043200507 a.out NetBSD/alpha core
  10069. >12 string >\0 from '%s'
  10070. >32 lelong !0 (signal %d)
  10071.  
  10072. 0 belong&0377777777 043400413 a.out NetBSD/mips demand paged
  10073. >0 byte &0x80
  10074. >>20 belong <8192 shared library
  10075. >>20 belong =8192 dynamically linked executable
  10076. >>20 belong >8192 dynamically linked executable
  10077. >0 byte ^0x80 executable
  10078. >16 belong >0 not stripped
  10079. 0 belong&0377777777 043400410 a.out NetBSD/mips pure
  10080. >0 byte &0x80 dynamically linked executable
  10081. >0 byte ^0x80 executable
  10082. >16 belong >0 not stripped
  10083. 0 belong&0377777777 043400407 a.out NetBSD/mips
  10084. >0 byte &0x80 dynamically linked executable
  10085. >0 byte ^0x80
  10086. >>0 byte &0x40 position independent
  10087. >>20 belong !0 executable
  10088. >>20 belong =0 object file
  10089. >16 belong >0 not stripped
  10090. 0 belong&0377777777 043400507 a.out NetBSD/mips core
  10091. >12 string >\0 from '%s'
  10092. >32 belong !0 (signal %d)
  10093.  
  10094. 0 belong&0377777777 043600413 a.out NetBSD/arm32 demand paged
  10095. >0 byte &0x80
  10096. >>20 lelong <4096 shared library
  10097. >>20 lelong =4096 dynamically linked executable
  10098. >>20 lelong >4096 dynamically linked executable
  10099. >0 byte ^0x80 executable
  10100. >16 lelong >0 not stripped
  10101. 0 belong&0377777777 043600410 a.out NetBSD/arm32 pure
  10102. >0 byte &0x80 dynamically linked executable
  10103. >0 byte ^0x80 executable
  10104. >16 lelong >0 not stripped
  10105. 0 belong&0377777777 043600407 a.out NetBSD/arm32
  10106. >0 byte &0x80 dynamically linked executable
  10107. >0 byte ^0x80
  10108. >>0 byte &0x40 position independent
  10109. >>20 lelong !0 executable
  10110. >>20 lelong =0 object file
  10111. >16 lelong >0 not stripped
  10112. # NetBSD/arm26 has always used ELF objects, but it shares a core file
  10113. # format with NetBSD/arm32.
  10114. 0 belong&0377777777 043600507 a.out NetBSD/arm core
  10115. >12 string >\0 from '%s'
  10116. >32 lelong !0 (signal %d)
  10117.  
  10118. #------------------------------------------------------------------------------
  10119. # netscape: file(1) magic for Netscape files
  10120. # "H. Nanosecond" <[email protected]>
  10121. # version 3 and 4 I think
  10122. #
  10123.  
  10124. # Netscape Address book .nab
  10125. 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
  10126.  
  10127. # Netscape Communicator address book
  10128. 0 string \000\017\102\111 Netscape Communicator address book
  10129.  
  10130. # .snm Caches
  10131. 0 string #\ Netscape\ folder\ cache Netscape folder cache
  10132. 0 string \000\036\204\220\000 Netscape folder cache
  10133. # .n2p
  10134. # Net 2 Phone
  10135. #0 string 123\130\071\066\061\071\071\071\060\070\061\060\061\063\060
  10136. 0 string SX961999 Net2phone
  10137.  
  10138. #
  10139. #This is files ending in .art, FIXME add more rules
  10140. 0 string JG\004\016\0\0\0\0 ART
  10141.  
  10142. #------------------------------------------------------------------------------
  10143. # news: file(1) magic for SunOS NeWS fonts (not "news" as in "netnews")
  10144. #
  10145. 0 string StartFontMetrics ASCII font metrics
  10146. 0 string StartFont ASCII font bits
  10147. 0 belong 0x137A2944 NeWS bitmap font
  10148. 0 belong 0x137A2947 NeWS font family
  10149. 0 belong 0x137A2950 scalable OpenFont binary
  10150. 0 belong 0x137A2951 encrypted scalable OpenFont binary
  10151. 8 belong 0x137A2B45 X11/NeWS bitmap font
  10152. 8 belong 0x137A2B48 X11/NeWS font family
  10153. #------------------------------------------------------------------------------
  10154. # nitpicker: file(1) magic for Flowfiles.
  10155. # From: Christian Jachmann <[email protected]> http://www.nitpicker.de
  10156. 0 string NPFF NItpicker Flow File
  10157. >4 byte x V%d.
  10158. >5 byte x %d
  10159. >6 bedate x started: %s
  10160. >10 bedate x stopped: %s
  10161. >14 belong x Bytes: %u
  10162. >18 belong x Bytes1: %u
  10163. >22 belong x Flows: %u
  10164. >26 belong x Pkts: %u
  10165.  
  10166. #------------------------------------------------------------------------------
  10167. # ocaml: file(1) magic for Objective Caml files.
  10168. 0 string Caml1999 Objective caml
  10169. >8 string X exec file
  10170. >8 string I interface file (.cmi)
  10171. >8 string O object file (.cmo)
  10172. >8 string A library file (.cma)
  10173. >8 string Y native object file (.cmx)
  10174. >8 string Z native library file (.cmxa)
  10175. >8 string M abstract syntax tree implementation file
  10176. >8 string N abstract syntax tree interface file
  10177. >9 string >\0 (Version %3.3s).
  10178. #------------------------------------------------------------------------------
  10179. # octave binary data file(1) magic, from Dirk Eddelbuettel <[email protected]>
  10180. 0 string Octave-1-L Octave binary data (little endian)
  10181. 0 string Octave-1-B Octave binary data (big endian)
  10182.  
  10183. #------------------------------------------------------------------------------
  10184. # olf: file(1) magic for OLF executables
  10185. #
  10186. # We have to check the byte order flag to see what byte order all the
  10187. # other stuff in the header is in.
  10188. #
  10189. # MIPS R3000 may also be for MIPS R2000.
  10190. # What're the correct byte orders for the nCUBE and the Fujitsu VPP500?
  10191. #
  10192. # Created by Erik Theisen <[email protected]>
  10193. # Based on elf from Daniel Quinlan <[email protected]>
  10194. 0 string \177OLF OLF
  10195. >4 byte 0 invalid class
  10196. >4 byte 1 32-bit
  10197. >4 byte 2 64-bit
  10198. >7 byte 0 invalid os
  10199. >7 byte 1 OpenBSD
  10200. >7 byte 2 NetBSD
  10201. >7 byte 3 FreeBSD
  10202. >7 byte 4 4.4BSD
  10203. >7 byte 5 Linux
  10204. >7 byte 6 SVR4
  10205. >7 byte 7 esix
  10206. >7 byte 8 Solaris
  10207. >7 byte 9 Irix
  10208. >7 byte 10 SCO
  10209. >7 byte 11 Dell
  10210. >7 byte 12 NCR
  10211. >5 byte 0 invalid byte order
  10212. >5 byte 1 LSB
  10213. >>16 leshort 0 no file type,
  10214. >>16 leshort 1 relocatable,
  10215. >>16 leshort 2 executable,
  10216. >>16 leshort 3 shared object,
  10217. # Core handling from Peter Tobias <[email protected]>
  10218. # corrections by Christian 'Dr. Disk' Hechelmann <[email protected]>
  10219. >>16 leshort 4 core file
  10220. >>>(0x38+0xcc) string >\0 of '%s'
  10221. >>>(0x38+0x10) lelong >0 (signal %d),
  10222. >>16 leshort &0xff00 processor-specific,
  10223. >>18 leshort 0 no machine,
  10224. >>18 leshort 1 AT&T WE32100 - invalid byte order,
  10225. >>18 leshort 2 SPARC - invalid byte order,
  10226. >>18 leshort 3 Intel 80386,
  10227. >>18 leshort 4 Motorola 68000 - invalid byte order,
  10228. >>18 leshort 5 Motorola 88000 - invalid byte order,
  10229. >>18 leshort 6 Intel 80486,
  10230. >>18 leshort 7 Intel 80860,
  10231. >>18 leshort 8 MIPS R3000_BE - invalid byte order,
  10232. >>18 leshort 9 Amdahl - invalid byte order,
  10233. >>18 leshort 10 MIPS R3000_LE,
  10234. >>18 leshort 11 RS6000 - invalid byte order,
  10235. >>18 leshort 15 PA-RISC - invalid byte order,
  10236. >>18 leshort 16 nCUBE,
  10237. >>18 leshort 17 VPP500,
  10238. >>18 leshort 18 SPARC32PLUS,
  10239. >>18 leshort 20 PowerPC,
  10240. >>18 leshort 0x9026 Alpha,
  10241. >>20 lelong 0 invalid version
  10242. >>20 lelong 1 version 1
  10243. >>36 lelong 1 MathCoPro/FPU/MAU Required
  10244. >8 string >\0 (%s)
  10245. >5 byte 2 MSB
  10246. >>16 beshort 0 no file type,
  10247. >>16 beshort 1 relocatable,
  10248. >>16 beshort 2 executable,
  10249. >>16 beshort 3 shared object,
  10250. >>16 beshort 4 core file,
  10251. >>>(0x38+0xcc) string >\0 of '%s'
  10252. >>>(0x38+0x10) belong >0 (signal %d),
  10253. >>16 beshort &0xff00 processor-specific,
  10254. >>18 beshort 0 no machine,
  10255. >>18 beshort 1 AT&T WE32100,
  10256. >>18 beshort 2 SPARC,
  10257. >>18 beshort 3 Intel 80386 - invalid byte order,
  10258. >>18 beshort 4 Motorola 68000,
  10259. >>18 beshort 5 Motorola 88000,
  10260. >>18 beshort 6 Intel 80486 - invalid byte order,
  10261. >>18 beshort 7 Intel 80860,
  10262. >>18 beshort 8 MIPS R3000_BE,
  10263. >>18 beshort 9 Amdahl,
  10264. >>18 beshort 10 MIPS R3000_LE - invalid byte order,
  10265. >>18 beshort 11 RS6000,
  10266. >>18 beshort 15 PA-RISC,
  10267. >>18 beshort 16 nCUBE,
  10268. >>18 beshort 17 VPP500,
  10269. >>18 beshort 18 SPARC32PLUS,
  10270. >>18 beshort 20 PowerPC or cisco 4500,
  10271. >>18 beshort 21 cisco 7500,
  10272. >>18 beshort 24 cisco SVIP,
  10273. >>18 beshort 25 cisco 7200,
  10274. >>18 beshort 36 cisco 12000,
  10275. >>18 beshort 0x9026 Alpha,
  10276. >>20 belong 0 invalid version
  10277. >>20 belong 1 version 1
  10278. >>36 belong 1 MathCoPro/FPU/MAU Required
  10279.  
  10280. #------------------------------------------------------------------------------
  10281. # os2: file(1) magic for OS/2 files
  10282. #
  10283.  
  10284. # Provided 1998/08/22 by
  10285. # David Mediavilla <[email protected]>
  10286. 1 string InternetShortcut MS Windows 95 Internet shortcut text
  10287. >24 string >\ (URL=<%s>)
  10288.  
  10289. # OS/2 URL objects
  10290. # Provided 1998/08/22 by
  10291. # David Mediavilla <[email protected]>
  10292. #0 string http: OS/2 URL object text
  10293. #>5 string >\ (WWW) <http:%s>
  10294. #0 string mailto: OS/2 URL object text
  10295. #>7 string >\ (email) <%s>
  10296. #0 string news: OS/2 URL object text
  10297. #>5 string >\ (Usenet) <%s>
  10298. #0 string ftp: OS/2 URL object text
  10299. #>4 string >\ (FTP) <ftp:%s>
  10300. #0 string file: OS/2 URL object text
  10301. #>5 string >\ (Local file) <%s>
  10302.  
  10303. # >>>>> OS/2 INF/HLP <<<<< (source: Daniel Dissett [email protected])
  10304. # Carl Hauser ([email protected]) and
  10305. # Marcus Groeber ([email protected])
  10306. # list the following header format in inf02a.doc:
  10307. #
  10308. # int16 ID; // ID magic word (5348h = "HS")
  10309. # int8 unknown1; // unknown purpose, could be third letter of ID
  10310. # int8 flags; // probably a flag word...
  10311. # // bit 0: set if INF style file
  10312. # // bit 4: set if HLP style file
  10313. # // patching this byte allows reading HLP files
  10314. # // using the VIEW command, while help files
  10315. # // seem to work with INF settings here as well.
  10316. # int16 hdrsize; // total size of header
  10317. # int16 unknown2; // unknown purpose
  10318. #
  10319. 0 string HSP\x01\x9b\x00 OS/2 INF
  10320. >107 string >0 (%s)
  10321. 0 string HSP\x10\x9b\x00 OS/2 HLP
  10322. >107 string >0 (%s)
  10323.  
  10324. # OS/2 INI (this is a guess)
  10325. 0 string \xff\xff\xff\xff\x14\0\0\0 OS/2 INI
  10326. #------------------------------------------------------------------------------
  10327. # os400: file(1) magic for IBM OS/400 files
  10328. #
  10329. # IBM OS/400 (i5/OS) Save file (SAVF) - [email protected]
  10330. # In spite of its quite variable format (due to internal memory page
  10331. # length differences between CISC and RISC versions of the OS) the
  10332. # SAVF structure hasn't suitable offsets to identify the catalog
  10333. # header in the first descriptor where there are some useful infos,
  10334. # so we must search in a somewhat large area for a particular string
  10335. # that represents the EBCDIC encoding of 'QSRDSSPC' (save/restore
  10336. # descriptor space) preceded by a two byte constant.
  10337. #
  10338. 1090 search/7393 \x19\xDB\xD8\xE2\xD9\xC4\xE2\xE2\xD7\xC3 IBM OS/400 save file data
  10339. >&212 byte 0x01 \b, created with SAVOBJ
  10340. >&212 byte 0x02 \b, created with SAVLIB
  10341. >&212 byte 0x07 \b, created with SAVCFG
  10342. >&212 byte 0x08 \b, created with SAVSECDTA
  10343. >&212 byte 0x0A \b, created with SAVSECDTA
  10344. >&212 byte 0x0B \b, created with SAVDLO
  10345. >&212 byte 0x0D \b, created with SAVLICPGM
  10346. >&212 byte 0x11 \b, created with SAVCHGOBJ
  10347. >&213 byte 0x44 \b, at least V5R4 to open
  10348. >&213 byte 0x43 \b, at least V5R3 to open
  10349. >&213 byte 0x42 \b, at least V5R2 to open
  10350. >&213 byte 0x41 \b, at least V5R1 to open
  10351. >&213 byte 0x40 \b, at least V4R5 to open
  10352. >&213 byte 0x3F \b, at least V4R4 to open
  10353. >&213 byte 0x3E \b, at least V4R3 to open
  10354. >&213 byte 0x3C \b, at least V4R2 to open
  10355. >&213 byte 0x3D \b, at least V4R1M4 to open
  10356. >&213 byte 0x3B \b, at least V4R1 to open
  10357. >&213 byte 0x3A \b, at least V3R7 to open
  10358. >&213 byte 0x35 \b, at least V3R6 to open
  10359. >&213 byte 0x36 \b, at least V3R2 to open
  10360. >&213 byte 0x34 \b, at least V3R1 to open
  10361. >&213 byte 0x31 \b, at least V3R0M5 to open
  10362. >&213 byte 0x30 \b, at least V2R3 to open
  10363. #
  10364. # Copyright (c) 1996 Ignatios Souvatzis. All rights reserved.
  10365. #
  10366. # Redistribution and use in source and binary forms, with or without
  10367. # modification, are permitted provided that the following conditions
  10368. # are met:
  10369. # 1. Redistributions of source code must retain the above copyright
  10370. # notice, this list of conditions and the following disclaimer.
  10371. # 2. Redistributions in binary form must reproduce the above copyright
  10372. # notice, this list of conditions and the following disclaimer in the
  10373. # documentation and/or other materials provided with the distribution.
  10374. # 3. All advertising materials mentioning features or use of this software
  10375. # must display the following acknowledgement:
  10376. # This product includes software developed by Ignatios Souvatzis for
  10377. # the NetBSD project.
  10378. # 4. The name of the author may not be used to endorse or promote products
  10379. # derived from this software without specific prior written permission.
  10380. #
  10381. #
  10382. # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
  10383. # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  10384. # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  10385. # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  10386. # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
  10387. # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
  10388. # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
  10389. # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
  10390. # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
  10391. # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  10392. #
  10393. #
  10394. #
  10395. # OS9/6809 module descriptions:
  10396. #
  10397. 0 beshort 0x87CD OS9/6809 module:
  10398. #
  10399. >6 byte&0x0f 0x00 non-executable
  10400. >6 byte&0x0f 0x01 machine language
  10401. >6 byte&0x0f 0x02 BASIC I-code
  10402. >6 byte&0x0f 0x03 Pascal P-code
  10403. >6 byte&0x0f 0x04 C I-code
  10404. >6 byte&0x0f 0x05 COBOL I-code
  10405. >6 byte&0x0f 0x06 Fortran I-code
  10406. #
  10407. >6 byte&0xf0 0x10 program executable
  10408. >6 byte&0xf0 0x20 subroutine
  10409. >6 byte&0xf0 0x30 multi-module
  10410. >6 byte&0xf0 0x40 data module
  10411. #
  10412. >6 byte&0xf0 0xC0 system module
  10413. >6 byte&0xf0 0xD0 file manager
  10414. >6 byte&0xf0 0xE0 device driver
  10415. >6 byte&0xf0 0xF0 device descriptor
  10416. #
  10417. # OS9/m68k stuff (to be continued)
  10418. #
  10419. 0 beshort 0x4AFC OS9/68K module:
  10420. #
  10421. # attr
  10422. >0x14 byte&0x80 0x80 re-entrant
  10423. >0x14 byte&0x40 0x40 ghost
  10424. >0x14 byte&0x20 0x20 system-state
  10425. #
  10426. # lang:
  10427. #
  10428. >0x13 byte 1 machine language
  10429. >0x13 byte 2 BASIC I-code
  10430. >0x13 byte 3 Pascal P-code
  10431. >0x13 byte 4 C I-code
  10432. >0x13 byte 5 COBOL I-code
  10433. >0x13 byte 6 Fortran I-code
  10434. #
  10435. #
  10436. # type:
  10437. #
  10438. >0x12 byte 1 program executable
  10439. >0x12 byte 2 subroutine
  10440. >0x12 byte 3 multi-module
  10441. >0x12 byte 4 data module
  10442. >0x12 byte 11 trap library
  10443. >0x12 byte 12 system module
  10444. >0x12 byte 13 file manager
  10445. >0x12 byte 14 device driver
  10446. >0x12 byte 15 device descriptor
  10447. #
  10448. # Mach magic number info
  10449. #
  10450. 0 long 0xefbe OSF/Rose object
  10451. # I386 magic number info
  10452. #
  10453. 0 short 0565 i386 COFF object
  10454.  
  10455. #------------------------------------------------------------------------------
  10456. # palm: file(1) magic for PalmOS {.prc,.pdb}: applications, docfiles, and hacks
  10457. #
  10458. # Brian Lalor <[email protected]>
  10459.  
  10460. # appl
  10461. 60 belong 0x6170706c PalmOS application
  10462. >0 string >\0 "%s"
  10463. # TEXt
  10464. 60 belong 0x54455874 AportisDoc file
  10465. >0 string >\0 "%s"
  10466. # HACK
  10467. 60 belong 0x4841434b HackMaster hack
  10468. >0 string >\0 "%s"
  10469.  
  10470. # Variety of PalmOS document types
  10471. # Michael-John Turner <[email protected]>
  10472. # Thanks to Hasan Umit Ezerce <[email protected]> for his DocType
  10473. 60 string BVokBDIC BDicty PalmOS document
  10474. >0 string >\0 "%s"
  10475. 60 string DB99DBOS DB PalmOS document
  10476. >0 string >\0 "%s"
  10477. 60 string vIMGView FireViewer/ImageViewer PalmOS document
  10478. >0 string >\0 "%s"
  10479. 60 string PmDBPmDB HanDBase PalmOS document
  10480. >0 string >\0 "%s"
  10481. 60 string InfoINDB InfoView PalmOS document
  10482. >0 string >\0 "%s"
  10483. 60 string ToGoToGo iSilo PalmOS document
  10484. >0 string >\0 "%s"
  10485. 60 string JfDbJBas JFile PalmOS document
  10486. >0 string >\0 "%s"
  10487. 60 string JfDbJFil JFile Pro PalmOS document
  10488. >0 string >\0 "%s"
  10489. 60 string DATALSdb List PalmOS document
  10490. >0 string >\0 "%s"
  10491. 60 string Mdb1Mdb1 MobileDB PalmOS document
  10492. >0 string >\0 "%s"
  10493. 60 string PNRdPPrs PeanutPress PalmOS document
  10494. >0 string >\0 "%s"
  10495. 60 string DataPlkr Plucker PalmOS document
  10496. >0 string >\0 "%s"
  10497. 60 string DataSprd QuickSheet PalmOS document
  10498. >0 string >\0 "%s"
  10499. 60 string SM01SMem SuperMemo PalmOS document
  10500. >0 string >\0 "%s"
  10501. 60 string DataTlPt TealDoc PalmOS document
  10502. >0 string >\0 "%s"
  10503. 60 string InfoTlIf TealInfo PalmOS document
  10504. >0 string >\0 "%s"
  10505. 60 string DataTlMl TealMeal PalmOS document
  10506. >0 string >\0 "%s"
  10507. 60 string DataTlPt TealPaint PalmOS document
  10508. >0 string >\0 "%s"
  10509. 60 string dataTDBP ThinkDB PalmOS document
  10510. >0 string >\0 "%s"
  10511. 60 string TdatTide Tides PalmOS document
  10512. >0 string >\0 "%s"
  10513. 60 string ToRaTRPW TomeRaider PalmOS document
  10514. >0 string >\0 "%s"
  10515.  
  10516. # A GutenPalm zTXT etext for use on Palm Pilots (http://gutenpalm.sf.net)
  10517. # For version 1.xx zTXTs, outputs version and numbers of bookmarks and
  10518. # annotations.
  10519. # For other versions, just outputs version.
  10520. #
  10521. 60 string zTXT A GutenPalm zTXT e-book
  10522. >0 string >\0 "%s"
  10523. >(0x4E.L) byte 0
  10524. >>(0x4E.L+1) byte x (v0.%02d)
  10525. >(0x4E.L) byte 1
  10526. >>(0x4E.L+1) byte x (v1.%02d)
  10527. >>>(0x4E.L+10) beshort >0
  10528. >>>>(0x4E.L+10) beshort <2 - 1 bookmark
  10529. >>>>(0x4E.L+10) beshort >1 - %d bookmarks
  10530. >>>(0x4E.L+14) beshort >0
  10531. >>>>(0x4E.L+14) beshort <2 - 1 annotation
  10532. >>>>(0x4E.L+14) beshort >1 - %d annotations
  10533. >(0x4E.L) byte >1 (v%d.
  10534. >>(0x4E.L+1) byte x %02d)
  10535.  
  10536. # Palm OS .prc file types
  10537. 60 string libr Palm OS dynamic library data
  10538. >0 string >\0 "%s"
  10539. 60 string ptch Palm OS operating system patch data
  10540. >0 string >\0 "%s"
  10541.  
  10542. # Mobipocket (www.mobipocket.com), donated by Carl Witty
  10543. 60 string BOOKMOBI Mobipocket E-book
  10544. >0 string >\0 "%s"
  10545.  
  10546. #------------------------------------------------------------------------------
  10547. #
  10548. # Parix COFF executables
  10549. # From: Ignatios Souvatzis <[email protected]>
  10550. #
  10551. 0 beshort&0xfff 0xACE PARIX
  10552. >0 byte&0xf0 0x80 T800
  10553. >0 byte&0xf0 0x90 T9000
  10554. >19 byte&0x02 0x02 executable
  10555. >19 byte&0x02 0x00 object
  10556. >19 byte&0x0c 0x00 not stripped
  10557.  
  10558. #------------------------------------------------------------------------------
  10559. # pbm: file(1) magic for Portable Bitmap files
  10560. #
  10561. # XXX - byte order?
  10562. #
  10563. 0 short 0x2a17 "compact bitmap" format (Poskanzer)
  10564. #------------------------------------------------------------------------------
  10565. # pdf: file(1) magic for Portable Document Format
  10566. #
  10567.  
  10568. 0 string %PDF- PDF document
  10569. >5 byte x \b, version %c
  10570. >7 byte x \b.%c
  10571.  
  10572. # From: Nick Schmalenberger <[email protected]>
  10573. # Forms Data Format
  10574. 0 string %FDF- FDF text
  10575. >5 byte x \b, version %c
  10576. >7 byte x \b.%c
  10577.  
  10578. #------------------------------------------------------------------------------
  10579. # pdp: file(1) magic for PDP-11 executable/object and APL workspace
  10580. #
  10581. 0 lelong 0101555 PDP-11 single precision APL workspace
  10582. 0 lelong 0101554 PDP-11 double precision APL workspace
  10583. #
  10584. # PDP-11 a.out
  10585. #
  10586. 0 leshort 0407 PDP-11 executable
  10587. >8 leshort >0 not stripped
  10588. >15 byte >0 - version %ld
  10589.  
  10590. 0 leshort 0401 PDP-11 UNIX/RT ldp
  10591. 0 leshort 0405 PDP-11 old overlay
  10592.  
  10593. 0 leshort 0410 PDP-11 pure executable
  10594. >8 leshort >0 not stripped
  10595. >15 byte >0 - version %ld
  10596.  
  10597. 0 leshort 0411 PDP-11 separate I&D executable
  10598. >8 leshort >0 not stripped
  10599. >15 byte >0 - version %ld
  10600.  
  10601. 0 leshort 0437 PDP-11 kernel overlay
  10602.  
  10603. # These last three are derived from 2.11BSD file(1)
  10604. 0 leshort 0413 PDP-11 demand-paged pure executable
  10605. >8 leshort >0 not stripped
  10606.  
  10607. 0 leshort 0430 PDP-11 overlaid pure executable
  10608. >8 leshort >0 not stripped
  10609.  
  10610. 0 leshort 0431 PDP-11 overlaid separate executable
  10611. >8 leshort >0 not stripped
  10612.  
  10613. #------------------------------------------------------------------------------
  10614. # perl: file(1) magic for Larry Wall's perl language.
  10615. #
  10616. # The ``eval'' line recognizes an outrageously clever hack for USG systems.
  10617. # Keith Waclena <[email protected]>
  10618. # Send additions to <[email protected]>
  10619. 0 string/b #!\ /bin/perl perl script text executable
  10620. 0 string eval\ "exec\ /bin/perl perl script text
  10621. 0 string/b #!\ /usr/bin/perl perl script text executable
  10622. 0 string eval\ "exec\ /usr/bin/perl perl script text
  10623. 0 string/b #!\ /usr/local/bin/perl perl script text
  10624. 0 string eval\ "exec\ /usr/local/bin/perl perl script text executable
  10625. 0 string eval\ '(exit\ $?0)'\ &&\ eval\ 'exec perl script text
  10626.  
  10627.  
  10628. # by Dmitry V. Levin and Alexey Tourbin
  10629. # check the first line
  10630. 0 string package
  10631. >1 regex \^package[\ \t]+[A-Za-z_]
  10632. >>1 regex \^package[\ \t]+[0-9A-Za-z_:]*\ *; Perl5 module source text
  10633. # not 'p', check other lines
  10634. 0 byte !0x70
  10635. >0 regex \^package[\ \t]+[0-9A-Za-z_:]+\ *;
  10636. >>0 regex \^1\ *;|\^(use|sub|my)\ .*[(;{=] Perl5 module source text
  10637.  
  10638.  
  10639.  
  10640. # Perl POD documents
  10641. # From: Tom Hukins <[email protected]>
  10642. 0 string/B \=pod\n Perl POD document
  10643. 0 string/B \n\=pod\n Perl POD document
  10644. 0 string/B \=head1\ Perl POD document
  10645. 0 string/B \n\=head1\ Perl POD document
  10646. 0 string/B \=head2\ Perl POD document
  10647. 0 string/B \n\=head2\ Perl POD document
  10648.  
  10649. # Perl Storable data files.
  10650. 0 string perl-store perl Storable(v0.6) data
  10651. >4 byte >0 (net-order %d)
  10652. >>4 byte &01 (network-ordered)
  10653. >>4 byte =3 (major 1)
  10654. >>4 byte =2 (major 1)
  10655.  
  10656. 0 string pst0 perl Storable(v0.7) data
  10657. >4 byte >0
  10658. >>4 byte &01 (network-ordered)
  10659. >>4 byte =5 (major 2)
  10660. >>4 byte =4 (major 2)
  10661. >>5 byte >0 (minor %d)
  10662.  
  10663. #------------------------------------------------------------------------------
  10664. # pgp: file(1) magic for Pretty Good Privacy
  10665. #
  10666. 0 beshort 0x9900 PGP key public ring
  10667. 0 beshort 0x9501 PGP key security ring
  10668. 0 beshort 0x9500 PGP key security ring
  10669. 0 beshort 0xa600 PGP encrypted data
  10670. 0 string -----BEGIN\040PGP PGP armored data
  10671. >15 string PUBLIC\040KEY\040BLOCK- public key block
  10672. >15 string MESSAGE- message
  10673. >15 string SIGNED\040MESSAGE- signed message
  10674. >15 string PGP\040SIGNATURE- signature
  10675.  
  10676. #------------------------------------------------------------------------------
  10677. # pkgadd: file(1) magic for SysV R4 PKG Datastreams
  10678. #
  10679. 0 string #\ PaCkAgE\ DaTaStReAm pkg Datastream (SVR4)
  10680.  
  10681. #------------------------------------------------------------------------------
  10682. # plan9: file(1) magic for AT&T Bell Labs' Plan 9 executables
  10683. # From: "Stefan A. Haubenthal" <[email protected]>
  10684. #
  10685. 0 belong 0x00000107 Plan 9 executable, Motorola 68k
  10686. 0 belong 0x000001EB Plan 9 executable, Intel 386
  10687. 0 belong 0x00000247 Plan 9 executable, Intel 960
  10688. 0 belong 0x000002AB Plan 9 executable, SPARC
  10689. 0 belong 0x00000407 Plan 9 executable, MIPS R3000
  10690. 0 belong 0x0000048B Plan 9 executable, AT&T DSP 3210
  10691. 0 belong 0x00000517 Plan 9 executable, MIPS R4000 BE
  10692. 0 belong 0x000005AB Plan 9 executable, AMD 29000
  10693. 0 belong 0x00000647 Plan 9 executable, ARM 7-something
  10694. 0 belong 0x000006EB Plan 9 executable, PowerPC
  10695. 0 belong 0x00000797 Plan 9 executable, MIPS R4000 LE
  10696. 0 belong 0x0000084B Plan 9 executable, DEC Alpha
  10697.  
  10698. #------------------------------------------------------------------------------
  10699. # plus5: file(1) magic for Plus Five's UNIX MUMPS
  10700. #
  10701. # XXX - byte order? Paging Hokey....
  10702. #
  10703. 0 short 0x259 mumps avl global
  10704. >2 byte >0 (V%d)
  10705. >6 byte >0 with %d byte name
  10706. >7 byte >0 and %d byte data cells
  10707. 0 short 0x25a mumps blt global
  10708. >2 byte >0 (V%d)
  10709. >8 short >0 - %d byte blocks
  10710. >15 byte 0x00 - P/D format
  10711. >15 byte 0x01 - P/K/D format
  10712. >15 byte 0x02 - K/D format
  10713. >15 byte >0x02 - Bad Flags
  10714.  
  10715. #------------------------------------------------------------------------------
  10716. # printer: file(1) magic for printer-formatted files
  10717. #
  10718.  
  10719. # PostScript, updated by Daniel Quinlan ([email protected])
  10720. 0 string %! PostScript document text
  10721. >2 string PS-Adobe- conforming
  10722. >>11 string >\0 at level %.3s
  10723. >>>15 string EPS - type %s
  10724. >>>15 string Query - type %s
  10725. >>>15 string ExitServer - type %s
  10726. # Some PCs have the annoying habit of adding a ^D as a document separator
  10727. 0 string \004%! PostScript document text
  10728. >3 string PS-Adobe- conforming
  10729. >>12 string >\0 at level %.3s
  10730. >>>16 string EPS - type %s
  10731. >>>16 string Query - type %s
  10732. >>>16 string ExitServer - type %s
  10733. 0 string \033%-12345X%!PS PostScript document
  10734.  
  10735.  
  10736. # DOS EPS Binary File Header
  10737. # From: Ed Sznyter <[email protected]>
  10738. 0 belong 0xC5D0D3C6 DOS EPS Binary File
  10739. >4 long >0 Postscript starts at byte %d
  10740. >>8 long >0 length %d
  10741. >>>12 long >0 Metafile starts at byte %d
  10742. >>>>16 long >0 length %d
  10743. >>>20 long >0 TIFF starts at byte %d
  10744. >>>>24 long >0 length %d
  10745.  
  10746. # Adobe's PostScript Printer Description (PPD) files
  10747. # Yves Arrouye <[email protected]>
  10748. #
  10749. 0 string *PPD-Adobe: PPD file
  10750. >13 string x \b, ve
  10751.  
  10752. # HP Printer Job Language
  10753. 0 string \033%-12345X@PJL HP Printer Job Language data
  10754. # HP Printer Job Language
  10755. # The header found on Win95 HP plot files is the "Silliest Thing possible"
  10756. # (TM)
  10757. # Every driver puts the language at some random position, with random case
  10758. # (LANGUAGE and Language)
  10759. # For example the LaserJet 5L driver puts the "PJL ENTER LANGUAGE" in line 10
  10760. # From: Uwe Bonnes <[email protected]>
  10761. #
  10762. 0 string \033%-12345X@PJL HP Printer Job Language data
  10763. >&0 string >\0 %s
  10764. >>&0 string >\0 %s
  10765. >>>&0 string >\0 %s
  10766. >>>>&0 string >\0 %s
  10767. #>15 string \ ENTER\ LANGUAGE\ =
  10768. #>31 string PostScript PostScript
  10769.  
  10770. # HP Printer Control Language, Daniel Quinlan ([email protected])
  10771. 0 string \033E\033 HP PCL printer data
  10772. >3 string \&l0A - default page size
  10773. >3 string \&l1A - US executive page size
  10774. >3 string \&l2A - US letter page size
  10775. >3 string \&l3A - US legal page size
  10776. >3 string \&l26A - A4 page size
  10777. >3 string \&l80A - Monarch envelope size
  10778. >3 string \&l81A - No. 10 envelope size
  10779. >3 string \&l90A - Intl. DL envelope size
  10780. >3 string \&l91A - Intl. C5 envelope size
  10781. >3 string \&l100A - Intl. B5 envelope size
  10782. >3 string \&l-81A - No. 10 envelope size (landscape)
  10783. >3 string \&l-90A - Intl. DL envelope size (landscape)
  10784.  
  10785. # IMAGEN printer-ready files:
  10786. 0 string @document( Imagen printer
  10787. # this only works if "language xxx" is first item in Imagen header.
  10788. >10 string language\ impress (imPRESS data)
  10789. >10 string language\ daisy (daisywheel text)
  10790. >10 string language\ diablo (daisywheel text)
  10791. >10 string language\ printer (line printer emulation)
  10792. >10 string language\ tektronix (Tektronix 4014 emulation)
  10793. # Add any other languages that your Imagen uses - remember
  10794. # to keep the word `text' if the file is human-readable.
  10795. # [GRR 950115: missing "postscript" or "ultrascript" (whatever it was called)]
  10796. #
  10797. # Now magic for IMAGEN font files...
  10798. 0 string Rast RST-format raster font data
  10799. >45 string >0 face %s
  10800. # From Jukka Ukkonen
  10801. 0 string \033[K\002\0\0\017\033(a\001\0\001\033(g Canon Bubble Jet BJC formatted data
  10802.  
  10803. # These are the /etc/magic entries to decode data sent to an Epson printer.
  10804. 0 string \x1B\x40\x1B\x28\x52\x08\x00\x00REMOTE1P Epson Stylus Color 460 data
  10805.  
  10806.  
  10807. #------------------------------------------------------------------------------
  10808. # zenographics: file(1) magic for Zenographics ZjStream printer data
  10809. # Rick Richardson [email protected]
  10810. 0 string JZJZ
  10811. >0x12 string ZZ Zenographics ZjStream printer data (big-endian)
  10812. 0 string ZJZJ
  10813. >0x12 string ZZ Zenographics ZjStream printer data (little-endian)
  10814.  
  10815.  
  10816. #------------------------------------------------------------------------------
  10817. # Oak Technologies printer stream
  10818. # Rick Richardson <[email protected]>
  10819. 0 string OAK
  10820. >0x07 byte 0
  10821. >0x0b byte 0 Oak Technologies printer stream
  10822.  
  10823. # This would otherwise be recognized as PostScript - [email protected]
  10824. 0 string %!VMF SunClock's Vector Map Format data
  10825.  
  10826. #------------------------------------------------------------------------------
  10827. # HP LaserJet 1000 series downloadable firmware file
  10828. 0 string \xbe\xefABCDEFGH HP LaserJet 1000 series downloadable firmware
  10829.  
  10830. # From: Paolo <[email protected]>
  10831. # Epson ESC/Page, ESC/PageColor
  10832. 0 string \x1b\x01@EJL Epson ESC/Page language printer data
  10833.  
  10834. #------------------------------------------------------------------------------
  10835. # project: file(1) magic for Project management
  10836. #
  10837. # Magic strings for ftnchek project files. Alexander Mai
  10838. 0 string FTNCHEK_\ P project file for ftnchek
  10839. >10 string 1 version 2.7
  10840. >10 string 2 version 2.8 to 2.10
  10841. >10 string 3 version 2.11 or later
  10842.  
  10843. #------------------------------------------------------------------------------
  10844. # psdbms: file(1) magic for psdatabase
  10845. #
  10846. 0 belong&0xff00ffff 0x56000000 ps database
  10847. >1 string >\0 version %s
  10848. >4 string >\0 from kernel %s
  10849.  
  10850. #------------------------------------------------------------------------------
  10851. # psion: file(1) magic for Psion handhelds data
  10852. # from: Peter Breitenlohner <[email protected]>
  10853. #
  10854. 0 lelong 0x10000037 Psion Series 5
  10855. >4 lelong 0x10000039 font file
  10856. >4 lelong 0x1000003A printer driver
  10857. >4 lelong 0x1000003B clipboard
  10858. >4 lelong 0x10000042 multi-bitmap image
  10859. >4 lelong 0x1000006A application information file
  10860. >4 lelong 0x1000006D
  10861. >>8 lelong 0x1000007D sketch image
  10862. >>8 lelong 0x1000007E voice note
  10863. >>8 lelong 0x1000007F word file
  10864. >>8 lelong 0x10000085 OPL program
  10865. >>8 lelong 0x10000088 sheet file
  10866. >>8 lelong 0x100001C4 EasyFax initialisation file
  10867. >4 lelong 0x10000073 OPO module
  10868. >4 lelong 0x10000074 OPL application
  10869. >4 lelong 0x1000008A exported multi-bitmap image
  10870.  
  10871. 0 lelong 0x10000041 Psion Series 5 ROM multi-bitmap image
  10872.  
  10873. 0 lelong 0x10000050 Psion Series 5
  10874. >4 lelong 0x1000006D database
  10875. >4 lelong 0x100000E4 ini file
  10876.  
  10877. 0 lelong 0x10000079 Psion Series 5 binary:
  10878. >4 lelong 0x00000000 DLL
  10879. >4 lelong 0x10000049 comms hardware library
  10880. >4 lelong 0x1000004A comms protocol library
  10881. >4 lelong 0x1000005D OPX
  10882. >4 lelong 0x1000006C application
  10883. >4 lelong 0x1000008D DLL
  10884. >4 lelong 0x100000AC logical device driver
  10885. >4 lelong 0x100000AD physical device driver
  10886. >4 lelong 0x100000E5 file transfer protocol
  10887. >4 lelong 0x100000E5 file transfer protocol
  10888. >4 lelong 0x10000140 printer definition
  10889. >4 lelong 0x10000141 printer definition
  10890.  
  10891. 0 lelong 0x1000007A Psion Series 5 executable
  10892.  
  10893. #------------------------------------------------------------------------------
  10894. # pulsar: file(1) magic for Pulsar POP3 daemon binary files
  10895. #
  10896. # http://pulsar.sourceforge.net
  10897. #
  10898.  
  10899. 0 belong 0x1ee7f11e Pulsar POP3 daemon mailbox cache file.
  10900. >4 ubelong x Version: %d.
  10901. >8 ubelong x \b%d
  10902.  
  10903.  
  10904. #------------------------------------------------------------------------------
  10905. # pyramid: file(1) magic for Pyramids
  10906. #
  10907. # XXX - byte order?
  10908. #
  10909. 0 long 0x50900107 Pyramid 90x family executable
  10910. 0 long 0x50900108 Pyramid 90x family pure executable
  10911. >16 long >0 not stripped
  10912. 0 long 0x5090010b Pyramid 90x family demand paged pure executable
  10913. >16 long >0 not stripped
  10914.  
  10915. #------------------------------------------------------------------------------
  10916. # python: file(1) magic for python
  10917. #
  10918. # From: David Necas <[email protected]>
  10919. # often the module starts with a multiline string
  10920. 0 string """ a python script text executable
  10921. # MAGIC as specified in Python/import.c (1.5 to 2.3.0a)
  10922. # 20121 ( YEAR - 1995 ) + MONTH + DAY (little endian followed by "\r\n"
  10923. 0 belong 0x994e0d0a python 1.5/1.6 byte-compiled
  10924. 0 belong 0x87c60d0a python 2.0 byte-compiled
  10925. 0 belong 0x2aeb0d0a python 2.1 byte-compiled
  10926. 0 belong 0x2ded0d0a python 2.2 byte-compiled
  10927. 0 belong 0x3bf20d0a python 2.3 byte-compiled
  10928. 0 belong 0x6df20d0a python 2.4 byte-compiled
  10929. 0 belong 0xb3f20d0a python 2.5 byte-compiled
  10930.  
  10931. 0 string/b #!\ /usr/bin/python python script text executable
  10932.  
  10933.  
  10934. #------------------------------------------------------------------------------
  10935. # file(1) magic for revision control files
  10936. # From Hendrik Scholz <[email protected]>
  10937. 0 string /1\ :pserver: cvs password text file
  10938.  
  10939. # Conary changesets
  10940. # From: Jonathan Smith <[email protected]>
  10941. 0 belong 0xea3f81bb Conary changeset data
  10942.  
  10943. #------------------------------------------------------------------------------
  10944. # riff: file(1) magic for RIFF format
  10945. # See
  10946. #
  10947. # http://www.seanet.com/users/matts/riffmci/riffmci.htm
  10948. #
  10949. # AVI section extended by Patrik Rę„­an <[email protected]>
  10950. #
  10951. 0 string RIFF RIFF (little-endian) data
  10952. # RIFF Palette format
  10953. >8 string PAL \b, palette
  10954. >>16 leshort x \b, version %d
  10955. >>18 leshort x \b, %d entries
  10956. # RIFF Device Independent Bitmap format
  10957. >8 string RDIB \b, device-independent bitmap
  10958. >>16 string BM
  10959. >>>30 leshort 12 \b, OS/2 1.x format
  10960. >>>>34 leshort x \b, %d x
  10961. >>>>36 leshort x %d
  10962. >>>30 leshort 64 \b, OS/2 2.x format
  10963. >>>>34 leshort x \b, %d x
  10964. >>>>36 leshort x %d
  10965. >>>30 leshort 40 \b, Windows 3.x format
  10966. >>>>34 lelong x \b, %d x
  10967. >>>>38 lelong x %d x
  10968. >>>>44 leshort x %d
  10969. # RIFF MIDI format
  10970. >8 string RMID \b, MIDI
  10971. # RIFF Multimedia Movie File format
  10972. >8 string RMMP \b, multimedia movie
  10973. # RIFF wrapper for MP3
  10974. >8 string RMP3 \b, MPEG Layer 3 audio
  10975. # Microsoft WAVE format (*.wav)
  10976. >8 string WAVE \b, WAVE audio
  10977. >>20 leshort 1 \b, Microsoft PCM
  10978. >>>34 leshort >0 \b, %d bit
  10979. >>20 leshort 2 \b, Microsoft ADPCM
  10980. >>20 leshort 6 \b, ITU G.711 A-law
  10981. >>20 leshort 7 \b, ITU G.711 mu-law
  10982. >>20 leshort 17 \b, IMA ADPCM
  10983. >>20 leshort 20 \b, ITU G.723 ADPCM (Yamaha)
  10984. >>20 leshort 49 \b, GSM 6.10
  10985. >>20 leshort 64 \b, ITU G.721 ADPCM
  10986. >>20 leshort 80 \b, MPEG
  10987. >>20 leshort 85 \b, MPEG Layer 3
  10988. >>22 leshort =1 \b, mono
  10989. >>22 leshort =2 \b, stereo
  10990. >>22 leshort >2 \b, %d channels
  10991. >>24 lelong >0 %d Hz
  10992. # Corel Draw Picture
  10993. >8 string CDRA \b, Corel Draw Picture
  10994. # AVI == Audio Video Interleave
  10995. >8 string AVI\040 \b, AVI
  10996. >>12 string LIST
  10997. >>>20 string hdrlavih
  10998. >>>>&36 lelong x \b, %lu x
  10999. >>>>&40 lelong x %lu,
  11000. >>>>&4 lelong >1000000 <1 fps,
  11001. >>>>&4 lelong 1000000 1.00 fps,
  11002. >>>>&4 lelong 500000 2.00 fps,
  11003. >>>>&4 lelong 333333 3.00 fps,
  11004. >>>>&4 lelong 250000 4.00 fps,
  11005. >>>>&4 lelong 200000 5.00 fps,
  11006. >>>>&4 lelong 166667 6.00 fps,
  11007. >>>>&4 lelong 142857 7.00 fps,
  11008. >>>>&4 lelong 125000 8.00 fps,
  11009. >>>>&4 lelong 111111 9.00 fps,
  11010. >>>>&4 lelong 100000 10.00 fps,
  11011. # ]9.9,10.1[
  11012. >>>>&4 lelong <101010
  11013. >>>>>&-4 lelong >99010
  11014. >>>>>>&-4 lelong !100000 ~10 fps,
  11015. >>>>&4 lelong 83333 12.00 fps,
  11016. # ]11.9,12.1[
  11017. >>>>&4 lelong <84034
  11018. >>>>>&-4 lelong >82645
  11019. >>>>>>&-4 lelong !83333 ~12 fps,
  11020. >>>>&4 lelong 66667 15.00 fps,
  11021. # ]14.9,15.1[
  11022. >>>>&4 lelong <67114
  11023. >>>>>&-4 lelong >66225
  11024. >>>>>>&-4 lelong !66667 ~15 fps,
  11025. >>>>&4 lelong 50000 20.00 fps,
  11026. >>>>&4 lelong 41708 23.98 fps,
  11027. >>>>&4 lelong 41667 24.00 fps,
  11028. # ]23.9,24.1[
  11029. >>>>&4 lelong <41841
  11030. >>>>>&-4 lelong >41494
  11031. >>>>>>&-4 lelong !41708
  11032. >>>>>>>&-4 lelong !41667 ~24 fps,
  11033. >>>>&4 lelong 40000 25.00 fps,
  11034. # ]24.9,25.1[
  11035. >>>>&4 lelong <40161
  11036. >>>>>&-4 lelong >39841
  11037. >>>>>>&-4 lelong !40000 ~25 fps,
  11038. >>>>&4 lelong 33367 29.97 fps,
  11039. >>>>&4 lelong 33333 30.00 fps,
  11040. # ]29.9,30.1[
  11041. >>>>&4 lelong <33445
  11042. >>>>>&-4 lelong >33223
  11043. >>>>>>&-4 lelong !33367
  11044. >>>>>>>&-4 lelong !33333 ~30 fps,
  11045. >>>>&4 lelong <32224 >30 fps,
  11046. ##>>>>&4 lelong x (%lu)
  11047. ##>>>>&20 lelong x %lu frames,
  11048. # Note: The tests below assume that the AVI has 1 or 2 streams,
  11049. # "vids" optionally followed by "auds".
  11050. # (Should cover 99.9% of all AVIs.)
  11051. # assuming avih length = 56
  11052. >>>88 string LIST
  11053. >>>>96 string strlstrh
  11054. >>>>>108 string vids video:
  11055. >>>>>>&0 lelong 0 uncompressed
  11056. # skip past vids strh
  11057. >>>>>>(104.l+108) string strf
  11058. >>>>>>>(104.l+132) lelong 1 RLE 8bpp
  11059. >>>>>>>(104.l+132) string/c cvid Cinepak
  11060. >>>>>>>(104.l+132) string/c i263 Intel I.263
  11061. >>>>>>>(104.l+132) string/c iv32 Indeo 3.2
  11062. >>>>>>>(104.l+132) string/c iv41 Indeo 4.1
  11063. >>>>>>>(104.l+132) string/c iv50 Indeo 5.0
  11064. >>>>>>>(104.l+132) string/c mp42 Microsoft MPEG-4 v2
  11065. >>>>>>>(104.l+132) string/c mp43 Microsoft MPEG-4 v3
  11066. >>>>>>>(104.l+132) string/c fmp4 FFMpeg MPEG-4
  11067. >>>>>>>(104.l+132) string/c mjpg Motion JPEG
  11068. >>>>>>>(104.l+132) string/c div3 DivX 3
  11069. >>>>>>>>112 string/c div3 Low-Motion
  11070. >>>>>>>>112 string/c div4 Fast-Motion
  11071. >>>>>>>(104.l+132) string/c divx DivX 4
  11072. >>>>>>>(104.l+132) string/c dx50 DivX 5
  11073. >>>>>>>(104.l+132) string/c xvid XviD
  11074. >>>>>>>(104.l+132) string/c wmv3 Windows Media Video 9
  11075. >>>>>>>(104.l+132) string/c h264 X.264
  11076. >>>>>>>(104.l+132) lelong 0
  11077. ##>>>>>>>(104.l+132) string x (%.4s)
  11078. # skip past first (video) LIST
  11079. >>>>(92.l+96) string LIST
  11080. >>>>>(92.l+104) string strlstrh
  11081. >>>>>>(92.l+116) string auds \b, audio:
  11082. # auds strh length = 56:
  11083. >>>>>>>(92.l+172) string strf
  11084. >>>>>>>>(92.l+180) leshort 0x0001 uncompressed PCM
  11085. >>>>>>>>(92.l+180) leshort 0x0002 ADPCM
  11086. >>>>>>>>(92.l+180) leshort 0x0006 aLaw
  11087. >>>>>>>>(92.l+180) leshort 0x0007 uLaw
  11088. >>>>>>>>(92.l+180) leshort 0x0050 MPEG-1 Layer 1 or 2
  11089. >>>>>>>>(92.l+180) leshort 0x0055 MPEG-1 Layer 3
  11090. >>>>>>>>(92.l+180) leshort 0x2000 Dolby AC3
  11091. >>>>>>>>(92.l+180) leshort 0x0161 DivX
  11092. ##>>>>>>>>(92.l+180) leshort x (0x%.4x)
  11093. >>>>>>>>(92.l+182) leshort 1 (mono,
  11094. >>>>>>>>(92.l+182) leshort 2 (stereo,
  11095. >>>>>>>>(92.l+182) leshort >2 (%d channels,
  11096. >>>>>>>>(92.l+184) lelong x %d Hz)
  11097. # auds strh length = 64:
  11098. >>>>>>>(92.l+180) string strf
  11099. >>>>>>>>(92.l+188) leshort 0x0001 uncompressed PCM
  11100. >>>>>>>>(92.l+188) leshort 0x0002 ADPCM
  11101. >>>>>>>>(92.l+188) leshort 0x0055 MPEG-1 Layer 3
  11102. >>>>>>>>(92.l+188) leshort 0x2000 Dolby AC3
  11103. >>>>>>>>(92.l+188) leshort 0x0161 DivX
  11104. ##>>>>>>>>(92.l+188) leshort x (0x%.4x)
  11105. >>>>>>>>(92.l+190) leshort 1 (mono,
  11106. >>>>>>>>(92.l+190) leshort 2 (stereo,
  11107. >>>>>>>>(92.l+190) leshort >2 (%d channels,
  11108. >>>>>>>>(92.l+192) lelong x %d Hz)
  11109. # Animated Cursor format
  11110. >8 string ACON \b, animated cursor
  11111. # SoundFont 2 <[email protected]>
  11112. >8 string sfbk SoundFont/Bank
  11113. # MPEG-1 wrapped in a RIFF, apparently
  11114. >8 string CDXA \b, wrapped MPEG-1 (CDXA)
  11115. >8 string 4XMV \b, 4X Movie file
  11116.  
  11117. #
  11118. # XXX - some of the below may only appear in little-endian form.
  11119. #
  11120. # Also "MV93" appears to be for one form of Macromedia Director
  11121. # files, and "GDMF" appears to be another multimedia format.
  11122. #
  11123. 0 string RIFX RIFF (big-endian) data
  11124. # RIFF Palette format
  11125. >8 string PAL \b, palette
  11126. >>16 beshort x \b, version %d
  11127. >>18 beshort x \b, %d entries
  11128. # RIFF Device Independent Bitmap format
  11129. >8 string RDIB \b, device-independent bitmap
  11130. >>16 string BM
  11131. >>>30 beshort 12 \b, OS/2 1.x format
  11132. >>>>34 beshort x \b, %d x
  11133. >>>>36 beshort x %d
  11134. >>>30 beshort 64 \b, OS/2 2.x format
  11135. >>>>34 beshort x \b, %d x
  11136. >>>>36 beshort x %d
  11137. >>>30 beshort 40 \b, Windows 3.x format
  11138. >>>>34 belong x \b, %d x
  11139. >>>>38 belong x %d x
  11140. >>>>44 beshort x %d
  11141. # RIFF MIDI format
  11142. >8 string RMID \b, MIDI
  11143. # RIFF Multimedia Movie File format
  11144. >8 string RMMP \b, multimedia movie
  11145. # Microsoft WAVE format (*.wav)
  11146. >8 string WAVE \b, WAVE audio
  11147. >>20 leshort 1 \b, Microsoft PCM
  11148. >>>34 leshort >0 \b, %d bit
  11149. >>22 beshort =1 \b, mono
  11150. >>22 beshort =2 \b, stereo
  11151. >>22 beshort >2 \b, %d channels
  11152. >>24 belong >0 %d Hz
  11153. # Corel Draw Picture
  11154. >8 string CDRA \b, Corel Draw Picture
  11155. # AVI == Audio Video Interleave
  11156. >8 string AVI\040 \b, AVI
  11157. # Animated Cursor format
  11158. >8 string ACON \b, animated cursor
  11159. # Notation Interchange File Format (big-endian only)
  11160. >8 string NIFF \b, Notation Interchange File Format
  11161. # SoundFont 2 <[email protected]>
  11162. >8 string sfbk SoundFont/Bank
  11163. #------------------------------------------------------------------------------
  11164. #
  11165. # RPM: file(1) magic for Red Hat Packages Erik Troan ([email protected])
  11166. #
  11167. 0 beshort 0xedab
  11168. >2 beshort 0xeedb RPM
  11169. >>4 byte x v%d
  11170. >>6 beshort 0 bin
  11171. >>6 beshort 1 src
  11172. >>8 beshort 1 i386
  11173. >>8 beshort 2 Alpha
  11174. >>8 beshort 3 Sparc
  11175. >>8 beshort 4 MIPS
  11176. >>8 beshort 5 PowerPC
  11177. >>8 beshort 6 68000
  11178. >>8 beshort 7 SGI
  11179. >>8 beshort 8 RS6000
  11180. >>8 beshort 9 IA64
  11181. >>8 beshort 10 Sparc64
  11182. >>8 beshort 11 MIPSel
  11183. >>8 beshort 12 ARM
  11184. >>10 string x %s
  11185.  
  11186. #------------------------------------------------------------------------------
  11187. # rtf: file(1) magic for Rich Text Format (RTF)
  11188. #
  11189. # Duncan P. Simpson, [email protected]
  11190. #
  11191. 0 string {\\rtf Rich Text Format data,
  11192. >5 byte x version %c,
  11193. >6 string \\ansi ANSI
  11194. >6 string \\mac Apple Macintosh
  11195. >6 string \\pc IBM PC, code page 437
  11196. >6 string \\pca IBM PS/2, code page 850
  11197.  
  11198. #------------------------------------------------------------------------------
  11199. # sc: file(1) magic for "sc" spreadsheet
  11200. #
  11201. 38 string Spreadsheet sc spreadsheet file
  11202.  
  11203. #------------------------------------------------------------------------------
  11204. # sccs: file(1) magic for SCCS archives
  11205. #
  11206. # SCCS archive structure:
  11207. # \001h01207
  11208. # \001s 00276/00000/00000
  11209. # \001d D 1.1 87/09/23 08:09:20 ian 1 0
  11210. # \001c date and time created 87/09/23 08:09:20 by ian
  11211. # \001e
  11212. # \001u
  11213. # \001U
  11214. # ... etc.
  11215. # Now '\001h' happens to be the same as the 3B20's a.out magic number (0550).
  11216. # *Sigh*. And these both came from various parts of the USG.
  11217. # Maybe we should just switch everybody from SCCS to RCS!
  11218. # Further, you can't just say '\001h0', because the five-digit number
  11219. # is a checksum that could (presumably) have any leading digit,
  11220. # and we don't have regular expression matching yet.
  11221. # Hence the following official kludge:
  11222. 8 string \001s\ SCCS archive data
  11223.  
  11224. #------------------------------------------------------------------------------
  11225. # sendmail: file(1) magic for sendmail config files
  11226. #
  11227. # XXX - byte order?
  11228. #
  11229. 0 byte 046 Sendmail frozen configuration
  11230. >16 string >\0 - version %s
  11231. 0 short 0x271c Sendmail frozen configuration
  11232. >16 string >\0 - version %s
  11233.  
  11234. #------------------------------------------------------------------------------
  11235. # sendmail: file(1) magic for sendmail m4(1) files
  11236. #
  11237. # From Hendrik Scholz <[email protected]>
  11238. # i.e. files in /usr/share/sendmail/cf/
  11239. #
  11240. 0 string divert(-1)\n sendmail m4 text file
  11241.  
  11242.  
  11243. #------------------------------------------------------------------------------
  11244. # sequent: file(1) magic for Sequent machines
  11245. #
  11246. # Sequent information updated by Don Dwiggins <atsun!dwiggins>.
  11247. # For Sequent's multiprocessor systems (incomplete).
  11248. 0 lelong 0x00ea BALANCE NS32000 .o
  11249. >16 lelong >0 not stripped
  11250. >124 lelong >0 version %ld
  11251. 0 lelong 0x10ea BALANCE NS32000 executable (0 @ 0)
  11252. >16 lelong >0 not stripped
  11253. >124 lelong >0 version %ld
  11254. 0 lelong 0x20ea BALANCE NS32000 executable (invalid @ 0)
  11255. >16 lelong >0 not stripped
  11256. >124 lelong >0 version %ld
  11257. 0 lelong 0x30ea BALANCE NS32000 standalone executable
  11258. >16 lelong >0 not stripped
  11259. >124 lelong >0 version %ld
  11260. #
  11261. # Symmetry information added by Jason Merrill <[email protected]>.
  11262. # Symmetry magic nums will not be reached if DOS COM comes before them;
  11263. # byte 0xeb is matched before these get a chance.
  11264. 0 leshort 0x12eb SYMMETRY i386 .o
  11265. >16 lelong >0 not stripped
  11266. >124 lelong >0 version %ld
  11267. 0 leshort 0x22eb SYMMETRY i386 executable (0 @ 0)
  11268. >16 lelong >0 not stripped
  11269. >124 lelong >0 version %ld
  11270. 0 leshort 0x32eb SYMMETRY i386 executable (invalid @ 0)
  11271. >16 lelong >0 not stripped
  11272. >124 lelong >0 version %ld
  11273. 0 leshort 0x42eb SYMMETRY i386 standalone executable
  11274. >16 lelong >0 not stripped
  11275. >124 lelong >0 version %ld
  11276.  
  11277. #------------------------------------------------------------------------------
  11278. # sgi: file(1) magic for Silicon Graphics applications
  11279.  
  11280. #
  11281. #
  11282. # Performance Co-Pilot file types
  11283. 0 string PmNs PCP compiled namespace (V.0)
  11284. 0 string PmN PCP compiled namespace
  11285. >3 string >\0 (V.%1.1s)
  11286. 3 lelong 0x84500526 PCP archive
  11287. >7 byte x (V.%d)
  11288. >20 lelong -2 temporal index
  11289. >20 lelong -1 metadata
  11290. >20 lelong 0 log volume #0
  11291. >20 lelong >0 log volume #%ld
  11292. >24 string >\0 host: %s
  11293. 0 string PCPFolio PCP
  11294. >9 string Version: Archive Folio
  11295. >18 string >\0 (V.%s)
  11296. 0 string #pmchart PCP pmchart view
  11297. >9 string Version
  11298. >17 string >\0 (V%-3.3s)
  11299. 0 string #kmchart PCP kmchart view
  11300. >9 string Version
  11301. >17 string >\0 (V.%s)
  11302. 0 string pmview PCP pmview config
  11303. >7 string Version
  11304. >15 string >\0 (V%-3.3s)
  11305. 0 string #pmlogger PCP pmlogger config
  11306. >10 string Version
  11307. >18 string >\0 (V%1.1s)
  11308. 0 string PcPh PCP Help
  11309. >4 string 1 Index
  11310. >4 string 2 Text
  11311. >5 string >\0 (V.%1.1s)
  11312. 0 string #pmieconf-rules PCP pmieconf rules
  11313. >16 string >\0 (V.%1.1s)
  11314. 3 string pmieconf-pmie PCP pmie config
  11315. >17 string >\0 (V.%1.1s)
  11316.  
  11317. # SpeedShop data files
  11318. 0 lelong 0x13130303 SpeedShop data file
  11319.  
  11320. # mdbm files
  11321. 0 lelong 0x01023962 mdbm file, version 0 (obsolete)
  11322. 0 string mdbm mdbm file,
  11323. >5 byte x version %d,
  11324. >6 byte x 2^%d pages,
  11325. >7 byte x pagesize 2^%d,
  11326. >17 byte x hash %d,
  11327. >11 byte x dataformat %d
  11328.  
  11329. # Alias Maya files
  11330. 0 string //Maya ASCII Alias Maya Ascii File,
  11331. >13 string >\0 version %s
  11332. 8 string MAYAFOR4 Alias Maya Binary File,
  11333. >32 string >\0 version %s scene
  11334. 8 string MayaFOR4 Alias Maya Binary File,
  11335. >32 string >\0 version %s scene
  11336. 8 string CIMG Alias Maya Image File
  11337. 8 string DEEP Alias Maya Image File
  11338.  
  11339. #------------------------------------------------------------------------------
  11340. # sgml: file(1) magic for Standard Generalized Markup Language
  11341. # HyperText Markup Language (HTML) is an SGML document type,
  11342. # from Daniel Quinlan ([email protected])
  11343. # adapted to string extenstions by Anthon van der Neut <[email protected])
  11344. 0 string/cB \<!DOCTYPE\ html HTML document text
  11345. 0 string/cb \<head HTML document text
  11346. 0 string/cb \<title HTML document text
  11347. 0 string/cb \<html HTML document text
  11348.  
  11349. # Extensible markup language (XML), a subset of SGML
  11350. # from Marc Prud'hommeaux ([email protected])
  11351. 0 string/cb \<?xml XML document text
  11352. 0 string \<?xml\ version\ " XML
  11353. 0 string \<?xml\ version=" XML
  11354. 0 string \<?xml\ version=' XML
  11355. >15 string >\0 %.3s document text
  11356. >>23 string \<xsl:stylesheet (XSL stylesheet)
  11357. >>24 string \<xsl:stylesheet (XSL stylesheet)
  11358. 0 string/b \<?xml XML document text
  11359. 0 string/cb \<?xml broken XML document text
  11360.  
  11361.  
  11362. # SGML, mostly from rph@sq
  11363. 0 string/cb \<!doctype exported SGML document text
  11364. 0 string/cb \<!subdoc exported SGML subdocument text
  11365. 0 string/cb \<!-- exported SGML document text
  11366.  
  11367. # Web browser cookie files
  11368. # (Mozilla, Galeon, Netscape 4, Konqueror..)
  11369. # Ulf Harnhammar <[email protected]>
  11370. 0 string #\ HTTP\ Cookie\ File Web browser cookie text
  11371. 0 string #\ Netscape\ HTTP\ Cookie\ File Netscape cookie text
  11372. 0 string #\ KDE\ Cookie\ File Konqueror cookie text
  11373.  
  11374. #------------------------------------------------------------------------
  11375. # file(1) magic for sharc files
  11376. #
  11377. # SHARC DSP, MIDI SysEx and RiscOS filetype definitions added by
  11378. # FutureGroove Music ([email protected])
  11379.  
  11380. #------------------------------------------------------------------------
  11381. 0 string Draw RiscOS Drawfile
  11382. 0 string PACK RiscOS PackdDir archive
  11383.  
  11384. #------------------------------------------------------------------------
  11385. # SHARC DSP stuff (based on the FGM SHARC DSP SDK)
  11386.  
  11387. 0 string =! Assembler source
  11388. 0 string Analog ADi asm listing file
  11389. 0 string .SYSTEM SHARC architecture file
  11390. 0 string .system SHARC architecture file
  11391.  
  11392. 0 leshort 0x521C SHARC COFF binary
  11393. >2 leshort >1 , %hd sections
  11394. >>12 lelong >0 , not stripped
  11395.  
  11396. #------------------------------------------------------------------------------
  11397. # sinclair: file(1) sinclair QL
  11398.  
  11399. # additions to /etc/magic by Thomas M. Ott (ThMO)
  11400.  
  11401. # Sinclair QL floppy disk formats (ThMO)
  11402. 0 string =QL5 QL disk dump data,
  11403. >3 string =A 720 KB,
  11404. >3 string =B 1.44 MB,
  11405. >3 string =C 3.2 MB,
  11406. >4 string >\0 label:%.10s
  11407.  
  11408. # Sinclair QL OS dump (ThMO)
  11409. # (NOTE: if `file' would be able to use indirect references in a endian format
  11410. # differing from the natural host format, this could be written more
  11411. # reliably and faster...)
  11412. #
  11413. # we *can't* lookup QL OS code dumps, because `file' is UNABLE to read more
  11414. # than the first 8K of a file... #-(
  11415. #
  11416. #0 belong =0x30000
  11417. #>49124 belong <47104
  11418. #>>49128 belong <47104
  11419. #>>>49132 belong <47104
  11420. #>>>>49136 belong <47104 QL OS dump data,
  11421. #>>>>>49148 string >\0 type %.3s,
  11422. #>>>>>49142 string >\0 version %.4s
  11423.  
  11424. # Sinclair QL firmware executables (ThMO)
  11425. 0 string NqNqNq`\004 QL firmware executable (BCPL)
  11426.  
  11427. # Sinclair QL libraries (was ThMO)
  11428. 0 beshort 0xFB01 QDOS object
  11429. >2 pstring x '%s'
  11430.  
  11431. # Sinclair QL executables (was ThMO)
  11432. 4 belong 0x4AFB QDOS executable
  11433. >9 pstring x '%s'
  11434.  
  11435. # Sinclair QL ROM (ThMO)
  11436. 0 belong =0x4AFB0001 QL plugin-ROM data,
  11437. >9 pstring =\0 un-named
  11438. >9 pstring >\0 named: %s
  11439.  
  11440. #------------------------------------------------------------------------------
  11441. # Sketch Drawings: http://sketch.sourceforge.net/
  11442. # From: Edwin Mons <[email protected]>
  11443. 0 string ##Sketch Sketch document text
  11444.  
  11445. #-----------------------------------------------
  11446. # GNU Smalltalk image, starting at version 1.6.2
  11447. #
  11448. 0 string GSTIm\0\0 GNU SmallTalk
  11449. # little-endian
  11450. >7 byte&1 =0 LE image version
  11451. >>10 byte x %d.
  11452. >>9 byte x \b%d.
  11453. >>8 byte x \b%d
  11454. #>>12 lelong x , data: %ld
  11455. #>>16 lelong x , table: %ld
  11456. #>>20 lelong x , memory: %ld
  11457. # big-endian
  11458. >7 byte&1 =1 BE image version
  11459. >>8 byte x %d.
  11460. >>9 byte x \b%d.
  11461. >>10 byte x \b%d
  11462. #>>12 belong x , data: %ld
  11463. #>>16 belong x , table: %ld
  11464. #>>20 belong x , memory: %ld
  11465.  
  11466.  
  11467.  
  11468. #------------------------------------------------------------------------------
  11469. # sniffer: file(1) magic for packet capture files
  11470. #
  11471. # From: [email protected] (Guy Harris)
  11472. #
  11473.  
  11474. #
  11475. # Microsoft Network Monitor 1.x capture files.
  11476. #
  11477. 0 string RTSS NetMon capture file
  11478. >5 byte x - version %d
  11479. >4 byte x \b.%d
  11480. >6 leshort 0 (Unknown)
  11481. >6 leshort 1 (Ethernet)
  11482. >6 leshort 2 (Token Ring)
  11483. >6 leshort 3 (FDDI)
  11484. >6 leshort 4 (ATM)
  11485.  
  11486. #
  11487. # Microsoft Network Monitor 2.x capture files.
  11488. #
  11489. 0 string GMBU NetMon capture file
  11490. >5 byte x - version %d
  11491. >4 byte x \b.%d
  11492. >6 leshort 0 (Unknown)
  11493. >6 leshort 1 (Ethernet)
  11494. >6 leshort 2 (Token Ring)
  11495. >6 leshort 3 (FDDI)
  11496. >6 leshort 4 (ATM)
  11497.  
  11498. #
  11499. # Network General Sniffer capture files.
  11500. # Sorry, make that "Network Associates Sniffer capture files."
  11501. # Sorry, make that "Network General old DOS Sniffer capture files."
  11502. #
  11503. 0 string TRSNIFF\ data\ \ \ \ \032 Sniffer capture file
  11504. >33 byte 2 (compressed)
  11505. >23 leshort x - version %d
  11506. >25 leshort x \b.%d
  11507. >32 byte 0 (Token Ring)
  11508. >32 byte 1 (Ethernet)
  11509. >32 byte 2 (ARCNET)
  11510. >32 byte 3 (StarLAN)
  11511. >32 byte 4 (PC Network broadband)
  11512. >32 byte 5 (LocalTalk)
  11513. >32 byte 6 (Znet)
  11514. >32 byte 7 (Internetwork Analyzer)
  11515. >32 byte 9 (FDDI)
  11516. >32 byte 10 (ATM)
  11517.  
  11518. #
  11519. # Cinco Networks NetXRay capture files.
  11520. # Sorry, make that "Network General Sniffer Basic capture files."
  11521. # Sorry, make that "Network Associates Sniffer Basic capture files."
  11522. # Sorry, make that "Network Associates Sniffer Basic, and Windows
  11523. # Sniffer Pro", capture files."
  11524. # Sorry, make that "Network General Sniffer capture files."
  11525. #
  11526. 0 string XCP\0 NetXRay capture file
  11527. >4 string >\0 - version %s
  11528. >44 leshort 0 (Ethernet)
  11529. >44 leshort 1 (Token Ring)
  11530. >44 leshort 2 (FDDI)
  11531. >44 leshort 3 (WAN)
  11532. >44 leshort 8 (ATM)
  11533. >44 leshort 9 (802.11)
  11534.  
  11535. #
  11536. # "libpcap" capture files.
  11537. # (We call them "tcpdump capture file(s)" for now, as "tcpdump" is
  11538. # the main program that uses that format, but there are other programs
  11539. # that use "libpcap", or that use the same capture file format.)
  11540. #
  11541. 0 ubelong 0xa1b2c3d4 tcpdump capture file (big-endian)
  11542. >4 beshort x - version %d
  11543. >6 beshort x \b.%d
  11544. >20 belong 0 (No link-layer encapsulation
  11545. >20 belong 1 (Ethernet
  11546. >20 belong 2 (3Mb Ethernet
  11547. >20 belong 3 (AX.25
  11548. >20 belong 4 (ProNET
  11549. >20 belong 5 (CHAOS
  11550. >20 belong 6 (Token Ring
  11551. >20 belong 7 (BSD ARCNET
  11552. >20 belong 8 (SLIP
  11553. >20 belong 9 (PPP
  11554. >20 belong 10 (FDDI
  11555. >20 belong 11 (RFC 1483 ATM
  11556. >20 belong 12 (raw IP
  11557. >20 belong 13 (BSD/OS SLIP
  11558. >20 belong 14 (BSD/OS PPP
  11559. >20 belong 19 (Linux ATM Classical IP
  11560. >20 belong 50 (PPP or Cisco HDLC
  11561. >20 belong 51 (PPP-over-Ethernet
  11562. >20 belong 99 (Symantec Enterprise Firewall
  11563. >20 belong 100 (RFC 1483 ATM
  11564. >20 belong 101 (raw IP
  11565. >20 belong 102 (BSD/OS SLIP
  11566. >20 belong 103 (BSD/OS PPP
  11567. >20 belong 104 (BSD/OS Cisco HDLC
  11568. >20 belong 105 (802.11
  11569. >20 belong 106 (Linux Classical IP over ATM
  11570. >20 belong 107 (Frame Relay
  11571. >20 belong 108 (OpenBSD loopback
  11572. >20 belong 109 (OpenBSD IPsec encrypted
  11573. >20 belong 112 (Cisco HDLC
  11574. >20 belong 113 (Linux "cooked"
  11575. >20 belong 114 (LocalTalk
  11576. >20 belong 117 (OpenBSD PFLOG
  11577. >20 belong 119 (802.11 with Prism header
  11578. >20 belong 122 (RFC 2625 IP over Fibre Channel
  11579. >20 belong 123 (SunATM
  11580. >20 belong 127 (802.11 with radiotap header
  11581. >20 belong 129 (Linux ARCNET
  11582. >20 belong 138 (Apple IP over IEEE 1394
  11583. >20 belong 140 (MTP2
  11584. >20 belong 141 (MTP3
  11585. >20 belong 143 (DOCSIS
  11586. >20 belong 144 (IrDA
  11587. >20 belong 147 (Private use 0
  11588. >20 belong 148 (Private use 1
  11589. >20 belong 149 (Private use 2
  11590. >20 belong 150 (Private use 3
  11591. >20 belong 151 (Private use 4
  11592. >20 belong 152 (Private use 5
  11593. >20 belong 153 (Private use 6
  11594. >20 belong 154 (Private use 7
  11595. >20 belong 155 (Private use 8
  11596. >20 belong 156 (Private use 9
  11597. >20 belong 157 (Private use 10
  11598. >20 belong 158 (Private use 11
  11599. >20 belong 159 (Private use 12
  11600. >20 belong 160 (Private use 13
  11601. >20 belong 161 (Private use 14
  11602. >20 belong 162 (Private use 15
  11603. >20 belong 163 (802.11 with AVS header
  11604. >16 belong x \b, capture length %d)
  11605. 0 ulelong 0xa1b2c3d4 tcpdump capture file (little-endian)
  11606. >4 leshort x - version %d
  11607. >6 leshort x \b.%d
  11608. >20 lelong 0 (No link-layer encapsulation
  11609. >20 lelong 1 (Ethernet
  11610. >20 lelong 2 (3Mb Ethernet
  11611. >20 lelong 3 (AX.25
  11612. >20 lelong 4 (ProNET
  11613. >20 lelong 5 (CHAOS
  11614. >20 lelong 6 (Token Ring
  11615. >20 lelong 7 (ARCNET
  11616. >20 lelong 8 (SLIP
  11617. >20 lelong 9 (PPP
  11618. >20 lelong 10 (FDDI
  11619. >20 lelong 11 (RFC 1483 ATM
  11620. >20 lelong 12 (raw IP
  11621. >20 lelong 13 (BSD/OS SLIP
  11622. >20 lelong 14 (BSD/OS PPP
  11623. >20 lelong 19 (Linux ATM Classical IP
  11624. >20 lelong 50 (PPP or Cisco HDLC
  11625. >20 lelong 51 (PPP-over-Ethernet
  11626. >20 lelong 99 (Symantec Enterprise Firewall
  11627. >20 lelong 100 (RFC 1483 ATM
  11628. >20 lelong 101 (raw IP
  11629. >20 lelong 102 (BSD/OS SLIP
  11630. >20 lelong 103 (BSD/OS PPP
  11631. >20 lelong 104 (BSD/OS Cisco HDLC
  11632. >20 lelong 105 (802.11
  11633. >20 lelong 106 (Linux Classical IP over ATM
  11634. >20 lelong 107 (Frame Relay
  11635. >20 lelong 108 (OpenBSD loopback
  11636. >20 lelong 109 (OpenBSD IPsec encrypted
  11637. >20 lelong 112 (Cisco HDLC
  11638. >20 lelong 113 (Linux "cooked"
  11639. >20 lelong 114 (LocalTalk
  11640. >20 lelong 117 (OpenBSD PFLOG
  11641. >20 lelong 119 (802.11 with Prism header
  11642. >20 lelong 122 (RFC 2625 IP over Fibre Channel
  11643. >20 lelong 123 (SunATM
  11644. >20 lelong 127 (802.11 with radiotap header
  11645. >20 lelong 129 (Linux ARCNET
  11646. >20 lelong 138 (Apple IP over IEEE 1394
  11647. >20 lelong 140 (MTP2
  11648. >20 lelong 141 (MTP3
  11649. >20 lelong 143 (DOCSIS
  11650. >20 lelong 144 (IrDA
  11651. >20 lelong 147 (Private use 0
  11652. >20 lelong 148 (Private use 1
  11653. >20 lelong 149 (Private use 2
  11654. >20 lelong 150 (Private use 3
  11655. >20 lelong 151 (Private use 4
  11656. >20 lelong 152 (Private use 5
  11657. >20 lelong 153 (Private use 6
  11658. >20 lelong 154 (Private use 7
  11659. >20 lelong 155 (Private use 8
  11660. >20 lelong 156 (Private use 9
  11661. >20 lelong 157 (Private use 10
  11662. >20 lelong 158 (Private use 11
  11663. >20 lelong 159 (Private use 12
  11664. >20 lelong 160 (Private use 13
  11665. >20 lelong 161 (Private use 14
  11666. >20 lelong 162 (Private use 15
  11667. >20 lelong 163 (802.11 with AVS header
  11668. >16 lelong x \b, capture length %d)
  11669.  
  11670. #
  11671. # "libpcap"-with-Alexey-Kuznetsov's-patches capture files.
  11672. # (We call them "tcpdump capture file(s)" for now, as "tcpdump" is
  11673. # the main program that uses that format, but there are other programs
  11674. # that use "libpcap", or that use the same capture file format.)
  11675. #
  11676. 0 ubelong 0xa1b2cd34 extended tcpdump capture file (big-endian)
  11677. >4 beshort x - version %d
  11678. >6 beshort x \b.%d
  11679. >20 belong 0 (No link-layer encapsulation
  11680. >20 belong 1 (Ethernet
  11681. >20 belong 2 (3Mb Ethernet
  11682. >20 belong 3 (AX.25
  11683. >20 belong 4 (ProNET
  11684. >20 belong 5 (CHAOS
  11685. >20 belong 6 (Token Ring
  11686. >20 belong 7 (ARCNET
  11687. >20 belong 8 (SLIP
  11688. >20 belong 9 (PPP
  11689. >20 belong 10 (FDDI
  11690. >20 belong 11 (RFC 1483 ATM
  11691. >20 belong 12 (raw IP
  11692. >20 belong 13 (BSD/OS SLIP
  11693. >20 belong 14 (BSD/OS PPP
  11694. >16 belong x \b, capture length %d)
  11695. 0 ulelong 0xa1b2cd34 extended tcpdump capture file (little-endian)
  11696. >4 leshort x - version %d
  11697. >6 leshort x \b.%d
  11698. >20 lelong 0 (No link-layer encapsulation
  11699. >20 lelong 1 (Ethernet
  11700. >20 lelong 2 (3Mb Ethernet
  11701. >20 lelong 3 (AX.25
  11702. >20 lelong 4 (ProNET
  11703. >20 lelong 5 (CHAOS
  11704. >20 lelong 6 (Token Ring
  11705. >20 lelong 7 (ARCNET
  11706. >20 lelong 8 (SLIP
  11707. >20 lelong 9 (PPP
  11708. >20 lelong 10 (FDDI
  11709. >20 lelong 11 (RFC 1483 ATM
  11710. >20 lelong 12 (raw IP
  11711. >20 lelong 13 (BSD/OS SLIP
  11712. >20 lelong 14 (BSD/OS PPP
  11713. >16 lelong x \b, capture length %d)
  11714.  
  11715. #
  11716. # AIX "iptrace" capture files.
  11717. #
  11718. 0 string iptrace\ 1.0 "iptrace" capture file
  11719. 0 string iptrace\ 2.0 "iptrace" capture file
  11720.  
  11721. #
  11722. # Novell LANalyzer capture files.
  11723. #
  11724. 0 leshort 0x1001 LANalyzer capture file
  11725. 0 leshort 0x1007 LANalyzer capture file
  11726.  
  11727. #
  11728. # HP-UX "nettl" capture files.
  11729. #
  11730. 0 string \x54\x52\x00\x64\x00 "nettl" capture file
  11731.  
  11732. #
  11733. # RADCOM WAN/LAN Analyzer capture files.
  11734. #
  11735. 0 string \x42\xd2\x00\x34\x12\x66\x22\x88 RADCOM WAN/LAN Analyzer capture file
  11736.  
  11737. #
  11738. # NetStumbler log files. Not really packets, per se, but about as
  11739. # close as you can get. These are log files from NetStumbler, a
  11740. # Windows program, that scans for 802.11b networks.
  11741. #
  11742. 0 string NetS NetStumbler log file
  11743. >8 lelong x \b, %d stations found
  11744.  
  11745. #
  11746. # EtherPeek/AiroPeek "version 9" capture files.
  11747. #
  11748. 0 string \177ver EtherPeek/AiroPeek capture file
  11749.  
  11750. #
  11751. # Visual Networks traffic capture files.
  11752. #
  11753. 0 string \x05VNF Visual Networks traffic capture file
  11754.  
  11755. #
  11756. # Network Instruments Observer capture files.
  11757. #
  11758. 0 string ObserverPktBuffe Network Instruments Observer capture file
  11759.  
  11760. #
  11761. # Files from Accellent Group's 5View products.
  11762. #
  11763. 0 string \xaa\xaa\xaa\xaa 5View capture file
  11764.  
  11765. #------------------------------------------------------------------------------
  11766. # Dyadic: file(1) magic for Dyalog APL.
  11767. #
  11768. 0 byte 0xaa
  11769. >1 byte <4 Dyalog APL
  11770. >>1 byte 0x00 incomplete workspace
  11771. >>1 byte 0x01 component file
  11772. >>1 byte 0x02 external variable
  11773. >>1 byte 0x03 workspace
  11774. >>2 byte x version %d
  11775. >>3 byte x .%d
  11776.  
  11777. #------------------------------------------------------------------------------
  11778. # scientific: file(1) magic for scientific formats
  11779. #
  11780. # From: Joe Krahn <[email protected]>
  11781.  
  11782. ########################################################
  11783. # CCP4 data and plot files:
  11784. 0 string MTZ\040 MTZ reflection file
  11785.  
  11786. 92 string PLOT%%84 Plot84 plotting file
  11787. >52 byte 1 , Little-endian
  11788. >55 byte 1 , Big-endian
  11789.  
  11790. ########################################################
  11791. # Electron density MAP/MASK formats
  11792.  
  11793. 0 string EZD_MAP NEWEZD Electron Density Map
  11794. 109 string MAP\040( Old EZD Electron Density Map
  11795.  
  11796. 0 string/c :-)\040Origin BRIX Electron Density Map
  11797. >170 string >0 , Sigma:%.12s
  11798. #>4 string >0 %.178s
  11799. #>4 addr x %.178s
  11800.  
  11801. 7 string 18\040!NTITLE XPLOR ASCII Electron Density Map
  11802. 9 string \040!NTITLE\012\040REMARK CNS ASCII electron density map
  11803.  
  11804. 208 string MAP\040 CCP4 Electron Density Map
  11805. # Assumes same stamp for float and double (normal case)
  11806. >212 byte 17 \b, Big-endian
  11807. >212 byte 34 \b, VAX format
  11808. >212 byte 68 \b, Little-endian
  11809. >212 byte 85 \b, Convex native
  11810.  
  11811. ############################################################
  11812. # X-Ray Area Detector images
  11813. 0 string R-AXIS4\ \ \ R-Axis Area Detector Image:
  11814. >796 lelong <20 Little-endian, IP #%d,
  11815. >>768 lelong >0 Size=%dx
  11816. >>772 lelong >0 \b%d
  11817. >796 belong <20 Big-endian, IP #%d,
  11818. >>768 belong >0 Size=%dx
  11819. >>772 belong >0 \b%d
  11820.  
  11821. 0 string RAXIS\ \ \ \ \ R-Axis Area Detector Image, Win32:
  11822. >796 lelong <20 Little-endian, IP #%d,
  11823. >>768 lelong >0 Size=%dx
  11824. >>772 lelong >0 \b%d
  11825. >796 belong <20 Big-endian, IP #%d,
  11826. >>768 belong >0 Size=%dx
  11827. >>772 belong >0 \b%d
  11828.  
  11829.  
  11830. 1028 string MMX\000\000\000\000\000\000\000\000\000\000\000\000\000 MAR Area Detector Image,
  11831. >1072 ulong >1 Compressed(%d),
  11832. >1100 ulong >1 %d headers,
  11833. >1104 ulong >0 %d x
  11834. >1108 ulong >0 %d,
  11835. >1120 ulong >0 %d bits/pixel
  11836.  
  11837. #------------------------------------------------------------------------------
  11838. # softquad: file(1) magic for SoftQuad Publishing Software
  11839. #
  11840. # Author/Editor and RulesBuilder
  11841. #
  11842. # XXX - byte order?
  11843. #
  11844. 0 string \<!SQ\ DTD> Compiled SGML rules file
  11845. >9 string >\0 Type %s
  11846. 0 string \<!SQ\ A/E> A/E SGML Document binary
  11847. >9 string >\0 Type %s
  11848. 0 string \<!SQ\ STS> A/E SGML binary styles file
  11849. >9 string >\0 Type %s
  11850. 0 short 0xc0de Compiled PSI (v1) data
  11851. 0 short 0xc0da Compiled PSI (v2) data
  11852. >3 string >\0 (%s)
  11853. # Binary sqtroff font/desc files...
  11854. 0 short 0125252 SoftQuad DESC or font file binary
  11855. >2 short >0 - version %d
  11856. # Bitmaps...
  11857. 0 string SQ\ BITMAP1 SoftQuad Raster Format text
  11858. #0 string SQ\ BITMAP2 SoftQuad Raster Format data
  11859. # sqtroff intermediate language (replacement for ditroff int. lang.)
  11860. 0 string X\ SoftQuad troff Context intermediate
  11861. >2 string 495 for AT&T 495 laser printer
  11862. >2 string hp for Hewlett-Packard LaserJet
  11863. >2 string impr for IMAGEN imPRESS
  11864. >2 string ps for PostScript
  11865.  
  11866. #------------------------------------------------------------------------------
  11867. # spectrum: file(1) magic for Spectrum emulator files.
  11868. #
  11869. # John Elliott <[email protected]>
  11870.  
  11871. #
  11872. # Spectrum +3DOS header
  11873. #
  11874. 0 string PLUS3DOS\032 Spectrum +3 data
  11875. >15 byte 0 - BASIC program
  11876. >15 byte 1 - number array
  11877. >15 byte 2 - character array
  11878. >15 byte 3 - memory block
  11879. >>16 belong 0x001B0040 (screen)
  11880. >15 byte 4 - Tasword document
  11881. >15 string TAPEFILE - ZXT tapefile
  11882. #
  11883. # Tape file. This assumes the .TAP starts with a Spectrum-format header,
  11884. # which nearly all will.
  11885. #
  11886. 0 string \023\000\000 Spectrum .TAP data
  11887. >4 string x "%-10.10s"
  11888. >3 byte 0 - BASIC program
  11889. >3 byte 1 - number array
  11890. >3 byte 2 - character array
  11891. >3 byte 3 - memory block
  11892. >>14 belong 0x001B0040 (screen)
  11893.  
  11894. # The following three blocks are from [email protected]
  11895. # TZX tape images
  11896. 0 string ZXTape!\x1a Spectrum .TZX data
  11897. >8 byte x version %d
  11898. >9 byte x .%d
  11899.  
  11900. # RZX input recording files
  11901. 0 string RZX! Spectrum .RZX data
  11902. >4 byte x version %d
  11903. >5 byte x .%d
  11904.  
  11905. # And three sorts of disk image
  11906. 0 string MV\ -\ CPCEMU\ Disk-Fil Amstrad/Spectrum .DSK data
  11907. 0 string MV\ -\ CPC\ format\ Dis Amstrad/Spectrum DU54 .DSK data
  11908. 0 string EXTENDED\ CPC\ DSK\ Fil Amstrad/Spectrum Extended .DSK data
  11909.  
  11910. #------------------------------------------------------------------------------
  11911. # sql: file(1) magic for SQL files
  11912. #
  11913. # From: "Marty Leisner" <[email protected]>
  11914. # Recognize some MySQL files.
  11915. #
  11916. 0 beshort 0xfe01 MySQL table definition file
  11917. >2 byte x Version %d
  11918. 0 belong&0xffffff00 0xfefe0300 MySQL MISAM index file
  11919. >3 byte x Version %d
  11920. 0 belong&0xffffff00 0xfefe0700 MySQL MISAM compressed data file
  11921. >3 byte x Version %d
  11922. 0 belong&0xffffff00 0xfefe0500 MySQL ISAM index file
  11923. >3 byte x Version %d
  11924. 0 belong&0xffffff00 0xfefe0600 MySQL ISAM compressed data file
  11925. >3 byte x Version %d
  11926. 0 string \376bin MySQL replication log
  11927.  
  11928. #------------------------------------------------------------------------------
  11929. # iRiver H Series database file
  11930. # From Ken Guest <[email protected]>
  11931. # As observed from iRivNavi.iDB and unencoded firmware
  11932. #
  11933. 0 string iRivDB iRiver Database file
  11934. >11 string >\0 Version %s
  11935. >39 string iHP-100 [H Series]
  11936.  
  11937. #------------------------------------------------------------------------------
  11938. # SQLite database files
  11939. # Ken Guest <[email protected]>, Ty Sarna, Zack Weinberg
  11940. #
  11941. # Version 1 used GDBM internally; its files cannot be distinguished
  11942. # from other GDBM files.
  11943. #
  11944. # Version 2 used this format:
  11945. 0 string **\ This\ file\ contains\ an\ SQLite SQLite 2.x database
  11946.  
  11947. # Version 3 of SQLite allows applications to embed their own "user version"
  11948. # number in the database. Detect this and distinguish those files.
  11949.  
  11950. 0 string SQLite\ format\ 3
  11951. >60 string _MTN Monotone source repository
  11952. >60 belong !0 SQLite 3.x database, user version %u
  11953. >60 belong 0 SQLite 3.x database
  11954.  
  11955. #------------------------------------------------------------------------------
  11956. # sun: file(1) magic for Sun machines
  11957. #
  11958. # Values for big-endian Sun (MC680x0, SPARC) binaries on pre-5.x
  11959. # releases. (5.x uses ELF.)
  11960. #
  11961. 0 belong&077777777 0600413 sparc demand paged
  11962. >0 byte &0x80
  11963. >>20 belong <4096 shared library
  11964. >>20 belong =4096 dynamically linked executable
  11965. >>20 belong >4096 dynamically linked executable
  11966. >0 byte ^0x80 executable
  11967. >16 belong >0 not stripped
  11968.  
  11969. 0 belong&077777777 0600410 sparc pure
  11970. >0 byte &0x80 dynamically linked executable
  11971. >0 byte ^0x80 executable
  11972. >16 belong >0 not stripped
  11973.  
  11974. 0 belong&077777777 0600407 sparc
  11975. >0 byte &0x80 dynamically linked executable
  11976. >0 byte ^0x80 executable
  11977. >16 belong >0 not stripped
  11978.  
  11979. 0 belong&077777777 0400413 mc68020 demand paged
  11980. >0 byte &0x80
  11981. >>20 belong <4096 shared library
  11982. >>20 belong =4096 dynamically linked executable
  11983. >>20 belong >4096 dynamically linked executable
  11984. >0 byte ^0x80 executable
  11985. >16 belong >0 not stripped
  11986.  
  11987. 0 belong&077777777 0400410 mc68020 pure
  11988. >0 byte &0x80 dynamically linked executable
  11989. >0 byte ^0x80 executable
  11990. >16 belong >0 not stripped
  11991.  
  11992. 0 belong&077777777 0400407 mc68020
  11993. >0 byte &0x80 dynamically linked executable
  11994. >0 byte ^0x80 executable
  11995. >16 belong >0 not stripped
  11996.  
  11997. 0 belong&077777777 0200413 mc68010 demand paged
  11998. >0 byte &0x80
  11999. >>20 belong <4096 shared library
  12000. >>20 belong =4096 dynamically linked executable
  12001. >>20 belong >4096 dynamically linked executable
  12002. >0 byte ^0x80 executable
  12003. >16 belong >0 not stripped
  12004.  
  12005. 0 belong&077777777 0200410 mc68010 pure
  12006. >0 byte &0x80 dynamically linked executable
  12007. >0 byte ^0x80 executable
  12008. >16 belong >0 not stripped
  12009.  
  12010. 0 belong&077777777 0200407 mc68010
  12011. >0 byte &0x80 dynamically linked executable
  12012. >0 byte ^0x80 executable
  12013. >16 belong >0 not stripped
  12014.  
  12015. # reworked these to avoid anything beginning with zero becoming "old sun-2"
  12016. 0 belong 0407 old sun-2 executable
  12017. >16 belong >0 not stripped
  12018. 0 belong 0410 old sun-2 pure executable
  12019. >16 belong >0 not stripped
  12020. 0 belong 0413 old sun-2 demand paged executable
  12021. >16 belong >0 not stripped
  12022.  
  12023. #
  12024. # Core files. "SPARC 4.x BCP" means "core file from a SunOS 4.x SPARC
  12025. # binary executed in compatibility mode under SunOS 5.x".
  12026. #
  12027. 0 belong 0x080456 SunOS core file
  12028. >4 belong 432 (SPARC)
  12029. >>132 string >\0 from '%s'
  12030. >>116 belong =3 (quit)
  12031. >>116 belong =4 (illegal instruction)
  12032. >>116 belong =5 (trace trap)
  12033. >>116 belong =6 (abort)
  12034. >>116 belong =7 (emulator trap)
  12035. >>116 belong =8 (arithmetic exception)
  12036. >>116 belong =9 (kill)
  12037. >>116 belong =10 (bus error)
  12038. >>116 belong =11 (segmentation violation)
  12039. >>116 belong =12 (bad argument to system call)
  12040. >>116 belong =29 (resource lost)
  12041. >>120 belong x (T=%dK,
  12042. >>124 belong x D=%dK,
  12043. >>128 belong x S=%dK)
  12044. >4 belong 826 (68K)
  12045. >>128 string >\0 from '%s'
  12046. >4 belong 456 (SPARC 4.x BCP)
  12047. >>152 string >\0 from '%s'
  12048. # Sun SunPC
  12049. 0 long 0xfa33c08e SunPC 4.0 Hard Disk
  12050. 0 string #SUNPC_CONFIG SunPC 4.0 Properties Values
  12051. # Sun snoop (see RFC 1761, which describes the capture file format).
  12052. #
  12053. 0 string snoop Snoop capture file
  12054. >8 belong >0 - version %ld
  12055. >12 belong 0 (IEEE 802.3)
  12056. >12 belong 1 (IEEE 802.4)
  12057. >12 belong 2 (IEEE 802.5)
  12058. >12 belong 3 (IEEE 802.6)
  12059. >12 belong 4 (Ethernet)
  12060. >12 belong 5 (HDLC)
  12061. >12 belong 6 (Character synchronous)
  12062. >12 belong 7 (IBM channel-to-channel adapter)
  12063. >12 belong 8 (FDDI)
  12064. >12 belong 9 (Unknown)
  12065.  
  12066. # Microsoft ICM color profile
  12067. 36 string acspMSFT Microsoft ICM Color Profile
  12068. # Sun KCMS
  12069. 36 string acsp Kodak Color Management System, ICC Profile
  12070.  
  12071. #---------------------------------------------------------------------------
  12072. # The following entries have been tested by Duncan Laurie <[email protected]> (a
  12073. # lead Sun/Cobalt developer) who agrees that they are good and worthy of
  12074. # inclusion.
  12075.  
  12076. # Boot ROM images for Sun/Cobalt Linux server appliances
  12077. 0 string Cobalt\ Networks\ Inc.\nFirmware\ v Paged COBALT boot rom
  12078. >38 string x V%.4s
  12079.  
  12080. # New format for Sun/Cobalt boot ROMs is annoying, it stores the version code
  12081. # at the very end where file(1) can't get it.
  12082. 0 string CRfs COBALT boot rom data (Flat boot rom or file system)
  12083.  
  12084.  
  12085. #------------------------------------------------------------------------
  12086. # sysex: file(1) magic for MIDI sysex files
  12087. #
  12088. #
  12089. 0 byte 0xF0 SysEx File -
  12090.  
  12091. # North American Group
  12092. >1 byte 0x01 Sequential
  12093. >1 byte 0x02 IDP
  12094. >1 byte 0x03 OctavePlateau
  12095. >1 byte 0x04 Moog
  12096. >1 byte 0x05 Passport
  12097. >1 byte 0x06 Lexicon
  12098. >1 byte 0x07 Kurzweil/Future Retro
  12099. >>3 byte 0x77 777
  12100. >>4 byte 0x00 Bank
  12101. >>4 byte 0x01 Song
  12102. >>5 byte 0x0f 16
  12103. >>5 byte 0x0e 15
  12104. >>5 byte 0x0d 14
  12105. >>5 byte 0x0c 13
  12106. >>5 byte 0x0b 12
  12107. >>5 byte 0x0a 11
  12108. >>5 byte 0x09 10
  12109. >>5 byte 0x08 9
  12110. >>5 byte 0x07 8
  12111. >>5 byte 0x06 7
  12112. >>5 byte 0x05 6
  12113. >>5 byte 0x04 5
  12114. >>5 byte 0x03 4
  12115. >>5 byte 0x02 3
  12116. >>5 byte 0x01 2
  12117. >>5 byte 0x00 1
  12118. >>5 byte 0x10 (ALL)
  12119. >>2 byte x \b, Channel %d
  12120. >1 byte 0x08 Fender
  12121. >1 byte 0x09 Gulbransen
  12122. >1 byte 0x0a AKG
  12123. >1 byte 0x0b Voyce
  12124. >1 byte 0x0c Waveframe
  12125. >1 byte 0x0d ADA
  12126. >1 byte 0x0e Garfield
  12127. >1 byte 0x0f Ensoniq
  12128. >1 byte 0x10 Oberheim
  12129. >>2 byte 0x06 Matrix 6 series
  12130. >>3 byte 0x0A Dump (All)
  12131. >>3 byte 0x01 Dump (Bank)
  12132. >>4 belong 0x0002040E Matrix 1000
  12133. >>>11 byte <2 User bank %d
  12134. >>>11 byte >1 Preset bank %d
  12135. >1 byte 0x11 Apple
  12136. >1 byte 0x12 GreyMatter
  12137. >1 byte 0x14 PalmTree
  12138. >1 byte 0x15 JLCooper
  12139. >1 byte 0x16 Lowrey
  12140. >1 byte 0x17 AdamsSmith
  12141. >1 byte 0x18 E-mu
  12142. >1 byte 0x19 Harmony
  12143. >1 byte 0x1a ART
  12144. >1 byte 0x1b Baldwin
  12145. >1 byte 0x1c Eventide
  12146. >1 byte 0x1d Inventronics
  12147. >1 byte 0x1f Clarity
  12148.  
  12149. # European Group
  12150. >1 byte 0x21 SIEL
  12151. >1 byte 0x22 Synthaxe
  12152. >1 byte 0x24 Hohner
  12153. >1 byte 0x25 Twister
  12154. >1 byte 0x26 Solton
  12155. >1 byte 0x27 Jellinghaus
  12156. >1 byte 0x28 Southworth
  12157. >1 byte 0x29 PPG
  12158. >1 byte 0x2a JEN
  12159. >1 byte 0x2b SSL
  12160. >1 byte 0x2c AudioVertrieb
  12161.  
  12162. >1 byte 0x2f ELKA
  12163. >>3 byte 0x09 EK-44
  12164.  
  12165. >1 byte 0x30 Dynacord
  12166. >1 byte 0x31 Jomox
  12167. >1 byte 0x33 Clavia
  12168. >1 byte 0x39 Soundcraft
  12169. # Some Waldorf info from http://Stromeko.Synth.net/Downloads#WaldorfDocs
  12170. >1 byte 0x3e Waldorf
  12171. >>2 byte 0x00 microWave
  12172. >>2 byte 0x0E microwave2 / XT
  12173. >>2 byte 0x0F Q / Q+
  12174. >>3 byte =0 (default id)
  12175. >>3 byte >0 (
  12176. >>>3 byte <0x7F \bdevice %d)
  12177. >>>3 byte =0x7F \bbroadcast id)
  12178. >>3 byte 0x7f Microwave I
  12179. >>>4 byte 0x00 SNDR (Sound Request)
  12180. >>>4 byte 0x10 SNDD (Sound Dump)
  12181. >>>4 byte 0x20 SNDP (Sound Parameter Change)
  12182. >>>4 byte 0x30 SNDQ (Sound Parameter Inquiry)
  12183. >>>4 byte 0x70 BOOT (Sound Reserved)
  12184. >>>4 byte 0x01 MULR (Multi Request)
  12185. >>>4 byte 0x11 MULD (Multi Dump)
  12186. >>>4 byte 0x21 MULP (Multi Parameter Change)
  12187. >>>4 byte 0x31 MULQ (Multi Parameter Inquiry)
  12188. >>>4 byte 0x71 OS (Multi Reserved)
  12189. >>>4 byte 0x02 DRMR (Drum Map Request)
  12190. >>>4 byte 0x12 DRMD (Drum Map Dump)
  12191. >>>4 byte 0x22 DRMP (Drum Map Parameter Change)
  12192. >>>4 byte 0x32 DRMQ (Drum Map Parameter Inquiry)
  12193. >>>4 byte 0x72 BIN (Drum Map Reserved)
  12194. >>>4 byte 0x03 PATR (Sequencer Pattern Request)
  12195. >>>4 byte 0x13 PATD (Sequencer Pattern Dump)
  12196. >>>4 byte 0x23 PATP (Sequencer Pattern Parameter Change)
  12197. >>>4 byte 0x33 PATQ (Sequencer Pattern Parameter Inquiry)
  12198. >>>4 byte 0x73 AFM (Sequencer Pattern Reserved)
  12199. >>>4 byte 0x04 GLBR (Global Parameter Request)
  12200. >>>4 byte 0x14 GLBD (Global Parameter Dump)
  12201. >>>4 byte 0x24 GLBP (Global Parameter Parameter Change)
  12202. >>>4 byte 0x34 GLBQ (Global Parameter Parameter Inquiry)
  12203. >>>4 byte 0x07 MODR (Mode Parameter Request)
  12204. >>>4 byte 0x17 MODD (Mode Parameter Dump)
  12205. >>>4 byte 0x27 MODP (Mode Parameter Parameter Change)
  12206. >>>4 byte 0x37 MODQ (Mode Parameter Parameter Inquiry)
  12207. >>2 byte 0x10 microQ
  12208. >>>4 byte 0x00 SNDR (Sound Request)
  12209. >>>4 byte 0x10 SNDD (Sound Dump)
  12210. >>>4 byte 0x20 SNDP (Sound Parameter Change)
  12211. >>>4 byte 0x30 SNDQ (Sound Parameter Inquiry)
  12212. >>>4 byte 0x70 (Sound Reserved)
  12213. >>>4 byte 0x01 MULR (Multi Request)
  12214. >>>4 byte 0x11 MULD (Multi Dump)
  12215. >>>4 byte 0x21 MULP (Multi Parameter Change)
  12216. >>>4 byte 0x31 MULQ (Multi Parameter Inquiry)
  12217. >>>4 byte 0x71 OS (Multi Reserved)
  12218. >>>4 byte 0x02 DRMR (Drum Map Request)
  12219. >>>4 byte 0x12 DRMD (Drum Map Dump)
  12220. >>>4 byte 0x22 DRMP (Drum Map Parameter Change)
  12221. >>>4 byte 0x32 DRMQ (Drum Map Parameter Inquiry)
  12222. >>>4 byte 0x72 BIN (Drum Map Reserved)
  12223. >>>4 byte 0x04 GLBR (Global Parameter Request)
  12224. >>>4 byte 0x14 GLBD (Global Parameter Dump)
  12225. >>>4 byte 0x24 GLBP (Global Parameter Parameter Change)
  12226. >>>4 byte 0x34 GLBQ (Global Parameter Parameter Inquiry)
  12227. >>2 byte 0x11 rackAttack
  12228. >>>4 byte 0x00 SNDR (Sound Parameter Request)
  12229. >>>4 byte 0x10 SNDD (Sound Parameter Dump)
  12230. >>>4 byte 0x20 SNDP (Sound Parameter Parameter Change)
  12231. >>>4 byte 0x30 SNDQ (Sound Parameter Parameter Inquiry)
  12232. >>>4 byte 0x01 PRGR (Program Parameter Request)
  12233. >>>4 byte 0x11 PRGD (Program Parameter Dump)
  12234. >>>4 byte 0x21 PRGP (Program Parameter Parameter Change)
  12235. >>>4 byte 0x31 PRGQ (Program Parameter Parameter Inquiry)
  12236. >>>4 byte 0x71 OS (Program Parameter Reserved)
  12237. >>>4 byte 0x03 PATR (Pattern Parameter Request)
  12238. >>>4 byte 0x13 PATD (Pattern Parameter Dump)
  12239. >>>4 byte 0x23 PATP (Pattern Parameter Parameter Change)
  12240. >>>4 byte 0x33 PATQ (Pattern Parameter Parameter Inquiry)
  12241. >>>4 byte 0x04 GLBR (Global Parameter Request)
  12242. >>>4 byte 0x14 GLBD (Global Parameter Dump)
  12243. >>>4 byte 0x24 GLBP (Global Parameter Parameter Change)
  12244. >>>4 byte 0x34 GLBQ (Global Parameter Parameter Inquiry)
  12245. >>>4 byte 0x05 EFXR (FX Parameter Request)
  12246. >>>4 byte 0x15 EFXD (FX Parameter Dump)
  12247. >>>4 byte 0x25 EFXP (FX Parameter Parameter Change)
  12248. >>>4 byte 0x35 EFXQ (FX Parameter Parameter Inquiry)
  12249. >>>4 byte 0x07 MODR (Mode Command Request)
  12250. >>>4 byte 0x17 MODD (Mode Command Dump)
  12251. >>>4 byte 0x27 MODP (Mode Command Parameter Change)
  12252. >>>4 byte 0x37 MODQ (Mode Command Parameter Inquiry)
  12253. >>2 byte 0x03 Wave
  12254. >>>4 byte 0x00 SBPR (Soundprogram)
  12255. >>>4 byte 0x01 SAPR (Performance)
  12256. >>>4 byte 0x02 SWAVE (Wave)
  12257. >>>4 byte 0x03 SWTBL (Wave control table)
  12258. >>>4 byte 0x04 SVT (Velocity Curve)
  12259. >>>4 byte 0x05 STT (Tuning Table)
  12260. >>>4 byte 0x06 SGLB (Global Parameters)
  12261. >>>4 byte 0x07 SARRMAP (Performance Program Change Map)
  12262. >>>4 byte 0x08 SBPRMAP (Sound Program Change Map)
  12263. >>>4 byte 0x09 SBPRPAR (Sound Parameter)
  12264. >>>4 byte 0x0A SARRPAR (Performance Parameter)
  12265. >>>4 byte 0x0B SINSPAR (Instrument/External Parameter)
  12266. >>>4 byte 0x0F SBULK (Bulk Switch on/off)
  12267.  
  12268. # Japanese Group
  12269. >1 byte 0x40 Kawai
  12270. >>3 byte 0x20 K1
  12271. >>3 byte 0x22 K4
  12272.  
  12273. >1 byte 0x41 Roland
  12274. >>3 byte 0x14 D-50
  12275. >>3 byte 0x2b U-220
  12276. >>3 byte 0x02 TR-707
  12277.  
  12278. >1 byte 0x42 Korg
  12279. >>3 byte 0x19 M1
  12280.  
  12281. >1 byte 0x43 Yamaha
  12282. >1 byte 0x44 Casio
  12283. >1 byte 0x46 Kamiya
  12284. >1 byte 0x47 Akai
  12285. >1 byte 0x48 Victor
  12286. >1 byte 0x49 Mesosha
  12287. >1 byte 0x4b Fujitsu
  12288. >1 byte 0x4c Sony
  12289. >1 byte 0x4e Teac
  12290. >1 byte 0x50 Matsushita
  12291. >1 byte 0x51 Fostex
  12292. >1 byte 0x52 Zoom
  12293. >1 byte 0x54 Matsushita
  12294. >1 byte 0x57 Acoustic tech. lab.
  12295.  
  12296. >1 belong&0xffffff00 0x00007400 Ta Horng
  12297. >1 belong&0xffffff00 0x00007500 e-Tek
  12298. >1 belong&0xffffff00 0x00007600 E-Voice
  12299. >1 belong&0xffffff00 0x00007700 Midisoft
  12300. >1 belong&0xffffff00 0x00007800 Q-Sound
  12301. >1 belong&0xffffff00 0x00007900 Westrex
  12302. >1 belong&0xffffff00 0x00007a00 Nvidia*
  12303. >1 belong&0xffffff00 0x00007b00 ESS
  12304. >1 belong&0xffffff00 0x00007c00 Mediatrix
  12305. >1 belong&0xffffff00 0x00007d00 Brooktree
  12306. >1 belong&0xffffff00 0x00007e00 Otari
  12307. >1 belong&0xffffff00 0x00007f00 Key Electronics
  12308. >1 belong&0xffffff00 0x00010000 Shure
  12309. >1 belong&0xffffff00 0x00010100 AuraSound
  12310. >1 belong&0xffffff00 0x00010200 Crystal
  12311. >1 belong&0xffffff00 0x00010300 Rockwell
  12312. >1 belong&0xffffff00 0x00010400 Silicon Graphics
  12313. >1 belong&0xffffff00 0x00010500 Midiman
  12314. >1 belong&0xffffff00 0x00010600 PreSonus
  12315. >1 belong&0xffffff00 0x00010800 Topaz
  12316. >1 belong&0xffffff00 0x00010900 Cast Lightning
  12317. >1 belong&0xffffff00 0x00010a00 Microsoft
  12318. >1 belong&0xffffff00 0x00010b00 Sonic Foundry
  12319. >1 belong&0xffffff00 0x00010c00 Line 6
  12320. >1 belong&0xffffff00 0x00010d00 Beatnik Inc.
  12321. >1 belong&0xffffff00 0x00010e00 Van Koerving
  12322. >1 belong&0xffffff00 0x00010f00 Altech Systems
  12323. >1 belong&0xffffff00 0x00011000 S & S Research
  12324. >1 belong&0xffffff00 0x00011100 VLSI Technology
  12325. >1 belong&0xffffff00 0x00011200 Chromatic
  12326. >1 belong&0xffffff00 0x00011300 Sapphire
  12327. >1 belong&0xffffff00 0x00011400 IDRC
  12328. >1 belong&0xffffff00 0x00011500 Justonic Tuning
  12329. >1 belong&0xffffff00 0x00011600 TorComp
  12330. >1 belong&0xffffff00 0x00011700 Newtek Inc.
  12331. >1 belong&0xffffff00 0x00011800 Sound Sculpture
  12332. >1 belong&0xffffff00 0x00011900 Walker Technical
  12333. >1 belong&0xffffff00 0x00011a00 Digital Harmony
  12334. >1 belong&0xffffff00 0x00011b00 InVision
  12335. >1 belong&0xffffff00 0x00011c00 T-Square
  12336. >1 belong&0xffffff00 0x00011d00 Nemesys
  12337. >1 belong&0xffffff00 0x00011e00 DBX
  12338. >1 belong&0xffffff00 0x00011f00 Syndyne
  12339. >1 belong&0xffffff00 0x00012000 Bitheadz
  12340. >1 belong&0xffffff00 0x00012100 Cakewalk
  12341. >1 belong&0xffffff00 0x00012200 Staccato
  12342. >1 belong&0xffffff00 0x00012300 National Semicon.
  12343. >1 belong&0xffffff00 0x00012400 Boom Theory
  12344. >1 belong&0xffffff00 0x00012500 Virtual DSP Corp
  12345. >1 belong&0xffffff00 0x00012600 Antares
  12346. >1 belong&0xffffff00 0x00012700 Angel Software
  12347. >1 belong&0xffffff00 0x00012800 St Louis Music
  12348. >1 belong&0xffffff00 0x00012900 Lyrrus dba G-VOX
  12349. >1 belong&0xffffff00 0x00012a00 Ashley Audio
  12350. >1 belong&0xffffff00 0x00012b00 Vari-Lite
  12351. >1 belong&0xffffff00 0x00012c00 Summit Audio
  12352. >1 belong&0xffffff00 0x00012d00 Aureal Semicon.
  12353. >1 belong&0xffffff00 0x00012e00 SeaSound
  12354. >1 belong&0xffffff00 0x00012f00 U.S. Robotics
  12355. >1 belong&0xffffff00 0x00013000 Aurisis
  12356. >1 belong&0xffffff00 0x00013100 Nearfield Multimedia
  12357. >1 belong&0xffffff00 0x00013200 FM7 Inc.
  12358. >1 belong&0xffffff00 0x00013300 Swivel Systems
  12359. >1 belong&0xffffff00 0x00013400 Hyperactive
  12360. >1 belong&0xffffff00 0x00013500 MidiLite
  12361. >1 belong&0xffffff00 0x00013600 Radical
  12362. >1 belong&0xffffff00 0x00013700 Roger Linn
  12363. >1 belong&0xffffff00 0x00013800 Helicon
  12364. >1 belong&0xffffff00 0x00013900 Event
  12365. >1 belong&0xffffff00 0x00013a00 Sonic Network
  12366. >1 belong&0xffffff00 0x00013b00 Realtime Music
  12367. >1 belong&0xffffff00 0x00013c00 Apogee Digital
  12368.  
  12369. >1 belong&0xffffff00 0x00202b00 Medeli Electronics
  12370. >1 belong&0xffffff00 0x00202c00 Charlie Lab
  12371. >1 belong&0xffffff00 0x00202d00 Blue Chip Music
  12372. >1 belong&0xffffff00 0x00202e00 BEE OH Corp
  12373. >1 belong&0xffffff00 0x00202f00 LG Semicon America
  12374. >1 belong&0xffffff00 0x00203000 TESI
  12375. >1 belong&0xffffff00 0x00203100 EMAGIC
  12376. >1 belong&0xffffff00 0x00203200 Behringer
  12377. >1 belong&0xffffff00 0x00203300 Access Music
  12378. >1 belong&0xffffff00 0x00203400 Synoptic
  12379. >1 belong&0xffffff00 0x00203500 Hanmesoft Corp
  12380. >1 belong&0xffffff00 0x00203600 Terratec
  12381. >1 belong&0xffffff00 0x00203700 Proel SpA
  12382. >1 belong&0xffffff00 0x00203800 IBK MIDI
  12383. >1 belong&0xffffff00 0x00203900 IRCAM
  12384. >1 belong&0xffffff00 0x00203a00 Propellerhead Software
  12385. >1 belong&0xffffff00 0x00203b00 Red Sound Systems
  12386. >1 belong&0xffffff00 0x00203c00 Electron ESI AB
  12387. >1 belong&0xffffff00 0x00203d00 Sintefex Audio
  12388. >1 belong&0xffffff00 0x00203e00 Music and More
  12389. >1 belong&0xffffff00 0x00203f00 Amsaro
  12390. >1 belong&0xffffff00 0x00204000 CDS Advanced Technology
  12391. >1 belong&0xffffff00 0x00204100 Touched by Sound
  12392. >1 belong&0xffffff00 0x00204200 DSP Arts
  12393. >1 belong&0xffffff00 0x00204300 Phil Rees Music
  12394. >1 belong&0xffffff00 0x00204400 Stamer Musikanlagen GmbH
  12395. >1 belong&0xffffff00 0x00204500 Soundart
  12396. >1 belong&0xffffff00 0x00204600 C-Mexx Software
  12397. >1 belong&0xffffff00 0x00204700 Klavis Tech.
  12398. >1 belong&0xffffff00 0x00204800 Noteheads AB
  12399.  
  12400. 0 string T707 Roland TR-707 Data
  12401. #------------------------------------------------------------------------------
  12402. # teapot: file(1) magic for "teapot" spreadsheet
  12403. #
  12404. 0 string #!teapot\012xdr teapot work sheet (XDR format)
  12405.  
  12406. #------------------------------------------------------------------------------
  12407. # terminfo: file(1) magic for terminfo
  12408. #
  12409. # XXX - byte order for screen images?
  12410. #
  12411. 0 string \032\001 Compiled terminfo entry
  12412. 0 short 0433 Curses screen image
  12413. 0 short 0434 Curses screen image
  12414.  
  12415. #------------------------------------------------------------------------------
  12416. # tex: file(1) magic for TeX files
  12417. #
  12418.  
  12419. # Although we may know the offset of certain text fields in TeX DVI
  12420. # and font files, we can't use them reliably because they are not
  12421. # zero terminated. [but we do anyway, christos]
  12422. 0 string \367\002 TeX DVI file
  12423. >16 string >\0 (%s)
  12424. 0 string \367\203 TeX generic font data
  12425. 0 string \367\131 TeX packed font data
  12426. >3 string >\0 (%s)
  12427. 0 string \367\312 TeX virtual font data
  12428. 0 string This\ is\ TeX, TeX transcript text
  12429. 0 string This\ is\ METAFONT, METAFONT transcript text
  12430.  
  12431. # There is no way to detect TeX Font Metric (*.tfm) files without
  12432. # breaking them apart and reading the data. The following patterns
  12433. # match most *.tfm files generated by METAFONT or afm2tfm.
  12434. 2 string \000\021 TeX font metric data
  12435. >33 string >\0 (%s)
  12436. 2 string \000\022 TeX font metric data
  12437. >33 string >\0 (%s)
  12438.  
  12439. # Texinfo and GNU Info, from Daniel Quinlan ([email protected])
  12440. 0 string \\input\ texinfo Texinfo source text
  12441. 0 string This\ is\ Info\ file GNU Info text
  12442.  
  12443. # TeX documents, from Daniel Quinlan ([email protected])
  12444. 0 search/400 \\input TeX document text
  12445. 0 search/400 \\section LaTeX document text
  12446. 0 search/400 \\setlength LaTeX document text
  12447. 0 search/400 \\documentstyle LaTeX document text
  12448. 0 search/400 \\chapter LaTeX document text
  12449. 0 search/400 \\documentclass LaTeX 2e document text
  12450. 0 search/400 \\relax LaTeX auxiliary file
  12451. 0 search/400 \\contentsline LaTeX table of contents
  12452. 0 search/400 %\ -*-latex-*- LaTeX document text
  12453.  
  12454. # Tex document, from Hendrik Scholz <[email protected]>
  12455. 0 string \\ifx TeX document text
  12456.  
  12457. # Index and glossary files
  12458. 0 search/400 \\indexentry LaTeX raw index file
  12459. 0 search/400 \\begin{theindex} LaTeX sorted index
  12460. 0 search/400 \\glossaryentry LaTeX raw glossary
  12461. 0 search/400 \\begin{theglossary} LaTeX sorted glossary
  12462. 0 search/400 This\ is\ makeindex Makeindex log file
  12463.  
  12464. # End of TeX
  12465.  
  12466. #------------------------------------------------------------------------------
  12467. # file(1) magic for BibTex text files
  12468. # From Hendrik Scholz <[email protected]>
  12469.  
  12470. 0 string/c @article{ BibTeX text file
  12471. 0 string/c @book{ BibTeX text file
  12472. 0 string/c @inbook{ BibTeX text file
  12473. 0 string/c @incollection{ BibTeX text file
  12474. 0 string/c @inproceedings{ BibTeX text file
  12475. 0 string/c @manual{ BibTeX text file
  12476. 0 string/c @misc{ BibTeX text file
  12477. 0 string/c @preamble{ BibTeX text file
  12478. 0 string/c @phdthesis{ BibTeX text file
  12479. 0 string/c @techreport{ BibTeX text file
  12480. 0 string/c @unpublished{ BibTeX text file
  12481.  
  12482. 73 string %%%\ \ BibTeX-file{ BibTex text file (with full header)
  12483.  
  12484. 73 string %%%\ \ @BibTeX-style-file{ BibTeX style text file (with full header)
  12485.  
  12486. 0 string %\ BibTeX\ standard\ bibliography\ BibTeX standard bibliography style text file
  12487.  
  12488. 0 string %\ BibTeX\ ` BibTeX custom bibliography style text file
  12489.  
  12490. 0 string @c\ @mapfile{ TeX font aliases text file
  12491.  
  12492. #------------------------------------------------------------------------------
  12493. # file(1) magic for tgif(1) files
  12494. # From Hendrik Scholz <[email protected]>
  12495.  
  12496. 0 string %TGIF\ x Tgif file version %s
  12497.  
  12498. # ------------------------------------------------------------------------
  12499. # ti-8x: file(1) magic for the TI-8x and TI-9x Graphing Calculators.
  12500. #
  12501. # From: Ryan McGuire ([email protected]).
  12502. #
  12503. # Update: Romain Lievin ([email protected]).
  12504. #
  12505. # NOTE: This list is not complete.
  12506. # Files for the TI-80 and TI-81 are pretty rare. I'm not going to put the
  12507. # program/group magic numbers in here because I cannot find any.
  12508. 0 string **TI80** TI-80 Graphing Calculator File.
  12509. 0 string **TI81** TI-81 Graphing Calculator File.
  12510. #
  12511. # Magic Numbers for the TI-73
  12512. #
  12513. 0 string **TI73** TI-73 Graphing Calculator
  12514. >0x00003B byte 0x00 (real number)
  12515. >0x00003B byte 0x01 (list)
  12516. >0x00003B byte 0x02 (matrix)
  12517. >0x00003B byte 0x03 (equation)
  12518. >0x00003B byte 0x04 (string)
  12519. >0x00003B byte 0x05 (program)
  12520. >0x00003B byte 0x06 (assembly program)
  12521. >0x00003B byte 0x07 (picture)
  12522. >0x00003B byte 0x08 (gdb)
  12523. >0x00003B byte 0x0C (complex number)
  12524. >0x00003B byte 0x0F (window settings)
  12525. >0x00003B byte 0x10 (zoom)
  12526. >0x00003B byte 0x11 (table setup)
  12527. >0x00003B byte 0x13 (backup)
  12528.  
  12529. # Magic Numbers for the TI-82
  12530. #
  12531. 0 string **TI82** TI-82 Graphing Calculator
  12532. >0x00003B byte 0x00 (real)
  12533. >0x00003B byte 0x01 (list)
  12534. >0x00003B byte 0x02 (matrix)
  12535. >0x00003B byte 0x03 (Y-variable)
  12536. >0x00003B byte 0x05 (program)
  12537. >0x00003B byte 0x06 (protected prgm)
  12538. >0x00003B byte 0x07 (picture)
  12539. >0x00003B byte 0x08 (gdb)
  12540. >0x00003B byte 0x0B (window settings)
  12541. >0x00003B byte 0x0C (window settings)
  12542. >0x00003B byte 0x0D (table setup)
  12543. >0x00003B byte 0x0E (screenshot)
  12544. >0x00003B byte 0x0F (backup)
  12545. #
  12546. # Magic Numbers for the TI-83
  12547. #
  12548. 0 string **TI83** TI-83 Graphing Calculator
  12549. >0x00003B byte 0x00 (real)
  12550. >0x00003B byte 0x01 (list)
  12551. >0x00003B byte 0x02 (matrix)
  12552. >0x00003B byte 0x03 (Y-variable)
  12553. >0x00003B byte 0x04 (string)
  12554. >0x00003B byte 0x05 (program)
  12555. >0x00003B byte 0x06 (protected prgm)
  12556. >0x00003B byte 0x07 (picture)
  12557. >0x00003B byte 0x08 (gdb)
  12558. >0x00003B byte 0x0B (window settings)
  12559. >0x00003B byte 0x0C (window settings)
  12560. >0x00003B byte 0x0D (table setup)
  12561. >0x00003B byte 0x0E (screenshot)
  12562. >0x00003B byte 0x13 (backup)
  12563. #
  12564. # Magic Numbers for the TI-83+
  12565. #
  12566. 0 string **TI83F* TI-83+ Graphing Calculator
  12567. >0x00003B byte 0x00 (real number)
  12568. >0x00003B byte 0x01 (list)
  12569. >0x00003B byte 0x02 (matrix)
  12570. >0x00003B byte 0x03 (equation)
  12571. >0x00003B byte 0x04 (string)
  12572. >0x00003B byte 0x05 (program)
  12573. >0x00003B byte 0x06 (assembly program)
  12574. >0x00003B byte 0x07 (picture)
  12575. >0x00003B byte 0x08 (gdb)
  12576. >0x00003B byte 0x0C (complex number)
  12577. >0x00003B byte 0x0F (window settings)
  12578. >0x00003B byte 0x10 (zoom)
  12579. >0x00003B byte 0x11 (table setup)
  12580. >0x00003B byte 0x13 (backup)
  12581. >0x00003B byte 0x15 (application variable)
  12582. >0x00003B byte 0x17 (group of variable)
  12583.  
  12584. #
  12585. # Magic Numbers for the TI-85
  12586. #
  12587. 0 string **TI85** TI-85 Graphing Calculator
  12588. >0x00003B byte 0x00 (real number)
  12589. >0x00003B byte 0x01 (complex number)
  12590. >0x00003B byte 0x02 (real vector)
  12591. >0x00003B byte 0x03 (complex vector)
  12592. >0x00003B byte 0x04 (real list)
  12593. >0x00003B byte 0x05 (complex list)
  12594. >0x00003B byte 0x06 (real matrix)
  12595. >0x00003B byte 0x07 (complex matrix)
  12596. >0x00003B byte 0x08 (real constant)
  12597. >0x00003B byte 0x09 (complex constant)
  12598. >0x00003B byte 0x0A (equation)
  12599. >0x00003B byte 0x0C (string)
  12600. >0x00003B byte 0x0D (function GDB)
  12601. >0x00003B byte 0x0E (polar GDB)
  12602. >0x00003B byte 0x0F (parametric GDB)
  12603. >0x00003B byte 0x10 (diffeq GDB)
  12604. >0x00003B byte 0x11 (picture)
  12605. >0x00003B byte 0x12 (program)
  12606. >0x00003B byte 0x13 (range)
  12607. >0x00003B byte 0x17 (window settings)
  12608. >0x00003B byte 0x18 (window settings)
  12609. >0x00003B byte 0x19 (window settings)
  12610. >0x00003B byte 0x1A (window settings)
  12611. >0x00003B byte 0x1B (zoom)
  12612. >0x00003B byte 0x1D (backup)
  12613. >0x00003B byte 0x1E (unknown)
  12614. >0x00003B byte 0x2A (equation)
  12615. >0x000032 string ZS4 - ZShell Version 4 File.
  12616. >0x000032 string ZS3 - ZShell Version 3 File.
  12617. #
  12618. # Magic Numbers for the TI-86
  12619. #
  12620. 0 string **TI86** TI-86 Graphing Calculator
  12621. >0x00003B byte 0x00 (real number)
  12622. >0x00003B byte 0x01 (complex number)
  12623. >0x00003B byte 0x02 (real vector)
  12624. >0x00003B byte 0x03 (complex vector)
  12625. >0x00003B byte 0x04 (real list)
  12626. >0x00003B byte 0x05 (complex list)
  12627. >0x00003B byte 0x06 (real matrix)
  12628. >0x00003B byte 0x07 (complex matrix)
  12629. >0x00003B byte 0x08 (real constant)
  12630. >0x00003B byte 0x09 (complex constant)
  12631. >0x00003B byte 0x0A (equation)
  12632. >0x00003B byte 0x0C (string)
  12633. >0x00003B byte 0x0D (function GDB)
  12634. >0x00003B byte 0x0E (polar GDB)
  12635. >0x00003B byte 0x0F (parametric GDB)
  12636. >0x00003B byte 0x10 (diffeq GDB)
  12637. >0x00003B byte 0x11 (picture)
  12638. >0x00003B byte 0x12 (program)
  12639. >0x00003B byte 0x13 (range)
  12640. >0x00003B byte 0x17 (window settings)
  12641. >0x00003B byte 0x18 (window settings)
  12642. >0x00003B byte 0x19 (window settings)
  12643. >0x00003B byte 0x1A (window settings)
  12644. >0x00003B byte 0x1B (zoom)
  12645. >0x00003B byte 0x1D (backup)
  12646. >0x00003B byte 0x1E (unknown)
  12647. >0x00003B byte 0x2A (equation)
  12648. #
  12649. # Magic Numbers for the TI-89
  12650. #
  12651. 0 string **TI89** TI-89 Graphing Calculator
  12652. >0x000048 byte 0x00 (expression)
  12653. >0x000048 byte 0x04 (list)
  12654. >0x000048 byte 0x06 (matrix)
  12655. >0x000048 byte 0x0A (data)
  12656. >0x000048 byte 0x0B (text)
  12657. >0x000048 byte 0x0C (string)
  12658. >0x000048 byte 0x0D (graphic data base)
  12659. >0x000048 byte 0x0E (figure)
  12660. >0x000048 byte 0x10 (picture)
  12661. >0x000048 byte 0x12 (program)
  12662. >0x000048 byte 0x13 (function)
  12663. >0x000048 byte 0x14 (macro)
  12664. >0x000048 byte 0x1C (zipped)
  12665. >0x000048 byte 0x21 (assembler)
  12666. #
  12667. # Magic Numbers for the TI-92
  12668. #
  12669. 0 string **TI92** TI-92 Graphing Calculator
  12670. >0x000048 byte 0x00 (expression)
  12671. >0x000048 byte 0x04 (list)
  12672. >0x000048 byte 0x06 (matrix)
  12673. >0x000048 byte 0x0A (data)
  12674. >0x000048 byte 0x0B (text)
  12675. >0x000048 byte 0x0C (string)
  12676. >0x000048 byte 0x0D (graphic data base)
  12677. >0x000048 byte 0x0E (figure)
  12678. >0x000048 byte 0x10 (picture)
  12679. >0x000048 byte 0x12 (program)
  12680. >0x000048 byte 0x13 (function)
  12681. >0x000048 byte 0x14 (macro)
  12682. >0x000048 byte 0x1D (backup)
  12683. #
  12684. # Magic Numbers for the TI-92+/V200
  12685. #
  12686. 0 string **TI92P* TI-92+/V200 Graphing Calculator
  12687. >0x000048 byte 0x00 (expression)
  12688. >0x000048 byte 0x04 (list)
  12689. >0x000048 byte 0x06 (matrix)
  12690. >0x000048 byte 0x0A (data)
  12691. >0x000048 byte 0x0B (text)
  12692. >0x000048 byte 0x0C (string)
  12693. >0x000048 byte 0x0D (graphic data base)
  12694. >0x000048 byte 0x0E (figure)
  12695. >0x000048 byte 0x10 (picture)
  12696. >0x000048 byte 0x12 (program)
  12697. >0x000048 byte 0x13 (function)
  12698. >0x000048 byte 0x14 (macro)
  12699. >0x000048 byte 0x1C (zipped)
  12700. >0x000048 byte 0x21 (assembler)
  12701. #
  12702. # Magic Numbers for the TI-73/83+/89/92+/V200 FLASH upgrades
  12703. #
  12704. 0x0000016 string Advanced TI-XX Graphing Calculator (FLASH)
  12705. 0 string **TIFL** TI-XX Graphing Calculator (FLASH)
  12706. >8 byte >0 - Revision %d
  12707. >>9 byte x \b.%d,
  12708. >12 byte >0 Revision date %02x
  12709. >>13 byte x \b/%02x
  12710. >>14 beshort x \b/%04x,
  12711. >17 string >/0 name: '%s',
  12712. >48 byte 0x74 device: TI-73,
  12713. >48 byte 0x73 device: TI-83+,
  12714. >48 byte 0x98 device: TI-89,
  12715. >48 byte 0x88 device: TI-92+,
  12716. >49 byte 0x23 type: OS upgrade,
  12717. >49 byte 0x24 type: application,
  12718. >49 byte 0x25 type: certificate,
  12719. >49 byte 0x3e type: license,
  12720. >74 lelong >0 size: %ld bytes
  12721.  
  12722. # VTi & TiEmu skins (TI Graphing Calculators).
  12723. # From: Romain Lievin ([email protected]).
  12724. # Magic Numbers for the VTi skins
  12725. 0 string VTI Virtual TI skin
  12726. >3 string v - Version
  12727. >>4 byte >0 \b %c
  12728. >>6 byte x \b.%c
  12729. # Magic Numbers for the TiEmu skins
  12730. 0 string TiEmu TiEmu skin
  12731. >6 string v - Version
  12732. >>7 byte >0 \b %c
  12733. >>9 byte x \b.%c
  12734. >>10 byte x \b%c
  12735.  
  12736. #------------------------------------------------------------------------------
  12737. # timezone: file(1) magic for timezone data
  12738. #
  12739. # from Daniel Quinlan ([email protected])
  12740. # this should work on Linux, SunOS, and maybe others
  12741. # Added new official magic number for recent versions of the Olson code
  12742. 0 string TZif timezone data
  12743. 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
  12744. 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
  12745. 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
  12746. 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
  12747. 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
  12748. 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
  12749.  
  12750. #------------------------------------------------------------------------------
  12751. # troff: file(1) magic for *roff
  12752. #
  12753. # updated by Daniel Quinlan ([email protected])
  12754.  
  12755. # troff input
  12756. 0 string .\\" troff or preprocessor input text
  12757. 0 string '\\" troff or preprocessor input text
  12758. 0 string '.\\" troff or preprocessor input text
  12759. 0 string \\" troff or preprocessor input text
  12760. 0 string ''' troff or preprocessor input text
  12761.  
  12762. # ditroff intermediate output text
  12763. 0 string x\ T ditroff output text
  12764. >4 string cat for the C/A/T phototypesetter
  12765. >4 string ps for PostScript
  12766. >4 string dvi for DVI
  12767. >4 string ascii for ASCII
  12768. >4 string lj4 for LaserJet 4
  12769. >4 string latin1 for ISO 8859-1 (Latin 1)
  12770. >4 string X75 for xditview at 75dpi
  12771. >>7 string -12 (12pt)
  12772. >4 string X100 for xditview at 100dpi
  12773. >>8 string -12 (12pt)
  12774.  
  12775. # output data formats
  12776. 0 string \100\357 very old (C/A/T) troff output data
  12777. #
  12778. #------------------------------------------------------------------------------
  12779. # tuxedo: file(1) magic for BEA TUXEDO data files
  12780. #
  12781. # from Ian Springer <[email protected]>
  12782. #
  12783. 0 string \0\0\1\236\0\0\0\0\0\0\0\0\0\0\0\0 BEA TUXEDO DES mask data
  12784.  
  12785. #------------------------------------------------------------------------------
  12786. # typeset: file(1) magic for other typesetting
  12787. #
  12788. 0 string Interpress/Xerox Xerox InterPress data
  12789. >16 string / (version
  12790. >>17 string >\0 %s)
  12791.  
  12792. #------------------------------------------------------------------------------
  12793. # unknown: file(1) magic for unknown machines
  12794. #
  12795. # XXX - this probably should be pruned, as it'll match PDP-11 and
  12796. # VAX image formats.
  12797. #
  12798. # 0x107 is 0407; 0x108 is 0410; both are PDP-11 (executable and pure,
  12799. # respectively).
  12800. #
  12801. # 0x109 is 0411; that's PDP-11 split I&D, but the PDP-11 version doesn't
  12802. # have the "version %ld", which may be a bogus COFFism (I don't think
  12803. # there ever was COFF for the PDP-11).
  12804. #
  12805. # 0x10B is 0413; that's VAX demand-paged, but this is a short, not a
  12806. # long, as it would be on a VAX.
  12807. #
  12808. # 0x10C is 0414 and 0x10E is 416; those *are* unknown.
  12809. #
  12810. 0 short 0x107 unknown machine executable
  12811. >8 short >0 not stripped
  12812. >15 byte >0 - version %ld
  12813. 0 short 0x108 unknown pure executable
  12814. >8 short >0 not stripped
  12815. >15 byte >0 - version %ld
  12816. 0 short 0x109 PDP-11 separate I&D
  12817. >8 short >0 not stripped
  12818. >15 byte >0 - version %ld
  12819. 0 short 0x10b unknown pure executable
  12820. >8 short >0 not stripped
  12821. >15 byte >0 - version %ld
  12822. 0 long 0x10c unknown demand paged pure executable
  12823. >16 long >0 not stripped
  12824. 0 long 0x10e unknown readable demand paged pure executable
  12825.  
  12826. #---------------------------------------------------------------------------
  12827. # Unicode: BOM prefixed text files - Adrian Havill <[email protected]>
  12828. #
  12829. 0 string +/v8 Unicode text, UTF-7
  12830. 0 string +/v9 Unicode text, UTF-7
  12831. 0 string +/v+ Unicode text, UTF-7
  12832. 0 string +/v/ Unicode text, UTF-7
  12833. 0 string \357\273\277 Unicode text, UTF-8
  12834. 0 string \335\163\146\163 Unicode text, UTF-8-EBCDIC
  12835. 0 string \376\377\000\000 Unicode text, UTF-32, big-endian
  12836. 0 string \377\376\000\000 Unicode text, UTF-32, little-endian
  12837. 0 string \376\377 Unicode text, UTF-16, big-endian
  12838. 0 string \377\376 Unicode text, UTF-16, little-endian
  12839. 0 string \016\376\377 Unicode text, SCSU (Standard Compression Scheme for Unicode)
  12840.  
  12841. #------------------------------------------------------------------------------
  12842. # uuencode: file(1) magic for ASCII-encoded files
  12843. #
  12844.  
  12845. # GRR: the first line of xxencoded files is identical to that in uuencoded
  12846. # files, but the first character in most subsequent lines is 'h' instead of
  12847. # 'M'. (xxencoding uses lowercase letters in place of most of uuencode's
  12848. # punctuation and survives BITNET gateways better.) If regular expressions
  12849. # were supported, this entry could possibly be split into two with
  12850. # "begin\040\.\*\012M" or "begin\040\.\*\012h" (where \. and \* are REs).
  12851. 0 string begin\040 uuencoded or xxencoded text
  12852.  
  12853. # btoa(1) is an alternative to uuencode that requires less space.
  12854. 0 string xbtoa\ Begin btoa'd text
  12855.  
  12856. # ship(1) is another, much cooler alternative to uuencode.
  12857. # Greg Roelofs, [email protected]
  12858. 0 string $\012ship ship'd binary text
  12859.  
  12860. # bencode(8) is used to encode compressed news batches (Bnews/Cnews only?)
  12861. # Greg Roelofs, [email protected]
  12862. 0 string Decode\ the\ following\ with\ bdeco bencoded News text
  12863.  
  12864. # BinHex is the Macintosh ASCII-encoded file format (see also "apple")
  12865. # Daniel Quinlan, [email protected]
  12866. 11 string must\ be\ converted\ with\ BinHex BinHex binary text
  12867. >41 string x \b, version %.3s
  12868.  
  12869. # GRR: is MIME BASE64 encoding handled somewhere?
  12870.  
  12871. #------------------------------------------------------------------------------
  12872. # varied.out: file(1) magic for various USG systems
  12873. #
  12874. # Herewith many of the object file formats used by USG systems.
  12875. # Most have been moved to files for a particular processor,
  12876. # and deleted if they duplicate other entries.
  12877. #
  12878. 0 short 0610 Perkin-Elmer executable
  12879. # AMD 29K
  12880. 0 beshort 0572 amd 29k coff noprebar executable
  12881. 0 beshort 01572 amd 29k coff prebar executable
  12882. 0 beshort 0160007 amd 29k coff archive
  12883. # Cray
  12884. 6 beshort 0407 unicos (cray) executable
  12885. # Ultrix 4.3
  12886. 596 string \130\337\377\377 Ultrix core file
  12887. >600 string >\0 from '%s'
  12888. # BeOS and MAcOS PEF executables
  12889. # From: [email protected] (Jon Watte)
  12890. 0 string Joy!peffpwpc header for PowerPC PEF executable
  12891. #
  12892. # ava assembler/linker Uros Platise <[email protected]>
  12893. 0 string avaobj AVR assembler object code
  12894. >7 string >\0 version '%s'
  12895. # gnu gmon magic From: Eugen Dedu <[email protected]>
  12896. 0 string gmon GNU prof performance data
  12897. >4 long x - version %ld
  12898. # From: Dave Pearson <[email protected]>
  12899. # Harbour <URL:http://www.harbour-project.org/> HRB files.
  12900. 0 string \xc0HRB Harbour HRB file
  12901. >4 short x version %d
  12902.  
  12903. # From: Alex Beregszaszi <[email protected]>
  12904. # 0 string exec BugOS executable
  12905. # 0 string pack BugOS archive
  12906.  
  12907. # From: Jason Spence <[email protected]>
  12908. # Generated by the "examples" in STM's ST40 devkit, and derived code.
  12909. 0 lelong 0x13a9f17e ST40 component image format
  12910. >4 string >\0 \b, name '%s'
  12911.  
  12912. #------------------------------------------------------------------------------
  12913. # varied.script: file(1) magic for various interpreter scripts
  12914.  
  12915. 0 string #!\ / a
  12916. >3 string >\0 %s script text executable
  12917. 0 string #!\t/ a
  12918. >3 string >\0 %s script text executable
  12919. 0 string #!/ a
  12920. >2 string >\0 %s script text executable
  12921. 0 string #!\ script text executable
  12922. >3 string >\0 for %s
  12923.  
  12924.  
  12925. #------------------------------------------------------------------------------
  12926. # vax: file(1) magic for VAX executable/object and APL workspace
  12927. #
  12928. 0 lelong 0101557 VAX single precision APL workspace
  12929. 0 lelong 0101556 VAX double precision APL workspace
  12930.  
  12931. #
  12932. # VAX a.out (32V, BSD)
  12933. #
  12934. 0 lelong 0407 VAX executable
  12935. >16 lelong >0 not stripped
  12936.  
  12937. 0 lelong 0410 VAX pure executable
  12938. >16 lelong >0 not stripped
  12939.  
  12940. 0 lelong 0413 VAX demand paged pure executable
  12941. >16 lelong >0 not stripped
  12942.  
  12943. 0 lelong 0420 VAX demand paged (first page unmapped) pure executable
  12944. >16 lelong >0 not stripped
  12945.  
  12946. #
  12947. # VAX COFF
  12948. #
  12949. # The `versions' should be un-commented if they work for you.
  12950. # (Was the problem just one of endianness?)
  12951. #
  12952. 0 leshort 0570 VAX COFF executable
  12953. >12 lelong >0 not stripped
  12954. >22 leshort >0 - version %ld
  12955. 0 leshort 0575 VAX COFF pure executable
  12956. >12 lelong >0 not stripped
  12957. >22 leshort >0 - version %ld
  12958.  
  12959. #------------------------------------------------------------------------------
  12960. # vicar: file(1) magic for VICAR files.
  12961. #
  12962. # From: Ossama Othman <[email protected]
  12963. # VICAR is JPL's in-house spacecraft image processing program
  12964. # VICAR image
  12965. 0 string LBLSIZE= VICAR image data
  12966. >32 string BYTE \b, 8 bits = VAX byte
  12967. >32 string HALF \b, 16 bits = VAX word = Fortran INTEGER*2
  12968. >32 string FULL \b, 32 bits = VAX longword = Fortran INTEGER*4
  12969. >32 string REAL \b, 32 bits = VAX longword = Fortran REAL*4
  12970. >32 string DOUB \b, 64 bits = VAX quadword = Fortran REAL*8
  12971. >32 string COMPLEX \b, 64 bits = VAX quadword = Fortran COMPLEX*8
  12972. # VICAR label file
  12973. 43 string SFDU_LABEL VICAR label file
  12974. #------------------------------------------------------------------------------
  12975. # Virtutech Compressed Random Access File Format
  12976. #
  12977. 0 string \211\277\036\203 Virtutech CRAFF
  12978. >4 belong x v%d
  12979. >20 belong 0 uncompressed
  12980. >20 belong 1 bzipp2ed
  12981. >20 belong 2 gzipped
  12982. >24 belong 0 not clean
  12983.  
  12984. #------------------------------------------------------------------------------
  12985. # visx: file(1) magic for Visx format files
  12986. #
  12987. 0 short 0x5555 VISX image file
  12988. >2 byte 0 (zero)
  12989. >2 byte 1 (unsigned char)
  12990. >2 byte 2 (short integer)
  12991. >2 byte 3 (float 32)
  12992. >2 byte 4 (float 64)
  12993. >2 byte 5 (signed char)
  12994. >2 byte 6 (bit-plane)
  12995. >2 byte 7 (classes)
  12996. >2 byte 8 (statistics)
  12997. >2 byte 10 (ascii text)
  12998. >2 byte 15 (image segments)
  12999. >2 byte 100 (image set)
  13000. >2 byte 101 (unsigned char vector)
  13001. >2 byte 102 (short integer vector)
  13002. >2 byte 103 (float 32 vector)
  13003. >2 byte 104 (float 64 vector)
  13004. >2 byte 105 (signed char vector)
  13005. >2 byte 106 (bit plane vector)
  13006. >2 byte 121 (feature vector)
  13007. >2 byte 122 (feature vector library)
  13008. >2 byte 124 (chain code)
  13009. >2 byte 126 (bit vector)
  13010. >2 byte 130 (graph)
  13011. >2 byte 131 (adjacency graph)
  13012. >2 byte 132 (adjacency graph library)
  13013. >2 string .VISIX (ascii text)
  13014.  
  13015. #------------------------------------------------------------------------------
  13016. # vms: file(1) magic for VMS executables (experimental)
  13017. #
  13018. # VMS .exe formats, both VAX and AXP (Greg Roelofs, [email protected])
  13019.  
  13020. # GRR 950122: I'm just guessing on these, based on inspection of the headers
  13021. # of three executables each for Alpha and VAX architectures. The VAX files
  13022. # all had headers similar to this:
  13023. #
  13024. # 00000 b0 00 30 00 44 00 60 00 00 00 00 00 30 32 30 35 ..0.D.`.....0205
  13025. # 00010 01 01 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 ................
  13026. #
  13027. 0 string \xb0\0\x30\0 VMS VAX executable
  13028. >44032 string PK\003\004 \b, Info-ZIP SFX archive v5.12 w/decryption
  13029. #
  13030. # The AXP files all looked like this, except that the byte at offset 0x22
  13031. # was 06 in some of them and 07 in others:
  13032. #
  13033. # 00000 03 00 00 00 00 00 00 00 ec 02 00 00 10 01 00 00 ................
  13034. # 00010 68 00 00 00 98 00 00 00 b8 00 00 00 00 00 00 00 h...............
  13035. # 00020 00 00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
  13036. # 00030 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 ................
  13037. # 00040 00 00 00 00 ff ff ff ff ff ff ff ff 02 00 00 00 ................
  13038. #
  13039. 0 belong 0x03000000 VMS Alpha executable
  13040. >75264 string PK\003\004 \b, Info-ZIP SFX archive v5.12 w/decryption
  13041.  
  13042. # -----------------------------------------------------------
  13043. # VMware specific files (deducted from version 1.1 and log file entries)
  13044. # Anthon van der Neut ([email protected])
  13045. 0 belong 0x4d52564e VMware nvram
  13046.  
  13047. #------------------------------------------------------------------------------
  13048. # vorbis: file(1) magic for Ogg/Vorbis files
  13049. #
  13050. # From Felix von Leitner <[email protected]>
  13051. # Extended by Beni Cherniavsky <[email protected]>
  13052. # Further extended by Greg Wooledge <[email protected]>
  13053. #
  13054. # Most (everything but the number of channels and bitrate) is commented
  13055. # out with `##' as it's not interesting to the average user. The most
  13056. # probable things advanced users would want to uncomment are probably
  13057. # the number of comments and the encoder version.
  13058. #
  13059. # --- Ogg Framing ---
  13060. 0 string OggS Ogg data
  13061. >4 byte !0 UNKNOWN REVISION %u
  13062. ##>4 byte 0 revision 0
  13063. >4 byte 0
  13064. ##>>14 lelong x (Serial %lX)
  13065. # non-Vorbis content: FLAC (Free Lossless Audio Codec, http://flac.sourceforge.net)
  13066. >>28 string fLaC \b, FLAC audio
  13067. # non-Vorbis content: Theora
  13068. >>28 string \x80theora \b, Theora video
  13069. # non-Vorbis content: Speex
  13070. >>28 string Speex\ \ \ \b, Speex audio
  13071. # non-Vorbis content: OGM
  13072. >>28 string \x01video\0\0\0 \b, OGM video
  13073. >>>37 string/c div3 (DivX 3)
  13074. >>>37 string/c divx (DivX 4)
  13075. >>>37 string/c dx50 (DivX 5)
  13076. >>>37 string/c xvid (XviD)
  13077. # --- First vorbis packet - general header ---
  13078. >>28 string \x01vorbis \b, Vorbis audio,
  13079. >>>35 lelong !0 UNKNOWN VERSION %lu,
  13080. ##>>>35 lelong 0 version 0,
  13081. >>>35 lelong 0
  13082. >>>>39 ubyte 1 mono,
  13083. >>>>39 ubyte 2 stereo,
  13084. >>>>39 ubyte >2 %u channels,
  13085. >>>>40 lelong x %lu Hz
  13086. # Minimal, nominal and maximal bitrates specified when encoding
  13087. >>>>48 string <\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff \b,
  13088. # The above tests if at least one of these is specified:
  13089. >>>>>52 lelong !-1
  13090. # Vorbis RC2 has a bug which puts -1000 in the min/max bitrate fields
  13091. # instead of -1.
  13092. # Vorbis 1.0 uses 0 instead of -1.
  13093. >>>>>>52 lelong !0
  13094. >>>>>>>52 lelong !-1000
  13095. >>>>>>>>52 lelong x <%lu
  13096. >>>>>48 lelong !-1
  13097. >>>>>>48 lelong x ~%lu
  13098. >>>>>44 lelong !-1
  13099. >>>>>>44 lelong !-1000
  13100. >>>>>>>44 lelong !0
  13101. >>>>>>>>44 lelong x >%lu
  13102. >>>>>48 string <\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff bps
  13103. # -- Second vorbis header packet - the comments
  13104. # A kludge to read the vendor string. It's a counted string, not a
  13105. # zero-terminated one, so file(1) can't read it in a generic way.
  13106. # libVorbis is the only one existing currently, so I detect specifically
  13107. # it. The interesting value is the cvs date (8 digits decimal).
  13108. # Post-RC1 Ogg files have the second header packet (and thus the version)
  13109. # in a different place, so we must use an indirect offset.
  13110. >>>(84.b+85) string \x03vorbis
  13111. >>>>(84.b+96) string/c Xiphophorus\ libVorbis\ I \b, created by: Xiphophorus libVorbis I
  13112. >>>>>(84.b+120) string >00000000
  13113. # Map to beta version numbers:
  13114. >>>>>>(84.b+120) string <20000508 (<beta1, prepublic)
  13115. >>>>>>(84.b+120) string 20000508 (1.0 beta 1 or beta 2)
  13116. >>>>>>(84.b+120) string >20000508
  13117. >>>>>>>(84.b+120) string <20001031 (beta2-3)
  13118. >>>>>>(84.b+120) string 20001031 (1.0 beta 3)
  13119. >>>>>>(84.b+120) string >20001031
  13120. >>>>>>>(84.b+120) string <20010225 (beta3-4)
  13121. >>>>>>(84.b+120) string 20010225 (1.0 beta 4)
  13122. >>>>>>(84.b+120) string >20010225
  13123. >>>>>>>(84.b+120) string <20010615 (beta4-RC1)
  13124. >>>>>>(84.b+120) string 20010615 (1.0 RC1)
  13125. >>>>>>(84.b+120) string 20010813 (1.0 RC2)
  13126. >>>>>>(84.b+120) string 20010816 (RC2 - Garf tuned v1)
  13127. >>>>>>(84.b+120) string 20011014 (RC2 - Garf tuned v2)
  13128. >>>>>>(84.b+120) string 20011217 (1.0 RC3)
  13129. >>>>>>(84.b+120) string 20011231 (1.0 RC3)
  13130. # Some pre-1.0 CVS snapshots still had "Xiphphorus"...
  13131. >>>>>>(84.b+120) string >20011231 (pre-1.0 CVS)
  13132. # For the 1.0 release, Xiphophorus is replaced by Xiph.Org
  13133. >>>>(84.b+96) string/c Xiph.Org\ libVorbis\ I \b, created by: Xiph.Org libVorbis I
  13134. >>>>>(84.b+117) string >00000000
  13135. >>>>>>(84.b+117) string <20020717 (pre-1.0 CVS)
  13136. >>>>>>(84.b+117) string 20020717 (1.0)
  13137. >>>>>>(84.b+117) string 20030909 (1.0.1)
  13138. >>>>>>(84.b+117) string 20040629 (1.1.0 RC1)
  13139.  
  13140. #------------------------------------------------------------------------------
  13141. # VXL: file(1) magic for VXL binary IO data files
  13142. #
  13143. # from Ian Scott <[email protected]>
  13144. #
  13145. # VXL is a collection of C++ libraries for Computer Vision.
  13146. # See the vsl chapter in the VXL Book for more info
  13147. # http://www.isbe.man.ac.uk/public_vxl_doc/books/vxl/book.html
  13148. # http:/vxl.sf.net
  13149.  
  13150. 2 lelong 0x472b2c4e VXL data file,
  13151. >0 leshort >0 schema version no %d
  13152.  
  13153. #------------------------------------------------------------------------------
  13154. # wordprocessors: file(1) magic fo word processors.
  13155. #
  13156. ####### PWP file format used on Smith Corona Personal Word Processors:
  13157. 2 string \040\040\040\040\040\040\040\040\040\040\040ML4D\040'92 Smith Corona PWP
  13158. >24 byte 2 \b, single spaced
  13159. >24 byte 3 \b, 1.5 spaced
  13160. >24 byte 4 \b, double spaced
  13161. >25 byte 0x42 \b, letter
  13162. >25 byte 0x54 \b, legal
  13163. >26 byte 0x46 \b, A4
  13164.  
  13165. #WordPerfect type files Version 1.6 - PLEASE DO NOT REMOVE THIS LINE
  13166. 0 string \377WPC\020\000\000\000\022\012\001\001\000\000\000\000 (WP) loadable text
  13167. >15 byte 0 Optimized for Intel
  13168. >15 byte 1 Optimized for Non-Intel
  13169. 1 string WPC (Corel/WP)
  13170. >8 short 257 WordPerfect macro
  13171. >8 short 258 WordPerfect help file
  13172. >8 short 259 WordPerfect keyboard file
  13173. >8 short 266 WordPerfect document
  13174. >8 short 267 WordPerfect dictionary
  13175. >8 short 268 WordPerfect thesaurus
  13176. >8 short 269 WordPerfect block
  13177. >8 short 270 WordPerfect rectangular block
  13178. >8 short 271 WordPerfect column block
  13179. >8 short 272 WordPerfect printer data
  13180. >8 short 275 WordPerfect printer data
  13181. >8 short 276 WordPerfect driver resource data
  13182. >8 short 279 WordPerfect hyphenation code
  13183. >8 short 280 WordPerfect hyphenation data
  13184. >8 short 281 WordPerfect macro resource data
  13185. >8 short 283 WordPerfect hyphenation lex
  13186. >8 short 285 WordPerfect wordlist
  13187. >8 short 286 WordPerfect equation resource data
  13188. >8 short 289 WordPerfect spell rules
  13189. >8 short 290 WordPerfect dictionary rules
  13190. >8 short 295 WordPerfect spell rules (Microlytics)
  13191. >8 short 299 WordPerfect settings file
  13192. >8 short 301 WordPerfect 4.2 document
  13193. >8 short 325 WordPerfect dialog file
  13194. >8 short 332 WordPerfect button bar
  13195. >8 short 513 Shell macro
  13196. >8 short 522 Shell definition
  13197. >8 short 769 Notebook macro
  13198. >8 short 770 Notebook help file
  13199. >8 short 771 Notebook keyboard file
  13200. >8 short 778 Notebook definition
  13201. >8 short 1026 Calculator help file
  13202. >8 short 1538 Calendar help file
  13203. >8 short 1546 Calendar data file
  13204. >8 short 1793 Editor macro
  13205. >8 short 1794 Editor help file
  13206. >8 short 1795 Editor keyboard file
  13207. >8 short 1817 Editor macro resource file
  13208. >8 short 2049 Macro editor macro
  13209. >8 short 2050 Macro editor help file
  13210. >8 short 2051 Macro editor keyboard file
  13211. >8 short 2305 PlanPerfect macro
  13212. >8 short 2306 PlanPerfect help file
  13213. >8 short 2307 PlanPerfect keyboard file
  13214. >8 short 2314 PlanPerfect worksheet
  13215. >8 short 2319 PlanPerfect printer definition
  13216. >8 short 2322 PlanPerfect graphic definition
  13217. >8 short 2323 PlanPerfect data
  13218. >8 short 2324 PlanPerfect temporary printer
  13219. >8 short 2329 PlanPerfect macro resource data
  13220. >8 byte 11 Mail
  13221. >8 short 2818 help file
  13222. >8 short 2821 distribution list
  13223. >8 short 2826 out box
  13224. >8 short 2827 in box
  13225. >8 short 2836 users archived mailbox
  13226. >8 short 2837 archived message database
  13227. >8 short 2838 archived attachments
  13228. >8 short 3083 Printer temporary file
  13229. >8 short 3330 Scheduler help file
  13230. >8 short 3338 Scheduler in file
  13231. >8 short 3339 Scheduler out file
  13232. >8 short 3594 GroupWise settings file
  13233. >8 short 3601 GroupWise directory services
  13234. >8 short 3627 GroupWise settings file
  13235. >8 short 4362 Terminal resource data
  13236. >8 short 4363 Terminal resource data
  13237. >8 short 4395 Terminal resource data
  13238. >8 short 4619 GUI loadable text
  13239. >8 short 4620 graphics resource data
  13240. >8 short 4621 printer settings file
  13241. >8 short 4622 port definition file
  13242. >8 short 4623 print queue parameters
  13243. >8 short 4624 compressed file
  13244. >8 short 5130 Network service msg file
  13245. >8 short 5131 Network service msg file
  13246. >8 short 5132 Async gateway login msg
  13247. >8 short 5134 GroupWise message file
  13248. >8 short 7956 GroupWise admin domain database
  13249. >8 short 7957 GroupWise admin host database
  13250. >8 short 7959 GroupWise admin remote host database
  13251. >8 short 7960 GroupWise admin ADS deferment data file
  13252. >8 short 8458 IntelliTAG (SGML) compiled DTD
  13253. >8 long 18219264 WordPerfect graphic image (1.0)
  13254. >8 long 18219520 WordPerfect graphic image (2.0)
  13255. #end of WordPerfect type files Version 1.6 - PLEASE DO NOT REMOVE THIS LINE
  13256.  
  13257. # Hangul (Korean) Word Processor File
  13258. 0 string HWP\ Document\ File Hangul (Korean) Word Processor File 3.0
  13259. # From: Won-Kyu Park <[email protected]>
  13260. 512 string R\0o\0o\0t\0 Hangul (Korean) Word Processor File 2000
  13261.  
  13262. # CosmicBook, from Benoļ“ Rouits
  13263. 0 string CSBK Ted Neslson's CosmicBook hypertext file
  13264.  
  13265. 2 string EYWR AmigaWriter file
  13266.  
  13267. # chi: file(1) magic for ChiWriter files
  13268. 0 string \\1cw\ ChiWriter file
  13269. >5 string >\0 version %s
  13270. 0 string \\1cw ChiWriter file
  13271.  
  13272. # Quark Express from http://www.garykessler.net/library/file_sigs.html
  13273. 2 string IIXPR3 Intel Quark Express Document (English)
  13274. 2 string IIXPRa Intel Quark Express Document (Korean)
  13275. 2 string MMXPR3 Motorola Quark Express Document (English)
  13276. 2 string MMXPRa Motorola Quark Express Document (Korean)
  13277.  
  13278. # adobe indesign (document, whatever...) from querkan
  13279. 0 belong 0x0606edf5 Adobe InDesign
  13280. >16 string DOCUMENT Document
  13281.  
  13282. # From: Michael Piefel <[email protected]>
  13283. # sqtroff intermediate language (replacement for ditroff int. lang.)
  13284. 0 string X\ 495 SoftQuad troff Context intermediate for AT&T 495 laser printer
  13285. 0 string X\ hp SoftQuad troff Context intermediate for HP LaserJet
  13286. 0 string X\ impr SoftQuad troff Context intermediate for IMAGEN imPRESS
  13287. 0 string X\ ps SoftQuad troff Context intermediate for PostScript
  13288.  
  13289. #------------------------------------------------------------------------------
  13290. # file(1) magic(5) data for xdelta Josh MacDonald <[email protected]>
  13291. #
  13292. 0 string %XDELTA% XDelta binary patch file 0.14
  13293. 0 string %XDZ000% XDelta binary patch file 0.18
  13294. 0 string %XDZ001% XDelta binary patch file 0.20
  13295. 0 string %XDZ002% XDelta binary patch file 1.0
  13296. 0 string %XDZ003% XDelta binary patch file 1.0.4
  13297. 0 string %XDZ004% XDelta binary patch file 1.1
  13298.  
  13299. #------------------------------------------------------------------------------
  13300. # xenix: file(1) magic for Microsoft Xenix
  13301. #
  13302. # "Middle model" stuff, and "Xenix 8086 relocatable or 80286 small
  13303. # model" lifted from "magic.xenix", with comment "derived empirically;
  13304. # treat as folklore until proven"
  13305. #
  13306. # "small model", "large model", "huge model" stuff lifted from XXX
  13307. #
  13308. # XXX - "x.out" collides with PDP-11 archives
  13309. #
  13310. 0 string core core file (Xenix)
  13311. 0 byte 0x80 8086 relocatable (Microsoft)
  13312. 0 leshort 0xff65 x.out
  13313. >2 string __.SYMDEF randomized
  13314. >0 byte x archive
  13315. 0 leshort 0x206 Microsoft a.out
  13316. >8 leshort 1 Middle model
  13317. >0x1e leshort &0x10 overlay
  13318. >0x1e leshort &0x2 separate
  13319. >0x1e leshort &0x4 pure
  13320. >0x1e leshort &0x800 segmented
  13321. >0x1e leshort &0x400 standalone
  13322. >0x1e leshort &0x8 fixed-stack
  13323. >0x1c byte &0x80 byte-swapped
  13324. >0x1c byte &0x40 word-swapped
  13325. >0x10 lelong >0 not-stripped
  13326. >0x1e leshort ^0xc000 pre-SysV
  13327. >0x1e leshort &0x4000 V2.3
  13328. >0x1e leshort &0x8000 V3.0
  13329. >0x1c byte &0x4 86
  13330. >0x1c byte &0xb 186
  13331. >0x1c byte &0x9 286
  13332. >0x1c byte &0xa 386
  13333. >0x1f byte <0x040 small model
  13334. >0x1f byte =0x048 large model
  13335. >0x1f byte =0x049 huge model
  13336. >0x1e leshort &0x1 executable
  13337. >0x1e leshort ^0x1 object file
  13338. >0x1e leshort &0x40 Large Text
  13339. >0x1e leshort &0x20 Large Data
  13340. >0x1e leshort &0x120 Huge Objects Enabled
  13341. >0x10 lelong >0 not stripped
  13342.  
  13343. 0 leshort 0x140 old Microsoft 8086 x.out
  13344. >0x3 byte &0x4 separate
  13345. >0x3 byte &0x2 pure
  13346. >0 byte &0x1 executable
  13347. >0 byte ^0x1 relocatable
  13348. >0x14 lelong >0 not stripped
  13349.  
  13350. 0 lelong 0x206 b.out
  13351. >0x1e leshort &0x10 overlay
  13352. >0x1e leshort &0x2 separate
  13353. >0x1e leshort &0x4 pure
  13354. >0x1e leshort &0x800 segmented
  13355. >0x1e leshort &0x400 standalone
  13356. >0x1e leshort &0x1 executable
  13357. >0x1e leshort ^0x1 object file
  13358. >0x1e leshort &0x4000 V2.3
  13359. >0x1e leshort &0x8000 V3.0
  13360. >0x1c byte &0x4 86
  13361. >0x1c byte &0xb 186
  13362. >0x1c byte &0x9 286
  13363. >0x1c byte &0x29 286
  13364. >0x1c byte &0xa 386
  13365. >0x1e leshort &0x4 Large Text
  13366. >0x1e leshort &0x2 Large Data
  13367. >0x1e leshort &0x102 Huge Objects Enabled
  13368.  
  13369. 0 leshort 0x580 XENIX 8086 relocatable or 80286 small model
  13370.  
  13371. #------------------------------------------------------------------------------
  13372. # xo65 object files
  13373. # From: "Ullrich von Bassewitz" <[email protected]>
  13374. #
  13375. 0 string \x55\x7A\x6E\x61 xo65 object,
  13376. >4 leshort x version %d,
  13377. >6 leshort&0x0001 =0x0001 with debug info
  13378. >6 leshort&0x0001 =0x0000 no debug info
  13379.  
  13380. # xo65 library files
  13381. 0 string \x6E\x61\x55\x7A xo65 library,
  13382. >4 leshort x version %d
  13383.  
  13384. # o65 object files
  13385. 0 string \x01\x00\x6F\x36\x35 o65
  13386. >6 leshort&0x1000 =0x0000 executable,
  13387. >6 leshort&0x1000 =0x1000 object,
  13388. >5 byte x version %d,
  13389. >6 leshort&0x8000 =0x8000 65816,
  13390. >6 leshort&0x8000 =0x0000 6502,
  13391. >6 leshort&0x2000 =0x2000 32 bit,
  13392. >6 leshort&0x2000 =0x0000 16 bit,
  13393. >6 leshort&0x4000 =0x4000 page reloc,
  13394. >6 leshort&0x4000 =0x0000 byte reloc,
  13395. >6 leshort&0x0003 =0x0000 alignment 1
  13396. >6 leshort&0x0003 =0x0001 alignment 2
  13397. >6 leshort&0x0003 =0x0002 alignment 4
  13398. >6 leshort&0x0003 =0x0003 alignment 256
  13399.  
  13400. #------------------------------------------------------------------------------
  13401. # xwindows: file(1) magic for various X/Window system file formats.
  13402.  
  13403. # Compiled X Keymap
  13404. # XKM (compiled X keymap) files (including version and byte ordering)
  13405. 1 string mkx Compiled XKB Keymap: lsb,
  13406. >0 byte >0 version %d
  13407. >0 byte =0 obsolete
  13408. 0 string xkm Compiled XKB Keymap: msb,
  13409. >3 byte >0 version %d
  13410. >0 byte =0 obsolete
  13411.  
  13412. # xfsdump archive
  13413. 0 string xFSdump0 xfsdump archive
  13414. >8 belong x (version %d)
  13415.  
  13416. # Jaleo XFS files
  13417. 0 long 395726 Jaleo XFS file
  13418. >4 long x - version %ld
  13419. >8 long x - [%ld -
  13420. >20 long x %ldx
  13421. >24 long x %ldx
  13422. >28 long 1008 YUV422]
  13423. >28 long 1000 RGB24]
  13424.  
  13425. #------------------------------------------------------------------------------
  13426. # zilog: file(1) magic for Zilog Z8000.
  13427. #
  13428. # Was it big-endian or little-endian? My Product Specification doesn't
  13429. # say.
  13430. #
  13431. 0 long 0xe807 object file (z8000 a.out)
  13432. 0 long 0xe808 pure object file (z8000 a.out)
  13433. 0 long 0xe809 separate object file (z8000 a.out)
  13434. 0 long 0xe805 overlay object file (z8000 a.out)
  13435.  
  13436. #------------------------------------------------------------------------------
  13437. # zyxel: file(1) magic for ZyXEL modems
  13438. #
  13439. # These are the /etc/magic entries to decode datafiles as used for the
  13440. # ZyXEL U-1496E DATA/FAX/VOICE modems. (This header conforms to a
  13441. # ZyXEL-defined standard)
  13442.  
  13443. 0 string ZyXEL\002 ZyXEL voice data
  13444. >10 byte 0 - CELP encoding
  13445. >10 byte&0x0B 1 - ADPCM2 encoding
  13446. >10 byte&0x0B 2 - ADPCM3 encoding
  13447. >10 byte&0x0B 3 - ADPCM4 encoding
  13448. >10 byte&0x0B 8 - New ADPCM3 encoding
  13449. >10 byte&0x04 4 with resync
Add Comment
Please, Sign In to add comment