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,184 @@
1
+
2
+ #------------------------------------------------------------------------------
3
+ # $File: spectrum,v 1.10 2023/05/08 01:33:36 christos Exp $
4
+ # spectrum: file(1) magic for Spectrum emulator files.
5
+ #
6
+ # John Elliott <jce@seasip.demon.co.uk>
7
+
8
+ #
9
+ # Spectrum +3DOS header
10
+ #
11
+ 0 string PLUS3DOS\032 Spectrum +3 data
12
+ >15 byte 0 - BASIC program
13
+ >15 byte 1 - number array
14
+ >15 byte 2 - character array
15
+ >15 byte 3 - memory block
16
+ >>16 belong 0x001B0040 (screen)
17
+ >15 byte 4 - Tasword document
18
+ >15 string TAPEFILE - ZXT tapefile
19
+ #
20
+ # Tape file. This assumes the .TAP starts with a Spectrum-format header,
21
+ # which nearly all will.
22
+ #
23
+ # Update: Sanity-check string contents to be printable.
24
+ # -Adam Buchbinder <adam.buchbinder@gmail.com>
25
+ # Update: Joerg Jenderek 2023 May
26
+ # URL: http://fileformats.archiveteam.org/wiki/TAP_(ZX_Spectrum)
27
+ # Reference: http://web.archive.org/web/20110711141601/http://www.zxmodules.de/fileformats/tapformat.html
28
+ # http://mark0.net/download/triddefs_xml.7z/defs/t/tap-zx.trid.xml
29
+ # Note: called "ZX Spectrum Tape image" by TrID and "TAP (ZX Spectrum)" by DROID via PUID fmt/801
30
+ # verified by fuse-emulator-utils `tzxlist EXAMPLES.TAP`
31
+ #
32
+ # headers length 19=023 and flag byte 0 indicating a standard ROM loading header
33
+ 0 string \023\000\000
34
+ >4 string >\0
35
+ # skip {85CEE8D6-0F90-4492-B484-98E38862B28D}.2.ver0x0000000000000004.db {DDF571F2-BE98-426D-8288-1A9A39C3FDA2}.2.ver0x0000000000000001.db
36
+ # inside c:\ProgramData\Microsoft\Windows\Caches according to TrID and DROID
37
+ >>23 ubyte =0xFF
38
+ # skip DROID fmt-801-signature-id-1166.tap with invalid name \253\253\253\253\253\253\253\253\253\253
39
+ # which looks like: "TF COPY II" "screen " "\023\001TF" " 1943 "
40
+ >>>4 string <\177 Spectrum .TAP data "%-10.10s"
41
+ #!:mime application/octet-stream
42
+ !:mime application/x-spectrum-tap
43
+ !:ext tap
44
+ >>>>3 byte 0 - BASIC program
45
+ # autostart line; 0..9999 are valid; 32768 means "no auto-loading"
46
+ >>>>>16 uleshort x \b, autostart line %u
47
+ # program length; length of BASIC program
48
+ >>>>>18 uleshort x \b, program length %u
49
+ >>>>3 byte 1 - number array
50
+ >>>>3 byte 2 - character array
51
+ >>>>3 byte 3 - memory block
52
+ # length of the following data 1B00h=6912 and start address 4000h=16384 in case of a SCREEN$ header
53
+ >>>>>14 belong 0x001B0040 (screen)
54
+ # unused 32768=8000h
55
+ >>>>>18 uleshort !32768 \b, unused %u
56
+ # zxlength; length of the following data after the header
57
+ >>>>14 uleshort x \b, data length %u
58
+ #>>14 uleshort x \b, data length %#x
59
+ # checksum byte; simply all bytes (including flag byte) XORed
60
+ #>>>>20 ubyte x \b, checksum %#x
61
+
62
+ # The following three blocks are from pak21-spectrum@srcf.ucam.org
63
+ # TZX tape images
64
+ # Update: Joerg Jenderek 2023 May
65
+ # URL: http://fileformats.archiveteam.org/wiki/TZX
66
+ # Reference: https://worldofspectrum.net/TZXformat.html
67
+ # http://mark0.net/download/triddefs_xml.7z/defs/t/tzx.trid.xml
68
+ # Note: called "ZX Spectrum Tape image" by TrID and "TZX Format" by DROID via PUID fmt/1000
69
+ 0 string ZXTape!\x1a Spectrum .TZX data
70
+ #!:mime application/octet-stream
71
+ !:mime application/x-spectrum-tzx
72
+ # CDT is used for Amstrad tapes
73
+ !:ext tzx/cdt
74
+ >8 byte x version %d
75
+ >9 byte x \b.%d
76
+ # ID of first block
77
+ >10 ubyte x \b; ID %#x
78
+ # turbo speed data block
79
+ >10 ubyte =0x11 (turbo)
80
+ # length of PILOT tone (number of pulses)
81
+ >>21 uleshort x \b, %u pilot pulses
82
+ # length of PILOT pulse
83
+ >>11 uleshort x with %u tstates
84
+ # length of SYNC first pulse
85
+ >>13 uleshort x \b, %u and
86
+ # length of SYNC second pulse
87
+ >>15 uleshort x %u sync tstates
88
+ # length of ZERO bit pulse
89
+ >>17 uleshort x \b, %u zero tstates
90
+ # length of ONE bit pulse
91
+ >>19 uleshort x \b, %u one tstates
92
+ # used bits in the last byte
93
+ >>23 ubyte x \b, use %u bit
94
+ # plural s
95
+ >>23 ubyte >1 \bs
96
+ # pause after this block in milliseconds
97
+ >>24 uleshort x \b, %u ms pause
98
+ # BYTE[3]; length of data that follow
99
+ >>26 ulelong&0x00FFffFF x \b, %u data bytes
100
+ >10 ubyte =0x20 (pause)
101
+ # pause duration in milliseconds
102
+ >>11 uleshort x %u ms
103
+ # text description
104
+ >10 ubyte =0x30 (text)
105
+ # length of the text description
106
+ #>>11 ubyte x L=%u
107
+ >>11 pstring x "%s"
108
+ # archive text description in ASCII format
109
+ >10 ubyte =0x32 (archive info)
110
+ # length of archive text
111
+ >>11 uleshort x \b, %#x bytes
112
+ # number of text strings
113
+ >>13 ubyte x with %u (type) text parts
114
+ # text type identification byte: 0~title 1~publisher 2~author 3~year 4~language 5~type 6~price 7~protection 8~origin ff~comment
115
+ >>14 byte <9 (%d)
116
+ >>>14 byte >-2
117
+ # length of text string
118
+ #>>>>15 ubyte x L=%u
119
+ >>>>15 pstring x %s
120
+ # 2nd possible text description
121
+ >>>>>&0 byte <9 (%d)
122
+ >>>>>>&-1 byte >-2
123
+ >>>>>>>&0 pstring x %s
124
+ # 3rd possible text description
125
+ >>>>>>>>&0 byte <9 (%d)
126
+ >>>>>>>>>&-1 byte >-2
127
+ >>>>>>>>>>&0 pstring x %s
128
+ # 4th possible text description
129
+ >>>>>>>>>>>&0 byte <9 (%d)
130
+ >>>>>>>>>>>>&-1 byte >-2
131
+ >>>>>>>>>>>>>&0 pstring x %s
132
+ # 5th possible text description
133
+ >>>>>>>>>>>>>>&0 byte <9 (%d)
134
+ >>>>>>>>>>>>>>>&-1 byte >-2
135
+ >>>>>>>>>>>>>>>>&0 pstring x %s
136
+ # 6th possible text description
137
+ >>>>>>>>>>>>>>>>>&0 byte <9 (%d)
138
+ >>>>>>>>>>>>>>>>>>&-1 byte >-2
139
+ >>>>>>>>>>>>>>>>>>>&0 pstring x %s
140
+ # 7th possible text description
141
+ >>>>>>>>>>>>>>>>>>>>&0 byte <9 (%d)
142
+ >>>>>>>>>>>>>>>>>>>>>&-1 byte >-2
143
+ >>>>>>>>>>>>>>>>>>>>>>&0 pstring x %s
144
+
145
+ # RZX input recording files
146
+ 0 string RZX! Spectrum .RZX data
147
+ >4 byte x version %d
148
+ >5 byte x \b.%d
149
+
150
+ # Floppy disk images
151
+ 0 string MV\ -\ CPCEMU\ Disk-Fil Amstrad/Spectrum .DSK data
152
+ 0 string MV\ -\ CPC\ format\ Dis Amstrad/Spectrum DU54 .DSK data
153
+ 0 string EXTENDED\ CPC\ DSK\ Fil Amstrad/Spectrum Extended .DSK data
154
+ 0 string SINCLAIR Spectrum .SCL Betadisk image
155
+
156
+ # Hard disk images
157
+ 0 string RS-IDE\x1a Spectrum .HDF hard disk image
158
+ >7 byte x \b, version %#02x
159
+
160
+ # SZX snapshots (fuse and spectaculator)
161
+ # Martin M. S. Pedersen <martin@linux.com>
162
+ # http://www.spectaculator.com/docs/zx-state/header.shtml
163
+ #
164
+ 0 string ZXST zx-state snapshot
165
+ >4 byte x version %d
166
+ >5 byte x \b.%d
167
+ >>6 byte 0 16k ZX Spectrum
168
+ >>6 byte 1 48k ZX Spectrum/ZX Spectrum+
169
+ >>6 byte 2 ZX Spectrum 128
170
+ >>6 byte 3 ZX Spectrum +2
171
+ >>6 byte 4 ZX Spectrum +2A/+2B
172
+ >>6 byte 5 ZX Spectrum +3
173
+ >>6 byte 6 ZX Spectrum +3e
174
+ >>6 byte 7 Pentagon 128
175
+ >>6 byte 8 Timex Sinclair TC2048
176
+ >>6 byte 9 Timex Sinclair TC2068
177
+ >>6 byte 10 Scorpion ZS-256
178
+ >>6 byte 11 ZX Spectrum SE
179
+ >>6 byte 12 Timex Sinclair TS2068
180
+ >>6 byte 13 Pentagon 512
181
+ >>6 byte 14 Pentagon 1024
182
+ >>6 byte 15 48k ZX Spectrum (NTSC)
183
+ >>6 byte 16 ZX Spectrum 12Ke
184
+ >>>7 byte 1 (alternate timings)
@@ -0,0 +1,288 @@
1
+
2
+ #------------------------------------------------------------------------------
3
+ # $File: sql,v 1.26 2023/04/29 17:26:58 christos Exp $
4
+ # sql: file(1) magic for SQL files
5
+ #
6
+ # From: "Marty Leisner" <mleisner@eng.mc.xerox.com>
7
+ # Recognize some MySQL files.
8
+ # Elan Ruusamae <glen@delfi.ee>, added MariaDB signatures
9
+ # from https://bazaar.launchpad.net/~maria-captains/maria/5.5/view/head:/support-files/magic
10
+ #
11
+ 0 beshort 0xfe01 MySQL table definition file
12
+ >2 byte x Version %d
13
+ >3 byte 0 \b, type UNKNOWN
14
+ >3 byte 1 \b, type DIAM_ISAM
15
+ >3 byte 2 \b, type HASH
16
+ >3 byte 3 \b, type MISAM
17
+ >3 byte 4 \b, type PISAM
18
+ >3 byte 5 \b, type RMS_ISAM
19
+ >3 byte 6 \b, type HEAP
20
+ >3 byte 7 \b, type ISAM
21
+ >3 byte 8 \b, type MRG_ISAM
22
+ >3 byte 9 \b, type MYISAM
23
+ >3 byte 10 \b, type MRG_MYISAM
24
+ >3 byte 11 \b, type BERKELEY_DB
25
+ >3 byte 12 \b, type INNODB
26
+ >3 byte 13 \b, type GEMINI
27
+ >3 byte 14 \b, type NDBCLUSTER
28
+ >3 byte 15 \b, type EXAMPLE_DB
29
+ >3 byte 16 \b, type CSV_DB
30
+ >3 byte 17 \b, type FEDERATED_DB
31
+ >3 byte 18 \b, type BLACKHOLE_DB
32
+ >3 byte 19 \b, type PARTITION_DB
33
+ >3 byte 20 \b, type BINLOG
34
+ >3 byte 21 \b, type SOLID
35
+ >3 byte 22 \b, type PBXT
36
+ >3 byte 23 \b, type TABLE_FUNCTION
37
+ >3 byte 24 \b, type MEMCACHE
38
+ >3 byte 25 \b, type FALCON
39
+ >3 byte 26 \b, type MARIA
40
+ >3 byte 27 \b, type PERFORMANCE_SCHEMA
41
+ >3 byte 127 \b, type DEFAULT
42
+ >0x0033 ulong x \b, MySQL version %d
43
+ 0 belong&0xffffff00 0xfefe0500 MySQL ISAM index file
44
+ >3 byte x Version %d
45
+ 0 belong&0xffffff00 0xfefe0600 MySQL ISAM compressed data file
46
+ >3 byte x Version %d
47
+ 0 belong&0xffffff00 0xfefe0700 MySQL MyISAM index file
48
+ >3 byte x Version %d
49
+ >14 beshort x \b, %d key parts
50
+ >16 beshort x \b, %d unique key parts
51
+ >18 byte x \b, %d keys
52
+ >28 bequad x \b, %lld records
53
+ >36 bequad x \b, %lld deleted records
54
+ 0 belong&0xffffff00 0xfefe0800 MySQL MyISAM compressed data file
55
+ >3 byte x Version %d
56
+ 0 belong&0xffffff00 0xfefe0900 MySQL Maria index file
57
+ >3 byte x Version %d
58
+ 0 belong&0xffffff00 0xfefe0a00 MySQL Maria compressed data file
59
+ >3 byte x Version %d
60
+ 0 belong&0xffffff00 0xfefe0c00
61
+ >4 string MACF MySQL Maria control file
62
+ >>3 byte x Version %d
63
+ 0 string \376bin MySQL replication log,
64
+ >9 long x server id %d
65
+ >8 byte 1
66
+ >>13 long 69 \b, MySQL V3.2.3
67
+ >>>19 string x \b, server version %s
68
+ >>13 long 75 \b, MySQL V4.0.2-V4.1
69
+ >>>25 string x \b, server version %s
70
+ >8 byte 15 MySQL V5+,
71
+ >>25 string x server version %s
72
+ >4 string MARIALOG MySQL Maria transaction log file
73
+ >>3 byte x Version %d
74
+
75
+ #------------------------------------------------------------------------------
76
+ # iRiver H Series database file
77
+ # From Ken Guest <ken@linux.ie>
78
+ # As observed from iRivNavi.iDB and unencoded firmware
79
+ #
80
+ 0 string iRivDB iRiver Database file
81
+ >11 string >\0 Version %s
82
+ >39 string iHP-100 [H Series]
83
+
84
+ #------------------------------------------------------------------------------
85
+ # SQLite database files
86
+ # Ken Guest <ken@linux.ie>, Ty Sarna, Zack Weinberg
87
+ #
88
+ # Version 1 used GDBM internally; its files cannot be distinguished
89
+ # from other GDBM files.
90
+ #
91
+ # Update: Joerg Jenderek
92
+ # Reference: http://mark0.net/download/triddefs_xml.7z/defs/s/sqlite-2x.trid.xml
93
+ # Note: called "SQLite 2.x database" by TrID and "SQLite Database File Format" version 2 by DROID via PUID fmt/1135
94
+ # Version 2 used this format:
95
+ 0 string **\ This\ file\ contains\ an\ SQLite SQLite 2.x database
96
+ !:mime application/x-sqlite2
97
+ # FileAttributesStore.db test.sqlite2
98
+ !:ext sqlite/sqlite2/db
99
+
100
+ # URL: https://en.wikipedia.org/wiki/SQLite
101
+ # Reference: https://www.sqlite.org/fileformat.html
102
+ # Update: Joerg Jenderek
103
+ # Version 3 of SQLite allows applications to embed their own "user version"
104
+ # number in the database at offset 60. Later, SQLite added an "application id"
105
+ # at offset 68 that is preferred over "user version" for indicating the
106
+ # associated application.
107
+ #
108
+ 0 string SQLite\ format\ 3
109
+ # skip DROID fmt-729-signature-id-1053.sqlite by checking for valid page size
110
+ >16 ubeshort >0 SQLite 3.x
111
+ # deprecated
112
+ #!:mime application/x-sqlite3
113
+ !:mime application/vnd.sqlite3
114
+ # seldom found extension sqlite3 like in SyncData.sqlite3
115
+ # db
116
+ # db3 like: AddrBook.db3 cgipcrvp.db3
117
+ # https://www.maplesoft.com/support/help/Maple/view.aspx?path=worksheet%2freference%2fhelpdatabase
118
+ # help is used for newer Maple help database
119
+ # SQLite database weewx.sdb used by weather software weewx
120
+ # https://www.weewx.com/docs/usersguide.htm
121
+ # Avira Antivir use extension "dbe" like in avevtdb.dbe, avguard_tchk.dbe
122
+ # Unfortunately extension sqlite also used for other databases starting with string
123
+ # "TTCONTAINER" like in tracks.sqlite contentconsumer.sqlite contentproducerrepository.sqlite
124
+ # and with string "ZV-zlib" in like extra.sqlite
125
+ >>68 belong !0x5CDE09EF database
126
+ !:ext sqlite/sqlite3/db/db3/dbe/sdb/help
127
+ >>68 belong =0x5CDE09EF database
128
+ # maple is used for Maple Workbook
129
+ !:ext maple
130
+ >>60 belong =0x5f4d544e (Monotone source repository)
131
+ # if no known user version then check for Application IDs with default clause
132
+ >>60 belong !0x5f4d544e
133
+ # The "Application ID" set by PRAGMA application_id
134
+ >>>68 belong =0x0f055112 (Fossil checkout)
135
+ >>>68 belong =0x0f055113 (Fossil global configuration)
136
+ >>>68 belong =0x0f055111 (Fossil repository)
137
+ >>>68 belong =0x42654462 (Bentley Systems BeSQLite Database)
138
+ >>>68 belong =0x42654c6e (Bentley Systems Localization File)
139
+ >>>68 belong =0x47504b47 (OGC GeoPackage file)
140
+ # https://www.sqlite.org/src/artifact?ci=trunk&filename=magic.txt
141
+ >>>68 belong =0x47503130 (OGC GeoPackage version 1.0 file)
142
+ >>>68 belong =0x45737269 (Esri Spatially-Enabled Database)
143
+ >>>68 belong =0x4d504258 (MBTiles tileset)
144
+ # https://www.maplesoft.com/support/help/errors/view.aspx?path=Formats/Maple
145
+ >>>68 belong =0x5CDE09EF (Maple Workbook)
146
+ # unknown application ID
147
+ >>>68 default x
148
+ >>>>68 belong !0 \b, application id %u
149
+ # The "user version" as read and set by the user_version pragma like:
150
+ # 1 2 4 5 7 9 10 25 36 43 53 400 416 131073 131074 131075
151
+ >>60 belong !0 \b, user version %d
152
+ # SQLITE_VERSION_NUMBER like: 0 3008011 3016002 3007014 3017000 3022000 3028000 3031001
153
+ >>96 belong x \b, last written using SQLite version %d
154
+ # database page size in bytes; a power of two between 512 and 32768, or 1 for 65536
155
+ # like: 512 1024 often 4096 32768
156
+ >>16 ubeshort !4096 \b, page size %u
157
+ # File format write version. 1 for legacy; 2 for WAL; 0 for corruptDB.sqlite
158
+ >>18 ubyte !1 \b, writer version %u
159
+ # File format read version. 1 for legacy; 2 for WAL; 4 for corruptDB.sqlite
160
+ >>19 ubyte !1 \b, read version %u
161
+ # Bytes of unused "reserved" space at the end of each page. Usually 0
162
+ >>20 ubyte !0 \b, unused bytes %u
163
+ # maximum embedded payload fraction. Must be 64; 1 for corruptDB.sqlite
164
+ >>21 ubyte !64 \b, maximum payload %u
165
+ # Minimum embedded payload fraction. Must be 32; 1 for corruptDB.sqlite
166
+ >>22 ubyte !32 \b, minimum payload %u
167
+ # Leaf payload fraction. Must be 32; 0 for corruptDB.sqlite
168
+ >>23 ubyte !32 \b, leaf payload %u
169
+ # file change counter
170
+ >>24 ubelong x \b, file counter %u
171
+ # Size of the database file in pages
172
+ >>28 ubelong x \b, database pages %u
173
+ # page number of the first freelist trunk page like: 0 2 3 4 5 9
174
+ # 10 13 14 15 16 17 18 19 23 36 39 46 50 136 190 217 307 505 516 561 883 1659
175
+ >>32 ubelong !0 \b, 1st free page %u
176
+ # total number of freelist pages
177
+ >>36 ubelong !0 \b, free pages %u
178
+ # The schema cookie like: 2 3 4 6 7 9 A D E F 13 14 1C 25 2A 2F 33 44 4B 53 5A 5F 62 86 87 8F 91 A8
179
+ >>40 ubelong x \b, cookie %#x
180
+ # the schema format number. Supported formats are 1 2 3 and often 4
181
+ # 3328 for corruptDB.sqlite and 0 for 512 byte storage.sqlite (TorBrowser Firefox Thunderbird)
182
+ >>44 ubelong x \b, schema %u
183
+ # Suggested cache size like: 0 2000
184
+ >>48 ubelong !0 \b, cache page size %u
185
+ # The page number of the largest root b-tree page when in auto-vacuum or incremental-vacuum modes, or zero otherwise.
186
+ >>52 ubelong !0 \b, largest root page %u
187
+ # The database text encoding; a value of 1 means UTF-8; 2 means UTF-16le; 3 means UTF-16be
188
+ #>>56 ubelong x \b, encoding %u
189
+ >>56 ubelong x
190
+ >>>56 ubelong =1 \b, UTF-8
191
+ >>>56 ubelong =2 \b, UTF-16 little endian
192
+ >>>56 ubelong =3 \b, UTF-16 big endian
193
+ # 0 for corruptDB.sqlite and for storage.sqlite with database pages 1 (TorBrowser Firefox Thunderbird)
194
+ # https://mozilla.github.io/firefox-browser-architecture/text/0010-firefox-data-stores.html
195
+ >>>56 default x
196
+ >>>>56 ubelong x \b, unknown %#x encoding
197
+ # True (non-zero) for incremental-vacuum mode; false (zero) otherwiseqy
198
+ >>64 ubelong !0 \b, vacuum mode %u
199
+ # Reserved for expansion. Must be zero
200
+ >>72 uquad !0 \b, reserved %#llx
201
+ # The version-valid-for number like:
202
+ # 1 2 3 4 C F 68h 95h 266h A99h 3DCDh B7CEh
203
+ >>92 ubelong x \b, version-valid-for %u
204
+
205
+ # SQLite Write-Ahead Log from SQLite version >= 3.7.0
206
+ # https://www.sqlite.org/fileformat.html#walformat
207
+ 0 belong&0xfffffffe 0x377f0682 SQLite Write-Ahead Log,
208
+ !:ext sqlite-wal/db-wal
209
+ >4 belong x version %d
210
+ # Summary: SQLite Write-Ahead-Log index (shared memory)
211
+ # From: Joerg Jenderek
212
+ # URL: http://fileformats.archiveteam.org/wiki/SQLite
213
+ # Reference: http://www.sqlite.org/draft/walformat.html#walidxfmt
214
+ # iVersion; WAL-index format version number; always 3007000=2DE218h
215
+ 0 ulelong 0x002DE218
216
+ >0 use shm-le
217
+ # big endian variant not tested
218
+ 0 ubelong 0x002DE218
219
+ >0 use \^shm-le
220
+ # show information about SQLite Write-Ahead-Log shared memory
221
+ 0 name shm-le
222
+ >0 ulelong x SQLite Write-Ahead Log shared memory
223
+ #!:mime application/octet-stream
224
+ !:mime application/vnd.sqlite3
225
+ # db3-shm Acronis BackupAndRecovery F4CEEE47-042C-4828-95A0-DE44EC267A28.db3-shm
226
+ # dbx-shm probably Dropbox filecache.dbx-shm
227
+ # aup3-shm Audacity project tada.aup3-shm
228
+ # srd-shm Microsoft Windows StateRepository service StateRepository-Deployment.srd-shm StateRepository-Machine.srd-shm:
229
+ !:ext sqlite-shm/db-shm/db3-shm/dbx-shm/aup3-shm/srd-shm
230
+ # unused padding space; must be zero
231
+ >4 ulelong !0 \b, unused %x
232
+ # iChange; unsigned integer counter, incremented with each transaction
233
+ >8 ulelong x \b, counter %u
234
+ # isInit; the "isInit" flag; 1 when the shm file has been initialized
235
+ >12 ubyte !1 \b, not initialized %u
236
+ # bigEndCksum; true if the WAL file uses big-ending checksums; 0 if the WAL uses little-endian checksums
237
+ >13 ubyte !0 \b, checksum type %u
238
+ # szPage; database page size in bytes, or 1 if the page size is 65536
239
+ >14 uleshort !1 \b, page size %u
240
+ >14 uleshort =1 \b, page size 65536
241
+ # mxFrame; number of valid and committed frames in the WAL file
242
+ >16 ulelong x \b, %u frames
243
+ # nPage; size of the database file in pages
244
+ >20 ulelong x \b, %u pages
245
+ # aFrameCksum; checksum of the last frame in the WAL file
246
+ >24 ulelong x \b, frame checksum %#x
247
+ # aSalt; two salt value copied from the WAL file header in the byte-order of the WAL file; might be different from machine byte-order
248
+ >32 ulequad x \b, salt %#llx
249
+ # aCksum; checksum over bytes 0 through 39 of this header
250
+ >40 ulelong x \b, header checksum %#x
251
+ # a copy of bytes 0 through 47 of header
252
+ >48 ulelong !3007000 \b, iversion %u
253
+ # nBackfill; number of WAL frames that have already been backfilled into the database by prior checkpoints
254
+ >96 ulelong !0 \b, %u backfilled
255
+ # nBackfillAttempted; number of WAL frames that have attempted to be backfilled
256
+ >>128 ulelong x (%u attempts)
257
+ # read-mark[0..4]; five "read marks"; each read mark is a 32-bit unsigned integer
258
+ >100 ulelong !0 \b, read-mark[0] %#x
259
+ >104 ulelong x \b, read-mark[1] %#x
260
+ >108 ulelong !0xffffffff \b, read-mark[2] %#x
261
+ >112 ulelong !0xffffffff \b, read-mark[3] %#x
262
+ >116 ulelong !0xffffffff \b, read-mark[4] %#x
263
+ # unused space set aside for 8 file locks
264
+ >120 ulequad !0 \b, space %#llx
265
+ # unused space reserved for further expansion
266
+ >132 ulelong !0 \b, reserved %#x
267
+
268
+ # SQLite Rollback Journal
269
+ # https://www.sqlite.org/fileformat.html#rollbackjournal
270
+ 0 string \xd9\xd5\x05\xf9\x20\xa1\x63\xd7 SQLite Rollback Journal
271
+
272
+ # Panasonic channel list database svl.bin or svl.db added by Joerg Jenderek
273
+ # https://github.com/PredatH0r/ChanSort
274
+ 0 string PSDB\0 Panasonic channel list DataBase
275
+ !:ext db/bin
276
+ #!:mime application/x-db-svl-panasonic
277
+ >126 string SQLite\ format\ 3
278
+ #!:mime application/x-panasonic-sqlite3
279
+ >>&-15 indirect x \b; contains
280
+
281
+ # H2 Database from https://www.h2database.com/
282
+ 0 string --\ H2\ 0.5/B\ --\ \n H2 Database file
283
+
284
+ # DuckDB database file from https://duckdb.org
285
+ 8 string DUCK DuckDB database file
286
+ >12 lequad x \b, version %lld
287
+ #>20 lequad x \b, flags %#llx
288
+ #>28 lequad x \b, flags %#llx
@@ -0,0 +1,39 @@
1
+ # Type: OpenSSH key files
2
+ # From: Nicolas Collignon <tsointsoin@gmail.com>
3
+
4
+ 0 string SSH\ PRIVATE\ KEY OpenSSH RSA1 private key,
5
+ >28 string >\0 version %s
6
+ 0 string -----BEGIN\ OPENSSH\ PRIVATE\ KEY----- OpenSSH private key
7
+
8
+ 0 string ssh-dss\ OpenSSH DSA public key
9
+ 0 string ssh-rsa\ OpenSSH RSA public key
10
+ 0 string ecdsa-sha2-nistp256 OpenSSH ECDSA public key
11
+ 0 string ecdsa-sha2-nistp384 OpenSSH ECDSA public key
12
+ 0 string ecdsa-sha2-nistp521 OpenSSH ECDSA public key
13
+ 0 string ssh-ed25519 OpenSSH ED25519 public key
14
+
15
+ 0 string SSHKRL\n\0
16
+ >8 ubelong 1 OpenSSH key/certificate revocation list, format %u
17
+ >>12 ubequad x \b, version %llx
18
+ >>>20 beqdate x \b, generated %s
19
+
20
+ # From: Joerg Jenderek
21
+ # URL: https://en.wikipedia.org/wiki/PuTTY
22
+ # Reference: https://the.earth.li/~sgtatham/putty/latest/putty-0.73.tar.gz
23
+ # /sshpubk.c
24
+ 0 string PuTTY-User-Key-File- PuTTY Private Key File
25
+ #!:mime text/plain
26
+ # https://github.com/github/putty/blob/master/windows/installer.wxs
27
+ !:mime application/x-putty-private-key
28
+ !:ext ppk
29
+ # version 1 or 2
30
+ >20 string x \b, version %.1s
31
+ # name of the algorithm like: ssh-dss ssh-rsa ecdsa-sha2-nistp256 ssh-ed25519
32
+ >23 string x \b, algorithm %s
33
+ # next line says "Encryption: " plus an encryption type like aes256-cbc or none
34
+ >32 search/13 Encryption:\040 \b, Encryption
35
+ >>&0 string x %s
36
+ # next line says "Comment: " plus the comment string
37
+ >>>&0 search/3 Comment:\040
38
+ >>>>&0 string x "%s"
39
+
@@ -0,0 +1,20 @@
1
+
2
+ #------------------------------------------------------------------------------
3
+ # $File: ssl,v 1.5 2017/12/29 04:00:07 christos Exp $
4
+ # ssl: file(1) magic for SSL file formats
5
+
6
+ # Type: OpenSSL certificates/key files
7
+ # From: Nicolas Collignon <tsointsoin@gmail.com>
8
+
9
+ 0 string -----BEGIN\040CERTIFICATE----- PEM certificate
10
+ 0 string -----BEGIN\040CERTIFICATE\040REQ PEM certificate request
11
+ 0 string -----BEGIN\040RSA\040PRIVATE PEM RSA private key
12
+ 0 string -----BEGIN\040DSA\040PRIVATE PEM DSA private key
13
+ 0 string -----BEGIN\040EC\040PRIVATE PEM EC private key
14
+ 0 string -----BEGIN\040ECDSA\040PRIVATE PEM ECDSA private key
15
+
16
+ # From Luc Gommans
17
+ # OpenSSL enc file (recognized by a magic string preceding the password's salt)
18
+ 0 string Salted__ openssl enc'd data with salted password
19
+ # Using the -a or -base64 option, OpenSSL will base64-encode the data.
20
+ 0 string U2FsdGVkX1 openssl enc'd data with salted password, base64 encoded
@@ -0,0 +1,45 @@
1
+
2
+ #------------------------------------------------------------------------------
3
+ # $File: statistics,v 1.3 2022/03/24 15:48:58 christos Exp $
4
+ # statistics: file(1) magic for statistics related software
5
+ #
6
+
7
+ # From Remy Rampin
8
+
9
+ # Stata is a statistical software tool that was created in 1985. While I
10
+ # don't personally use it, data files in its native (proprietary) format
11
+ # are common (.dta files).
12
+ #
13
+ # Because they are so common, especially in statistical and social
14
+ # sciences, Stata files and SPSS files can be opened by a lot of modern
15
+ # software, for example Python's pandas package provides built-in
16
+ # support for them (read_stata() and read_spss()).
17
+ #
18
+ # I noticed that the magic database includes an entry for SPSS files but
19
+ # not Stata files. Stata files for Stata 13 and newer (formats 117, 118,
20
+ # and 119) always begin with the string "<stata_dta><header>" as per
21
+ # https://www.stata.com/help.cgi?dta#definition
22
+ #
23
+ # The format version number always follows, for example:
24
+ # <stata_dta><header><release>117</release>
25
+ # <stata_dta><header><release>118</release>
26
+ #
27
+ # Therefore the following line would do the trick:
28
+ # 0 string <stata_dta><header> Stata Data File
29
+ #
30
+ # (I'm sure the version number could be captured as well but I did not
31
+ # manage this without a regex)
32
+ #
33
+ # Unfortunately the previous formats (created by Stata before 13, which
34
+ # was released 2013) are harder to recognize. Format 115 starts with the
35
+ # four bytes 0x73010100 or 0x73020100, format 114 with 0x72010100 or
36
+ # 0x72020100, format 113 with 0x71010101 or 0x71020101.
37
+ #
38
+ # For additional reference, the Library of Congress website has an entry
39
+ # for the Stata Data File Format 118:
40
+ # https://www.loc.gov/preservation/digital/formats/fdd/fdd000471.shtml
41
+ #
42
+ # Example of those files can be found on Zenodo:
43
+ # https://zenodo.org/search?page=1&size=20&q=&file_type=dta
44
+ 0 string \<stata_dta\>\<header\>\<release\> Stata Data File
45
+ >&0 regex [0-9]+ (Release %s)
@@ -0,0 +1,38 @@
1
+
2
+ #------------------------------------------------------------------------------
3
+ # $File: subtitle,v 1.2 2022/09/07 11:29:09 christos Exp $
4
+ # subtitle: file(1) magic for subtitles files
5
+
6
+ # EBU-STL
7
+ # https://tech.ebu.ch/docs/tech/tech3264.pdf
8
+ 3 string STL EBU-STL subtitles
9
+ >6 regex =^[0-9][0-9] \b, rate %s
10
+ >>8 string .01 \b, v1
11
+ !:mime application/x-ebu-stl
12
+ >>>16 regex =^[^\ ]{0,32} \b, title "%s"
13
+ >>>>224 regex =^[0-9]{2} \b, created %-.2s
14
+ >>>>>&0 regex =^[0-9]{2} \b-%-.2s
15
+ >>>>>>&0 regex =^[0-9]{2} \b-%-.2s
16
+ !:ext stl
17
+
18
+ # SubRip (srt) subtitles
19
+ 0 regex/20 =^1[\r\n]+0[01]:[0-9]{2}:[0-9]{2},[0-9]{3}\040--> SubRip
20
+ !:mime application/x-subrip
21
+ !:ext srt
22
+
23
+ # WebVTT subtitles
24
+ # https://www.w3.org/TR/webvtt1/
25
+ 0 string/t WEBVTT
26
+ >&0 regex/255 =[0-9]{2}:[0-9]{2}\\.[0-9]{3}\040--> WebVTT subtitles
27
+ !:mime text/vtt
28
+ !:ext vtt
29
+
30
+ # XML TTML subtitles
31
+ # https://www.w3.org/TR/ttml2/
32
+ 0 string/t \<?xml
33
+ >20 search/400 \020xmlns=
34
+ >>&0 regex ['"]http://www.w3.org/ns/ttml TTML subtitles
35
+ !:mime application/ttml+xml
36
+ # Augment strength to beat plain XML
37
+ !:strength * 3
38
+ !:ext ttml