polyfile-weave 0.5.5__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of polyfile-weave might be problematic. Click here for more details.

Files changed (585) hide show
  1. polyfile/__init__.py +15 -0
  2. polyfile/__main__.py +394 -0
  3. polyfile/arithmetic.py +27 -0
  4. polyfile/ast.py +114 -0
  5. polyfile/debugger.py +1039 -0
  6. polyfile/expressions.py +346 -0
  7. polyfile/fileutils.py +343 -0
  8. polyfile/html.py +135 -0
  9. polyfile/http/__init__.py +1 -0
  10. polyfile/http/defacto.py +37 -0
  11. polyfile/http/deprecated.py +51 -0
  12. polyfile/http/experimental.py +67 -0
  13. polyfile/http/http_11.py +548 -0
  14. polyfile/http/matcher.py +37 -0
  15. polyfile/http/structured_headers.py +48 -0
  16. polyfile/iterators.py +72 -0
  17. polyfile/jpeg.py +24 -0
  18. polyfile/kaitai/__init__.py +0 -0
  19. polyfile/kaitai/compiler.py +156 -0
  20. polyfile/kaitai/parser.py +312 -0
  21. polyfile/kaitai/parsers/__init__.py +0 -0
  22. polyfile/kaitai/parsers/aix_utmp.py +116 -0
  23. polyfile/kaitai/parsers/allegro_dat.py +367 -0
  24. polyfile/kaitai/parsers/andes_firmware.py +64 -0
  25. polyfile/kaitai/parsers/android_bootldr_asus.py +105 -0
  26. polyfile/kaitai/parsers/android_bootldr_huawei.py +181 -0
  27. polyfile/kaitai/parsers/android_bootldr_qcom.py +217 -0
  28. polyfile/kaitai/parsers/android_dto.py +138 -0
  29. polyfile/kaitai/parsers/android_img.py +319 -0
  30. polyfile/kaitai/parsers/android_nanoapp_header.py +83 -0
  31. polyfile/kaitai/parsers/android_opengl_shaders_cache.py +151 -0
  32. polyfile/kaitai/parsers/android_sparse.py +237 -0
  33. polyfile/kaitai/parsers/android_super.py +401 -0
  34. polyfile/kaitai/parsers/apm_partition_table.py +196 -0
  35. polyfile/kaitai/parsers/apple_single_double.py +180 -0
  36. polyfile/kaitai/parsers/asn1_der.py +235 -0
  37. polyfile/kaitai/parsers/au.py +138 -0
  38. polyfile/kaitai/parsers/avantes_roh60.py +112 -0
  39. polyfile/kaitai/parsers/avi.py +296 -0
  40. polyfile/kaitai/parsers/bcd.py +111 -0
  41. polyfile/kaitai/parsers/bitcoin_transaction.py +210 -0
  42. polyfile/kaitai/parsers/blender_blend.py +334 -0
  43. polyfile/kaitai/parsers/bmp.py +780 -0
  44. polyfile/kaitai/parsers/bson.py +411 -0
  45. polyfile/kaitai/parsers/btrfs_stream.py +318 -0
  46. polyfile/kaitai/parsers/bytes_with_io.py +27 -0
  47. polyfile/kaitai/parsers/chrome_pak.py +194 -0
  48. polyfile/kaitai/parsers/code_6502.py +456 -0
  49. polyfile/kaitai/parsers/compressed_resource.py +217 -0
  50. polyfile/kaitai/parsers/cpio_old_le.py +154 -0
  51. polyfile/kaitai/parsers/cramfs.py +344 -0
  52. polyfile/kaitai/parsers/creative_voice_file.py +342 -0
  53. polyfile/kaitai/parsers/dbf.py +274 -0
  54. polyfile/kaitai/parsers/dcmp_0.py +664 -0
  55. polyfile/kaitai/parsers/dcmp_1.py +422 -0
  56. polyfile/kaitai/parsers/dcmp_2.py +312 -0
  57. polyfile/kaitai/parsers/dcmp_variable_length_integer.py +66 -0
  58. polyfile/kaitai/parsers/dex.py +1086 -0
  59. polyfile/kaitai/parsers/dicom.py +4370 -0
  60. polyfile/kaitai/parsers/dime_message.py +201 -0
  61. polyfile/kaitai/parsers/dns_packet.py +569 -0
  62. polyfile/kaitai/parsers/doom_wad.py +654 -0
  63. polyfile/kaitai/parsers/dos_datetime.py +191 -0
  64. polyfile/kaitai/parsers/dos_mz.py +172 -0
  65. polyfile/kaitai/parsers/ds_store.py +513 -0
  66. polyfile/kaitai/parsers/dtb.py +310 -0
  67. polyfile/kaitai/parsers/dune_2_pak.py +126 -0
  68. polyfile/kaitai/parsers/edid.py +472 -0
  69. polyfile/kaitai/parsers/efivar_signature_list.py +331 -0
  70. polyfile/kaitai/parsers/elf.py +2482 -0
  71. polyfile/kaitai/parsers/ethernet_frame.py +114 -0
  72. polyfile/kaitai/parsers/exif.py +723 -0
  73. polyfile/kaitai/parsers/ext2.py +537 -0
  74. polyfile/kaitai/parsers/fallout2_dat.py +187 -0
  75. polyfile/kaitai/parsers/fallout_dat.py +156 -0
  76. polyfile/kaitai/parsers/fasttracker_xm_module.py +558 -0
  77. polyfile/kaitai/parsers/ftl_dat.py +90 -0
  78. polyfile/kaitai/parsers/genmidi_op2.py +161 -0
  79. polyfile/kaitai/parsers/gettext_mo.py +541 -0
  80. polyfile/kaitai/parsers/gif.py +492 -0
  81. polyfile/kaitai/parsers/gimp_brush.py +244 -0
  82. polyfile/kaitai/parsers/glibc_utmp.py +114 -0
  83. polyfile/kaitai/parsers/gltf_binary.py +132 -0
  84. polyfile/kaitai/parsers/google_protobuf.py +151 -0
  85. polyfile/kaitai/parsers/gpt_partition_table.py +175 -0
  86. polyfile/kaitai/parsers/gran_turismo_vol.py +140 -0
  87. polyfile/kaitai/parsers/grub2_font.py +337 -0
  88. polyfile/kaitai/parsers/gzip.py +232 -0
  89. polyfile/kaitai/parsers/hashcat_restore.py +60 -0
  90. polyfile/kaitai/parsers/hccap.py +111 -0
  91. polyfile/kaitai/parsers/hccapx.py +103 -0
  92. polyfile/kaitai/parsers/heaps_pak.py +177 -0
  93. polyfile/kaitai/parsers/heroes_of_might_and_magic_agg.py +116 -0
  94. polyfile/kaitai/parsers/heroes_of_might_and_magic_bmp.py +34 -0
  95. polyfile/kaitai/parsers/icmp_packet.py +136 -0
  96. polyfile/kaitai/parsers/ico.py +129 -0
  97. polyfile/kaitai/parsers/id3v1_1.py +220 -0
  98. polyfile/kaitai/parsers/id3v2_3.py +324 -0
  99. polyfile/kaitai/parsers/id3v2_4.py +423 -0
  100. polyfile/kaitai/parsers/ines.py +282 -0
  101. polyfile/kaitai/parsers/ipv4_packet.py +158 -0
  102. polyfile/kaitai/parsers/ipv6_packet.py +55 -0
  103. polyfile/kaitai/parsers/iso9660.py +544 -0
  104. polyfile/kaitai/parsers/java_class.py +1113 -0
  105. polyfile/kaitai/parsers/jpeg.py +361 -0
  106. polyfile/kaitai/parsers/luks.py +149 -0
  107. polyfile/kaitai/parsers/lzh.py +165 -0
  108. polyfile/kaitai/parsers/mac_os_resource_snd.py +493 -0
  109. polyfile/kaitai/parsers/mach_o.py +3033 -0
  110. polyfile/kaitai/parsers/mach_o_fat.py +92 -0
  111. polyfile/kaitai/parsers/magicavoxel_vox.py +391 -0
  112. polyfile/kaitai/parsers/manifest.json +1 -0
  113. polyfile/kaitai/parsers/mbr_partition_table.py +119 -0
  114. polyfile/kaitai/parsers/mcap.py +1015 -0
  115. polyfile/kaitai/parsers/microsoft_cfb.py +293 -0
  116. polyfile/kaitai/parsers/microsoft_network_monitor_v2.py +309 -0
  117. polyfile/kaitai/parsers/microsoft_pe.py +765 -0
  118. polyfile/kaitai/parsers/mifare_classic.py +706 -0
  119. polyfile/kaitai/parsers/minecraft_nbt.py +449 -0
  120. polyfile/kaitai/parsers/monomakh_sapr_chg.py +69 -0
  121. polyfile/kaitai/parsers/mozilla_mar.py +239 -0
  122. polyfile/kaitai/parsers/mp4.py +333 -0
  123. polyfile/kaitai/parsers/msgpack.py +467 -0
  124. polyfile/kaitai/parsers/nitf.py +1189 -0
  125. polyfile/kaitai/parsers/nt_mdt_pal.py +155 -0
  126. polyfile/kaitai/parsers/ogg.py +118 -0
  127. polyfile/kaitai/parsers/openpgp_message.py +993 -0
  128. polyfile/kaitai/parsers/packet_ppi.py +515 -0
  129. polyfile/kaitai/parsers/pcap.py +344 -0
  130. polyfile/kaitai/parsers/pcf_font.py +506 -0
  131. polyfile/kaitai/parsers/pcx.py +195 -0
  132. polyfile/kaitai/parsers/pcx_dcx.py +79 -0
  133. polyfile/kaitai/parsers/phar_without_stub.py +399 -0
  134. polyfile/kaitai/parsers/php_serialized_value.py +505 -0
  135. polyfile/kaitai/parsers/png.py +721 -0
  136. polyfile/kaitai/parsers/protocol_body.py +260 -0
  137. polyfile/kaitai/parsers/psx_tim.py +104 -0
  138. polyfile/kaitai/parsers/python_pickle.py +718 -0
  139. polyfile/kaitai/parsers/python_pyc_27.py +510 -0
  140. polyfile/kaitai/parsers/quake_mdl.py +441 -0
  141. polyfile/kaitai/parsers/quake_pak.py +112 -0
  142. polyfile/kaitai/parsers/quicktime_mov.py +634 -0
  143. polyfile/kaitai/parsers/rar.py +265 -0
  144. polyfile/kaitai/parsers/regf.py +569 -0
  145. polyfile/kaitai/parsers/renderware_binary_stream.py +877 -0
  146. polyfile/kaitai/parsers/resource_fork.py +611 -0
  147. polyfile/kaitai/parsers/respack.py +57 -0
  148. polyfile/kaitai/parsers/riff.py +409 -0
  149. polyfile/kaitai/parsers/rpm.py +964 -0
  150. polyfile/kaitai/parsers/rtcp_payload.py +579 -0
  151. polyfile/kaitai/parsers/rtp_packet.py +150 -0
  152. polyfile/kaitai/parsers/rtpdump.py +115 -0
  153. polyfile/kaitai/parsers/ruby_marshal.py +423 -0
  154. polyfile/kaitai/parsers/s3m.py +493 -0
  155. polyfile/kaitai/parsers/saints_row_2_vpp_pc.py +254 -0
  156. polyfile/kaitai/parsers/shapefile_index.py +174 -0
  157. polyfile/kaitai/parsers/shapefile_main.py +893 -0
  158. polyfile/kaitai/parsers/some_ip.py +209 -0
  159. polyfile/kaitai/parsers/some_ip_container.py +37 -0
  160. polyfile/kaitai/parsers/some_ip_sd.py +86 -0
  161. polyfile/kaitai/parsers/some_ip_sd_entries.py +160 -0
  162. polyfile/kaitai/parsers/some_ip_sd_options.py +374 -0
  163. polyfile/kaitai/parsers/specpr.py +404 -0
  164. polyfile/kaitai/parsers/sqlite3.py +472 -0
  165. polyfile/kaitai/parsers/ssh_public_key.py +252 -0
  166. polyfile/kaitai/parsers/standard_midi_file.py +390 -0
  167. polyfile/kaitai/parsers/stl.py +111 -0
  168. polyfile/kaitai/parsers/sudoers_ts.py +201 -0
  169. polyfile/kaitai/parsers/swf.py +406 -0
  170. polyfile/kaitai/parsers/systemd_journal.py +361 -0
  171. polyfile/kaitai/parsers/tcp_segment.py +57 -0
  172. polyfile/kaitai/parsers/tga.py +213 -0
  173. polyfile/kaitai/parsers/tls_client_hello.py +293 -0
  174. polyfile/kaitai/parsers/tr_dos_image.py +322 -0
  175. polyfile/kaitai/parsers/tsm.py +198 -0
  176. polyfile/kaitai/parsers/ttf.py +1847 -0
  177. polyfile/kaitai/parsers/udp_datagram.py +42 -0
  178. polyfile/kaitai/parsers/uefi_te.py +236 -0
  179. polyfile/kaitai/parsers/uimage.py +198 -0
  180. polyfile/kaitai/parsers/utf8_string.py +137 -0
  181. polyfile/kaitai/parsers/vfat.py +410 -0
  182. polyfile/kaitai/parsers/vlq_base128_be.py +104 -0
  183. polyfile/kaitai/parsers/vlq_base128_le.py +129 -0
  184. polyfile/kaitai/parsers/vmware_vmdk.py +167 -0
  185. polyfile/kaitai/parsers/vp8_ivf.py +112 -0
  186. polyfile/kaitai/parsers/warcraft_2_pud.py +423 -0
  187. polyfile/kaitai/parsers/wav.py +1014 -0
  188. polyfile/kaitai/parsers/websocket.py +167 -0
  189. polyfile/kaitai/parsers/windows_evt_log.py +304 -0
  190. polyfile/kaitai/parsers/windows_lnk_file.py +467 -0
  191. polyfile/kaitai/parsers/windows_minidump.py +575 -0
  192. polyfile/kaitai/parsers/windows_resource_file.py +243 -0
  193. polyfile/kaitai/parsers/windows_shell_items.py +190 -0
  194. polyfile/kaitai/parsers/windows_systemtime.py +52 -0
  195. polyfile/kaitai/parsers/wmf.py +502 -0
  196. polyfile/kaitai/parsers/xar.py +181 -0
  197. polyfile/kaitai/parsers/xwd.py +189 -0
  198. polyfile/kaitai/parsers/zip.py +685 -0
  199. polyfile/kaitai/parsers/zisofs.py +158 -0
  200. polyfile/kaitai/parsers/zx_spectrum_tap.py +184 -0
  201. polyfile/kaitaimatcher.py +113 -0
  202. polyfile/languagematcher.py +217 -0
  203. polyfile/logger.py +135 -0
  204. polyfile/magic.py +2983 -0
  205. polyfile/magic_defs/COPYING +29 -0
  206. polyfile/magic_defs/__init__.py +0 -0
  207. polyfile/magic_defs/acorn +102 -0
  208. polyfile/magic_defs/adi +13 -0
  209. polyfile/magic_defs/adventure +122 -0
  210. polyfile/magic_defs/aes +29 -0
  211. polyfile/magic_defs/algol68 +35 -0
  212. polyfile/magic_defs/allegro +9 -0
  213. polyfile/magic_defs/alliant +18 -0
  214. polyfile/magic_defs/alpha +32 -0
  215. polyfile/magic_defs/amanda +12 -0
  216. polyfile/magic_defs/amigaos +218 -0
  217. polyfile/magic_defs/android +259 -0
  218. polyfile/magic_defs/animation +1197 -0
  219. polyfile/magic_defs/aout +46 -0
  220. polyfile/magic_defs/apache +28 -0
  221. polyfile/magic_defs/apl +7 -0
  222. polyfile/magic_defs/apple +773 -0
  223. polyfile/magic_defs/application +7 -0
  224. polyfile/magic_defs/applix +13 -0
  225. polyfile/magic_defs/apt +52 -0
  226. polyfile/magic_defs/archive +2586 -0
  227. polyfile/magic_defs/aria +38 -0
  228. polyfile/magic_defs/arm +50 -0
  229. polyfile/magic_defs/asf +132 -0
  230. polyfile/magic_defs/assembler +18 -0
  231. polyfile/magic_defs/asterix +18 -0
  232. polyfile/magic_defs/att3b +41 -0
  233. polyfile/magic_defs/audio +1291 -0
  234. polyfile/magic_defs/avm +33 -0
  235. polyfile/magic_defs/basis +18 -0
  236. polyfile/magic_defs/beetle +7 -0
  237. polyfile/magic_defs/ber +65 -0
  238. polyfile/magic_defs/bflt +14 -0
  239. polyfile/magic_defs/bhl +10 -0
  240. polyfile/magic_defs/bioinformatics +178 -0
  241. polyfile/magic_defs/biosig +154 -0
  242. polyfile/magic_defs/blackberry +8 -0
  243. polyfile/magic_defs/blcr +25 -0
  244. polyfile/magic_defs/blender +50 -0
  245. polyfile/magic_defs/blit +24 -0
  246. polyfile/magic_defs/bm +10 -0
  247. polyfile/magic_defs/bout +11 -0
  248. polyfile/magic_defs/bsdi +33 -0
  249. polyfile/magic_defs/bsi +10 -0
  250. polyfile/magic_defs/btsnoop +13 -0
  251. polyfile/magic_defs/burp +7 -0
  252. polyfile/magic_defs/bytecode +41 -0
  253. polyfile/magic_defs/c-lang +110 -0
  254. polyfile/magic_defs/c64 +531 -0
  255. polyfile/magic_defs/cad +437 -0
  256. polyfile/magic_defs/cafebabe +107 -0
  257. polyfile/magic_defs/cbor +21 -0
  258. polyfile/magic_defs/ccf +14 -0
  259. polyfile/magic_defs/cddb +12 -0
  260. polyfile/magic_defs/chord +15 -0
  261. polyfile/magic_defs/cisco +12 -0
  262. polyfile/magic_defs/citrus +12 -0
  263. polyfile/magic_defs/clarion +27 -0
  264. polyfile/magic_defs/claris +48 -0
  265. polyfile/magic_defs/clipper +65 -0
  266. polyfile/magic_defs/clojure +30 -0
  267. polyfile/magic_defs/coff +98 -0
  268. polyfile/magic_defs/commands +201 -0
  269. polyfile/magic_defs/communications +22 -0
  270. polyfile/magic_defs/compress +461 -0
  271. polyfile/magic_defs/console +1213 -0
  272. polyfile/magic_defs/convex +69 -0
  273. polyfile/magic_defs/coverage +91 -0
  274. polyfile/magic_defs/cracklib +14 -0
  275. polyfile/magic_defs/crypto +31 -0
  276. polyfile/magic_defs/csv +8 -0
  277. polyfile/magic_defs/ctags +6 -0
  278. polyfile/magic_defs/ctf +23 -0
  279. polyfile/magic_defs/cubemap +8 -0
  280. polyfile/magic_defs/cups +56 -0
  281. polyfile/magic_defs/dact +11 -0
  282. polyfile/magic_defs/database +886 -0
  283. polyfile/magic_defs/dataone +47 -0
  284. polyfile/magic_defs/dbpf +15 -0
  285. polyfile/magic_defs/der +146 -0
  286. polyfile/magic_defs/diamond +12 -0
  287. polyfile/magic_defs/dif +33 -0
  288. polyfile/magic_defs/diff +41 -0
  289. polyfile/magic_defs/digital +59 -0
  290. polyfile/magic_defs/dolby +69 -0
  291. polyfile/magic_defs/dsf +25 -0
  292. polyfile/magic_defs/dump +96 -0
  293. polyfile/magic_defs/dwarfs +45 -0
  294. polyfile/magic_defs/dyadic +61 -0
  295. polyfile/magic_defs/ebml +8 -0
  296. polyfile/magic_defs/edid +11 -0
  297. polyfile/magic_defs/editors +43 -0
  298. polyfile/magic_defs/efi +15 -0
  299. polyfile/magic_defs/elf +379 -0
  300. polyfile/magic_defs/encore +22 -0
  301. polyfile/magic_defs/epoc +62 -0
  302. polyfile/magic_defs/erlang +21 -0
  303. polyfile/magic_defs/espressif +57 -0
  304. polyfile/magic_defs/esri +28 -0
  305. polyfile/magic_defs/etf +33 -0
  306. polyfile/magic_defs/fcs +9 -0
  307. polyfile/magic_defs/filesystems +2694 -0
  308. polyfile/magic_defs/finger +16 -0
  309. polyfile/magic_defs/firmware +133 -0
  310. polyfile/magic_defs/flash +62 -0
  311. polyfile/magic_defs/flif +36 -0
  312. polyfile/magic_defs/fonts +449 -0
  313. polyfile/magic_defs/forth +82 -0
  314. polyfile/magic_defs/fortran +9 -0
  315. polyfile/magic_defs/frame +62 -0
  316. polyfile/magic_defs/freebsd +164 -0
  317. polyfile/magic_defs/fsav +128 -0
  318. polyfile/magic_defs/fusecompress +12 -0
  319. polyfile/magic_defs/games +696 -0
  320. polyfile/magic_defs/gcc +17 -0
  321. polyfile/magic_defs/gconv +10 -0
  322. polyfile/magic_defs/gentoo +85 -0
  323. polyfile/magic_defs/geo +166 -0
  324. polyfile/magic_defs/geos +20 -0
  325. polyfile/magic_defs/gimp +77 -0
  326. polyfile/magic_defs/git +13 -0
  327. polyfile/magic_defs/glibc +21 -0
  328. polyfile/magic_defs/gnome +59 -0
  329. polyfile/magic_defs/gnu +173 -0
  330. polyfile/magic_defs/gnumeric +8 -0
  331. polyfile/magic_defs/gpt +240 -0
  332. polyfile/magic_defs/gpu +28 -0
  333. polyfile/magic_defs/grace +21 -0
  334. polyfile/magic_defs/graphviz +12 -0
  335. polyfile/magic_defs/gringotts +48 -0
  336. polyfile/magic_defs/guile +13 -0
  337. polyfile/magic_defs/hardware +12 -0
  338. polyfile/magic_defs/hitachi-sh +30 -0
  339. polyfile/magic_defs/hp +433 -0
  340. polyfile/magic_defs/human68k +26 -0
  341. polyfile/magic_defs/ibm370 +52 -0
  342. polyfile/magic_defs/ibm6000 +35 -0
  343. polyfile/magic_defs/icc +214 -0
  344. polyfile/magic_defs/iff +80 -0
  345. polyfile/magic_defs/images +4210 -0
  346. polyfile/magic_defs/inform +9 -0
  347. polyfile/magic_defs/intel +310 -0
  348. polyfile/magic_defs/interleaf +9 -0
  349. polyfile/magic_defs/island +10 -0
  350. polyfile/magic_defs/ispell +63 -0
  351. polyfile/magic_defs/isz +15 -0
  352. polyfile/magic_defs/java +52 -0
  353. polyfile/magic_defs/javascript +171 -0
  354. polyfile/magic_defs/jpeg +252 -0
  355. polyfile/magic_defs/json +8 -0
  356. polyfile/magic_defs/karma +9 -0
  357. polyfile/magic_defs/kde +11 -0
  358. polyfile/magic_defs/keepass +20 -0
  359. polyfile/magic_defs/kerberos +45 -0
  360. polyfile/magic_defs/kicad +85 -0
  361. polyfile/magic_defs/kml +34 -0
  362. polyfile/magic_defs/lammps +64 -0
  363. polyfile/magic_defs/lecter +6 -0
  364. polyfile/magic_defs/lex +12 -0
  365. polyfile/magic_defs/lif +50 -0
  366. polyfile/magic_defs/linux +557 -0
  367. polyfile/magic_defs/lisp +78 -0
  368. polyfile/magic_defs/llvm +22 -0
  369. polyfile/magic_defs/locoscript +12 -0
  370. polyfile/magic_defs/lua +31 -0
  371. polyfile/magic_defs/luks +126 -0
  372. polyfile/magic_defs/m4 +11 -0
  373. polyfile/magic_defs/mach +303 -0
  374. polyfile/magic_defs/macintosh +505 -0
  375. polyfile/magic_defs/macos +7 -0
  376. polyfile/magic_defs/magic +10 -0
  377. polyfile/magic_defs/magic.mgc +0 -0
  378. polyfile/magic_defs/mail.news +132 -0
  379. polyfile/magic_defs/make +21 -0
  380. polyfile/magic_defs/map +413 -0
  381. polyfile/magic_defs/maple +109 -0
  382. polyfile/magic_defs/marc21 +30 -0
  383. polyfile/magic_defs/mathcad +8 -0
  384. polyfile/magic_defs/mathematica +188 -0
  385. polyfile/magic_defs/matroska +17 -0
  386. polyfile/magic_defs/mcrypt +52 -0
  387. polyfile/magic_defs/measure +44 -0
  388. polyfile/magic_defs/mercurial +13 -0
  389. polyfile/magic_defs/metastore +8 -0
  390. polyfile/magic_defs/meteorological +53 -0
  391. polyfile/magic_defs/microfocus +21 -0
  392. polyfile/magic_defs/mime +9 -0
  393. polyfile/magic_defs/mips +120 -0
  394. polyfile/magic_defs/mirage +8 -0
  395. polyfile/magic_defs/misctools +140 -0
  396. polyfile/magic_defs/mkid +11 -0
  397. polyfile/magic_defs/mlssa +8 -0
  398. polyfile/magic_defs/mmdf +6 -0
  399. polyfile/magic_defs/modem +92 -0
  400. polyfile/magic_defs/modulefile +9 -0
  401. polyfile/magic_defs/motorola +71 -0
  402. polyfile/magic_defs/mozilla +37 -0
  403. polyfile/magic_defs/msdos +2304 -0
  404. polyfile/magic_defs/msooxml +68 -0
  405. polyfile/magic_defs/msvc +222 -0
  406. polyfile/magic_defs/msx +309 -0
  407. polyfile/magic_defs/mup +24 -0
  408. polyfile/magic_defs/music +17 -0
  409. polyfile/magic_defs/nasa +7 -0
  410. polyfile/magic_defs/natinst +24 -0
  411. polyfile/magic_defs/ncr +49 -0
  412. polyfile/magic_defs/neko +12 -0
  413. polyfile/magic_defs/netbsd +251 -0
  414. polyfile/magic_defs/netscape +26 -0
  415. polyfile/magic_defs/netware +11 -0
  416. polyfile/magic_defs/news +13 -0
  417. polyfile/magic_defs/nifty +202 -0
  418. polyfile/magic_defs/nim-lang +29 -0
  419. polyfile/magic_defs/nitpicker +14 -0
  420. polyfile/magic_defs/numpy +9 -0
  421. polyfile/magic_defs/oasis +12 -0
  422. polyfile/magic_defs/ocaml +14 -0
  423. polyfile/magic_defs/octave +6 -0
  424. polyfile/magic_defs/ole2compounddocs +760 -0
  425. polyfile/magic_defs/olf +98 -0
  426. polyfile/magic_defs/openfst +17 -0
  427. polyfile/magic_defs/opentimestamps +16 -0
  428. polyfile/magic_defs/oric +16 -0
  429. polyfile/magic_defs/os2 +186 -0
  430. polyfile/magic_defs/os400 +39 -0
  431. polyfile/magic_defs/os9 +80 -0
  432. polyfile/magic_defs/osf1 +10 -0
  433. polyfile/magic_defs/palm +156 -0
  434. polyfile/magic_defs/parix +13 -0
  435. polyfile/magic_defs/parrot +22 -0
  436. polyfile/magic_defs/pascal +39 -0
  437. polyfile/magic_defs/pbf +11 -0
  438. polyfile/magic_defs/pbm +8 -0
  439. polyfile/magic_defs/pc88 +24 -0
  440. polyfile/magic_defs/pc98 +77 -0
  441. polyfile/magic_defs/pci_ids +116 -0
  442. polyfile/magic_defs/pcjr +8 -0
  443. polyfile/magic_defs/pdf +51 -0
  444. polyfile/magic_defs/pdp +42 -0
  445. polyfile/magic_defs/perl +100 -0
  446. polyfile/magic_defs/pgf +52 -0
  447. polyfile/magic_defs/pgp +581 -0
  448. polyfile/magic_defs/pgp-binary-keys +388 -0
  449. polyfile/magic_defs/pkgadd +7 -0
  450. polyfile/magic_defs/plan9 +25 -0
  451. polyfile/magic_defs/playdate +57 -0
  452. polyfile/magic_defs/plus5 +18 -0
  453. polyfile/magic_defs/pmem +46 -0
  454. polyfile/magic_defs/polyfile_zip +5 -0
  455. polyfile/magic_defs/polyml +23 -0
  456. polyfile/magic_defs/printer +269 -0
  457. polyfile/magic_defs/project +10 -0
  458. polyfile/magic_defs/psdbms +14 -0
  459. polyfile/magic_defs/psl +14 -0
  460. polyfile/magic_defs/pulsar +13 -0
  461. polyfile/magic_defs/puzzle +17 -0
  462. polyfile/magic_defs/pwsafe +14 -0
  463. polyfile/magic_defs/pyramid +12 -0
  464. polyfile/magic_defs/python +305 -0
  465. polyfile/magic_defs/qt +30 -0
  466. polyfile/magic_defs/revision +66 -0
  467. polyfile/magic_defs/riff +840 -0
  468. polyfile/magic_defs/rinex +44 -0
  469. polyfile/magic_defs/ringdove +45 -0
  470. polyfile/magic_defs/rpi +52 -0
  471. polyfile/magic_defs/rpm +45 -0
  472. polyfile/magic_defs/rpmsg +7 -0
  473. polyfile/magic_defs/rst +11 -0
  474. polyfile/magic_defs/rtf +94 -0
  475. polyfile/magic_defs/ruby +55 -0
  476. polyfile/magic_defs/rust +21 -0
  477. polyfile/magic_defs/sc +7 -0
  478. polyfile/magic_defs/sccs +24 -0
  479. polyfile/magic_defs/scientific +144 -0
  480. polyfile/magic_defs/securitycerts +6 -0
  481. polyfile/magic_defs/selinux +24 -0
  482. polyfile/magic_defs/sendmail +37 -0
  483. polyfile/magic_defs/sequent +42 -0
  484. polyfile/magic_defs/sereal +35 -0
  485. polyfile/magic_defs/sgi +144 -0
  486. polyfile/magic_defs/sgml +161 -0
  487. polyfile/magic_defs/sharc +23 -0
  488. polyfile/magic_defs/sinclair +40 -0
  489. polyfile/magic_defs/sisu +18 -0
  490. polyfile/magic_defs/sketch +6 -0
  491. polyfile/magic_defs/smalltalk +25 -0
  492. polyfile/magic_defs/smile +34 -0
  493. polyfile/magic_defs/sniffer +482 -0
  494. polyfile/magic_defs/softquad +40 -0
  495. polyfile/magic_defs/sosi +40 -0
  496. polyfile/magic_defs/spec +21 -0
  497. polyfile/magic_defs/spectrum +184 -0
  498. polyfile/magic_defs/sql +288 -0
  499. polyfile/magic_defs/ssh +39 -0
  500. polyfile/magic_defs/ssl +20 -0
  501. polyfile/magic_defs/statistics +45 -0
  502. polyfile/magic_defs/subtitle +38 -0
  503. polyfile/magic_defs/sun +141 -0
  504. polyfile/magic_defs/svf +5 -0
  505. polyfile/magic_defs/sylk +36 -0
  506. polyfile/magic_defs/symbos +42 -0
  507. polyfile/magic_defs/sysex +429 -0
  508. polyfile/magic_defs/tcl +29 -0
  509. polyfile/magic_defs/teapot +6 -0
  510. polyfile/magic_defs/terminfo +63 -0
  511. polyfile/magic_defs/tex +141 -0
  512. polyfile/magic_defs/tgif +7 -0
  513. polyfile/magic_defs/ti-8x +239 -0
  514. polyfile/magic_defs/timezone +42 -0
  515. polyfile/magic_defs/tplink +95 -0
  516. polyfile/magic_defs/troff +38 -0
  517. polyfile/magic_defs/tuxedo +8 -0
  518. polyfile/magic_defs/typeset +8 -0
  519. polyfile/magic_defs/uf2 +72 -0
  520. polyfile/magic_defs/unicode +15 -0
  521. polyfile/magic_defs/unisig +12 -0
  522. polyfile/magic_defs/unknown +34 -0
  523. polyfile/magic_defs/usd +21 -0
  524. polyfile/magic_defs/uterus +16 -0
  525. polyfile/magic_defs/uuencode +28 -0
  526. polyfile/magic_defs/vacuum-cleaner +54 -0
  527. polyfile/magic_defs/varied.out +46 -0
  528. polyfile/magic_defs/varied.script +21 -0
  529. polyfile/magic_defs/vax +32 -0
  530. polyfile/magic_defs/vicar +17 -0
  531. polyfile/magic_defs/virtual +307 -0
  532. polyfile/magic_defs/virtutech +12 -0
  533. polyfile/magic_defs/visx +32 -0
  534. polyfile/magic_defs/vms +30 -0
  535. polyfile/magic_defs/vmware +6 -0
  536. polyfile/magic_defs/vorbis +155 -0
  537. polyfile/magic_defs/vxl +14 -0
  538. polyfile/magic_defs/warc +16 -0
  539. polyfile/magic_defs/weak +16 -0
  540. polyfile/magic_defs/web +18 -0
  541. polyfile/magic_defs/webassembly +17 -0
  542. polyfile/magic_defs/windows +1811 -0
  543. polyfile/magic_defs/wireless +7 -0
  544. polyfile/magic_defs/wordprocessors +630 -0
  545. polyfile/magic_defs/wsdl +23 -0
  546. polyfile/magic_defs/x68000 +25 -0
  547. polyfile/magic_defs/xdelta +13 -0
  548. polyfile/magic_defs/xenix +106 -0
  549. polyfile/magic_defs/xilinx +58 -0
  550. polyfile/magic_defs/xo65 +37 -0
  551. polyfile/magic_defs/xwindows +43 -0
  552. polyfile/magic_defs/yara +17 -0
  553. polyfile/magic_defs/zfs +96 -0
  554. polyfile/magic_defs/zilog +12 -0
  555. polyfile/magic_defs/zip +126 -0
  556. polyfile/magic_defs/zyxel +17 -0
  557. polyfile/nes.py +144 -0
  558. polyfile/nitf.py +15 -0
  559. polyfile/pdf.py +1264 -0
  560. polyfile/pickles.py +45 -0
  561. polyfile/polyfile.py +409 -0
  562. polyfile/profiling.py +115 -0
  563. polyfile/repl.py +624 -0
  564. polyfile/search.py +310 -0
  565. polyfile/serialization.py +323 -0
  566. polyfile/structmatcher.py +46 -0
  567. polyfile/structs.py +281 -0
  568. polyfile/templates/download.js +162 -0
  569. polyfile/templates/hexdump.css +268 -0
  570. polyfile/templates/hexdump.js +756 -0
  571. polyfile/templates/jquery-3.4.1.min.js +2 -0
  572. polyfile/templates/template.html +119 -0
  573. polyfile/wildcards.py +62 -0
  574. polyfile/zipmatcher.py +183 -0
  575. polyfile_weave-0.5.5.dist-info/METADATA +173 -0
  576. polyfile_weave-0.5.5.dist-info/RECORD +585 -0
  577. polyfile_weave-0.5.5.dist-info/WHEEL +5 -0
  578. polyfile_weave-0.5.5.dist-info/entry_points.txt +2 -0
  579. polyfile_weave-0.5.5.dist-info/licenses/LICENSE +202 -0
  580. polyfile_weave-0.5.5.dist-info/top_level.txt +2 -0
  581. polymerge/__init__.py +1 -0
  582. polymerge/__main__.py +296 -0
  583. polymerge/cfg.py +127 -0
  584. polymerge/polymerge.py +227 -0
  585. polymerge/polytracker.py +190 -0
