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.
- polyfile/__init__.py +15 -0
- polyfile/__main__.py +394 -0
- polyfile/arithmetic.py +27 -0
- polyfile/ast.py +114 -0
- polyfile/debugger.py +1039 -0
- polyfile/expressions.py +346 -0
- polyfile/fileutils.py +343 -0
- polyfile/html.py +135 -0
- polyfile/http/__init__.py +1 -0
- polyfile/http/defacto.py +37 -0
- polyfile/http/deprecated.py +51 -0
- polyfile/http/experimental.py +67 -0
- polyfile/http/http_11.py +548 -0
- polyfile/http/matcher.py +37 -0
- polyfile/http/structured_headers.py +48 -0
- polyfile/iterators.py +72 -0
- polyfile/jpeg.py +24 -0
- polyfile/kaitai/__init__.py +0 -0
- polyfile/kaitai/compiler.py +156 -0
- polyfile/kaitai/parser.py +312 -0
- polyfile/kaitai/parsers/__init__.py +0 -0
- polyfile/kaitai/parsers/aix_utmp.py +116 -0
- polyfile/kaitai/parsers/allegro_dat.py +367 -0
- polyfile/kaitai/parsers/andes_firmware.py +64 -0
- polyfile/kaitai/parsers/android_bootldr_asus.py +105 -0
- polyfile/kaitai/parsers/android_bootldr_huawei.py +181 -0
- polyfile/kaitai/parsers/android_bootldr_qcom.py +217 -0
- polyfile/kaitai/parsers/android_dto.py +138 -0
- polyfile/kaitai/parsers/android_img.py +319 -0
- polyfile/kaitai/parsers/android_nanoapp_header.py +83 -0
- polyfile/kaitai/parsers/android_opengl_shaders_cache.py +151 -0
- polyfile/kaitai/parsers/android_sparse.py +237 -0
- polyfile/kaitai/parsers/android_super.py +401 -0
- polyfile/kaitai/parsers/apm_partition_table.py +196 -0
- polyfile/kaitai/parsers/apple_single_double.py +180 -0
- polyfile/kaitai/parsers/asn1_der.py +235 -0
- polyfile/kaitai/parsers/au.py +138 -0
- polyfile/kaitai/parsers/avantes_roh60.py +112 -0
- polyfile/kaitai/parsers/avi.py +296 -0
- polyfile/kaitai/parsers/bcd.py +111 -0
- polyfile/kaitai/parsers/bitcoin_transaction.py +210 -0
- polyfile/kaitai/parsers/blender_blend.py +334 -0
- polyfile/kaitai/parsers/bmp.py +780 -0
- polyfile/kaitai/parsers/bson.py +411 -0
- polyfile/kaitai/parsers/btrfs_stream.py +318 -0
- polyfile/kaitai/parsers/bytes_with_io.py +27 -0
- polyfile/kaitai/parsers/chrome_pak.py +194 -0
- polyfile/kaitai/parsers/code_6502.py +456 -0
- polyfile/kaitai/parsers/compressed_resource.py +217 -0
- polyfile/kaitai/parsers/cpio_old_le.py +154 -0
- polyfile/kaitai/parsers/cramfs.py +344 -0
- polyfile/kaitai/parsers/creative_voice_file.py +342 -0
- polyfile/kaitai/parsers/dbf.py +274 -0
- polyfile/kaitai/parsers/dcmp_0.py +664 -0
- polyfile/kaitai/parsers/dcmp_1.py +422 -0
- polyfile/kaitai/parsers/dcmp_2.py +312 -0
- polyfile/kaitai/parsers/dcmp_variable_length_integer.py +66 -0
- polyfile/kaitai/parsers/dex.py +1086 -0
- polyfile/kaitai/parsers/dicom.py +4370 -0
- polyfile/kaitai/parsers/dime_message.py +201 -0
- polyfile/kaitai/parsers/dns_packet.py +569 -0
- polyfile/kaitai/parsers/doom_wad.py +654 -0
- polyfile/kaitai/parsers/dos_datetime.py +191 -0
- polyfile/kaitai/parsers/dos_mz.py +172 -0
- polyfile/kaitai/parsers/ds_store.py +513 -0
- polyfile/kaitai/parsers/dtb.py +310 -0
- polyfile/kaitai/parsers/dune_2_pak.py +126 -0
- polyfile/kaitai/parsers/edid.py +472 -0
- polyfile/kaitai/parsers/efivar_signature_list.py +331 -0
- polyfile/kaitai/parsers/elf.py +2482 -0
- polyfile/kaitai/parsers/ethernet_frame.py +114 -0
- polyfile/kaitai/parsers/exif.py +723 -0
- polyfile/kaitai/parsers/ext2.py +537 -0
- polyfile/kaitai/parsers/fallout2_dat.py +187 -0
- polyfile/kaitai/parsers/fallout_dat.py +156 -0
- polyfile/kaitai/parsers/fasttracker_xm_module.py +558 -0
- polyfile/kaitai/parsers/ftl_dat.py +90 -0
- polyfile/kaitai/parsers/genmidi_op2.py +161 -0
- polyfile/kaitai/parsers/gettext_mo.py +541 -0
- polyfile/kaitai/parsers/gif.py +492 -0
- polyfile/kaitai/parsers/gimp_brush.py +244 -0
- polyfile/kaitai/parsers/glibc_utmp.py +114 -0
- polyfile/kaitai/parsers/gltf_binary.py +132 -0
- polyfile/kaitai/parsers/google_protobuf.py +151 -0
- polyfile/kaitai/parsers/gpt_partition_table.py +175 -0
- polyfile/kaitai/parsers/gran_turismo_vol.py +140 -0
- polyfile/kaitai/parsers/grub2_font.py +337 -0
- polyfile/kaitai/parsers/gzip.py +232 -0
- polyfile/kaitai/parsers/hashcat_restore.py +60 -0
- polyfile/kaitai/parsers/hccap.py +111 -0
- polyfile/kaitai/parsers/hccapx.py +103 -0
- polyfile/kaitai/parsers/heaps_pak.py +177 -0
- polyfile/kaitai/parsers/heroes_of_might_and_magic_agg.py +116 -0
- polyfile/kaitai/parsers/heroes_of_might_and_magic_bmp.py +34 -0
- polyfile/kaitai/parsers/icmp_packet.py +136 -0
- polyfile/kaitai/parsers/ico.py +129 -0
- polyfile/kaitai/parsers/id3v1_1.py +220 -0
- polyfile/kaitai/parsers/id3v2_3.py +324 -0
- polyfile/kaitai/parsers/id3v2_4.py +423 -0
- polyfile/kaitai/parsers/ines.py +282 -0
- polyfile/kaitai/parsers/ipv4_packet.py +158 -0
- polyfile/kaitai/parsers/ipv6_packet.py +55 -0
- polyfile/kaitai/parsers/iso9660.py +544 -0
- polyfile/kaitai/parsers/java_class.py +1113 -0
- polyfile/kaitai/parsers/jpeg.py +361 -0
- polyfile/kaitai/parsers/luks.py +149 -0
- polyfile/kaitai/parsers/lzh.py +165 -0
- polyfile/kaitai/parsers/mac_os_resource_snd.py +493 -0
- polyfile/kaitai/parsers/mach_o.py +3033 -0
- polyfile/kaitai/parsers/mach_o_fat.py +92 -0
- polyfile/kaitai/parsers/magicavoxel_vox.py +391 -0
- polyfile/kaitai/parsers/manifest.json +1 -0
- polyfile/kaitai/parsers/mbr_partition_table.py +119 -0
- polyfile/kaitai/parsers/mcap.py +1015 -0
- polyfile/kaitai/parsers/microsoft_cfb.py +293 -0
- polyfile/kaitai/parsers/microsoft_network_monitor_v2.py +309 -0
- polyfile/kaitai/parsers/microsoft_pe.py +765 -0
- polyfile/kaitai/parsers/mifare_classic.py +706 -0
- polyfile/kaitai/parsers/minecraft_nbt.py +449 -0
- polyfile/kaitai/parsers/monomakh_sapr_chg.py +69 -0
- polyfile/kaitai/parsers/mozilla_mar.py +239 -0
- polyfile/kaitai/parsers/mp4.py +333 -0
- polyfile/kaitai/parsers/msgpack.py +467 -0
- polyfile/kaitai/parsers/nitf.py +1189 -0
- polyfile/kaitai/parsers/nt_mdt_pal.py +155 -0
- polyfile/kaitai/parsers/ogg.py +118 -0
- polyfile/kaitai/parsers/openpgp_message.py +993 -0
- polyfile/kaitai/parsers/packet_ppi.py +515 -0
- polyfile/kaitai/parsers/pcap.py +344 -0
- polyfile/kaitai/parsers/pcf_font.py +506 -0
- polyfile/kaitai/parsers/pcx.py +195 -0
- polyfile/kaitai/parsers/pcx_dcx.py +79 -0
- polyfile/kaitai/parsers/phar_without_stub.py +399 -0
- polyfile/kaitai/parsers/php_serialized_value.py +505 -0
- polyfile/kaitai/parsers/png.py +721 -0
- polyfile/kaitai/parsers/protocol_body.py +260 -0
- polyfile/kaitai/parsers/psx_tim.py +104 -0
- polyfile/kaitai/parsers/python_pickle.py +718 -0
- polyfile/kaitai/parsers/python_pyc_27.py +510 -0
- polyfile/kaitai/parsers/quake_mdl.py +441 -0
- polyfile/kaitai/parsers/quake_pak.py +112 -0
- polyfile/kaitai/parsers/quicktime_mov.py +634 -0
- polyfile/kaitai/parsers/rar.py +265 -0
- polyfile/kaitai/parsers/regf.py +569 -0
- polyfile/kaitai/parsers/renderware_binary_stream.py +877 -0
- polyfile/kaitai/parsers/resource_fork.py +611 -0
- polyfile/kaitai/parsers/respack.py +57 -0
- polyfile/kaitai/parsers/riff.py +409 -0
- polyfile/kaitai/parsers/rpm.py +964 -0
- polyfile/kaitai/parsers/rtcp_payload.py +579 -0
- polyfile/kaitai/parsers/rtp_packet.py +150 -0
- polyfile/kaitai/parsers/rtpdump.py +115 -0
- polyfile/kaitai/parsers/ruby_marshal.py +423 -0
- polyfile/kaitai/parsers/s3m.py +493 -0
- polyfile/kaitai/parsers/saints_row_2_vpp_pc.py +254 -0
- polyfile/kaitai/parsers/shapefile_index.py +174 -0
- polyfile/kaitai/parsers/shapefile_main.py +893 -0
- polyfile/kaitai/parsers/some_ip.py +209 -0
- polyfile/kaitai/parsers/some_ip_container.py +37 -0
- polyfile/kaitai/parsers/some_ip_sd.py +86 -0
- polyfile/kaitai/parsers/some_ip_sd_entries.py +160 -0
- polyfile/kaitai/parsers/some_ip_sd_options.py +374 -0
- polyfile/kaitai/parsers/specpr.py +404 -0
- polyfile/kaitai/parsers/sqlite3.py +472 -0
- polyfile/kaitai/parsers/ssh_public_key.py +252 -0
- polyfile/kaitai/parsers/standard_midi_file.py +390 -0
- polyfile/kaitai/parsers/stl.py +111 -0
- polyfile/kaitai/parsers/sudoers_ts.py +201 -0
- polyfile/kaitai/parsers/swf.py +406 -0
- polyfile/kaitai/parsers/systemd_journal.py +361 -0
- polyfile/kaitai/parsers/tcp_segment.py +57 -0
- polyfile/kaitai/parsers/tga.py +213 -0
- polyfile/kaitai/parsers/tls_client_hello.py +293 -0
- polyfile/kaitai/parsers/tr_dos_image.py +322 -0
- polyfile/kaitai/parsers/tsm.py +198 -0
- polyfile/kaitai/parsers/ttf.py +1847 -0
- polyfile/kaitai/parsers/udp_datagram.py +42 -0
- polyfile/kaitai/parsers/uefi_te.py +236 -0
- polyfile/kaitai/parsers/uimage.py +198 -0
- polyfile/kaitai/parsers/utf8_string.py +137 -0
- polyfile/kaitai/parsers/vfat.py +410 -0
- polyfile/kaitai/parsers/vlq_base128_be.py +104 -0
- polyfile/kaitai/parsers/vlq_base128_le.py +129 -0
- polyfile/kaitai/parsers/vmware_vmdk.py +167 -0
- polyfile/kaitai/parsers/vp8_ivf.py +112 -0
- polyfile/kaitai/parsers/warcraft_2_pud.py +423 -0
- polyfile/kaitai/parsers/wav.py +1014 -0
- polyfile/kaitai/parsers/websocket.py +167 -0
- polyfile/kaitai/parsers/windows_evt_log.py +304 -0
- polyfile/kaitai/parsers/windows_lnk_file.py +467 -0
- polyfile/kaitai/parsers/windows_minidump.py +575 -0
- polyfile/kaitai/parsers/windows_resource_file.py +243 -0
- polyfile/kaitai/parsers/windows_shell_items.py +190 -0
- polyfile/kaitai/parsers/windows_systemtime.py +52 -0
- polyfile/kaitai/parsers/wmf.py +502 -0
- polyfile/kaitai/parsers/xar.py +181 -0
- polyfile/kaitai/parsers/xwd.py +189 -0
- polyfile/kaitai/parsers/zip.py +685 -0
- polyfile/kaitai/parsers/zisofs.py +158 -0
- polyfile/kaitai/parsers/zx_spectrum_tap.py +184 -0
- polyfile/kaitaimatcher.py +113 -0
- polyfile/languagematcher.py +217 -0
- polyfile/logger.py +135 -0
- polyfile/magic.py +2983 -0
- polyfile/magic_defs/COPYING +29 -0
- polyfile/magic_defs/__init__.py +0 -0
- polyfile/magic_defs/acorn +102 -0
- polyfile/magic_defs/adi +13 -0
- polyfile/magic_defs/adventure +122 -0
- polyfile/magic_defs/aes +29 -0
- polyfile/magic_defs/algol68 +35 -0
- polyfile/magic_defs/allegro +9 -0
- polyfile/magic_defs/alliant +18 -0
- polyfile/magic_defs/alpha +32 -0
- polyfile/magic_defs/amanda +12 -0
- polyfile/magic_defs/amigaos +218 -0
- polyfile/magic_defs/android +259 -0
- polyfile/magic_defs/animation +1197 -0
- polyfile/magic_defs/aout +46 -0
- polyfile/magic_defs/apache +28 -0
- polyfile/magic_defs/apl +7 -0
- polyfile/magic_defs/apple +773 -0
- polyfile/magic_defs/application +7 -0
- polyfile/magic_defs/applix +13 -0
- polyfile/magic_defs/apt +52 -0
- polyfile/magic_defs/archive +2586 -0
- polyfile/magic_defs/aria +38 -0
- polyfile/magic_defs/arm +50 -0
- polyfile/magic_defs/asf +132 -0
- polyfile/magic_defs/assembler +18 -0
- polyfile/magic_defs/asterix +18 -0
- polyfile/magic_defs/att3b +41 -0
- polyfile/magic_defs/audio +1291 -0
- polyfile/magic_defs/avm +33 -0
- polyfile/magic_defs/basis +18 -0
- polyfile/magic_defs/beetle +7 -0
- polyfile/magic_defs/ber +65 -0
- polyfile/magic_defs/bflt +14 -0
- polyfile/magic_defs/bhl +10 -0
- polyfile/magic_defs/bioinformatics +178 -0
- polyfile/magic_defs/biosig +154 -0
- polyfile/magic_defs/blackberry +8 -0
- polyfile/magic_defs/blcr +25 -0
- polyfile/magic_defs/blender +50 -0
- polyfile/magic_defs/blit +24 -0
- polyfile/magic_defs/bm +10 -0
- polyfile/magic_defs/bout +11 -0
- polyfile/magic_defs/bsdi +33 -0
- polyfile/magic_defs/bsi +10 -0
- polyfile/magic_defs/btsnoop +13 -0
- polyfile/magic_defs/burp +7 -0
- polyfile/magic_defs/bytecode +41 -0
- polyfile/magic_defs/c-lang +110 -0
- polyfile/magic_defs/c64 +531 -0
- polyfile/magic_defs/cad +437 -0
- polyfile/magic_defs/cafebabe +107 -0
- polyfile/magic_defs/cbor +21 -0
- polyfile/magic_defs/ccf +14 -0
- polyfile/magic_defs/cddb +12 -0
- polyfile/magic_defs/chord +15 -0
- polyfile/magic_defs/cisco +12 -0
- polyfile/magic_defs/citrus +12 -0
- polyfile/magic_defs/clarion +27 -0
- polyfile/magic_defs/claris +48 -0
- polyfile/magic_defs/clipper +65 -0
- polyfile/magic_defs/clojure +30 -0
- polyfile/magic_defs/coff +98 -0
- polyfile/magic_defs/commands +201 -0
- polyfile/magic_defs/communications +22 -0
- polyfile/magic_defs/compress +461 -0
- polyfile/magic_defs/console +1213 -0
- polyfile/magic_defs/convex +69 -0
- polyfile/magic_defs/coverage +91 -0
- polyfile/magic_defs/cracklib +14 -0
- polyfile/magic_defs/crypto +31 -0
- polyfile/magic_defs/csv +8 -0
- polyfile/magic_defs/ctags +6 -0
- polyfile/magic_defs/ctf +23 -0
- polyfile/magic_defs/cubemap +8 -0
- polyfile/magic_defs/cups +56 -0
- polyfile/magic_defs/dact +11 -0
- polyfile/magic_defs/database +886 -0
- polyfile/magic_defs/dataone +47 -0
- polyfile/magic_defs/dbpf +15 -0
- polyfile/magic_defs/der +146 -0
- polyfile/magic_defs/diamond +12 -0
- polyfile/magic_defs/dif +33 -0
- polyfile/magic_defs/diff +41 -0
- polyfile/magic_defs/digital +59 -0
- polyfile/magic_defs/dolby +69 -0
- polyfile/magic_defs/dsf +25 -0
- polyfile/magic_defs/dump +96 -0
- polyfile/magic_defs/dwarfs +45 -0
- polyfile/magic_defs/dyadic +61 -0
- polyfile/magic_defs/ebml +8 -0
- polyfile/magic_defs/edid +11 -0
- polyfile/magic_defs/editors +43 -0
- polyfile/magic_defs/efi +15 -0
- polyfile/magic_defs/elf +379 -0
- polyfile/magic_defs/encore +22 -0
- polyfile/magic_defs/epoc +62 -0
- polyfile/magic_defs/erlang +21 -0
- polyfile/magic_defs/espressif +57 -0
- polyfile/magic_defs/esri +28 -0
- polyfile/magic_defs/etf +33 -0
- polyfile/magic_defs/fcs +9 -0
- polyfile/magic_defs/filesystems +2694 -0
- polyfile/magic_defs/finger +16 -0
- polyfile/magic_defs/firmware +133 -0
- polyfile/magic_defs/flash +62 -0
- polyfile/magic_defs/flif +36 -0
- polyfile/magic_defs/fonts +449 -0
- polyfile/magic_defs/forth +82 -0
- polyfile/magic_defs/fortran +9 -0
- polyfile/magic_defs/frame +62 -0
- polyfile/magic_defs/freebsd +164 -0
- polyfile/magic_defs/fsav +128 -0
- polyfile/magic_defs/fusecompress +12 -0
- polyfile/magic_defs/games +696 -0
- polyfile/magic_defs/gcc +17 -0
- polyfile/magic_defs/gconv +10 -0
- polyfile/magic_defs/gentoo +85 -0
- polyfile/magic_defs/geo +166 -0
- polyfile/magic_defs/geos +20 -0
- polyfile/magic_defs/gimp +77 -0
- polyfile/magic_defs/git +13 -0
- polyfile/magic_defs/glibc +21 -0
- polyfile/magic_defs/gnome +59 -0
- polyfile/magic_defs/gnu +173 -0
- polyfile/magic_defs/gnumeric +8 -0
- polyfile/magic_defs/gpt +240 -0
- polyfile/magic_defs/gpu +28 -0
- polyfile/magic_defs/grace +21 -0
- polyfile/magic_defs/graphviz +12 -0
- polyfile/magic_defs/gringotts +48 -0
- polyfile/magic_defs/guile +13 -0
- polyfile/magic_defs/hardware +12 -0
- polyfile/magic_defs/hitachi-sh +30 -0
- polyfile/magic_defs/hp +433 -0
- polyfile/magic_defs/human68k +26 -0
- polyfile/magic_defs/ibm370 +52 -0
- polyfile/magic_defs/ibm6000 +35 -0
- polyfile/magic_defs/icc +214 -0
- polyfile/magic_defs/iff +80 -0
- polyfile/magic_defs/images +4210 -0
- polyfile/magic_defs/inform +9 -0
- polyfile/magic_defs/intel +310 -0
- polyfile/magic_defs/interleaf +9 -0
- polyfile/magic_defs/island +10 -0
- polyfile/magic_defs/ispell +63 -0
- polyfile/magic_defs/isz +15 -0
- polyfile/magic_defs/java +52 -0
- polyfile/magic_defs/javascript +171 -0
- polyfile/magic_defs/jpeg +252 -0
- polyfile/magic_defs/json +8 -0
- polyfile/magic_defs/karma +9 -0
- polyfile/magic_defs/kde +11 -0
- polyfile/magic_defs/keepass +20 -0
- polyfile/magic_defs/kerberos +45 -0
- polyfile/magic_defs/kicad +85 -0
- polyfile/magic_defs/kml +34 -0
- polyfile/magic_defs/lammps +64 -0
- polyfile/magic_defs/lecter +6 -0
- polyfile/magic_defs/lex +12 -0
- polyfile/magic_defs/lif +50 -0
- polyfile/magic_defs/linux +557 -0
- polyfile/magic_defs/lisp +78 -0
- polyfile/magic_defs/llvm +22 -0
- polyfile/magic_defs/locoscript +12 -0
- polyfile/magic_defs/lua +31 -0
- polyfile/magic_defs/luks +126 -0
- polyfile/magic_defs/m4 +11 -0
- polyfile/magic_defs/mach +303 -0
- polyfile/magic_defs/macintosh +505 -0
- polyfile/magic_defs/macos +7 -0
- polyfile/magic_defs/magic +10 -0
- polyfile/magic_defs/magic.mgc +0 -0
- polyfile/magic_defs/mail.news +132 -0
- polyfile/magic_defs/make +21 -0
- polyfile/magic_defs/map +413 -0
- polyfile/magic_defs/maple +109 -0
- polyfile/magic_defs/marc21 +30 -0
- polyfile/magic_defs/mathcad +8 -0
- polyfile/magic_defs/mathematica +188 -0
- polyfile/magic_defs/matroska +17 -0
- polyfile/magic_defs/mcrypt +52 -0
- polyfile/magic_defs/measure +44 -0
- polyfile/magic_defs/mercurial +13 -0
- polyfile/magic_defs/metastore +8 -0
- polyfile/magic_defs/meteorological +53 -0
- polyfile/magic_defs/microfocus +21 -0
- polyfile/magic_defs/mime +9 -0
- polyfile/magic_defs/mips +120 -0
- polyfile/magic_defs/mirage +8 -0
- polyfile/magic_defs/misctools +140 -0
- polyfile/magic_defs/mkid +11 -0
- polyfile/magic_defs/mlssa +8 -0
- polyfile/magic_defs/mmdf +6 -0
- polyfile/magic_defs/modem +92 -0
- polyfile/magic_defs/modulefile +9 -0
- polyfile/magic_defs/motorola +71 -0
- polyfile/magic_defs/mozilla +37 -0
- polyfile/magic_defs/msdos +2304 -0
- polyfile/magic_defs/msooxml +68 -0
- polyfile/magic_defs/msvc +222 -0
- polyfile/magic_defs/msx +309 -0
- polyfile/magic_defs/mup +24 -0
- polyfile/magic_defs/music +17 -0
- polyfile/magic_defs/nasa +7 -0
- polyfile/magic_defs/natinst +24 -0
- polyfile/magic_defs/ncr +49 -0
- polyfile/magic_defs/neko +12 -0
- polyfile/magic_defs/netbsd +251 -0
- polyfile/magic_defs/netscape +26 -0
- polyfile/magic_defs/netware +11 -0
- polyfile/magic_defs/news +13 -0
- polyfile/magic_defs/nifty +202 -0
- polyfile/magic_defs/nim-lang +29 -0
- polyfile/magic_defs/nitpicker +14 -0
- polyfile/magic_defs/numpy +9 -0
- polyfile/magic_defs/oasis +12 -0
- polyfile/magic_defs/ocaml +14 -0
- polyfile/magic_defs/octave +6 -0
- polyfile/magic_defs/ole2compounddocs +760 -0
- polyfile/magic_defs/olf +98 -0
- polyfile/magic_defs/openfst +17 -0
- polyfile/magic_defs/opentimestamps +16 -0
- polyfile/magic_defs/oric +16 -0
- polyfile/magic_defs/os2 +186 -0
- polyfile/magic_defs/os400 +39 -0
- polyfile/magic_defs/os9 +80 -0
- polyfile/magic_defs/osf1 +10 -0
- polyfile/magic_defs/palm +156 -0
- polyfile/magic_defs/parix +13 -0
- polyfile/magic_defs/parrot +22 -0
- polyfile/magic_defs/pascal +39 -0
- polyfile/magic_defs/pbf +11 -0
- polyfile/magic_defs/pbm +8 -0
- polyfile/magic_defs/pc88 +24 -0
- polyfile/magic_defs/pc98 +77 -0
- polyfile/magic_defs/pci_ids +116 -0
- polyfile/magic_defs/pcjr +8 -0
- polyfile/magic_defs/pdf +51 -0
- polyfile/magic_defs/pdp +42 -0
- polyfile/magic_defs/perl +100 -0
- polyfile/magic_defs/pgf +52 -0
- polyfile/magic_defs/pgp +581 -0
- polyfile/magic_defs/pgp-binary-keys +388 -0
- polyfile/magic_defs/pkgadd +7 -0
- polyfile/magic_defs/plan9 +25 -0
- polyfile/magic_defs/playdate +57 -0
- polyfile/magic_defs/plus5 +18 -0
- polyfile/magic_defs/pmem +46 -0
- polyfile/magic_defs/polyfile_zip +5 -0
- polyfile/magic_defs/polyml +23 -0
- polyfile/magic_defs/printer +269 -0
- polyfile/magic_defs/project +10 -0
- polyfile/magic_defs/psdbms +14 -0
- polyfile/magic_defs/psl +14 -0
- polyfile/magic_defs/pulsar +13 -0
- polyfile/magic_defs/puzzle +17 -0
- polyfile/magic_defs/pwsafe +14 -0
- polyfile/magic_defs/pyramid +12 -0
- polyfile/magic_defs/python +305 -0
- polyfile/magic_defs/qt +30 -0
- polyfile/magic_defs/revision +66 -0
- polyfile/magic_defs/riff +840 -0
- polyfile/magic_defs/rinex +44 -0
- polyfile/magic_defs/ringdove +45 -0
- polyfile/magic_defs/rpi +52 -0
- polyfile/magic_defs/rpm +45 -0
- polyfile/magic_defs/rpmsg +7 -0
- polyfile/magic_defs/rst +11 -0
- polyfile/magic_defs/rtf +94 -0
- polyfile/magic_defs/ruby +55 -0
- polyfile/magic_defs/rust +21 -0
- polyfile/magic_defs/sc +7 -0
- polyfile/magic_defs/sccs +24 -0
- polyfile/magic_defs/scientific +144 -0
- polyfile/magic_defs/securitycerts +6 -0
- polyfile/magic_defs/selinux +24 -0
- polyfile/magic_defs/sendmail +37 -0
- polyfile/magic_defs/sequent +42 -0
- polyfile/magic_defs/sereal +35 -0
- polyfile/magic_defs/sgi +144 -0
- polyfile/magic_defs/sgml +161 -0
- polyfile/magic_defs/sharc +23 -0
- polyfile/magic_defs/sinclair +40 -0
- polyfile/magic_defs/sisu +18 -0
- polyfile/magic_defs/sketch +6 -0
- polyfile/magic_defs/smalltalk +25 -0
- polyfile/magic_defs/smile +34 -0
- polyfile/magic_defs/sniffer +482 -0
- polyfile/magic_defs/softquad +40 -0
- polyfile/magic_defs/sosi +40 -0
- polyfile/magic_defs/spec +21 -0
- polyfile/magic_defs/spectrum +184 -0
- polyfile/magic_defs/sql +288 -0
- polyfile/magic_defs/ssh +39 -0
- polyfile/magic_defs/ssl +20 -0
- polyfile/magic_defs/statistics +45 -0
- polyfile/magic_defs/subtitle +38 -0
- polyfile/magic_defs/sun +141 -0
- polyfile/magic_defs/svf +5 -0
- polyfile/magic_defs/sylk +36 -0
- polyfile/magic_defs/symbos +42 -0
- polyfile/magic_defs/sysex +429 -0
- polyfile/magic_defs/tcl +29 -0
- polyfile/magic_defs/teapot +6 -0
- polyfile/magic_defs/terminfo +63 -0
- polyfile/magic_defs/tex +141 -0
- polyfile/magic_defs/tgif +7 -0
- polyfile/magic_defs/ti-8x +239 -0
- polyfile/magic_defs/timezone +42 -0
- polyfile/magic_defs/tplink +95 -0
- polyfile/magic_defs/troff +38 -0
- polyfile/magic_defs/tuxedo +8 -0
- polyfile/magic_defs/typeset +8 -0
- polyfile/magic_defs/uf2 +72 -0
- polyfile/magic_defs/unicode +15 -0
- polyfile/magic_defs/unisig +12 -0
- polyfile/magic_defs/unknown +34 -0
- polyfile/magic_defs/usd +21 -0
- polyfile/magic_defs/uterus +16 -0
- polyfile/magic_defs/uuencode +28 -0
- polyfile/magic_defs/vacuum-cleaner +54 -0
- polyfile/magic_defs/varied.out +46 -0
- polyfile/magic_defs/varied.script +21 -0
- polyfile/magic_defs/vax +32 -0
- polyfile/magic_defs/vicar +17 -0
- polyfile/magic_defs/virtual +307 -0
- polyfile/magic_defs/virtutech +12 -0
- polyfile/magic_defs/visx +32 -0
- polyfile/magic_defs/vms +30 -0
- polyfile/magic_defs/vmware +6 -0
- polyfile/magic_defs/vorbis +155 -0
- polyfile/magic_defs/vxl +14 -0
- polyfile/magic_defs/warc +16 -0
- polyfile/magic_defs/weak +16 -0
- polyfile/magic_defs/web +18 -0
- polyfile/magic_defs/webassembly +17 -0
- polyfile/magic_defs/windows +1811 -0
- polyfile/magic_defs/wireless +7 -0
- polyfile/magic_defs/wordprocessors +630 -0
- polyfile/magic_defs/wsdl +23 -0
- polyfile/magic_defs/x68000 +25 -0
- polyfile/magic_defs/xdelta +13 -0
- polyfile/magic_defs/xenix +106 -0
- polyfile/magic_defs/xilinx +58 -0
- polyfile/magic_defs/xo65 +37 -0
- polyfile/magic_defs/xwindows +43 -0
- polyfile/magic_defs/yara +17 -0
- polyfile/magic_defs/zfs +96 -0
- polyfile/magic_defs/zilog +12 -0
- polyfile/magic_defs/zip +126 -0
- polyfile/magic_defs/zyxel +17 -0
- polyfile/nes.py +144 -0
- polyfile/nitf.py +15 -0
- polyfile/pdf.py +1264 -0
- polyfile/pickles.py +45 -0
- polyfile/polyfile.py +409 -0
- polyfile/profiling.py +115 -0
- polyfile/repl.py +624 -0
- polyfile/search.py +310 -0
- polyfile/serialization.py +323 -0
- polyfile/structmatcher.py +46 -0
- polyfile/structs.py +281 -0
- polyfile/templates/download.js +162 -0
- polyfile/templates/hexdump.css +268 -0
- polyfile/templates/hexdump.js +756 -0
- polyfile/templates/jquery-3.4.1.min.js +2 -0
- polyfile/templates/template.html +119 -0
- polyfile/wildcards.py +62 -0
- polyfile/zipmatcher.py +183 -0
- polyfile_weave-0.5.5.dist-info/METADATA +173 -0
- polyfile_weave-0.5.5.dist-info/RECORD +585 -0
- polyfile_weave-0.5.5.dist-info/WHEEL +5 -0
- polyfile_weave-0.5.5.dist-info/entry_points.txt +2 -0
- polyfile_weave-0.5.5.dist-info/licenses/LICENSE +202 -0
- polyfile_weave-0.5.5.dist-info/top_level.txt +2 -0
- polymerge/__init__.py +1 -0
- polymerge/__main__.py +296 -0
- polymerge/cfg.py +127 -0
- polymerge/polymerge.py +227 -0
- polymerge/polytracker.py +190 -0
polyfile/magic_defs/map
ADDED
|
@@ -0,0 +1,413 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
#------------------------------------------------------------------------------
|
|
4
|
+
# $File: map,v 1.10 2023/02/03 20:41:57 christos Exp $
|
|
5
|
+
# map: file(1) magic for Map data
|
|
6
|
+
#
|
|
7
|
+
|
|
8
|
+
# Garmin .FIT files https://pub.ks-and-ks.ne.jp/cycling/edge500_fit.shtml
|
|
9
|
+
8 string .FIT FIT Map data
|
|
10
|
+
>15 byte 0
|
|
11
|
+
>>35 belong x \b, unit id %d
|
|
12
|
+
>>39 lelong x \b, serial %u
|
|
13
|
+
# https://pub.ks-and-ks.ne.jp/cycling/edge500_fit.shtml
|
|
14
|
+
# 20 years after unix epoch
|
|
15
|
+
# TZ=GMT date -d '1989-12-31 0:00' +%s
|
|
16
|
+
>>43 leldate+631065600 x \b, %s
|
|
17
|
+
|
|
18
|
+
>>47 leshort x \b, manufacturer %d
|
|
19
|
+
>>47 leshort 1 \b (garmin)
|
|
20
|
+
>>49 leshort x \b, product %d
|
|
21
|
+
>>53 byte x \b, type %d
|
|
22
|
+
>>53 byte 1 \b (Device)
|
|
23
|
+
>>53 byte 2 \b (Settings)
|
|
24
|
+
>>53 byte 3 \b (Sports/Cycling)
|
|
25
|
+
>>53 byte 4 \b (Activity)
|
|
26
|
+
>>53 byte 8 \b (Elevations)
|
|
27
|
+
>>53 byte 10 \b (Totals)
|
|
28
|
+
|
|
29
|
+
# Summary: Garmin map
|
|
30
|
+
# From: Joerg Jenderek
|
|
31
|
+
# URL: https://en.wikipedia.org/wiki/Garmin_.img
|
|
32
|
+
# Reference: https://wiki.openstreetmap.org/wiki/OSM_Map_On_Garmin/IMG_File_Format
|
|
33
|
+
# sourceforge.net/projects/garmin-img/files/IMG%20File%20Format/1.0/imgformat-1.0.pdf
|
|
34
|
+
# GRR: similar to MBR boot sector handled by ./filesystems
|
|
35
|
+
0x1FE leshort =0xAA55
|
|
36
|
+
# look for valid map signature
|
|
37
|
+
>0x13 string =IMG\0
|
|
38
|
+
>>0 use garmin-map
|
|
39
|
+
0 name garmin-map
|
|
40
|
+
>0 ubyte x Garmin
|
|
41
|
+
!:mime application/x-garmin-map
|
|
42
|
+
# If non-zero, every byte of the entire .img file is to be XORed with this value
|
|
43
|
+
>0 ubyte !0 \b, %#x XORed
|
|
44
|
+
# goto block before FAT
|
|
45
|
+
>(0x40.b*512) ubyte x
|
|
46
|
+
# 1st fat name "DLLINFO TXT" only found for vpm
|
|
47
|
+
>>&512 string =DLLINFO\ TXT map (Voice Processing)
|
|
48
|
+
# there exist 2 other Garmin VPM formats; see ./audio
|
|
49
|
+
!:ext vpm
|
|
50
|
+
# Deutsch__Yannick_D4481-00_0210.vpm
|
|
51
|
+
#>>>512 search/0x0116da60/s RIFF \b; with
|
|
52
|
+
# determine type voice type by ./riff
|
|
53
|
+
#>>>>&0 indirect x \b
|
|
54
|
+
>>&512 string !DLLINFO\ TXT map
|
|
55
|
+
!:ext img
|
|
56
|
+
# 9 zeros
|
|
57
|
+
>1 ubelong !0 \b, zeroes %#x
|
|
58
|
+
# Map's version major
|
|
59
|
+
>8 ubyte x v%u
|
|
60
|
+
# Map's version minor
|
|
61
|
+
>9 ubyte x \b.%.2u
|
|
62
|
+
# Map description[20], 0x20 padded
|
|
63
|
+
>0x49 string x %.20s
|
|
64
|
+
# Map name, continued (0x20 padded, \0 terminated)
|
|
65
|
+
>0x65 string >\ \b%.31s
|
|
66
|
+
# Update year (+1900 for val >= 0x63, +2000 for val <= 0x62)
|
|
67
|
+
>0xB ubyte x \b, updated
|
|
68
|
+
>>0xB ubyte >0x62
|
|
69
|
+
>>>0xB ubyte-100 x 20%.2u
|
|
70
|
+
>>0xB ubyte <0x63
|
|
71
|
+
>>>0xB ubyte x 20%.2u
|
|
72
|
+
# Update month (0-11)
|
|
73
|
+
>0xA ubyte x \b-%.2u
|
|
74
|
+
# All zeroes
|
|
75
|
+
>0xc uleshort !0 \b, zeroes %#x
|
|
76
|
+
# Mapsource flag, 1 - file created by Mapsource, 0 - Garmin map visible in Basecamp and Homeport
|
|
77
|
+
#>0xE ubyte !0 \b, Mapsource flag %#x
|
|
78
|
+
>0xE ubyte 1 \b, Mapsource
|
|
79
|
+
# Checksum, sum of all bytes modulo 256 should be 0
|
|
80
|
+
#>0xF ubyte x \b, Checksum %#x
|
|
81
|
+
# Signature: DSKIMG 0x00 or DSDIMG 0x00 for demo map
|
|
82
|
+
>0x10 string !DSKIMG \b, signature "%.7s"
|
|
83
|
+
>0x39 use garmin-date
|
|
84
|
+
# Map file identifier like GARMIN\0
|
|
85
|
+
>0x41 string !GARMIN \b, id "%.7s"
|
|
86
|
+
# Block size exponent, E1; appears to always be 0x09; minimum block size 512 bytes
|
|
87
|
+
>0x61 ubyte !0x09 \b, E1=%u
|
|
88
|
+
# Block size exponent, E2 ; file blocksize=2**(E1+E2)
|
|
89
|
+
>>0x62 ubyte x \b, E2=%u
|
|
90
|
+
>0x61 ubyte =0x09 \b, blocksize
|
|
91
|
+
>>0x62 ubyte 0 512
|
|
92
|
+
>>0x62 ubyte 1 1024
|
|
93
|
+
>>0x62 ubyte 2 2048
|
|
94
|
+
>>0x62 ubyte 3 4096
|
|
95
|
+
>>0x62 ubyte 4 8192
|
|
96
|
+
>>0x62 ubyte 5 16384
|
|
97
|
+
>>0x62 default x
|
|
98
|
+
>>>0x62 ubyte x E2=%u
|
|
99
|
+
# MBR signature
|
|
100
|
+
>0x1FE leshort !0xAA55 \b, invalid MBR
|
|
101
|
+
# 512 zeros
|
|
102
|
+
>0x200 uquad !0 \b, zeroes %#llx
|
|
103
|
+
# First sub-file offset (absolute); sometimes NO/UNKNOWN sub file!
|
|
104
|
+
>0x40C ulelong >0 \b, at %#x
|
|
105
|
+
# sub-file Header length
|
|
106
|
+
#>>(0x40C.l) uleshort x \b, header len %#x
|
|
107
|
+
>>(0x40C.l) uleshort x %u bytes
|
|
108
|
+
# sub-file Type[10] like "GARMIN RGN" "GARMIN TRE", "GARMIN TYP", etc.
|
|
109
|
+
>>(0x40C.l+2) ubyte >0x1F
|
|
110
|
+
>>>(0x40C.l+2) ubyte <0xFF
|
|
111
|
+
>>>>(0x40C.l+2) string x "%.10s"
|
|
112
|
+
# 0x00 for most maps, 0x80 for locked maps (City Nav, City Select, etc.)
|
|
113
|
+
>>>>(0x40C.l+13) ubyte >0 \b, locked %#x
|
|
114
|
+
# Block sequence numbers like 0000 0100 0200 ... FFFF
|
|
115
|
+
# >0x420 ubequad >0 \b, seq. %#16.16llx
|
|
116
|
+
# >>0x428 ubequad >0 \b%16.16llx
|
|
117
|
+
# >>>0x430 ubequad >0 \b%16.16llx
|
|
118
|
+
# >>>>0x438 ubequad >0 \b%16.16llx
|
|
119
|
+
# >>>>>0x440 ubequad >0 \b%16.16llx
|
|
120
|
+
# >>>>>>0x448 ubequad >0 \b%16.16llx
|
|
121
|
+
# >>>>>>>0x450 ubequad >0 \b%16.16llx
|
|
122
|
+
# >>>>>>>>0x458 ubequad >0 \b%16.16llx
|
|
123
|
+
# >>>>>>>>>0x460 ubequad >0 \b%16.16llx
|
|
124
|
+
# >>>>>>>>>>0x468 ubequad >0 \b%16.16llx
|
|
125
|
+
# >>>>>>>>>>>0x470 ubequad >0 \b%16.16llx
|
|
126
|
+
# >>>>>>>>>>>>0x478 ubequad >0 \b%16.16llx
|
|
127
|
+
# >>>>>>>>>>>>>0x480 ubequad >0 \b%16.16llx
|
|
128
|
+
# >>>>>>>>>>>>>>0x488 ubequad >0 \b%16.16llx
|
|
129
|
+
# >>>>>>>>>>>>>>>0x490 ubequad >0 \b%16.16llx
|
|
130
|
+
# >>>>>>>>>>>>>>>>0x498 ubequad >0 \b%16.16llx
|
|
131
|
+
# >>>>>>>>>>>>>>>>>0x4A0 ubequad >0 \b%16.16llx
|
|
132
|
+
# >>>>>>>>>>>>>>>>>>0x4A8 ubequad >0 \b%16.16llx
|
|
133
|
+
# look for end of FAT
|
|
134
|
+
#>>0x420 search/512/s \xff\xff FAT END
|
|
135
|
+
# Physical block number of FAT header
|
|
136
|
+
#>0x40 ubyte x \b, FAT at phy. block %u
|
|
137
|
+
>0x40 ubyte x
|
|
138
|
+
>>(0x40.b*512) ubyte x
|
|
139
|
+
# 1st FAT block
|
|
140
|
+
>>>&511 use garmin-fat
|
|
141
|
+
# 2nd FAT block
|
|
142
|
+
>>>&1023 use garmin-fat
|
|
143
|
+
# 3th FAT block
|
|
144
|
+
>>>&1535 use garmin-fat
|
|
145
|
+
# 4th FAT block
|
|
146
|
+
>>>&2047 use garmin-fat
|
|
147
|
+
# ... xth FAT block
|
|
148
|
+
#
|
|
149
|
+
# 314 zeros but not in vpm and also gmaptz.img
|
|
150
|
+
>0x84 uquad !0 \b, at 0x84 %#llx
|
|
151
|
+
# display FileAllocationTable block entry in garmin map
|
|
152
|
+
0 name garmin-fat
|
|
153
|
+
>0 ubyte x \b;
|
|
154
|
+
# sub file part; 0x0003 seems to be garbage
|
|
155
|
+
>0x10 uleshort !0 next %#4.4x
|
|
156
|
+
>0x10 uleshort =0
|
|
157
|
+
# fat flag 0~dummy block 1~true sub file
|
|
158
|
+
>>0 ubyte !1 flag %u
|
|
159
|
+
>>0 ubyte =1
|
|
160
|
+
# sub-file name like MAKEGMAP 12345678
|
|
161
|
+
>>>0x1 string x %.8s
|
|
162
|
+
# sub-file typ like RGN TRE MDR LBL
|
|
163
|
+
>>>0x9 string x \b.%.3s
|
|
164
|
+
# size of sub file
|
|
165
|
+
>>>0xC ulelong x \b, %u bytes
|
|
166
|
+
# 32-bit block sequence numbers
|
|
167
|
+
#>>>0x20 ubequad x \b, seq. %#16.16llx
|
|
168
|
+
|
|
169
|
+
# display date stored inside Garmin maps like yyyy-mm-dd h:mm:ss
|
|
170
|
+
0 name garmin-date
|
|
171
|
+
# year like 2018
|
|
172
|
+
>0 uleshort x \b, created %u
|
|
173
|
+
# month (0-11)
|
|
174
|
+
>2 ubyte x \b-%.2u
|
|
175
|
+
# day (1-31)
|
|
176
|
+
>3 ubyte x \b-%.2u
|
|
177
|
+
# hour (0-23)
|
|
178
|
+
>4 ubyte x %u
|
|
179
|
+
# minute (0-59)
|
|
180
|
+
>5 ubyte x \b:%.2u
|
|
181
|
+
# second (0-59)
|
|
182
|
+
>6 ubyte x \b:%.2u
|
|
183
|
+
|
|
184
|
+
# Summary: Garmin Map subfiles
|
|
185
|
+
# From: Joerg Jenderek
|
|
186
|
+
# URL: https://wiki.openstreetmap.org/wiki/OSM_Map_On_Garmin/IMG_File_Format
|
|
187
|
+
# Garmin Common Header
|
|
188
|
+
2 string GARMIN\
|
|
189
|
+
# skip ASCII text by checking for low header length
|
|
190
|
+
>0 uleshort <0x1000 Garmin map,
|
|
191
|
+
# URL: https://wiki.openstreetmap.org/wiki/OSM_Map_On_Garmin/GMP_Subfile_Format
|
|
192
|
+
>>9 string GMP subtile
|
|
193
|
+
!:mime application/x-garmin-gpm
|
|
194
|
+
!:ext gmp
|
|
195
|
+
# copyright message
|
|
196
|
+
>>>(0.s) string x %s
|
|
197
|
+
>>>0x0E use garmin-date
|
|
198
|
+
# URL: https://wiki.openstreetmap.org/wiki/OSM_Map_On_Garmin/MDR_Subfile_Format
|
|
199
|
+
# This contains the searchable address table used for finding routing destinations
|
|
200
|
+
>>9 string MDR address table
|
|
201
|
+
!:mime application/x-garmin-mdr
|
|
202
|
+
!:ext mdr
|
|
203
|
+
# URL: https://wiki.openstreetmap.org/wiki/OSM_Map_On_Garmin/NOD_Subfile_Format
|
|
204
|
+
# http://svn.parabola.me.uk/display/trunk/doc/nod.txt
|
|
205
|
+
# This contains the routing information
|
|
206
|
+
>>9 string NOD routing
|
|
207
|
+
!:mime application/x-garmin-nod
|
|
208
|
+
!:ext nod
|
|
209
|
+
>>>0x0E use garmin-date
|
|
210
|
+
#>>>0x15 ulelong x \b, at %#x
|
|
211
|
+
#>>>0x19 ulelong x %#x bytes NOD1
|
|
212
|
+
#>>>0x25 ulelong x \b, at %#x
|
|
213
|
+
#>>>0x29 ulelong x %#x bytes NOD2
|
|
214
|
+
#>>>0x31 ulelong x \b, at %#x
|
|
215
|
+
#>>>0x35 ulelong x %#x bytes NOD3
|
|
216
|
+
# URL: http://www.pinns.co.uk/osm/net.html
|
|
217
|
+
# routable highways (length, direction, allowed speed,house address information)
|
|
218
|
+
>>9 string NET highways
|
|
219
|
+
!:mime application/x-garmin-net
|
|
220
|
+
!:ext net
|
|
221
|
+
#>>>0x15 ulelong x \b, at %#x
|
|
222
|
+
#>>>0x19 ulelong x %#x bytes NET1
|
|
223
|
+
#>>>0x22 ulelong >0
|
|
224
|
+
#>>>>0x1E ulelong x \b, at %#x
|
|
225
|
+
#>>>>0x22 ulelong x %#x bytes NET2
|
|
226
|
+
#>>>0x2B ulelong >0
|
|
227
|
+
#>>>>0x27 ulelong x \b, at %#x
|
|
228
|
+
#>>>>0x2B ulelong x %#x bytes NET3
|
|
229
|
+
# URL: https://wiki.openstreetmap.org/wiki/OSM_Map_On_Garmin/LBL_Subfile_Format
|
|
230
|
+
>>9 string LBL labels
|
|
231
|
+
!:mime application/x-garmin-lbl
|
|
232
|
+
!:ext lbl
|
|
233
|
+
>>>(0.s) string x %s
|
|
234
|
+
# Label coding type 6h 9h and ah
|
|
235
|
+
>>>0x1E ubyte x \b, coding type %#x
|
|
236
|
+
#>>>0x15 ulelong x \b, at %#x
|
|
237
|
+
#>>>0x19 ulelong x %#x bytes LBL1
|
|
238
|
+
#>>>0x1F ulelong x \b, at %#x
|
|
239
|
+
#>>>0x23 ulelong x %#x bytes LBL2
|
|
240
|
+
#>>>0x2D ulelong x \b, at %#x
|
|
241
|
+
#>>>0x31 ulelong x %#x bytes LBL3
|
|
242
|
+
# URL: https://wiki.openstreetmap.org/wiki/OSM_Map_On_Garmin/SRT_Subfile_Format
|
|
243
|
+
# A lookup table of the chars in the map's codepage, and their collating sequence
|
|
244
|
+
>>9 string SRT sort table
|
|
245
|
+
!:mime application/x-garmin-srt
|
|
246
|
+
!:ext srt
|
|
247
|
+
>>>0x0E use garmin-date
|
|
248
|
+
# URL: https://wiki.openstreetmap.org/wiki/OSM_Map_On_Garmin/TRE_Subfile_Format
|
|
249
|
+
>>9 string TRE tree
|
|
250
|
+
!:mime application/x-garmin-tre
|
|
251
|
+
!:ext tre
|
|
252
|
+
# title like City Nav Europe NTU 2019.2 Basemap
|
|
253
|
+
# or OSM Street map
|
|
254
|
+
>>>(0.s) string x %s
|
|
255
|
+
# 2nd title like Copyright 1995-2018 by GARMIN Corporation.
|
|
256
|
+
# or http://www.openstreetmap.org/
|
|
257
|
+
>>>>&1 string x %s
|
|
258
|
+
>>>0x0E use garmin-date
|
|
259
|
+
#>>>0x21 ulelong x \b, at %#x
|
|
260
|
+
#>>>0x25 ulelong x %#x bytes TRE1
|
|
261
|
+
#>>>0x29 ulelong x \b, at %#x
|
|
262
|
+
#>>>0x2D ulelong x %#x bytes TRE2
|
|
263
|
+
#>>>0x31 ulelong x \b, at %#x
|
|
264
|
+
#>>>0x35 ulelong x %#x bytes TRE3
|
|
265
|
+
# Copyright record size
|
|
266
|
+
#>>>0x39 uleshort x \b, copyright record size %u
|
|
267
|
+
# Map ID
|
|
268
|
+
>>>0x74 ulelong x \b, ID %#x
|
|
269
|
+
# URL: https://www.gpspower.net/garmin-tutorials/353310-basecamp-installing-free-desktop-map.html
|
|
270
|
+
# For road traffic information service (RDS/TMS/TMC). Commonly seen in City Navigator maps
|
|
271
|
+
>>9 string TRF traffic,
|
|
272
|
+
!:mime application/x-garmin-trf
|
|
273
|
+
!:ext trf
|
|
274
|
+
# city/region like Preitenegg
|
|
275
|
+
>>>(0.s+1) string x 1st %s
|
|
276
|
+
# highway part like L606/L148
|
|
277
|
+
>>>>&1 string x %s
|
|
278
|
+
# URL: https://wiki.openstreetmap.org/wiki/OSM_Map_On_Garmin/Format
|
|
279
|
+
# Reference: http://www.pinns.co.uk/osm/typformat.html
|
|
280
|
+
# customize the appearance of objects. For GPS and MapSource/Qlandkarte better looking maps
|
|
281
|
+
>>9 string TYP types
|
|
282
|
+
!:mime application/x-garmin-typ
|
|
283
|
+
!:ext typ
|
|
284
|
+
>>>0x0E use garmin-date
|
|
285
|
+
# character set 1252 65001~UTF8
|
|
286
|
+
>>>0x15 uleshort x \b, code page %u
|
|
287
|
+
# POIs
|
|
288
|
+
#>>>0x17 ulelong x \b, at %#x
|
|
289
|
+
#>>>0x1B ulelong x %#x bytes TYP1
|
|
290
|
+
# extra pois
|
|
291
|
+
#>>>0x5B ulelong x \b, at %#x
|
|
292
|
+
#>>>0x5F ulelong x %#x bytes TYP8
|
|
293
|
+
# URL: https://wiki.openstreetmap.org/wiki/OSM_Map_On_Garmin/RGN_Subfile_Format
|
|
294
|
+
# http://www.pinns.co.uk/osm/RGN.html
|
|
295
|
+
# region data used by the Garmin software
|
|
296
|
+
>>9 string RGN region
|
|
297
|
+
!:mime application/x-garmin-rgn
|
|
298
|
+
!:ext rgn
|
|
299
|
+
# POIs,Indexed POIs,Polylines or Polygons or first map level
|
|
300
|
+
#>>>0x15 ulelong x \b, at %#x
|
|
301
|
+
#>>>0x19 ulelong x %#x bytes RGN1
|
|
302
|
+
# polygons with extended types
|
|
303
|
+
#>>>0x21 ulelong >0
|
|
304
|
+
#>>>>0x1D ulelong x \b, at %#x
|
|
305
|
+
#>>>>0x21 ulelong x %#x bytes RGN2
|
|
306
|
+
# polylines with extended types
|
|
307
|
+
#>>>0x3D ulelong >0
|
|
308
|
+
#>>>>0x39 ulelong x \b, at %#x
|
|
309
|
+
#>>>>0x3D ulelong x %#x bytes RGN3
|
|
310
|
+
# extended POIs
|
|
311
|
+
#>>>0x59 ulelong >0
|
|
312
|
+
#>>>>0x55 ulelong x \b, at %#x
|
|
313
|
+
#>>>>0x59 ulelong x %#x bytes RGN3
|
|
314
|
+
#>>9 default x unknown map type
|
|
315
|
+
# Header length; GMP:31h 35h 3Dh,MDR:11Eh 238h 2C4h 310h,NOD:3Fh 7Fh,NET:64h,
|
|
316
|
+
# LBL:2A9h,SRT:1Dh 25h 27h,TRE:CFh 135h,TRF:5Ah,TYP:5Bh 6Eh 7Ch AEh,RGN:7Dh
|
|
317
|
+
>>0 uleshort x \b, header length %#x
|
|
318
|
+
|
|
319
|
+
# URL: https://www.memotech.franken.de/FileFormats/
|
|
320
|
+
# Reference: https://www.memotech.franken.de/FileFormats/Garmin_RGN_Format.pdf
|
|
321
|
+
# From: Joerg Jenderek
|
|
322
|
+
0 string KpGr Garmin update
|
|
323
|
+
# format version like: 0064h~1.0
|
|
324
|
+
>0x4 uleshort !0x0064
|
|
325
|
+
>>4 uleshort/100 x \b, version %u
|
|
326
|
+
>>4 uleshort%100 x \b.%u
|
|
327
|
+
# 1st Garmin entry
|
|
328
|
+
>6 use garmin-entry
|
|
329
|
+
# 2nd Garmin entry
|
|
330
|
+
>(0x6.l+10) ubyte x
|
|
331
|
+
>>&0 use garmin-entry
|
|
332
|
+
# 3rd entry
|
|
333
|
+
>(0x6.l+10) ubyte x
|
|
334
|
+
>>&(&0.l+4) ubyte x
|
|
335
|
+
>>>&0 use garmin-entry
|
|
336
|
+
# look again at version to use default clause
|
|
337
|
+
>0x4 uleshort x
|
|
338
|
+
# test for region content by looking for
|
|
339
|
+
# Garmin *.srf by ./images with normal builder name "SQA" or longer "hales"
|
|
340
|
+
# 1 space after equal sign
|
|
341
|
+
>>0x3a search/5/s GARMIN\ BITMAP \b=
|
|
342
|
+
!:mime image/x-garmin-exe
|
|
343
|
+
!:ext exe
|
|
344
|
+
>>>&0 indirect x
|
|
345
|
+
# if not bitmap *.srf then region; 1 space after equal sign
|
|
346
|
+
>>0x3a default x \b=
|
|
347
|
+
!:mime application/x-garmin-rgn
|
|
348
|
+
!:ext rgn
|
|
349
|
+
# recursiv embedded
|
|
350
|
+
>>>0x3a search/5/s KpGrd
|
|
351
|
+
>>>>&0 indirect x
|
|
352
|
+
# look for ZIP or JAR archive by ./archive and ./zip
|
|
353
|
+
>>>0x3a search/5/s PK\003\004
|
|
354
|
+
>>>>&0 indirect x
|
|
355
|
+
# TODO: other garmin RGN record content like foo
|
|
356
|
+
#>>0x3a search/5/s bar BAR
|
|
357
|
+
# display information of Garmin RGN record
|
|
358
|
+
0 name garmin-entry
|
|
359
|
+
# record length: 2 for Data, for Application often 1Bh sometimes 1Dh, "big" for Region
|
|
360
|
+
#>0 ulelong x \b, length %#x
|
|
361
|
+
# data record (ID='D') with version content like 0064h~1.0
|
|
362
|
+
>4 ubyte =0x44
|
|
363
|
+
>>5 uleshort !0x0064 \b; Data
|
|
364
|
+
>>>5 uleshort/100 x \b, version %u
|
|
365
|
+
>>>5 uleshort%100 x \b.%u
|
|
366
|
+
# Application Record (ID='A')
|
|
367
|
+
>4 ubyte =0x41 \b; App
|
|
368
|
+
# version content like 00c8h~2.0
|
|
369
|
+
>>5 uleshort !0x00C8
|
|
370
|
+
>>>5 uleshort/100 x \b, version %u
|
|
371
|
+
>>>5 uleshort%100 x \b.%u
|
|
372
|
+
# builder name like: SQA sqa build hales
|
|
373
|
+
>>7 string x \b, build by %s
|
|
374
|
+
# build date like: Oct 25 1999, Oct 1 2008, Feb 23 2009, Dec 15 2009
|
|
375
|
+
>>>&1 string x %s
|
|
376
|
+
# build time like: 11:26:12, 11:45:54, 14:16:13, 18:23:01
|
|
377
|
+
>>>>&1 string x %s
|
|
378
|
+
# region record (ID='R')
|
|
379
|
+
>4 ubyte =0x52 \b; Region
|
|
380
|
+
# region ID:14~fw_all.bin: 78~ZIP, RGN or SRF bitmap; 148~ZIP or JAR; 249~display firmware; 251~WiFi or GCD firmware; 255~ZIP
|
|
381
|
+
>>5 uleshort x ID=%u
|
|
382
|
+
# delay in ms: like 0, 500
|
|
383
|
+
>>7 ulelong !0 \b, %u ms
|
|
384
|
+
# region size (is record length - 10)
|
|
385
|
+
#>>11 ulelong x \b, length %#x
|
|
386
|
+
# region content like:
|
|
387
|
+
# "KpGr"~recursiv embedded,"GARMIN BITMAP"~Garmin Bitmap *.srf, "PK"~ZIP archive
|
|
388
|
+
#>>15 string x \b, content "%s"
|
|
389
|
+
>>15 ubequad x \b, content %#llx...
|
|
390
|
+
# This does NOT WORK!
|
|
391
|
+
#>>15 indirect x \b; contains
|
|
392
|
+
>4 default x \b; other
|
|
393
|
+
# garmin Record ID Identifies the record content like: D A R
|
|
394
|
+
>>4 ubyte x ID '%c'
|
|
395
|
+
|
|
396
|
+
# TOM TOM GPS watches ttbin files:
|
|
397
|
+
# https://github.com/ryanbinns/ttwatch/tree/master/ttbin
|
|
398
|
+
# From: Daniel Lenski
|
|
399
|
+
0 byte 0x20
|
|
400
|
+
>1 leshort 0x0007
|
|
401
|
+
>>0x76 byte 0x20
|
|
402
|
+
>>>0x77 leshort 0x0075 TomTom activity file, v7
|
|
403
|
+
>>>>8 leldate x (%s,
|
|
404
|
+
>>>>3 byte x device firmware %d.
|
|
405
|
+
>>>>4 byte x \b%d.
|
|
406
|
+
>>>>5 byte x \b%d,
|
|
407
|
+
>>>>6 leshort x product ID %04d)
|
|
408
|
+
|
|
409
|
+
# Garmin firmware:
|
|
410
|
+
# https://www.memotech.franken.de/FileFormats/Garmin_GCD_Format.pdf
|
|
411
|
+
# https://www.gpsrchive.com/GPSMAP/GPSMAP%2066sr/Firmware.html
|
|
412
|
+
0 string GARMIN
|
|
413
|
+
>6 uleshort 100 GARMIN firmware (version 1.0)
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
|
|
2
|
+
#------------------------------------------------------------------------------
|
|
3
|
+
# $File: maple,v 1.10 2021/08/30 13:31:25 christos Exp $
|
|
4
|
+
# maple: file(1) magic for maple files
|
|
5
|
+
# "H. Nanosecond" <aldomel@ix.netcom.com>
|
|
6
|
+
# Maple V release 4, a multi-purpose math program
|
|
7
|
+
#
|
|
8
|
+
|
|
9
|
+
# maple library .lib
|
|
10
|
+
# URL: https://en.wikipedia.org/wiki/Maple_(software)
|
|
11
|
+
# Reference: http://mark0.net/download/triddefs_xml.7z/defs/l/lib-maple-v-r4.trid.xml
|
|
12
|
+
# Update: Joerg Jenderek
|
|
13
|
+
0 string \000MVR4\nI Maple Vr4 library
|
|
14
|
+
#!:mime application/octet-stream
|
|
15
|
+
!:mime application/x-maple-lib
|
|
16
|
+
!:ext lib
|
|
17
|
+
|
|
18
|
+
# URL: https://en.wikipedia.org/wiki/Maple_(software)
|
|
19
|
+
# Reference: http://mark0.net/download/triddefs_xml.7z/defs/l/lib-maple-v-r5.trid.xml
|
|
20
|
+
# From: Joerg Jenderek
|
|
21
|
+
0 string \000MVR5\n Maple Vr5 library
|
|
22
|
+
#!:mime application/octet-stream
|
|
23
|
+
!:mime application/x-maple-lib
|
|
24
|
+
!:ext lib
|
|
25
|
+
|
|
26
|
+
# From: Joerg Jenderek
|
|
27
|
+
0x400 string M7R0\nI Maple Vr7 library
|
|
28
|
+
#!:mime application/octet-stream
|
|
29
|
+
!:mime application/x-maple-lib
|
|
30
|
+
!:ext lib
|
|
31
|
+
# null terminated library name like: C:\Maple12/Cliffordlib\maple.lib ../Maplets/Tutors.lib
|
|
32
|
+
>5 string x %s
|
|
33
|
+
# probably library name padding with nil or points (0x2E)
|
|
34
|
+
#>0xF8 uquad x \b, PADDING 0x%16.16llx
|
|
35
|
+
# null terminated strings like: Exterior Clifford FunctionArithmetics
|
|
36
|
+
# like: 1 20 40
|
|
37
|
+
>0x115 ulelong x \b, %u string
|
|
38
|
+
# plural s
|
|
39
|
+
>0x115 ulelong >1 \bs
|
|
40
|
+
>0x119 string x 1st '%s'
|
|
41
|
+
# probably second name section padding with nil or points (0x2E)
|
|
42
|
+
#>0x3F0 uquad x \b, 2nd PADDING 0x%16.16llx
|
|
43
|
+
# line feed separated ASCII string with maximal 79 length
|
|
44
|
+
#>0x407 string x \b, section "%s"
|
|
45
|
+
>0x454 ubyte !0x0a \b, at 0x454 0x%x
|
|
46
|
+
|
|
47
|
+
# .ind
|
|
48
|
+
# no magic for these :-(
|
|
49
|
+
# they are compiled indexes for maple files
|
|
50
|
+
|
|
51
|
+
# .hdb
|
|
52
|
+
# Update: Joerg Jenderek
|
|
53
|
+
# URL: https://www.maplesoft.com/support/help/maple/view.aspx?path=Formats/HDB
|
|
54
|
+
# Reference: http://mark0.net/download/triddefs_xml.7z/defs/h/hdb-maple.trid.xml
|
|
55
|
+
# Note: This format was replaced in Maple 18 by the Maple Help format (*.help)
|
|
56
|
+
0 string \000\004\000\000
|
|
57
|
+
# skip xBASE Compound Index file *.CDX by looking for version
|
|
58
|
+
>1028 string version Maple help database
|
|
59
|
+
# length of string version
|
|
60
|
+
#>>1024 ulelong !7 \b, at 0x400 unexpected %u
|
|
61
|
+
#!:mime application/octet-stream
|
|
62
|
+
!:mime application/x-maple-hdb
|
|
63
|
+
!:ext hdb
|
|
64
|
+
>1028 default x
|
|
65
|
+
# skip more xBASE Compound Index file *.CDX by looking for keyword Maple
|
|
66
|
+
# like hsum.hdb
|
|
67
|
+
>>4 search/0xCC41 Maple Maple help database
|
|
68
|
+
!:mime application/x-maple-hdb
|
|
69
|
+
!:ext hdb
|
|
70
|
+
|
|
71
|
+
# .mhp
|
|
72
|
+
# this has the form <PACKAGE=name>
|
|
73
|
+
0 string \<PACKAGE= Maple help file
|
|
74
|
+
0 string \<HELP\ NAME= Maple help file
|
|
75
|
+
0 string \n\<HELP\ NAME= Maple help file with extra carriage return at start (yuck)
|
|
76
|
+
#0 string #\ Newton Maple help file, old style
|
|
77
|
+
0 string #\ daub Maple help file, old style
|
|
78
|
+
#0 string #=========== Maple help file, old style
|
|
79
|
+
|
|
80
|
+
# .mws
|
|
81
|
+
0 string \000\000\001\044\000\221 Maple worksheet
|
|
82
|
+
#this is anomalous
|
|
83
|
+
0 string WriteNow\000\002\000\001\000\000\000\000\100\000\000\000\000\000 Maple worksheet, but weird
|
|
84
|
+
# this has the form {VERSION 2 3 "IBM INTEL NT" "2.3" }\n
|
|
85
|
+
# that is {VERSION major_version miunor_version computer_type version_string}
|
|
86
|
+
0 string {VERSION\ Maple worksheet
|
|
87
|
+
>9 string >\0 version %.1s.
|
|
88
|
+
>>11 string >\0 %.1s
|
|
89
|
+
|
|
90
|
+
# .mps
|
|
91
|
+
0 string \0\0\001$ Maple something
|
|
92
|
+
# from byte 4 it is either 'nul E' or 'soh R'
|
|
93
|
+
# I think 'nul E' means a file that was saved as a different name
|
|
94
|
+
# a sort of revision marking
|
|
95
|
+
# 'soh R' means new
|
|
96
|
+
>4 string \000\105 An old revision
|
|
97
|
+
>4 string \001\122 The latest save
|
|
98
|
+
|
|
99
|
+
# .mpl
|
|
100
|
+
# some of these are the same as .mps above
|
|
101
|
+
#0000000 000 000 001 044 000 105 same as .mps
|
|
102
|
+
#0000000 000 000 001 044 001 122 same as .mps
|
|
103
|
+
|
|
104
|
+
0 string #\n##\ <SHAREFILE= Maple something
|
|
105
|
+
0 string \n#\n##\ <SHAREFILE= Maple something
|
|
106
|
+
0 string ##\ <SHAREFILE= Maple something
|
|
107
|
+
0 string #\r##\ <SHAREFILE= Maple something
|
|
108
|
+
0 string \r#\r##\ <SHAREFILE= Maple something
|
|
109
|
+
0 string #\ \r##\ <DESCRIBE> Maple something anomalous.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
#--------------------------------------------
|
|
2
|
+
# marc21: file(1) magic for MARC 21 Format
|
|
3
|
+
#
|
|
4
|
+
# Kevin Ford (kefo@loc.gov)
|
|
5
|
+
#
|
|
6
|
+
# MARC21 formats are for the representation and communication
|
|
7
|
+
# of bibliographic and related information in machine-readable
|
|
8
|
+
# form. For more info, see https://www.loc.gov/marc/
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
# leader position 20-21 must be 45
|
|
12
|
+
# and 22-23 also 00 so far, but we check that later.
|
|
13
|
+
20 string 45
|
|
14
|
+
>0 search/2048 \x1e
|
|
15
|
+
|
|
16
|
+
# leader starts with 5 digits, followed by codes specific to MARC format
|
|
17
|
+
>>0 regex/1l (^[0-9]{5})[acdnp][^bhlnqsu-z] MARC21 Bibliographic
|
|
18
|
+
!:mime application/marc
|
|
19
|
+
>>0 regex/1l (^[0-9]{5})[acdnosx][z] MARC21 Authority
|
|
20
|
+
!:mime application/marc
|
|
21
|
+
>>0 regex/1l (^[0-9]{5})[cdn][uvxy] MARC21 Holdings
|
|
22
|
+
!:mime application/marc
|
|
23
|
+
>>0 regex/1l (^[0-9]{5})[acdn][w] MARC21 Classification
|
|
24
|
+
!:mime application/marc
|
|
25
|
+
>>0 regex/1l (^[0-9]{5})[cdn][q] MARC21 Community
|
|
26
|
+
!:mime application/marc
|
|
27
|
+
|
|
28
|
+
# leader position 22-23, should be "00" but is it?
|
|
29
|
+
>>0 regex/1l (^.{21})([^0]{2}) (non-conforming)
|
|
30
|
+
!:mime application/marc
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
|
|
2
|
+
#------------------------------------------------------------------------------
|
|
3
|
+
# $File: mathcad,v 1.5 2009/09/19 16:28:10 christos Exp $
|
|
4
|
+
# mathcad: file(1) magic for Mathcad documents
|
|
5
|
+
# URL: http://www.mathsoft.com/
|
|
6
|
+
# From: Josh Triplett <josh@freedesktop.org>
|
|
7
|
+
|
|
8
|
+
0 string .MCAD\t Mathcad document
|