@@ -0,0 +1,188 @@
1
+
2
+ #------------------------------------------------------------------------------
3
+ # $File: mathematica,v 1.16 2023/03/11 18:12:41 christos Exp $
4
+ # mathematica: file(1) magic for mathematica files
5
+ # "H. Nanosecond" <aldomel@ix.netcom.com>
6
+ # Mathematica a multi-purpose math program
7
+ # versions 2.2 and 3.0
8
+
9
+ 0 name wolfram
10
+ >0 string x Mathematica notebook version 2.x
11
+ !:ext mb
12
+ !:mime application/vnd.wolfram.mathematica
13
+
14
+ #mathematica .mb
15
+ 0 string \064\024\012\000\035\000\000\000
16
+ >0 use wolfram
17
+ 0 string \064\024\011\000\035\000\000\000
18
+ >0 use wolfram
19
+
20
+ #
21
+ 0 search/1000 Content-type:\040application/mathematica Mathematica notebook version 2.x
22
+ !:ext nb
23
+ !:mime application/mathematica
24
+
25
+
26
+ # .ma
27
+ # multiple possibilities:
28
+
29
+ 0 string (*^\n\n::[\011frontEndVersion\ =
30
+ #>41 string >\0 %s
31
+ >0 use wolfram
32
+
33
+ #0 string (*^\n\n::[\011palette
34
+
35
+ #0 string (*^\n\n::[\011Information
36
+ #>675 string >\0 %s #doesn't work well
37
+
38
+ # there may be 'cr' instead of 'nl' in some does this matter?
39
+
40
+ # generic:
41
+ 0 string (*^\r\r::[\011
42
+ >0 use wolfram
43
+ 0 string (*^\r\n\r\n::[\011
44
+ >0 use wolfram
45
+ 0 string (*^\015
46
+ >0 use wolfram
47
+ 0 string (*^\n\r\n\r::[\011
48
+ >0 use wolfram
49
+ 0 string (*^\r::[\011
50
+ >0 use wolfram
51
+ 0 string (*^\r\n::[\011
52
+ >0 use wolfram
53
+ 0 string (*^\n\n::[\011
54
+ >0 use wolfram
55
+ 0 string (*^\n::[\011
56
+ >0 use wolfram
57
+
58
+
59
+ # Mathematica .mx files
60
+
61
+ #0 string (*This\ is\ a\ Mathematica\ binary\ dump\ file.\ It\ can\ be\ loaded\ with\ Get.*) Mathematica binary file
62
+ 0 string (*This\ is\ a\ Mathematica\ binary\ Mathematica binary file
63
+ #>71 string \000\010\010\010\010\000\000\000\000\000\000\010\100\010\000\000\000
64
+ # >71... is optional
65
+ >88 string >\0 from %s
66
+
67
+
68
+ # Mathematica files PBF:
69
+ # 115 115 101 120 102 106 000 001 000 000 000 203 000 001 000
70
+ 0 string MMAPBF\000\001\000\000\000\203\000\001\000 Mathematica PBF (fonts I think)
71
+
72
+ # .ml files These are menu resources I think
73
+ # these start with "[0-9][0-9][0-9]\ A~[0-9][0-9][0-9]\
74
+ # how to put that into a magic rule?
75
+ 4 string \ A~ MAthematica .ml file
76
+
77
+ # .nb files
78
+ #too long 0 string (***********************************************************************\n\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Mathematica-Compatible Notebook Mathematica 3.0 notebook
79
+ 0 string (*********************** Mathematica 3.0 notebook
80
+
81
+ # other (* matches it is a comment start in these langs
82
+ # GRR: Too weak; also matches other languages e.g. ML
83
+ #0 string (* Mathematica, or Pascal, Modula-2 or 3 code text
84
+
85
+ #########################
86
+ # MatLab v5
87
+ # URL: http://fileformats.archiveteam.org/wiki/MAT
88
+ # Reference: https://www.mathworks.com/help/pdf_doc/matlab/matfile_format.pdf
89
+ # first 116 bytes of header contain text in human-readable form
90
+ 0 string MATLAB Matlab v
91
+ #>11 string/T x \b, at 11 "%.105s"
92
+ #!:mime application/octet-stream
93
+ !:mime application/x-matlab-data
94
+ !:ext mat
95
+ # https://de.mathworks.com/help/matlab/import_export/mat-file-versions.html
96
+ # level of the MAT-file like: 5.0 7.0 or maybe 7.3
97
+ #>7 string x LEVEL "%.3s"
98
+ >7 ubyte =0x35 \b5 mat-file
99
+ >7 ubyte !0x35
100
+ >>7 string x \b%.3s mat-file
101
+ >126 short 0x494d (big endian)
102
+ >>124 beshort x version %#04x
103
+ >126 short 0x4d49 (little endian)
104
+ # 0x0100 for level 5.0 and 0x0200 for level 7.0
105
+ >>124 leshort x version %#04x
106
+ # test again so that default clause works
107
+ >126 short x
108
+ # created by MATLAB include Platform sometimes without leading comma (0x2C) or missing
109
+ # like: GLNX86 PCWIN PCWIN64 SOL2 Windows\0407 nt posix
110
+ >>20 search/2 Platform:\040 \b, platform
111
+ >>>&0 string x %-0.2s
112
+ >>>&2 ubyte !0x2C \b%c
113
+ >>>>&0 ubyte !0x2C \b%c
114
+ >>>>>&0 ubyte !0x2C \b%c
115
+ >>>>>>&0 ubyte !0x2C \b%c
116
+ >>>>>>>&0 ubyte !0x2C \b%c
117
+ >>>>>>>>&0 ubyte !0x2C \b%c
118
+ >>>>>>>>>&0 ubyte !0x2C \b%c
119
+ # examples without Platform tag like one_by_zero_char.mat
120
+ >>20 default x
121
+ >>>11 string x "%s"
122
+ # created by MATLAB include time like: Fri Feb 20 15:26:59 2009
123
+ >34 search/9/c created\040on:\040 \b, created
124
+ >>&0 string x %-.24s
125
+ # MatLab v4
126
+ # From: Joerg Jenderek
127
+ # check for valid imaginary flag of Matlab matrix version 4
128
+ 13 ushort 0
129
+ # check for valid ASCII matrix name
130
+ >20 ubyte >0x1F
131
+ # skip PreviousEntries.dat with "invalid high" name \304P\344@\001
132
+ >>20 ubyte <0304
133
+ # skip some Netwfw*.dat and $I3KREPH.dat by checking for non zero number of rows
134
+ >>>4 ulong !0
135
+ # skip some CD-ROM filesystem like test-hfs.iso by looking for valid big endian type flag
136
+ >>>>0 ubelong&0xFFffFF00 0x00000300
137
+ >>>>>0 use matlab4
138
+ # no example for 8-bit and 16-bit integers matrix
139
+ >>>>0 ubelong&0xFFffFF00 0x00000400
140
+ >>>>>0 use matlab4
141
+ # branch for Little-Endian variant of Matlab MATrix version 4
142
+ # skip big endian variant by looking for valid low lttle endian type flag
143
+ >>>>0 ulelong <53
144
+ # skip tokens.dat and some Netwfw*.dat by check for valid imaginary flag value of MAT version 4
145
+ >>>>>12 ulelong <2
146
+ # no misidentified little endian MATrix example with "short" matrix name
147
+ >>>>>>16 ulelong <3
148
+ >>>>>>>0 use \^matlab4
149
+ # little endian MATrix with "long" matrix name or some misidentified samples
150
+ >>>>>>16 ulelong >2
151
+ # skip TileCacheLogo-*.dat with invalid 2nd character \001 of matrix name with length 96
152
+ >>>>>>>21 ubyte >0x1F
153
+ >>>>>>>>0 use \^matlab4
154
+ # display information of Matlab v4 mat-file
155
+ 0 name matlab4 Matlab v4 mat-file
156
+ #!:mime application/octet-stream
157
+ !:mime application/x-matlab-data
158
+ !:ext mat
159
+ # 20-byte header with 5 long integers that contains information describing certain attributes of the Matrix
160
+ # type flag decimal MOPT; maximal 4052=FD4h; maximal 52=34h for little endian
161
+ #>0 ubelong x \b, type flag %u
162
+ #>0 ubelong x (%#x)
163
+ # M: 0~little endian 1~Big Endian 2~VAX D-float 3~VAX G-float 4~Cray
164
+ #>0 ubelong/1000 x \b, M=%u
165
+ >0 ubelong/1000 0 (little endian)
166
+ >0 ubelong/1000 1 (big endian)
167
+ >0 ubelong/1000 2 (VAX D-float)
168
+ >0 ubelong/1000 3 (VAX G-float)
169
+ >0 ubelong/1000 4 (Cray)
170
+ # namlen; the length of the matrix name
171
+ #>16 ubelong x \b, name length %u
172
+ #>(16.L+19) ubyte x \b, TERMINATING NAME CHARACTER=%#x
173
+ # nul terminated matrix name like: fit_params testmatrix testsparsecomplex teststringarray
174
+ #>20 string x \b, MATRIX NAME="%s"
175
+ #>21 ubyte x \b, MAYBE 2ND CHAR=%c
176
+ >16 pstring/L x %s
177
+ # T indicates the matrix type: 0~numeric 1~text 2~sparse
178
+ #>0 ubelong%10 x \b, T=%u
179
+ >0 ubelong%10 0 \b, numeric
180
+ >0 ubelong%10 1 \b, text
181
+ >0 ubelong%10 2 \b, sparse
182
+ # mrows; number of rows in the matrix like: 1 3 8
183
+ >4 ubelong x \b, rows %u
184
+ # ncols; number of columns in the matrix like: 1 3 4 5 9 43
185
+ >8 ubelong x \b, columns %u
186
+ # imagf; imaginary flag; 1~matrix has an imaginary part 0~only real data
187
+ >12 ubelong !0 \b, imaginary (%u)
188
+ # real; Real part of the matrix consists of mrows * ncols numbers
@@ -0,0 +1,17 @@
1
+
2
+ #------------------------------------------------------------------------------
3
+ # $File: matroska,v 1.9 2019/04/19 00:42:27 christos Exp $
4
+ # matroska: file(1) magic for Matroska files
5
+ #
6
+ # See https://www.matroska.org/
7
+ #
8
+
9
+ # EBML id:
10
+ 0 belong 0x1a45dfa3
11
+ # DocType id:
12
+ >4 search/4096 \x42\x82
13
+ # DocType contents:
14
+ >>&1 string webm WebM
15
+ !:mime video/webm
16
+ >>&1 string matroska Matroska data
17
+ !:mime video/x-matroska
@@ -0,0 +1,52 @@
1
+
2
+ #------------------------------------------------------------------------------
3
+ # $File: mcrypt,v 1.6 2022/02/08 18:51:45 christos Exp $
4
+ # Mavroyanopoulos Nikos <nmav@hellug.gr>
5
+ # mcrypt: file(1) magic for mcrypt 2.2.x;
6
+ # URL: https://en.wikipedia.org/wiki/Mcrypt
7
+ # http://fileformats.archiveteam.org/wiki/MCrypt
8
+ # Reference: http://mark0.net/download/triddefs_xml.7z/defs/n/nc-mcrypt.trid.xml
9
+ # Update: Joerg Jenderek
10
+ # Note: called by TrID "mcrypt encrypted (v2.5)"
11
+ 0 string \0m\3 mcrypt 2.5 encrypted data,
12
+ #!:mime application/octet-stream
13
+ !:mime application/x-crypt-nc
14
+ !:ext nc
15
+ >4 string >\0 algorithm: %s,
16
+ >>&1 leshort >0 keysize: %d bytes,
17
+ >>>&0 string >\0 mode: %s,
18
+
19
+ # Reference: http://mark0.net/download/triddefs_xml.7z/defs/n/nc-mcrypt-22.trid.xml
20
+ # Note: called by TrID "mcrypt encrypted (v2.2)"
21
+ 0 string \0m\2 mcrypt 2.2 encrypted data,
22
+ #!:mime application/octet-stream
23
+ !:mime application/x-crypt-nc
24
+ # no example
25
+ !:ext nc
26
+ >3 byte 0 algorithm: blowfish-448,
27
+ >3 byte 1 algorithm: DES,
28
+ >3 byte 2 algorithm: 3DES,
29
+ >3 byte 3 algorithm: 3-WAY,
30
+ >3 byte 4 algorithm: GOST,
31
+ >3 byte 6 algorithm: SAFER-SK64,
32
+ >3 byte 7 algorithm: SAFER-SK128,
33
+ >3 byte 8 algorithm: CAST-128,
34
+ >3 byte 9 algorithm: xTEA,
35
+ >3 byte 10 algorithm: TWOFISH-128,
36
+ >3 byte 11 algorithm: RC2,
37
+ >3 byte 12 algorithm: TWOFISH-192,
38
+ >3 byte 13 algorithm: TWOFISH-256,
39
+ >3 byte 14 algorithm: blowfish-128,
40
+ >3 byte 15 algorithm: blowfish-192,
41
+ >3 byte 16 algorithm: blowfish-256,
42
+ >3 byte 100 algorithm: RC6,
43
+ >3 byte 101 algorithm: IDEA,
44
+ >4 byte 0 mode: CBC,
45
+ >4 byte 1 mode: ECB,
46
+ >4 byte 2 mode: CFB,
47
+ >4 byte 3 mode: OFB,
48
+ >4 byte 4 mode: nOFB,
49
+ >5 byte 0 keymode: 8bit
50
+ >5 byte 1 keymode: 4bit
51
+ >5 byte 2 keymode: SHA-1 hash
52
+ >5 byte 3 keymode: MD5 hash
@@ -0,0 +1,44 @@
1
+
2
+ #------------------------------------------------------------------------------
3
+ # $File: measure,v 1.3 2021/03/25 17:30:10 christos Exp $
4
+ # measure: file(1) magic for measurement data
5
+
6
+ # DIY-Thermocam raw data
7
+ 0 name diy-thermocam-parser
8
+ >0 beshort x scale %d-
9
+ >2 beshort x \b%d,
10
+ >4 lefloat x spot sensor temperature %f,
11
+ >9 ubyte 0 unit celsius,
12
+ >9 ubyte 1 unit fahrenheit,
13
+ >8 ubyte x color scheme %d
14
+ >10 ubyte 1 \b, show spot sensor
15
+ >11 ubyte 1 \b, show scale bar
16
+ >12 ubyte &1 \b, minimum point enabled
17
+ >12 ubyte &2 \b, maximum point enabled
18
+ >13 lefloat x \b, calibration: offset %f,
19
+ >17 lefloat x slope %f
20
+
21
+ 0 name diy-thermocam-checker
22
+ >9 ubyte <2
23
+ >>10 ubyte <2
24
+ >>>11 ubyte <2
25
+ >>>>12 ubyte <4
26
+ >>>>>17 lefloat >0.0001 DIY-Thermocam raw data
27
+
28
+ # V2 and Leption 3.x:
29
+ 38408 ubyte <19
30
+ >38400 use diy-thermocam-checker
31
+ >>38400 default x (Lepton 3.x),
32
+ >>>38400 use diy-thermocam-parser
33
+
34
+ # V1 or Lepton 2.x
35
+ 9608 ubyte <19
36
+ >9600 use diy-thermocam-checker
37
+ >>9600 default x (Lepton 2.x),
38
+ >>>9600 use diy-thermocam-parser
39
+
40
+ # Becker & Hickl Photon Counting (PMS) data file
41
+ # format documentation: https://www.becker-hickl.com/wp-content/uploads/2018/11/opm-pms400-v01.pdf (page 57)
42
+ (0x02.l) string *IDENTIFICATION Becker & Hickl PMS Data File
43
+ >0x12 short x (%d data blocks)
44
+ !:ext sdt
@@ -0,0 +1,13 @@
1
+
2
+ #------------------------------------------------------------------------------
3
+ # $File: mercurial,v 1.5 2019/04/19 00:42:27 christos Exp $
4
+ # mercurial: file(1) magic for Mercurial changeset bundles
5
+ # https://www.selenic.com/mercurial/wiki/
6
+ #
7
+ # Jesse Glick (jesse.glick@sun.com)
8
+ #
9
+
10
+ 0 string HG10 Mercurial changeset bundle
11
+ >4 string UN (uncompressed)
12
+ >4 string GZ (gzip compressed)
13
+ >4 string BZ (bzip2 compressed)
@@ -0,0 +1,8 @@
1
+
2
+ #------------------------------------------------------------------------------
3
+ # $File: metastore,v 1.3 2019/04/19 00:42:27 christos Exp $
4
+ # metastore: file(1) magic for metastore files
5
+ # From: Thomas Wissen
6
+ # see https://david.hardeman.nu/software.php#metastore
7
+ 0 string MeTaSt00r3 Metastore data file,
8
+ >10 bequad x version %0llx
@@ -0,0 +1,53 @@
1
+
2
+ #------------------------------------------------------------------------------
3
+ # $File: meteorological,v 1.4 2022/12/09 18:02:09 christos Exp $
4
+ # rinex: file(1) magic for RINEX files
5
+ # http://igscb.jpl.nasa.gov/igscb/data/format/rinex210.txt
6
+ # ftp://cddis.gsfc.nasa.gov/pub/reports/formats/rinex300.pdf
7
+ # data for testing: ftp://cddis.gsfc.nasa.gov/pub/gps/data
8
+ 60 string RINEX
9
+ >80 search/256 XXRINEXB RINEX Data, GEO SBAS Broadcast
10
+ >>&32 string x \b, date %15.15s
11
+ >>5 string x \b, version %6.6s
12
+ !:mime rinex/broadcast
13
+ >80 search/256 XXRINEXD RINEX Data, Observation (Hatanaka comp)
14
+ >>&32 string x \b, date %15.15s
15
+ >>5 string x \b, version %6.6s
16
+ !:mime rinex/observation
17
+ >80 search/256 XXRINEXC RINEX Data, Clock
18
+ >>&32 string x \b, date %15.15s
19
+ >>5 string x \b, version %6.6s
20
+ !:mime rinex/clock
21
+ >80 search/256 XXRINEXH RINEX Data, GEO SBAS Navigation
22
+ >>&32 string x \b, date %15.15s
23
+ >>5 string x \b, version %6.6s
24
+ !:mime rinex/navigation
25
+ >80 search/256 XXRINEXG RINEX Data, GLONASS Navigation
26
+ >>&32 string x \b, date %15.15s
27
+ >>5 string x \b, version %6.6s
28
+ !:mime rinex/navigation
29
+ >80 search/256 XXRINEXL RINEX Data, Galileo Navigation
30
+ >>&32 string x \b, date %15.15s
31
+ >>5 string x \b, version %6.6s
32
+ !:mime rinex/navigation
33
+ >80 search/256 XXRINEXM RINEX Data, Meteorological
34
+ >>&32 string x \b, date %15.15s
35
+ >>5 string x \b, version %6.6s
36
+ !:mime rinex/meteorological
37
+ >80 search/256 XXRINEXN RINEX Data, Navigation
38
+ >>&32 string x \b, date %15.15s
39
+ >>5 string x \b, version %6.6s
40
+ !:mime rinex/navigation
41
+ >80 search/256 XXRINEXO RINEX Data, Observation
42
+ >>&32 string x \b, date %15.15s
43
+ >>5 string x \b, version %6.6s
44
+ !:mime rinex/observation
45
+
46
+ # https://en.wikipedia.org/wiki/GRIB
47
+ 0 string GRIB
48
+ >7 byte =1 Gridded binary (GRIB) version 1
49
+ !:mime application/x-grib
50
+ !:ext grb/grib
51
+ >7 byte =2 Gridded binary (GRIB) version 2
52
+ !:mime application/x-grib2
53
+ !:ext grb2/grib2
@@ -0,0 +1,21 @@
1
+
2
+ #------------------------------------------------------------------------------
3
+ # $File: microfocus,v 1.3 2019/04/19 00:42:27 christos Exp $
4
+ # Micro Focus COBOL data files.
5
+
6
+ # https://documentation.microfocus.com/help/index.jsp?topic=\
7
+ # %2FGUID-0E0191D8-C39A-44D1-BA4C-D67107BAF784%2FHRFLRHFILE05.html
8
+ # http://www.cobolproducts.com/datafile/data-viewer.html
9
+ # https://github.com/miracle2k/mfcobol-export
10
+
11
+ 0 string \x30\x00\x00\x7C
12
+ >36 string \x00\x3E Micro Focus File with Header (DAT)
13
+ !:mime application/octet-stream
14
+
15
+ 0 string \x30\x7E\x00\x00
16
+ >36 string \x00\x3E Micro Focus File with Header (DAT)
17
+ !:mime application/octet-stream
18
+
19
+ 39 string \x02
20
+ >136 string \x02\x02\x04\x04 Micro Focus Index File (IDX)
21
+ !:mime application/octet-stream
@@ -0,0 +1,9 @@
1
+
2
+ #------------------------------------------------------------------------------
3
+ # $File: mime,v 1.8 2017/03/17 22:20:22 christos Exp $
4
+ # mime: file(1) magic for MIME encoded files
5
+ #
6
+ 0 string/t Content-Type:\040
7
+ >14 string >\0 %s
8
+ 0 string/t Content-Type:
9
+ >13 string >\0 %s
@@ -0,0 +1,120 @@
1
+
2
+ #------------------------------------------------------------------------------
3
+ # $File: mips,v 1.10 2014/04/30 21:41:02 christos Exp $
4
+ # mips: file(1) magic for MIPS ECOFF and Ucode, as used in SGI IRIX
5
+ # and DEC Ultrix
6
+ #
7
+ 0 beshort 0x0160 MIPSEB ECOFF executable
8
+ >20 beshort 0407 (impure)
9
+ >20 beshort 0410 (swapped)
10
+ >20 beshort 0413 (paged)
11
+ >8 belong >0 not stripped
12
+ >8 belong 0 stripped
13
+ >22 byte x - version %d
14
+ >23 byte x \b.%d
15
+ #
16
+ 0 beshort 0x0162 MIPSEL-BE ECOFF executable
17
+ >20 beshort 0407 (impure)
18
+ >20 beshort 0410 (swapped)
19
+ >20 beshort 0413 (paged)
20
+ >8 belong >0 not stripped
21
+ >8 belong 0 stripped
22
+ >23 byte x - version %d
23
+ >22 byte x \b.%d
24
+ #
25
+ 0 beshort 0x6001 MIPSEB-LE ECOFF executable
26
+ >20 beshort 03401 (impure)
27
+ >20 beshort 04001 (swapped)
28
+ >20 beshort 05401 (paged)
29
+ >8 belong >0 not stripped
30
+ >8 belong 0 stripped
31
+ >23 byte x - version %d
32
+ >22 byte x \b.%d
33
+ #
34
+ 0 beshort 0x6201 MIPSEL ECOFF executable
35
+ >20 beshort 03401 (impure)
36
+ >20 beshort 04001 (swapped)
37
+ >20 beshort 05401 (paged)
38
+ >8 belong >0 not stripped
39
+ >8 belong 0 stripped
40
+ >23 byte x - version %d
41
+ >22 byte x \b.%d
42
+ #
43
+ # MIPS 2 additions
44
+ #
45
+ 0 beshort 0x0163 MIPSEB MIPS-II ECOFF executable
46
+ >20 beshort 0407 (impure)
47
+ >20 beshort 0410 (swapped)
48
+ >20 beshort 0413 (paged)
49
+ >8 belong >0 not stripped
50
+ >8 belong 0 stripped
51
+ >22 byte x - version %d
52
+ >23 byte x \b.%d
53
+ #
54
+ 0 beshort 0x0166 MIPSEL-BE MIPS-II ECOFF executable
55
+ >20 beshort 0407 (impure)
56
+ >20 beshort 0410 (swapped)
57
+ >20 beshort 0413 (paged)
58
+ >8 belong >0 not stripped
59
+ >8 belong 0 stripped
60
+ >22 byte x - version %d
61
+ >23 byte x \b.%d
62
+ #
63
+ 0 beshort 0x6301 MIPSEB-LE MIPS-II ECOFF executable
64
+ >20 beshort 03401 (impure)
65
+ >20 beshort 04001 (swapped)
66
+ >20 beshort 05401 (paged)
67
+ >8 belong >0 not stripped
68
+ >8 belong 0 stripped
69
+ >23 byte x - version %d
70
+ >22 byte x \b.%d
71
+ #
72
+ 0 beshort 0x6601 MIPSEL MIPS-II ECOFF executable
73
+ >20 beshort 03401 (impure)
74
+ >20 beshort 04001 (swapped)
75
+ >20 beshort 05401 (paged)
76
+ >8 belong >0 not stripped
77
+ >8 belong 0 stripped
78
+ >23 byte x - version %d
79
+ >22 byte x \b.%d
80
+ #
81
+ # MIPS 3 additions
82
+ #
83
+ 0 beshort 0x0140 MIPSEB MIPS-III ECOFF executable
84
+ >20 beshort 0407 (impure)
85
+ >20 beshort 0410 (swapped)
86
+ >20 beshort 0413 (paged)
87
+ >8 belong >0 not stripped
88
+ >8 belong 0 stripped
89
+ >22 byte x - version %d
90
+ >23 byte x \b.%d
91
+ #
92
+ 0 beshort 0x0142 MIPSEL-BE MIPS-III ECOFF executable
93
+ >20 beshort 0407 (impure)
94
+ >20 beshort 0410 (swapped)
95
+ >20 beshort 0413 (paged)
96
+ >8 belong >0 not stripped
97
+ >8 belong 0 stripped
98
+ >22 byte x - version %d
99
+ >23 byte x \b.%d
100
+ #
101
+ 0 beshort 0x4001 MIPSEB-LE MIPS-III ECOFF executable
102
+ >20 beshort 03401 (impure)
103
+ >20 beshort 04001 (swapped)
104
+ >20 beshort 05401 (paged)
105
+ >8 belong >0 not stripped
106
+ >8 belong 0 stripped
107
+ >23 byte x - version %d
108
+ >22 byte x \b.%d
109
+ #
110
+ 0 beshort 0x4201 MIPSEL MIPS-III ECOFF executable
111
+ >20 beshort 03401 (impure)
112
+ >20 beshort 04001 (swapped)
113
+ >20 beshort 05401 (paged)
114
+ >8 belong >0 not stripped
115
+ >8 belong 0 stripped
116
+ >23 byte x - version %d
117
+ >22 byte x \b.%d
118
+ #
119
+ 0 beshort 0x180 MIPSEB Ucode
120
+ 0 beshort 0x182 MIPSEL-BE Ucode
@@ -0,0 +1,8 @@
1
+
2
+ #------------------------------------------------------------------------------
3
+ # $File: mirage,v 1.7 2009/09/19 16:28:10 christos Exp $
4
+ # mirage: file(1) magic for Mirage executables
5
+ #
6
+ # XXX - byte order?
7
+ #
8
+ 0 long 31415 Mirage Assembler m.out executable
@@ -0,0 +1,140 @@
1
+
2
+ #-----------------------------------------------------------------------------
3
+ # $File: misctools,v 1.21 2023/02/03 20:43:48 christos Exp $
4
+ # misctools: file(1) magic for miscellaneous UNIX tools.
5
+ #
6
+ 0 search/1 %%!! X-Post-It-Note text
7
+ # URL: http://fileformats.archiveteam.org/wiki/ICalendar
8
+ # https://en.wikipedia.org/wiki/ICalendar
9
+ # Update: Joerg Jenderek
10
+ # Reference: https://www.rfc-editor.org/rfc/rfc5545
11
+ # http://mark0.net/download/triddefs_xml.7z/defs/v/vcs.trid.xml
12
+ # Note: called "iCalendar - vCalendar" by TrID
13
+ 0 string/c BEGIN:vcalendar
14
+ # skip DROID fmt-387-signature-id-572.vcs fmt-388-signature-id-573.ics
15
+ # with invalid separator 0x0 or 0xAB instead of CarriageReturn (0x0D) or LineFeed (0x0A)
16
+ >15 ubyte&0xF8 =0x08
17
+ # look for VERSION keyword often on second line but sometimes later as in holidays_NRW_2014.ics
18
+ >>0 search/188 VERSION
19
+ # after VERSION keword :1.0 or often :2.0 but sometimes also ;VALUE=TEXT:2.0 like in Jewish religious Juish.ics
20
+ # http://www.webcal.guru/de-DE/kalender_herunterladen?calendar_instance_id=217
21
+ # \n\040:2.0 like in import-real-world-2004-11-19.ics found at
22
+ # https://ftp.gnu.org/gnu/emacs/emacs-28.1.tar.xz
23
+ # emacs-28.1/test/lisp/calendar/icalendar-resources/import-real-world-2004-11-19.ics
24
+ #>>>&0 string x AFTER_VERSION=%.15s
25
+ # Note: called "Internet Calendar and Scheduling format" by DROID via PUID fmt/388
26
+ # skip optional verparam=;other-param like ;VALUE=TEXT and look for version 2.0 that implies iCalendar variant
27
+ >>>&0 search/81 :2.0 iCalendar calendar
28
+ # look for Free/Busy component
29
+ >>>>15 search/278 :VFREEBUSY file, with Free/Busy component
30
+ !:mime text/calendar
31
+ !:apple ????iFBf
32
+ # no real examples found but only example on Wikipedia page
33
+ !:ext ifb
34
+ # iCalendar calendar without Free/Busy component
35
+ >>>>15 default x
36
+ # look for ALARM component
37
+ >>>>>15 search/154 :VALARM file, with ALARM component
38
+ !:mime text/calendar
39
+ !:apple ????iCal
40
+ # found on macOS beneath /Users/$USER/Library/Calendars/ as EventAllDayAlarms.icsalarm or EventTimedAlarms.icsalarm
41
+ # no isc examples found
42
+ !:ext icsalarm/ics
43
+ # iCalendar calendar without Free/Busy component and ALARM component
44
+ >>>>>15 default x file
45
+ !:mime text/calendar
46
+ !:apple ????iCal
47
+ # no examples found with .ical .icalender suffix
48
+ !:ext ics
49
+ # if no VERSION 2.0 is found then assume it is VERSION 1.0, that is older vCalendar
50
+ # URL: http://fileformats.archiveteam.org/wiki/VCalendar
51
+ # Note: called "VCalendar format" by DROID via fmt/387
52
+ >>>&0 default x vCalendar calendar file
53
+ # deprecated
54
+ !:mime text/x-vcalendar
55
+ !:ext vcs
56
+ # GRR: without VERSION keyword violates specification but accepted by Thunderbird like
57
+ # https://ftp.gnu.org/gnu/emacs/emacs-28.1.tar.xz
58
+ # emacs-28.1/test/lisp/calendar/icalendar-resources/import-with-timezone.ics
59
+ >>0 default x vCalendar calendar file, without VERSION
60
+ !:mime text/x-vcalendar
61
+ #!:mime text/calendar
62
+ # no vcs example found
63
+ !:ext ics/vcs
64
+ # GRR: According to newest specification CarriageReturn (0xD) and LineFeed (0xA) should be used as separator but others accepted by Thunderbird
65
+ # like CRLF,LF in Sport Today.vcs created by calendar plugin of TV-Browser https://enwiki.tvbrowser.org/index.php/Calendar_Export
66
+ # or LF like https://www.schulferien.org/media/ical/deutschland/ferien_nordrhein-westfalen_2023.ics?k=foo
67
+ >>15 ubeshort !0x0D0A \b, without CRLF
68
+
69
+ # updated by Joerg Jenderek at Apr 2015, May 2021
70
+ # https://en.wikipedia.org/wiki/VCard
71
+ # URL: http://fileformats.archiveteam.org/wiki/VCard
72
+ # https://datatracker.ietf.org/doc/html/rfc6350
73
+ # the value is case-insensitive
74
+ 0 string/c begin:vcard
75
+ # skip DROID fmt-395-signature-id-634.vcf
76
+ >13 string !VERSION:END vCard visiting card
77
+ # deprecated
78
+ #!:mime text/x-vcard
79
+ !:mime text/vcard
80
+ !:apple ????vCrd
81
+ !:ext vcf/vcard
82
+ # VERSION must come right after BEGIN for 3.0 or 4.0 except in 2.1 , where it can be anywhere
83
+ # Joerg_Jenderek_67.vcf
84
+ >>12 search/0x113b4/c version:
85
+ # VERSION 2.1 , 3.0 or 4.0
86
+ >>>&0 string x \b, version %-.3s
87
+ >>>&0 string !2.1
88
+ >>>>13 string !VERSION: \b, 2nd line does not start with VERSION:
89
+ # downcase violates RFC 6350, but some "bad" software produce such vcards
90
+ >>0 string !BEGIN \b, not up case
91
+ # http://ftp.mozilla.org/pub/thunderbird/candidates/
92
+ # 78.10.1-candidates/build1/source/thunderbird-78.10.1.source.tar.xz
93
+ # thunderbird-78.10.1/comm/mailnews/import/test/unit/resources/basic_vcard_addressbook.vcf
94
+ >>11 beshort !0x0D0A \b, lines not separated by CRLF
95
+
96
+ # Summary: Libtool library file
97
+ # Extension: .la
98
+ # Submitted by: Tomasz Trojanowski <tomek@uninet.com.pl>
99
+ 0 search/80 .la\ -\ a\ libtool\ library\ file libtool library file
100
+
101
+ # Summary: Libtool object file
102
+ # Extension: .lo
103
+ # Submitted by: Abel Cheung <abelcheung@gmail.com>
104
+ 0 search/80 .lo\ -\ a\ libtool\ object\ file libtool object file
105
+
106
+ # From: Daniel Novotny <dnovotny@redhat.com>
107
+ # Update: Joerg Jenderek
108
+ # URL: https://en.wikipedia.org/wiki/Core_dump#User-mode_memory_dumps
109
+ # Reference: https://msdn.microsoft.com/en-us/library/ms680378%28VS.85%29.aspx
110
+ #
111
+ # "Windows Minidump" by TrID
112
+ # ./misctools (version 5.25) labeled the entry as "MDMP crash report data"
113
+ 0 string MDMP Mini DuMP crash report
114
+ # https://filext.com/file-extension/DMP
115
+ !:mime application/x-dmp
116
+ !:ext dmp/mdmp
117
+ # The high-order word is an internal value that is implementation specific.
118
+ # The low-order word is MINIDUMP_VERSION 0xA793
119
+ >4 ulelong&0x0000FFFF !0xA793 \b, version %#4.4x
120
+ # NumberOfStreams 8,9,10,13
121
+ >8 ulelong x \b, %d streams
122
+ # StreamDirectoryRva 0x20
123
+ >12 ulelong !0x20 \b, %#8.8x RVA
124
+ # CheckSum 0
125
+ >16 ulelong !0 \b, CheckSum %#8.8x
126
+ # Reserved or TimeDateStamp
127
+ >20 ledate x \b, %s
128
+ # https://msdn.microsoft.com/en-us/library/windows/desktop/ms680519%28v=vs.85%29.aspx
129
+ # Flags MINIDUMP_TYPE enumeration type 0 0x121 0x800
130
+ >24 ulelong x \b, %#x type
131
+ # >24 ulelong >0 \b; include
132
+ # >>24 ulelong &0x00000001 \b data sections,
133
+ # >>24 ulelong &0x00000020 \b list of unloaded modules,
134
+ # >>24 ulelong &0x00000100 \b process and thread information,
135
+ # >>24 ulelong &0x00000800 \b memory information,
136
+
137
+ # Summary: abook addressbook file
138
+ # Submitted by: Mark Schreiber <mark7@alumni.cmu.edu>
139
+ 0 string #\x20abook\x20addressbook\x20file abook address book
140
+ !:mime application/x-abook-addressbook