diff options
Diffstat (limited to 'python/examples')
| -rw-r--r-- | python/examples/kaitai/__init__.py | 15 | ||||
| -rwxr-xr-x | python/examples/kaitai/__main__.py | 174 | ||||
| -rw-r--r-- | python/examples/kaitai/aix_utmp.py (renamed from python/examples/kaitai/kaitai_struct_formats/log/aix_utmp.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/allegro_dat.py (renamed from python/examples/kaitai/kaitai_struct_formats/game/allegro_dat.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/andes_firmware.py (renamed from python/examples/kaitai/kaitai_struct_formats/firmware/andes_firmware.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/apm_partition_table.py (renamed from python/examples/kaitai/kaitai_struct_formats/filesystem/apm_partition_table.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/apple_single_double.py (renamed from python/examples/kaitai/kaitai_struct_formats/filesystem/apple_single_double.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/asn1_der.py (renamed from python/examples/kaitai/kaitai_struct_formats/serialization/asn1/asn1_der.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/avantes_roh60.py (renamed from python/examples/kaitai/kaitai_struct_formats/scientific/spectroscopy/avantes_roh60.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/avi.py (renamed from python/examples/kaitai/kaitai_struct_formats/media/avi.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/bcd.py (renamed from python/examples/kaitai/kaitai_struct_formats/common/bcd.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/bitcoin_transaction.py (renamed from python/examples/kaitai/kaitai_struct_formats/network/bitcoin_transaction.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/blender_blend.py (renamed from python/examples/kaitai/kaitai_struct_formats/media/blender_blend.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/bmp.py (renamed from python/examples/kaitai/kaitai_struct_formats/image/bmp.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/bson.py (renamed from python/examples/kaitai/kaitai_struct_formats/serialization/bson.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/code_6502.py (renamed from python/examples/kaitai/kaitai_struct_formats/machine_code/code_6502.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/cpio_old_le.py (renamed from python/examples/kaitai/kaitai_struct_formats/archive/cpio_old_le.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/cramfs.py (renamed from python/examples/kaitai/kaitai_struct_formats/filesystem/cramfs.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/creative_voice_file.py (renamed from python/examples/kaitai/kaitai_struct_formats/media/creative_voice_file.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/dbf.py (renamed from python/examples/kaitai/kaitai_struct_formats/database/dbf.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/dex.py (renamed from python/examples/kaitai/kaitai_struct_formats/executable/dex.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/dicom.py (renamed from python/examples/kaitai/kaitai_struct_formats/image/dicom.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/dns_packet.py (renamed from python/examples/kaitai/kaitai_struct_formats/network/dns_packet.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/doom_wad.py (renamed from python/examples/kaitai/kaitai_struct_formats/game/doom_wad.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/dos_mz.py (renamed from python/examples/kaitai/kaitai_struct_formats/executable/dos_mz.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/dune_2_pak.py (renamed from python/examples/kaitai/kaitai_struct_formats/game/dune_2_pak.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/edid.py (renamed from python/examples/kaitai/kaitai_struct_formats/hardware/edid.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/elf.py (renamed from python/examples/kaitai/kaitai_struct_formats/executable/elf.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/ethernet_frame.py (renamed from python/examples/kaitai/kaitai_struct_formats/network/ethernet_frame.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/exif.py (renamed from python/examples/kaitai/kaitai_struct_formats/image/exif.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/exif_be.py (renamed from python/examples/kaitai/kaitai_struct_formats/image/exif_be.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/exif_le.py (renamed from python/examples/kaitai/kaitai_struct_formats/image/exif_le.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/ext2.py (renamed from python/examples/kaitai/kaitai_struct_formats/filesystem/ext2.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/fallout2_dat.py (renamed from python/examples/kaitai/kaitai_struct_formats/game/fallout2_dat.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/fallout_dat.py (renamed from python/examples/kaitai/kaitai_struct_formats/game/fallout_dat.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/fasttracker_xm_module.py (renamed from python/examples/kaitai/kaitai_struct_formats/media/tracker_modules/fasttracker_xm_module.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/ftl_dat.py (renamed from python/examples/kaitai/kaitai_struct_formats/game/ftl_dat.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/genmidi_op2.py (renamed from python/examples/kaitai/kaitai_struct_formats/media/genmidi_op2.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/gettext_mo.py (renamed from python/examples/kaitai/kaitai_struct_formats/database/gettext_mo.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/gif.py (renamed from python/examples/kaitai/kaitai_struct_formats/image/gif.py) | 5 | ||||
| -rw-r--r-- | python/examples/kaitai/glibc_utmp.py (renamed from python/examples/kaitai/kaitai_struct_formats/log/glibc_utmp.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/google_protobuf.py (renamed from python/examples/kaitai/kaitai_struct_formats/serialization/google_protobuf.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/gpt_partition_table.py (renamed from python/examples/kaitai/kaitai_struct_formats/filesystem/gpt_partition_table.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/gran_turismo_vol.py (renamed from python/examples/kaitai/kaitai_struct_formats/game/gran_turismo_vol.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/gzip.py (renamed from python/examples/kaitai/kaitai_struct_formats/archive/gzip.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/hccap.py (renamed from python/examples/kaitai/kaitai_struct_formats/network/hccap.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/hccapx.py (renamed from python/examples/kaitai/kaitai_struct_formats/network/hccapx.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/heaps_pak.py (renamed from python/examples/kaitai/kaitai_struct_formats/game/heaps_pak.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/heroes_of_might_and_magic_agg.py (renamed from python/examples/kaitai/kaitai_struct_formats/game/heroes_of_might_and_magic_agg.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/heroes_of_might_and_magic_bmp.py (renamed from python/examples/kaitai/kaitai_struct_formats/game/heroes_of_might_and_magic_bmp.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/icc_4.py (renamed from python/examples/kaitai/kaitai_struct_formats/image/icc_4.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/icmp_packet.py (renamed from python/examples/kaitai/kaitai_struct_formats/network/icmp_packet.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/ico.py (renamed from python/examples/kaitai/kaitai_struct_formats/image/ico.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/id3v1_1.py (renamed from python/examples/kaitai/kaitai_struct_formats/media/id3v1_1.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/id3v2_3.py (renamed from python/examples/kaitai/kaitai_struct_formats/media/id3v2_3.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/id3v2_4.py (renamed from python/examples/kaitai/kaitai_struct_formats/media/id3v2_4.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/ines.py (renamed from python/examples/kaitai/kaitai_struct_formats/firmware/ines.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/ipv4_packet.py (renamed from python/examples/kaitai/kaitai_struct_formats/network/ipv4_packet.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/ipv6_packet.py (renamed from python/examples/kaitai/kaitai_struct_formats/network/ipv6_packet.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/iso9660.py (renamed from python/examples/kaitai/kaitai_struct_formats/filesystem/iso9660.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/java_class.py (renamed from python/examples/kaitai/kaitai_struct_formats/executable/java_class.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/jpeg.py (renamed from python/examples/kaitai/kaitai_struct_formats/image/jpeg.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/kaitai_struct_formats/__init__.py | 0 | ||||
| -rw-r--r-- | python/examples/kaitai/kaitai_struct_formats/archive/__init__.py | 0 | ||||
| -rw-r--r-- | python/examples/kaitai/kaitai_struct_formats/cad/__init__.py | 0 | ||||
| -rw-r--r-- | python/examples/kaitai/kaitai_struct_formats/common/__init__.py | 0 | ||||
| -rw-r--r-- | python/examples/kaitai/kaitai_struct_formats/common/vlq_base128_be.py | 103 | ||||
| -rw-r--r-- | python/examples/kaitai/kaitai_struct_formats/common/vlq_base128_le.py | 109 | ||||
| -rw-r--r-- | python/examples/kaitai/kaitai_struct_formats/database/__init__.py | 0 | ||||
| -rw-r--r-- | python/examples/kaitai/kaitai_struct_formats/database/vlq_base128_be.py | 102 | ||||
| -rw-r--r-- | python/examples/kaitai/kaitai_struct_formats/executable/__init__.py | 0 | ||||
| -rw-r--r-- | python/examples/kaitai/kaitai_struct_formats/executable/vlq_base128_le.py | 108 | ||||
| -rw-r--r-- | python/examples/kaitai/kaitai_struct_formats/filesystem/__init__.py | 0 | ||||
| -rw-r--r-- | python/examples/kaitai/kaitai_struct_formats/firmware/__init__.py | 0 | ||||
| -rw-r--r-- | python/examples/kaitai/kaitai_struct_formats/font/__init__.py | 0 | ||||
| -rw-r--r-- | python/examples/kaitai/kaitai_struct_formats/game/__init__.py | 0 | ||||
| -rw-r--r-- | python/examples/kaitai/kaitai_struct_formats/geospatial/__init__.py | 0 | ||||
| -rw-r--r-- | python/examples/kaitai/kaitai_struct_formats/hardware/__init__.py | 0 | ||||
| -rw-r--r-- | python/examples/kaitai/kaitai_struct_formats/hardware/mifare/__init__.py | 0 | ||||
| -rw-r--r-- | python/examples/kaitai/kaitai_struct_formats/image/__init__.py | 0 | ||||
| -rw-r--r-- | python/examples/kaitai/kaitai_struct_formats/log/__init__.py | 0 | ||||
| -rw-r--r-- | python/examples/kaitai/kaitai_struct_formats/machine_code/__init__.py | 0 | ||||
| -rw-r--r-- | python/examples/kaitai/kaitai_struct_formats/media/__init__.py | 0 | ||||
| -rw-r--r-- | python/examples/kaitai/kaitai_struct_formats/media/tracker_modules/__init__.py | 0 | ||||
| -rw-r--r-- | python/examples/kaitai/kaitai_struct_formats/network/__init__.py | 0 | ||||
| -rw-r--r-- | python/examples/kaitai/kaitai_struct_formats/scientific/__init__.py | 0 | ||||
| -rw-r--r-- | python/examples/kaitai/kaitai_struct_formats/scientific/nt_mdt/__init__.py | 0 | ||||
| -rw-r--r-- | python/examples/kaitai/kaitai_struct_formats/scientific/spectroscopy/__init__.py | 0 | ||||
| -rw-r--r-- | python/examples/kaitai/kaitai_struct_formats/security/__init__.py | 0 | ||||
| -rw-r--r-- | python/examples/kaitai/kaitai_struct_formats/serialization/__init__.py | 0 | ||||
| -rw-r--r-- | python/examples/kaitai/kaitai_struct_formats/serialization/asn1/__init__.py | 0 | ||||
| -rw-r--r-- | python/examples/kaitai/kaitai_struct_formats/windows/__init__.py | 0 | ||||
| -rw-r--r-- | python/examples/kaitai/kaitai_struct_formats/windows/windows_systemtime.py | 52 | ||||
| -rw-r--r--[-rwxr-xr-x] | python/examples/kaitai/kshelpers.py | 453 | ||||
| -rw-r--r-- | python/examples/kaitai/luks.py (renamed from python/examples/kaitai/kaitai_struct_formats/filesystem/luks.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/lvm2.py (renamed from python/examples/kaitai/kaitai_struct_formats/filesystem/lvm2.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/lzh.py (renamed from python/examples/kaitai/kaitai_struct_formats/archive/lzh.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/mach_o.py (renamed from python/examples/kaitai/kaitai_struct_formats/executable/mach_o.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/magicavoxel_vox.py (renamed from python/examples/kaitai/kaitai_struct_formats/media/magicavoxel_vox.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/mbr_partition_table.py (renamed from python/examples/kaitai/kaitai_struct_formats/filesystem/mbr_partition_table.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/microsoft_cfb.py (renamed from python/examples/kaitai/kaitai_struct_formats/serialization/microsoft_cfb.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/microsoft_network_monitor_v2.py (renamed from python/examples/kaitai/kaitai_struct_formats/network/microsoft_network_monitor_v2.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/microsoft_pe.py (renamed from python/examples/kaitai/kaitai_struct_formats/executable/microsoft_pe.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/mifare_classic.py (renamed from python/examples/kaitai/kaitai_struct_formats/hardware/mifare/mifare_classic.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/monomakh_sapr_chg.py (renamed from python/examples/kaitai/kaitai_struct_formats/cad/monomakh_sapr_chg.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/msgpack.py (renamed from python/examples/kaitai/kaitai_struct_formats/serialization/msgpack.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/nt_mdt.py (renamed from python/examples/kaitai/kaitai_struct_formats/scientific/nt_mdt/nt_mdt.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/nt_mdt_pal.py (renamed from python/examples/kaitai/kaitai_struct_formats/scientific/nt_mdt/nt_mdt_pal.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/ogg.py (renamed from python/examples/kaitai/kaitai_struct_formats/media/ogg.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/openpgp_message.py (renamed from python/examples/kaitai/kaitai_struct_formats/security/openpgp_message.py) | 11 | ||||
| -rw-r--r-- | python/examples/kaitai/packet_ppi.py (renamed from python/examples/kaitai/kaitai_struct_formats/network/packet_ppi.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/pcap.py (renamed from python/examples/kaitai/kaitai_struct_formats/network/pcap.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/pcx.py (renamed from python/examples/kaitai/kaitai_struct_formats/image/pcx.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/pcx_dcx.py (renamed from python/examples/kaitai/kaitai_struct_formats/image/pcx_dcx.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/png.py (renamed from python/examples/kaitai/kaitai_struct_formats/image/png.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/protocol_body.py (renamed from python/examples/kaitai/kaitai_struct_formats/network/protocol_body.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/psx_tim.py (renamed from python/examples/kaitai/kaitai_struct_formats/image/psx_tim.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/python_pyc_27.py (renamed from python/examples/kaitai/kaitai_struct_formats/executable/python_pyc_27.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/quake_mdl.py (renamed from python/examples/kaitai/kaitai_struct_formats/game/quake_mdl.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/quake_pak.py (renamed from python/examples/kaitai/kaitai_struct_formats/game/quake_pak.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/quicktime_mov.py (renamed from python/examples/kaitai/kaitai_struct_formats/media/quicktime_mov.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/rar.py (renamed from python/examples/kaitai/kaitai_struct_formats/archive/rar.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/regf.py (renamed from python/examples/kaitai/kaitai_struct_formats/windows/regf.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/renderware_binary_stream.py (renamed from python/examples/kaitai/kaitai_struct_formats/game/renderware_binary_stream.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/rtcp_payload.py (renamed from python/examples/kaitai/kaitai_struct_formats/network/rtcp_payload.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/rtp_packet.py (renamed from python/examples/kaitai/kaitai_struct_formats/network/rtp_packet.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/ruby_marshal.py (renamed from python/examples/kaitai/kaitai_struct_formats/serialization/ruby_marshal.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/s3m.py (renamed from python/examples/kaitai/kaitai_struct_formats/media/tracker_modules/s3m.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/saints_row_2_vpp_pc.py (renamed from python/examples/kaitai/kaitai_struct_formats/game/saints_row_2_vpp_pc.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/shapefile_index.py (renamed from python/examples/kaitai/kaitai_struct_formats/geospatial/shapefile_index.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/shapefile_main.py (renamed from python/examples/kaitai/kaitai_struct_formats/geospatial/shapefile_main.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/specpr.py (renamed from python/examples/kaitai/kaitai_struct_formats/scientific/spectroscopy/specpr.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/sqlite3.py (renamed from python/examples/kaitai/kaitai_struct_formats/database/sqlite3.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/ssh_public_key.py (renamed from python/examples/kaitai/kaitai_struct_formats/security/ssh_public_key.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/standard_midi_file.py (renamed from python/examples/kaitai/kaitai_struct_formats/media/standard_midi_file.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/stl.py (renamed from python/examples/kaitai/kaitai_struct_formats/media/stl.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/swf.py (renamed from python/examples/kaitai/kaitai_struct_formats/executable/swf.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/systemd_journal.py (renamed from python/examples/kaitai/kaitai_struct_formats/log/systemd_journal.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/tcp_segment.py (renamed from python/examples/kaitai/kaitai_struct_formats/network/tcp_segment.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/tga.py (renamed from python/examples/kaitai/kaitai_struct_formats/image/tga.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/tls_client_hello.py (renamed from python/examples/kaitai/kaitai_struct_formats/network/tls_client_hello.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/tr_dos_image.py (renamed from python/examples/kaitai/kaitai_struct_formats/filesystem/tr_dos_image.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/tsm.py (renamed from python/examples/kaitai/kaitai_struct_formats/database/tsm.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/ttf.py (renamed from python/examples/kaitai/kaitai_struct_formats/font/ttf.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/udp_datagram.py (renamed from python/examples/kaitai/kaitai_struct_formats/network/udp_datagram.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/uimage.py (renamed from python/examples/kaitai/kaitai_struct_formats/firmware/uimage.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/vdi.py (renamed from python/examples/kaitai/kaitai_struct_formats/filesystem/vdi.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/vfat.py (renamed from python/examples/kaitai/kaitai_struct_formats/filesystem/vfat.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/view.py | 64 | ||||
| -rw-r--r-- | python/examples/kaitai/vlq_base128_be.py (renamed from python/examples/kaitai/kaitai_struct_formats/media/vlq_base128_be.py) | 2 | ||||
| -rw-r--r-- | python/examples/kaitai/vlq_base128_le.py (renamed from python/examples/kaitai/kaitai_struct_formats/serialization/vlq_base128_le.py) | 2 | ||||
| -rw-r--r-- | python/examples/kaitai/vmware_vmdk.py (renamed from python/examples/kaitai/kaitai_struct_formats/filesystem/vmware_vmdk.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/vp8_ivf.py (renamed from python/examples/kaitai/kaitai_struct_formats/media/vp8_ivf.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/warcraft_2_pud.py (renamed from python/examples/kaitai/kaitai_struct_formats/game/warcraft_2_pud.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/wav.py (renamed from python/examples/kaitai/kaitai_struct_formats/media/wav.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/windows_evt_log.py (renamed from python/examples/kaitai/kaitai_struct_formats/log/windows_evt_log.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/windows_lnk_file.py (renamed from python/examples/kaitai/kaitai_struct_formats/windows/windows_lnk_file.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/windows_minidump.py (renamed from python/examples/kaitai/kaitai_struct_formats/windows/windows_minidump.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/windows_resource_file.py (renamed from python/examples/kaitai/kaitai_struct_formats/windows/windows_resource_file.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/windows_shell_items.py (renamed from python/examples/kaitai/kaitai_struct_formats/windows/windows_shell_items.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/windows_systemtime.py (renamed from python/examples/kaitai/kaitai_struct_formats/network/windows_systemtime.py) | 2 | ||||
| -rw-r--r-- | python/examples/kaitai/wmf.py (renamed from python/examples/kaitai/kaitai_struct_formats/image/wmf.py) | 5 | ||||
| -rw-r--r-- | python/examples/kaitai/xwd.py (renamed from python/examples/kaitai/kaitai_struct_formats/image/xwd.py) | 3 | ||||
| -rw-r--r-- | python/examples/kaitai/zip.py (renamed from python/examples/kaitai/kaitai_struct_formats/archive/zip.py) | 3 |
164 files changed, 495 insertions, 1081 deletions
diff --git a/python/examples/kaitai/__init__.py b/python/examples/kaitai/__init__.py index 90cdbd77..7ac825d2 100644 --- a/python/examples/kaitai/__init__.py +++ b/python/examples/kaitai/__init__.py @@ -1 +1,14 @@ -from . import view +import sys + +# invoked from python2 command line? (eg: python -m kaitai ...) +if sys.version_info[0] == 2 and sys.argv[0:] and sys.argv[0]=='-c': + pass +# invoked from python3 command line? (eg: python -m kaitai ...) +elif sys.version_info[0] == 3 and sys.argv[0:] and sys.argv[0]=='-m': + pass +# invoked from binja +else: + if sys.version_info[0] == 2: + import view + else: + from . import view diff --git a/python/examples/kaitai/__main__.py b/python/examples/kaitai/__main__.py new file mode 100755 index 00000000..b52f01cf --- /dev/null +++ b/python/examples/kaitai/__main__.py @@ -0,0 +1,174 @@ +#!/usr/bin/env python + +# test script + +from __future__ import print_function + +import io +import sys +import types +import importlib + +import binaryninja + +if sys.version_info[0] == 2: + import kaitaistruct + import kshelpers +else: + from . import kaitaistruct + from . import kshelpers + +NORMAL = '\033[0m' +BLACK = '\033[0;30m' +RED = '\033[0;31m' +GREEN = '\033[0;32m' +YELLOW = '\033[0;33m' +BLUE = '\033[0;34m' +PURPLE = '\033[0;35m' +CYAN = '\033[0;36m' +GRAY = '\033[0;37m' + +LBLACK = '\033[1;30m' +LRED = '\033[1;31m' +LGREEN = '\033[1;32m' +LYELLOW = '\033[1;33m' +LBLUE = '\033[1;34m' +LPURPLE = '\033[1;35m' +LCYAN = '\033[1;36m' +LGRAY = '\033[1;37m' + +def dump(obj, depth=0): + dump_exceptions = ['_root', '_parent', '_io', 'SEQ_FIELDS'] + + indent = ' '*depth + + if isinstance(obj, kaitaistruct.KaitaiStruct): + for fieldName in dir(obj): + if hasattr(obj, fieldName): + getattr(obj, fieldName) + + for fieldName in dir(obj): + #print('considering field: %s (hasattr returns: %d)' % (fieldName, hasattr(obj, fieldName))) + if fieldName != '_debug' and fieldName.startswith('_'): + continue + if fieldName in dump_exceptions: + continue + if not hasattr(obj, fieldName): + continue + + subObj = getattr(obj, fieldName) + + if type(subObj) == types.MethodType: + pass + #elif type(subObj) == types.TypeType: + elif isinstance(subObj, type): + pass + elif fieldName == '_debug': + print(('%s._debug:'+RED+' %s'+NORMAL) % (indent, repr(subObj))) + #elif type(subObj) == types.ListType: + elif isinstance(subObj, list): + if len(subObj)>0 and isinstance(subObj[0], kaitaistruct.KaitaiStruct): + for i in range(len(subObj)): + print('%s.%s[%d]:' % (indent, fieldName, i)) + dump(subObj[i], depth+1) + else: + print('%s.%s: %s' % (indent, fieldName, str(subObj))) + #elif type(subObj) == types.DictionaryType: + elif isinstance(subObj, dict): + print('%s.%s: %s' % (indent, fieldName, subObj)) + + #elif type(subObj) == types.StringType: + elif isinstance(subObj, str): + if len(subObj) <= 16: + print(('%s.%s: '+CYAN+'%s'+NORMAL) % (indent, fieldName, repr(subObj))) + else: + print(('%s.%s: '+CYAN+'%s...'+NORMAL+' 0x%X (%d) bytes total') % \ + (indent, fieldName, repr(subObj[0:16]), len(subObj), len(subObj)) + ) + + elif type(subObj) == int: + print(('%s.%s: '+YELLOW+'0x%X '+NORMAL+'('+YELLOW+'%d'+NORMAL+')') % (indent, fieldName, subObj, subObj)) + + elif str(type(subObj)).startswith('<enum '): + print(('%s.%s: '+'%s') % (indent, fieldName, repr(subObj))) + + elif isinstance(subObj, kaitaistruct.KaitaiStruct): + print('%s.%s:' % (indent, fieldName)) + dump(subObj, depth+1) + + else: + print('%s.%s: %s' % (indent, fieldName, type(subObj))) + else: + print((PURPLE+'%s%s'+NORMAL) % (indent, repr(obj))) + #else: + # print('%s%s: %s' % (indent, fieldName, repr(subObj))) + +if __name__ == '__main__': + if not sys.argv[1:]: + raise Exception('expected arguments') + + cmd = sys.argv[1] + + if cmd == 'dump': + fpath = sys.argv[2] + parsed = kshelpers.parseFpath(fpath) + dump(parsed) + + if cmd == 'import': + print('importing every format...') + + module_names = [ + 'cpio_old_le', 'gzip', 'lzh', 'rar', 'zip', 'monomakh_sapr_chg', 'bcd', + 'vlq_base128_be', 'vlq_base128_le', 'dbf', 'gettext_mo', 'sqlite3', 'tsm', + 'dex', 'dos_mz', 'elf', 'java_class', 'mach_o', 'microsoft_pe', + 'python_pyc_27', 'swf', 'apm_partition_table', 'apple_single_double', 'cramfs', + 'ext2', 'gpt_partition_table', 'iso9660', 'luks', 'lvm2', + 'mbr_partition_table', 'tr_dos_image', 'vdi', 'vfat', 'vmware_vmdk', + 'andes_firmware', 'ines', 'uimage', 'ttf', 'allegro_dat', 'doom_wad', + 'dune_2_pak', 'fallout2_dat', 'fallout_dat', 'ftl_dat', 'gran_turismo_vol', + 'heaps_pak', 'heroes_of_might_and_magic_agg', 'heroes_of_might_and_magic_bmp', + 'quake_mdl', 'quake_pak', 'renderware_binary_stream', 'saints_row_2_vpp_pc', + 'warcraft_2_pud', 'shapefile_index', 'shapefile_main', 'edid', + 'mifare_classic', 'bmp', 'dicom', 'exif', 'exif_be', 'exif_le', 'gif', 'icc_4', + 'ico', 'jpeg', 'pcx', 'pcx_dcx', 'png', 'psx_tim', 'tga', 'wmf', 'xwd', + 'aix_utmp', 'glibc_utmp', 'systemd_journal', 'windows_evt_log', 'code_6502', + 'avi', 'blender_blend', 'creative_voice_file', 'genmidi_op2', 'id3v1_1', + 'id3v2_3', 'id3v2_4', 'magicavoxel_vox', 'ogg', 'quicktime_mov', + 'standard_midi_file', 'stl', 'fasttracker_xm_module', 's3m', 'vp8_ivf', 'wav', + 'bitcoin_transaction', 'dns_packet', 'ethernet_frame', 'hccap', 'hccapx', + 'icmp_packet', 'ipv4_packet', 'ipv6_packet', 'microsoft_network_monitor_v2', + 'packet_ppi', 'pcap', 'protocol_body', 'rtcp_payload', 'rtp_packet', + 'tcp_segment', 'tls_client_hello', 'udp_datagram', 'nt_mdt', 'nt_mdt_pal', + 'avantes_roh60', 'specpr', 'openpgp_message', 'ssh_public_key', 'asn1_der', + 'bson', 'google_protobuf', 'microsoft_cfb', 'msgpack', 'ruby_marshal', 'regf', + 'windows_lnk_file', 'windows_minidump', 'windows_resource_file', + 'windows_shell_items', 'windows_systemtime' + ] + + (npass, nfail) = (0,0) + + for module_name in module_names: + class_name = ''.join(map(lambda x: x.capitalize(), module_name.split('_'))) + + print('from %s import %s...' % (module_name, class_name), end='') + try: + module = importlib.import_module('.'+module_name, 'kaitai') + method = getattr(module, class_name) + print('['+GREEN+'PASS'+NORMAL+']') + npass += 1 + except Exception as e: + print('['+RED+str(e)+NORMAL+']') + nfail += 1 + + ntests = 1.0*npass + nfail + assert(ntests == len(module_names)) + print('passes %d of %d (rate: %f%%)' % (npass, ntests, npass/ntests)) + print('failures %d of %d (rate: %f%%)' % (nfail, ntests, nfail/ntests)) + + if cmd == 'dumpbinja': + fpath = sys.argv[2] + binaryView = binaryninja.BinaryViewType['Raw'].open(fpath) + kaitaiIo = KaitaiBinaryViewIO(binaryView) + parsed = parse_io(kaitaiIo) + print(parsed.header.program_headers) + diff --git a/python/examples/kaitai/kaitai_struct_formats/log/aix_utmp.py b/python/examples/kaitai/aix_utmp.py index e731fc16..67ce2506 100644 --- a/python/examples/kaitai/kaitai_struct_formats/log/aix_utmp.py +++ b/python/examples/kaitai/aix_utmp.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/game/allegro_dat.py b/python/examples/kaitai/allegro_dat.py index 0078bf45..1569e523 100644 --- a/python/examples/kaitai/kaitai_struct_formats/game/allegro_dat.py +++ b/python/examples/kaitai/allegro_dat.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/firmware/andes_firmware.py b/python/examples/kaitai/andes_firmware.py index b032da33..8be90e48 100644 --- a/python/examples/kaitai/kaitai_struct_formats/firmware/andes_firmware.py +++ b/python/examples/kaitai/andes_firmware.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/filesystem/apm_partition_table.py b/python/examples/kaitai/apm_partition_table.py index 18b05757..744a085c 100644 --- a/python/examples/kaitai/kaitai_struct_formats/filesystem/apm_partition_table.py +++ b/python/examples/kaitai/apm_partition_table.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/filesystem/apple_single_double.py b/python/examples/kaitai/apple_single_double.py index 39a65abc..b2c05d8f 100644 --- a/python/examples/kaitai/kaitai_struct_formats/filesystem/apple_single_double.py +++ b/python/examples/kaitai/apple_single_double.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/serialization/asn1/asn1_der.py b/python/examples/kaitai/asn1_der.py index 1809b2db..cd92a75e 100644 --- a/python/examples/kaitai/kaitai_struct_formats/serialization/asn1/asn1_der.py +++ b/python/examples/kaitai/asn1_der.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ....kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/scientific/spectroscopy/avantes_roh60.py b/python/examples/kaitai/avantes_roh60.py index f2d95219..6a17acea 100644 --- a/python/examples/kaitai/kaitai_struct_formats/scientific/spectroscopy/avantes_roh60.py +++ b/python/examples/kaitai/avantes_roh60.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ....kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/media/avi.py b/python/examples/kaitai/avi.py index bf34eb55..872a4f97 100644 --- a/python/examples/kaitai/kaitai_struct_formats/media/avi.py +++ b/python/examples/kaitai/avi.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/common/bcd.py b/python/examples/kaitai/bcd.py index d75829d2..3f2afb80 100644 --- a/python/examples/kaitai/kaitai_struct_formats/common/bcd.py +++ b/python/examples/kaitai/bcd.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/network/bitcoin_transaction.py b/python/examples/kaitai/bitcoin_transaction.py index 41d05158..c2324637 100644 --- a/python/examples/kaitai/kaitai_struct_formats/network/bitcoin_transaction.py +++ b/python/examples/kaitai/bitcoin_transaction.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/media/blender_blend.py b/python/examples/kaitai/blender_blend.py index bda24a08..4d6d4ab5 100644 --- a/python/examples/kaitai/kaitai_struct_formats/media/blender_blend.py +++ b/python/examples/kaitai/blender_blend.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/image/bmp.py b/python/examples/kaitai/bmp.py index 98519f41..41f039d9 100644 --- a/python/examples/kaitai/kaitai_struct_formats/image/bmp.py +++ b/python/examples/kaitai/bmp.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/serialization/bson.py b/python/examples/kaitai/bson.py index f3b0f295..a8fbd922 100644 --- a/python/examples/kaitai/kaitai_struct_formats/serialization/bson.py +++ b/python/examples/kaitai/bson.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections from enum import Enum diff --git a/python/examples/kaitai/kaitai_struct_formats/machine_code/code_6502.py b/python/examples/kaitai/code_6502.py index 1466959d..80f29150 100644 --- a/python/examples/kaitai/kaitai_struct_formats/machine_code/code_6502.py +++ b/python/examples/kaitai/code_6502.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/archive/cpio_old_le.py b/python/examples/kaitai/cpio_old_le.py index 2b019d86..9c99d3e1 100644 --- a/python/examples/kaitai/kaitai_struct_formats/archive/cpio_old_le.py +++ b/python/examples/kaitai/cpio_old_le.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/filesystem/cramfs.py b/python/examples/kaitai/cramfs.py index bb8efdd1..782cb9af 100644 --- a/python/examples/kaitai/kaitai_struct_formats/filesystem/cramfs.py +++ b/python/examples/kaitai/cramfs.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections from enum import Enum diff --git a/python/examples/kaitai/kaitai_struct_formats/media/creative_voice_file.py b/python/examples/kaitai/creative_voice_file.py index f49a26ce..3ee67227 100644 --- a/python/examples/kaitai/kaitai_struct_formats/media/creative_voice_file.py +++ b/python/examples/kaitai/creative_voice_file.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/database/dbf.py b/python/examples/kaitai/dbf.py index 4cfeb9e8..ba026162 100644 --- a/python/examples/kaitai/kaitai_struct_formats/database/dbf.py +++ b/python/examples/kaitai/dbf.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/executable/dex.py b/python/examples/kaitai/dex.py index 8a3ddaa4..f2dad696 100644 --- a/python/examples/kaitai/kaitai_struct_formats/executable/dex.py +++ b/python/examples/kaitai/dex.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/image/dicom.py b/python/examples/kaitai/dicom.py index c13372ff..2bba1910 100644 --- a/python/examples/kaitai/kaitai_struct_formats/image/dicom.py +++ b/python/examples/kaitai/dicom.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/network/dns_packet.py b/python/examples/kaitai/dns_packet.py index c90b66da..159b6746 100644 --- a/python/examples/kaitai/kaitai_struct_formats/network/dns_packet.py +++ b/python/examples/kaitai/dns_packet.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/game/doom_wad.py b/python/examples/kaitai/doom_wad.py index b5705ae9..b0de10a6 100644 --- a/python/examples/kaitai/kaitai_struct_formats/game/doom_wad.py +++ b/python/examples/kaitai/doom_wad.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections from enum import Enum diff --git a/python/examples/kaitai/kaitai_struct_formats/executable/dos_mz.py b/python/examples/kaitai/dos_mz.py index c718c41e..8ad248e7 100644 --- a/python/examples/kaitai/kaitai_struct_formats/executable/dos_mz.py +++ b/python/examples/kaitai/dos_mz.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/game/dune_2_pak.py b/python/examples/kaitai/dune_2_pak.py index e074b018..bd56f1a5 100644 --- a/python/examples/kaitai/kaitai_struct_formats/game/dune_2_pak.py +++ b/python/examples/kaitai/dune_2_pak.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/hardware/edid.py b/python/examples/kaitai/edid.py index 73497d62..9ece78a4 100644 --- a/python/examples/kaitai/kaitai_struct_formats/hardware/edid.py +++ b/python/examples/kaitai/edid.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections from enum import Enum diff --git a/python/examples/kaitai/kaitai_struct_formats/executable/elf.py b/python/examples/kaitai/elf.py index c134a2e2..6f5eb252 100644 --- a/python/examples/kaitai/kaitai_struct_formats/executable/elf.py +++ b/python/examples/kaitai/elf.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/network/ethernet_frame.py b/python/examples/kaitai/ethernet_frame.py index e6baaccf..e90c43c7 100644 --- a/python/examples/kaitai/kaitai_struct_formats/network/ethernet_frame.py +++ b/python/examples/kaitai/ethernet_frame.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/image/exif.py b/python/examples/kaitai/exif.py index 5b7ae3b5..f0a27b70 100644 --- a/python/examples/kaitai/kaitai_struct_formats/image/exif.py +++ b/python/examples/kaitai/exif.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/image/exif_be.py b/python/examples/kaitai/exif_be.py index df758573..d27ae9fd 100644 --- a/python/examples/kaitai/kaitai_struct_formats/image/exif_be.py +++ b/python/examples/kaitai/exif_be.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections from enum import Enum diff --git a/python/examples/kaitai/kaitai_struct_formats/image/exif_le.py b/python/examples/kaitai/exif_le.py index 94f4155a..4ea8edd6 100644 --- a/python/examples/kaitai/kaitai_struct_formats/image/exif_le.py +++ b/python/examples/kaitai/exif_le.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections from enum import Enum diff --git a/python/examples/kaitai/kaitai_struct_formats/filesystem/ext2.py b/python/examples/kaitai/ext2.py index f912475b..50cf4824 100644 --- a/python/examples/kaitai/kaitai_struct_formats/filesystem/ext2.py +++ b/python/examples/kaitai/ext2.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections from enum import Enum diff --git a/python/examples/kaitai/kaitai_struct_formats/game/fallout2_dat.py b/python/examples/kaitai/fallout2_dat.py index e22fc0d5..c6350d89 100644 --- a/python/examples/kaitai/kaitai_struct_formats/game/fallout2_dat.py +++ b/python/examples/kaitai/fallout2_dat.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections import zlib diff --git a/python/examples/kaitai/kaitai_struct_formats/game/fallout_dat.py b/python/examples/kaitai/fallout_dat.py index 4ce06191..5885100c 100644 --- a/python/examples/kaitai/kaitai_struct_formats/game/fallout_dat.py +++ b/python/examples/kaitai/fallout_dat.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/media/tracker_modules/fasttracker_xm_module.py b/python/examples/kaitai/fasttracker_xm_module.py index fad6c2cc..cca84ab0 100644 --- a/python/examples/kaitai/kaitai_struct_formats/media/tracker_modules/fasttracker_xm_module.py +++ b/python/examples/kaitai/fasttracker_xm_module.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ....kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections from enum import Enum diff --git a/python/examples/kaitai/kaitai_struct_formats/game/ftl_dat.py b/python/examples/kaitai/ftl_dat.py index d56d478a..21ca6a07 100644 --- a/python/examples/kaitai/kaitai_struct_formats/game/ftl_dat.py +++ b/python/examples/kaitai/ftl_dat.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/media/genmidi_op2.py b/python/examples/kaitai/genmidi_op2.py index b73c2f8c..ab39962a 100644 --- a/python/examples/kaitai/kaitai_struct_formats/media/genmidi_op2.py +++ b/python/examples/kaitai/genmidi_op2.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/database/gettext_mo.py b/python/examples/kaitai/gettext_mo.py index 2064a039..c5de94b8 100644 --- a/python/examples/kaitai/kaitai_struct_formats/database/gettext_mo.py +++ b/python/examples/kaitai/gettext_mo.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/image/gif.py b/python/examples/kaitai/gif.py index 95586ed2..82cfc7b6 100644 --- a/python/examples/kaitai/kaitai_struct_formats/image/gif.py +++ b/python/examples/kaitai/gif.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections @@ -17,7 +16,7 @@ class Gif(KaitaiStruct): GIF format allows encoding of palette-based images up to 256 colors (each of the colors can be chosen from a 24-bit RGB - colorspace). Image data stream uses LZW (Lempel–Ziv–Welch) lossless + colorspace). Image data stream uses LZW (LempelAAAZivAAAWelch) lossless compression. Over the years, several version of the format were published and diff --git a/python/examples/kaitai/kaitai_struct_formats/log/glibc_utmp.py b/python/examples/kaitai/glibc_utmp.py index 87852ae9..80ba88f9 100644 --- a/python/examples/kaitai/kaitai_struct_formats/log/glibc_utmp.py +++ b/python/examples/kaitai/glibc_utmp.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/serialization/google_protobuf.py b/python/examples/kaitai/google_protobuf.py index 0bb3cac6..27b4b2ef 100644 --- a/python/examples/kaitai/kaitai_struct_formats/serialization/google_protobuf.py +++ b/python/examples/kaitai/google_protobuf.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections from enum import Enum diff --git a/python/examples/kaitai/kaitai_struct_formats/filesystem/gpt_partition_table.py b/python/examples/kaitai/gpt_partition_table.py index 49a56371..e6f0c9ed 100644 --- a/python/examples/kaitai/kaitai_struct_formats/filesystem/gpt_partition_table.py +++ b/python/examples/kaitai/gpt_partition_table.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/game/gran_turismo_vol.py b/python/examples/kaitai/gran_turismo_vol.py index 1b76c226..34e9df0e 100644 --- a/python/examples/kaitai/kaitai_struct_formats/game/gran_turismo_vol.py +++ b/python/examples/kaitai/gran_turismo_vol.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/archive/gzip.py b/python/examples/kaitai/gzip.py index b233cff2..2f03aeec 100644 --- a/python/examples/kaitai/kaitai_struct_formats/archive/gzip.py +++ b/python/examples/kaitai/gzip.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/network/hccap.py b/python/examples/kaitai/hccap.py index db02ef14..48fc17f4 100644 --- a/python/examples/kaitai/kaitai_struct_formats/network/hccap.py +++ b/python/examples/kaitai/hccap.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/network/hccapx.py b/python/examples/kaitai/hccapx.py index 439db7d4..8727ecfe 100644 --- a/python/examples/kaitai/kaitai_struct_formats/network/hccapx.py +++ b/python/examples/kaitai/hccapx.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/game/heaps_pak.py b/python/examples/kaitai/heaps_pak.py index 63937a47..a0e44da6 100644 --- a/python/examples/kaitai/kaitai_struct_formats/game/heaps_pak.py +++ b/python/examples/kaitai/heaps_pak.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/game/heroes_of_might_and_magic_agg.py b/python/examples/kaitai/heroes_of_might_and_magic_agg.py index caff6a27..9e45cf0c 100644 --- a/python/examples/kaitai/kaitai_struct_formats/game/heroes_of_might_and_magic_agg.py +++ b/python/examples/kaitai/heroes_of_might_and_magic_agg.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/game/heroes_of_might_and_magic_bmp.py b/python/examples/kaitai/heroes_of_might_and_magic_bmp.py index cc02696a..014d9797 100644 --- a/python/examples/kaitai/kaitai_struct_formats/game/heroes_of_might_and_magic_bmp.py +++ b/python/examples/kaitai/heroes_of_might_and_magic_bmp.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/image/icc_4.py b/python/examples/kaitai/icc_4.py index 585358e3..4597e474 100644 --- a/python/examples/kaitai/kaitai_struct_formats/image/icc_4.py +++ b/python/examples/kaitai/icc_4.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections from enum import Enum diff --git a/python/examples/kaitai/kaitai_struct_formats/network/icmp_packet.py b/python/examples/kaitai/icmp_packet.py index 45de7aae..19b42e6f 100644 --- a/python/examples/kaitai/kaitai_struct_formats/network/icmp_packet.py +++ b/python/examples/kaitai/icmp_packet.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/image/ico.py b/python/examples/kaitai/ico.py index 0c9fffed..408c4bc4 100644 --- a/python/examples/kaitai/kaitai_struct_formats/image/ico.py +++ b/python/examples/kaitai/ico.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/media/id3v1_1.py b/python/examples/kaitai/id3v1_1.py index 37a71459..41b2e880 100644 --- a/python/examples/kaitai/kaitai_struct_formats/media/id3v1_1.py +++ b/python/examples/kaitai/id3v1_1.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections from enum import Enum diff --git a/python/examples/kaitai/kaitai_struct_formats/media/id3v2_3.py b/python/examples/kaitai/id3v2_3.py index cf6e5e1e..cf3c2d46 100644 --- a/python/examples/kaitai/kaitai_struct_formats/media/id3v2_3.py +++ b/python/examples/kaitai/id3v2_3.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/media/id3v2_4.py b/python/examples/kaitai/id3v2_4.py index 0cdde2eb..528ea22b 100644 --- a/python/examples/kaitai/kaitai_struct_formats/media/id3v2_4.py +++ b/python/examples/kaitai/id3v2_4.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/firmware/ines.py b/python/examples/kaitai/ines.py index e9c97d29..7f58e105 100644 --- a/python/examples/kaitai/kaitai_struct_formats/firmware/ines.py +++ b/python/examples/kaitai/ines.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections from enum import Enum diff --git a/python/examples/kaitai/kaitai_struct_formats/network/ipv4_packet.py b/python/examples/kaitai/ipv4_packet.py index 0bc7bb95..ffc83f92 100644 --- a/python/examples/kaitai/kaitai_struct_formats/network/ipv4_packet.py +++ b/python/examples/kaitai/ipv4_packet.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/network/ipv6_packet.py b/python/examples/kaitai/ipv6_packet.py index c108d643..3d828e64 100644 --- a/python/examples/kaitai/kaitai_struct_formats/network/ipv6_packet.py +++ b/python/examples/kaitai/ipv6_packet.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/filesystem/iso9660.py b/python/examples/kaitai/iso9660.py index 2ed28663..dd8071a8 100644 --- a/python/examples/kaitai/kaitai_struct_formats/filesystem/iso9660.py +++ b/python/examples/kaitai/iso9660.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/executable/java_class.py b/python/examples/kaitai/java_class.py index fd92ab69..e492e83f 100644 --- a/python/examples/kaitai/kaitai_struct_formats/executable/java_class.py +++ b/python/examples/kaitai/java_class.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections from enum import Enum diff --git a/python/examples/kaitai/kaitai_struct_formats/image/jpeg.py b/python/examples/kaitai/jpeg.py index ad5b527e..6fd5bcb0 100644 --- a/python/examples/kaitai/kaitai_struct_formats/image/jpeg.py +++ b/python/examples/kaitai/jpeg.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/__init__.py b/python/examples/kaitai/kaitai_struct_formats/__init__.py deleted file mode 100644 index e69de29b..00000000 --- a/python/examples/kaitai/kaitai_struct_formats/__init__.py +++ /dev/null diff --git a/python/examples/kaitai/kaitai_struct_formats/archive/__init__.py b/python/examples/kaitai/kaitai_struct_formats/archive/__init__.py deleted file mode 100644 index e69de29b..00000000 --- a/python/examples/kaitai/kaitai_struct_formats/archive/__init__.py +++ /dev/null diff --git a/python/examples/kaitai/kaitai_struct_formats/cad/__init__.py b/python/examples/kaitai/kaitai_struct_formats/cad/__init__.py deleted file mode 100644 index e69de29b..00000000 --- a/python/examples/kaitai/kaitai_struct_formats/cad/__init__.py +++ /dev/null diff --git a/python/examples/kaitai/kaitai_struct_formats/common/__init__.py b/python/examples/kaitai/kaitai_struct_formats/common/__init__.py deleted file mode 100644 index e69de29b..00000000 --- a/python/examples/kaitai/kaitai_struct_formats/common/__init__.py +++ /dev/null diff --git a/python/examples/kaitai/kaitai_struct_formats/common/vlq_base128_be.py b/python/examples/kaitai/kaitai_struct_formats/common/vlq_base128_be.py deleted file mode 100644 index 097d1e36..00000000 --- a/python/examples/kaitai/kaitai_struct_formats/common/vlq_base128_be.py +++ /dev/null @@ -1,103 +0,0 @@ -from __future__ import absolute_import -# This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild - -from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO -import collections - - -if parse_version(ks_version) < parse_version('0.7'): - raise Exception("Incompatible Kaitai Struct Python API: 0.7 or later is required, but you have %s" % (ks_version)) - -class VlqBase128Be(KaitaiStruct): - """A variable-length unsigned integer using base128 encoding. 1-byte groups - consist of 1-bit flag of continuation and 7-bit value chunk, and are ordered - "most significant group first", i.e. in "big-endian" manner. - - This particular encoding is specified and used in: - - * Standard MIDI file format - * ASN.1 BER encoding - - More information on this encoding is available at - https://en.wikipedia.org/wiki/Variable-length_quantity - - This particular implementation supports serialized values to up 8 bytes long. - """ - SEQ_FIELDS = ["groups"] - def __init__(self, _io, _parent=None, _root=None): - self._io = _io - self._parent = _parent - self._root = _root if _root else self - self._debug = collections.defaultdict(dict) - - def _read(self): - self._debug['groups']['start'] = self._io.pos() - self.groups = [] - i = 0 - while True: - if not 'arr' in self._debug['groups']: - self._debug['groups']['arr'] = [] - self._debug['groups']['arr'].append({'start': self._io.pos()}) - _t_groups = self._root.Group(self._io, self, self._root) - _t_groups._read() - _ = _t_groups - self.groups.append(_) - self._debug['groups']['arr'][len(self.groups) - 1]['end'] = self._io.pos() - if not (_.has_next): - break - i += 1 - self._debug['groups']['end'] = self._io.pos() - - class Group(KaitaiStruct): - """One byte group, clearly divided into 7-bit "value" chunk and 1-bit "continuation" flag. - """ - SEQ_FIELDS = ["b"] - def __init__(self, _io, _parent=None, _root=None): - self._io = _io - self._parent = _parent - self._root = _root if _root else self - self._debug = collections.defaultdict(dict) - - def _read(self): - self._debug['b']['start'] = self._io.pos() - self.b = self._io.read_u1() - self._debug['b']['end'] = self._io.pos() - - @property - def has_next(self): - """If true, then we have more bytes to read.""" - if hasattr(self, '_m_has_next'): - return self._m_has_next if hasattr(self, '_m_has_next') else None - - self._m_has_next = (self.b & 128) != 0 - return self._m_has_next if hasattr(self, '_m_has_next') else None - - @property - def value(self): - """The 7-bit (base128) numeric value chunk of this group.""" - if hasattr(self, '_m_value'): - return self._m_value if hasattr(self, '_m_value') else None - - self._m_value = (self.b & 127) - return self._m_value if hasattr(self, '_m_value') else None - - - @property - def last(self): - if hasattr(self, '_m_last'): - return self._m_last if hasattr(self, '_m_last') else None - - self._m_last = (len(self.groups) - 1) - return self._m_last if hasattr(self, '_m_last') else None - - @property - def value(self): - """Resulting value as normal integer.""" - if hasattr(self, '_m_value'): - return self._m_value if hasattr(self, '_m_value') else None - - self._m_value = (((((((self.groups[self.last].value + ((self.groups[(self.last - 1)].value << 7) if self.last >= 1 else 0)) + ((self.groups[(self.last - 2)].value << 14) if self.last >= 2 else 0)) + ((self.groups[(self.last - 3)].value << 21) if self.last >= 3 else 0)) + ((self.groups[(self.last - 4)].value << 28) if self.last >= 4 else 0)) + ((self.groups[(self.last - 5)].value << 35) if self.last >= 5 else 0)) + ((self.groups[(self.last - 6)].value << 42) if self.last >= 6 else 0)) + ((self.groups[(self.last - 7)].value << 49) if self.last >= 7 else 0)) - return self._m_value if hasattr(self, '_m_value') else None - - diff --git a/python/examples/kaitai/kaitai_struct_formats/common/vlq_base128_le.py b/python/examples/kaitai/kaitai_struct_formats/common/vlq_base128_le.py deleted file mode 100644 index ae49cffc..00000000 --- a/python/examples/kaitai/kaitai_struct_formats/common/vlq_base128_le.py +++ /dev/null @@ -1,109 +0,0 @@ -from __future__ import absolute_import -# This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild - -from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO -import collections - - -if parse_version(ks_version) < parse_version('0.7'): - raise Exception("Incompatible Kaitai Struct Python API: 0.7 or later is required, but you have %s" % (ks_version)) - -class VlqBase128Le(KaitaiStruct): - """A variable-length unsigned integer using base128 encoding. 1-byte groups - consist of 1-bit flag of continuation and 7-bit value chunk, and are ordered - "least significant group first", i.e. in "little-endian" manner. - - This particular encoding is specified and used in: - - * DWARF debug file format, where it's dubbed "unsigned LEB128" or "ULEB128". - http://dwarfstd.org/doc/dwarf-2.0.0.pdf - page 139 - * Google Protocol Buffers, where it's called "Base 128 Varints". - https://developers.google.com/protocol-buffers/docs/encoding?csw=1#varints - * Apache Lucene, where it's called "VInt" - http://lucene.apache.org/core/3_5_0/fileformats.html#VInt - * Apache Avro uses this as a basis for integer encoding, adding ZigZag on - top of it for signed ints - http://avro.apache.org/docs/current/spec.html#binary_encode_primitive - - More information on this encoding is available at https://en.wikipedia.org/wiki/LEB128 - - This particular implementation supports serialized values to up 8 bytes long. - """ - SEQ_FIELDS = ["groups"] - def __init__(self, _io, _parent=None, _root=None): - self._io = _io - self._parent = _parent - self._root = _root if _root else self - self._debug = collections.defaultdict(dict) - - def _read(self): - self._debug['groups']['start'] = self._io.pos() - self.groups = [] - i = 0 - while True: - if not 'arr' in self._debug['groups']: - self._debug['groups']['arr'] = [] - self._debug['groups']['arr'].append({'start': self._io.pos()}) - _t_groups = self._root.Group(self._io, self, self._root) - _t_groups._read() - _ = _t_groups - self.groups.append(_) - self._debug['groups']['arr'][len(self.groups) - 1]['end'] = self._io.pos() - if not (_.has_next): - break - i += 1 - self._debug['groups']['end'] = self._io.pos() - - class Group(KaitaiStruct): - """One byte group, clearly divided into 7-bit "value" chunk and 1-bit "continuation" flag. - """ - SEQ_FIELDS = ["b"] - def __init__(self, _io, _parent=None, _root=None): - self._io = _io - self._parent = _parent - self._root = _root if _root else self - self._debug = collections.defaultdict(dict) - - def _read(self): - self._debug['b']['start'] = self._io.pos() - self.b = self._io.read_u1() - self._debug['b']['end'] = self._io.pos() - - @property - def has_next(self): - """If true, then we have more bytes to read.""" - if hasattr(self, '_m_has_next'): - return self._m_has_next if hasattr(self, '_m_has_next') else None - - self._m_has_next = (self.b & 128) != 0 - return self._m_has_next if hasattr(self, '_m_has_next') else None - - @property - def value(self): - """The 7-bit (base128) numeric value chunk of this group.""" - if hasattr(self, '_m_value'): - return self._m_value if hasattr(self, '_m_value') else None - - self._m_value = (self.b & 127) - return self._m_value if hasattr(self, '_m_value') else None - - - @property - def len(self): - if hasattr(self, '_m_len'): - return self._m_len if hasattr(self, '_m_len') else None - - self._m_len = len(self.groups) - return self._m_len if hasattr(self, '_m_len') else None - - @property - def value(self): - """Resulting value as normal integer.""" - if hasattr(self, '_m_value'): - return self._m_value if hasattr(self, '_m_value') else None - - self._m_value = (((((((self.groups[0].value + ((self.groups[1].value << 7) if self.len >= 2 else 0)) + ((self.groups[2].value << 14) if self.len >= 3 else 0)) + ((self.groups[3].value << 21) if self.len >= 4 else 0)) + ((self.groups[4].value << 28) if self.len >= 5 else 0)) + ((self.groups[5].value << 35) if self.len >= 6 else 0)) + ((self.groups[6].value << 42) if self.len >= 7 else 0)) + ((self.groups[7].value << 49) if self.len >= 8 else 0)) - return self._m_value if hasattr(self, '_m_value') else None - - diff --git a/python/examples/kaitai/kaitai_struct_formats/database/__init__.py b/python/examples/kaitai/kaitai_struct_formats/database/__init__.py deleted file mode 100644 index e69de29b..00000000 --- a/python/examples/kaitai/kaitai_struct_formats/database/__init__.py +++ /dev/null diff --git a/python/examples/kaitai/kaitai_struct_formats/database/vlq_base128_be.py b/python/examples/kaitai/kaitai_struct_formats/database/vlq_base128_be.py deleted file mode 100644 index 826cdd95..00000000 --- a/python/examples/kaitai/kaitai_struct_formats/database/vlq_base128_be.py +++ /dev/null @@ -1,102 +0,0 @@ -# This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild - -from pkg_resources import parse_version -from kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO -import collections - - -if parse_version(ks_version) < parse_version('0.7'): - raise Exception("Incompatible Kaitai Struct Python API: 0.7 or later is required, but you have %s" % (ks_version)) - -class VlqBase128Be(KaitaiStruct): - """A variable-length unsigned integer using base128 encoding. 1-byte groups - consist of 1-bit flag of continuation and 7-bit value chunk, and are ordered - "most significant group first", i.e. in "big-endian" manner. - - This particular encoding is specified and used in: - - * Standard MIDI file format - * ASN.1 BER encoding - - More information on this encoding is available at - https://en.wikipedia.org/wiki/Variable-length_quantity - - This particular implementation supports serialized values to up 8 bytes long. - """ - SEQ_FIELDS = ["groups"] - def __init__(self, _io, _parent=None, _root=None): - self._io = _io - self._parent = _parent - self._root = _root if _root else self - self._debug = collections.defaultdict(dict) - - def _read(self): - self._debug['groups']['start'] = self._io.pos() - self.groups = [] - i = 0 - while True: - if not 'arr' in self._debug['groups']: - self._debug['groups']['arr'] = [] - self._debug['groups']['arr'].append({'start': self._io.pos()}) - _t_groups = self._root.Group(self._io, self, self._root) - _t_groups._read() - _ = _t_groups - self.groups.append(_) - self._debug['groups']['arr'][len(self.groups) - 1]['end'] = self._io.pos() - if not (_.has_next): - break - i += 1 - self._debug['groups']['end'] = self._io.pos() - - class Group(KaitaiStruct): - """One byte group, clearly divided into 7-bit "value" chunk and 1-bit "continuation" flag. - """ - SEQ_FIELDS = ["b"] - def __init__(self, _io, _parent=None, _root=None): - self._io = _io - self._parent = _parent - self._root = _root if _root else self - self._debug = collections.defaultdict(dict) - - def _read(self): - self._debug['b']['start'] = self._io.pos() - self.b = self._io.read_u1() - self._debug['b']['end'] = self._io.pos() - - @property - def has_next(self): - """If true, then we have more bytes to read.""" - if hasattr(self, '_m_has_next'): - return self._m_has_next if hasattr(self, '_m_has_next') else None - - self._m_has_next = (self.b & 128) != 0 - return self._m_has_next if hasattr(self, '_m_has_next') else None - - @property - def value(self): - """The 7-bit (base128) numeric value chunk of this group.""" - if hasattr(self, '_m_value'): - return self._m_value if hasattr(self, '_m_value') else None - - self._m_value = (self.b & 127) - return self._m_value if hasattr(self, '_m_value') else None - - - @property - def last(self): - if hasattr(self, '_m_last'): - return self._m_last if hasattr(self, '_m_last') else None - - self._m_last = (len(self.groups) - 1) - return self._m_last if hasattr(self, '_m_last') else None - - @property - def value(self): - """Resulting value as normal integer.""" - if hasattr(self, '_m_value'): - return self._m_value if hasattr(self, '_m_value') else None - - self._m_value = (((((((self.groups[self.last].value + ((self.groups[(self.last - 1)].value << 7) if self.last >= 1 else 0)) + ((self.groups[(self.last - 2)].value << 14) if self.last >= 2 else 0)) + ((self.groups[(self.last - 3)].value << 21) if self.last >= 3 else 0)) + ((self.groups[(self.last - 4)].value << 28) if self.last >= 4 else 0)) + ((self.groups[(self.last - 5)].value << 35) if self.last >= 5 else 0)) + ((self.groups[(self.last - 6)].value << 42) if self.last >= 6 else 0)) + ((self.groups[(self.last - 7)].value << 49) if self.last >= 7 else 0)) - return self._m_value if hasattr(self, '_m_value') else None - - diff --git a/python/examples/kaitai/kaitai_struct_formats/executable/__init__.py b/python/examples/kaitai/kaitai_struct_formats/executable/__init__.py deleted file mode 100644 index e69de29b..00000000 --- a/python/examples/kaitai/kaitai_struct_formats/executable/__init__.py +++ /dev/null diff --git a/python/examples/kaitai/kaitai_struct_formats/executable/vlq_base128_le.py b/python/examples/kaitai/kaitai_struct_formats/executable/vlq_base128_le.py deleted file mode 100644 index 407fdac7..00000000 --- a/python/examples/kaitai/kaitai_struct_formats/executable/vlq_base128_le.py +++ /dev/null @@ -1,108 +0,0 @@ -# This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild - -from pkg_resources import parse_version -from kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO -import collections - - -if parse_version(ks_version) < parse_version('0.7'): - raise Exception("Incompatible Kaitai Struct Python API: 0.7 or later is required, but you have %s" % (ks_version)) - -class VlqBase128Le(KaitaiStruct): - """A variable-length unsigned integer using base128 encoding. 1-byte groups - consist of 1-bit flag of continuation and 7-bit value chunk, and are ordered - "least significant group first", i.e. in "little-endian" manner. - - This particular encoding is specified and used in: - - * DWARF debug file format, where it's dubbed "unsigned LEB128" or "ULEB128". - http://dwarfstd.org/doc/dwarf-2.0.0.pdf - page 139 - * Google Protocol Buffers, where it's called "Base 128 Varints". - https://developers.google.com/protocol-buffers/docs/encoding?csw=1#varints - * Apache Lucene, where it's called "VInt" - http://lucene.apache.org/core/3_5_0/fileformats.html#VInt - * Apache Avro uses this as a basis for integer encoding, adding ZigZag on - top of it for signed ints - http://avro.apache.org/docs/current/spec.html#binary_encode_primitive - - More information on this encoding is available at https://en.wikipedia.org/wiki/LEB128 - - This particular implementation supports serialized values to up 8 bytes long. - """ - SEQ_FIELDS = ["groups"] - def __init__(self, _io, _parent=None, _root=None): - self._io = _io - self._parent = _parent - self._root = _root if _root else self - self._debug = collections.defaultdict(dict) - - def _read(self): - self._debug['groups']['start'] = self._io.pos() - self.groups = [] - i = 0 - while True: - if not 'arr' in self._debug['groups']: - self._debug['groups']['arr'] = [] - self._debug['groups']['arr'].append({'start': self._io.pos()}) - _t_groups = self._root.Group(self._io, self, self._root) - _t_groups._read() - _ = _t_groups - self.groups.append(_) - self._debug['groups']['arr'][len(self.groups) - 1]['end'] = self._io.pos() - if not (_.has_next): - break - i += 1 - self._debug['groups']['end'] = self._io.pos() - - class Group(KaitaiStruct): - """One byte group, clearly divided into 7-bit "value" chunk and 1-bit "continuation" flag. - """ - SEQ_FIELDS = ["b"] - def __init__(self, _io, _parent=None, _root=None): - self._io = _io - self._parent = _parent - self._root = _root if _root else self - self._debug = collections.defaultdict(dict) - - def _read(self): - self._debug['b']['start'] = self._io.pos() - self.b = self._io.read_u1() - self._debug['b']['end'] = self._io.pos() - - @property - def has_next(self): - """If true, then we have more bytes to read.""" - if hasattr(self, '_m_has_next'): - return self._m_has_next if hasattr(self, '_m_has_next') else None - - self._m_has_next = (self.b & 128) != 0 - return self._m_has_next if hasattr(self, '_m_has_next') else None - - @property - def value(self): - """The 7-bit (base128) numeric value chunk of this group.""" - if hasattr(self, '_m_value'): - return self._m_value if hasattr(self, '_m_value') else None - - self._m_value = (self.b & 127) - return self._m_value if hasattr(self, '_m_value') else None - - - @property - def len(self): - if hasattr(self, '_m_len'): - return self._m_len if hasattr(self, '_m_len') else None - - self._m_len = len(self.groups) - return self._m_len if hasattr(self, '_m_len') else None - - @property - def value(self): - """Resulting value as normal integer.""" - if hasattr(self, '_m_value'): - return self._m_value if hasattr(self, '_m_value') else None - - self._m_value = (((((((self.groups[0].value + ((self.groups[1].value << 7) if self.len >= 2 else 0)) + ((self.groups[2].value << 14) if self.len >= 3 else 0)) + ((self.groups[3].value << 21) if self.len >= 4 else 0)) + ((self.groups[4].value << 28) if self.len >= 5 else 0)) + ((self.groups[5].value << 35) if self.len >= 6 else 0)) + ((self.groups[6].value << 42) if self.len >= 7 else 0)) + ((self.groups[7].value << 49) if self.len >= 8 else 0)) - return self._m_value if hasattr(self, '_m_value') else None - - diff --git a/python/examples/kaitai/kaitai_struct_formats/filesystem/__init__.py b/python/examples/kaitai/kaitai_struct_formats/filesystem/__init__.py deleted file mode 100644 index e69de29b..00000000 --- a/python/examples/kaitai/kaitai_struct_formats/filesystem/__init__.py +++ /dev/null diff --git a/python/examples/kaitai/kaitai_struct_formats/firmware/__init__.py b/python/examples/kaitai/kaitai_struct_formats/firmware/__init__.py deleted file mode 100644 index e69de29b..00000000 --- a/python/examples/kaitai/kaitai_struct_formats/firmware/__init__.py +++ /dev/null diff --git a/python/examples/kaitai/kaitai_struct_formats/font/__init__.py b/python/examples/kaitai/kaitai_struct_formats/font/__init__.py deleted file mode 100644 index e69de29b..00000000 --- a/python/examples/kaitai/kaitai_struct_formats/font/__init__.py +++ /dev/null diff --git a/python/examples/kaitai/kaitai_struct_formats/game/__init__.py b/python/examples/kaitai/kaitai_struct_formats/game/__init__.py deleted file mode 100644 index e69de29b..00000000 --- a/python/examples/kaitai/kaitai_struct_formats/game/__init__.py +++ /dev/null diff --git a/python/examples/kaitai/kaitai_struct_formats/geospatial/__init__.py b/python/examples/kaitai/kaitai_struct_formats/geospatial/__init__.py deleted file mode 100644 index e69de29b..00000000 --- a/python/examples/kaitai/kaitai_struct_formats/geospatial/__init__.py +++ /dev/null diff --git a/python/examples/kaitai/kaitai_struct_formats/hardware/__init__.py b/python/examples/kaitai/kaitai_struct_formats/hardware/__init__.py deleted file mode 100644 index e69de29b..00000000 --- a/python/examples/kaitai/kaitai_struct_formats/hardware/__init__.py +++ /dev/null diff --git a/python/examples/kaitai/kaitai_struct_formats/hardware/mifare/__init__.py b/python/examples/kaitai/kaitai_struct_formats/hardware/mifare/__init__.py deleted file mode 100644 index e69de29b..00000000 --- a/python/examples/kaitai/kaitai_struct_formats/hardware/mifare/__init__.py +++ /dev/null diff --git a/python/examples/kaitai/kaitai_struct_formats/image/__init__.py b/python/examples/kaitai/kaitai_struct_formats/image/__init__.py deleted file mode 100644 index e69de29b..00000000 --- a/python/examples/kaitai/kaitai_struct_formats/image/__init__.py +++ /dev/null diff --git a/python/examples/kaitai/kaitai_struct_formats/log/__init__.py b/python/examples/kaitai/kaitai_struct_formats/log/__init__.py deleted file mode 100644 index e69de29b..00000000 --- a/python/examples/kaitai/kaitai_struct_formats/log/__init__.py +++ /dev/null diff --git a/python/examples/kaitai/kaitai_struct_formats/machine_code/__init__.py b/python/examples/kaitai/kaitai_struct_formats/machine_code/__init__.py deleted file mode 100644 index e69de29b..00000000 --- a/python/examples/kaitai/kaitai_struct_formats/machine_code/__init__.py +++ /dev/null diff --git a/python/examples/kaitai/kaitai_struct_formats/media/__init__.py b/python/examples/kaitai/kaitai_struct_formats/media/__init__.py deleted file mode 100644 index e69de29b..00000000 --- a/python/examples/kaitai/kaitai_struct_formats/media/__init__.py +++ /dev/null diff --git a/python/examples/kaitai/kaitai_struct_formats/media/tracker_modules/__init__.py b/python/examples/kaitai/kaitai_struct_formats/media/tracker_modules/__init__.py deleted file mode 100644 index e69de29b..00000000 --- a/python/examples/kaitai/kaitai_struct_formats/media/tracker_modules/__init__.py +++ /dev/null diff --git a/python/examples/kaitai/kaitai_struct_formats/network/__init__.py b/python/examples/kaitai/kaitai_struct_formats/network/__init__.py deleted file mode 100644 index e69de29b..00000000 --- a/python/examples/kaitai/kaitai_struct_formats/network/__init__.py +++ /dev/null diff --git a/python/examples/kaitai/kaitai_struct_formats/scientific/__init__.py b/python/examples/kaitai/kaitai_struct_formats/scientific/__init__.py deleted file mode 100644 index e69de29b..00000000 --- a/python/examples/kaitai/kaitai_struct_formats/scientific/__init__.py +++ /dev/null diff --git a/python/examples/kaitai/kaitai_struct_formats/scientific/nt_mdt/__init__.py b/python/examples/kaitai/kaitai_struct_formats/scientific/nt_mdt/__init__.py deleted file mode 100644 index e69de29b..00000000 --- a/python/examples/kaitai/kaitai_struct_formats/scientific/nt_mdt/__init__.py +++ /dev/null diff --git a/python/examples/kaitai/kaitai_struct_formats/scientific/spectroscopy/__init__.py b/python/examples/kaitai/kaitai_struct_formats/scientific/spectroscopy/__init__.py deleted file mode 100644 index e69de29b..00000000 --- a/python/examples/kaitai/kaitai_struct_formats/scientific/spectroscopy/__init__.py +++ /dev/null diff --git a/python/examples/kaitai/kaitai_struct_formats/security/__init__.py b/python/examples/kaitai/kaitai_struct_formats/security/__init__.py deleted file mode 100644 index e69de29b..00000000 --- a/python/examples/kaitai/kaitai_struct_formats/security/__init__.py +++ /dev/null diff --git a/python/examples/kaitai/kaitai_struct_formats/serialization/__init__.py b/python/examples/kaitai/kaitai_struct_formats/serialization/__init__.py deleted file mode 100644 index e69de29b..00000000 --- a/python/examples/kaitai/kaitai_struct_formats/serialization/__init__.py +++ /dev/null diff --git a/python/examples/kaitai/kaitai_struct_formats/serialization/asn1/__init__.py b/python/examples/kaitai/kaitai_struct_formats/serialization/asn1/__init__.py deleted file mode 100644 index e69de29b..00000000 --- a/python/examples/kaitai/kaitai_struct_formats/serialization/asn1/__init__.py +++ /dev/null diff --git a/python/examples/kaitai/kaitai_struct_formats/windows/__init__.py b/python/examples/kaitai/kaitai_struct_formats/windows/__init__.py deleted file mode 100644 index e69de29b..00000000 --- a/python/examples/kaitai/kaitai_struct_formats/windows/__init__.py +++ /dev/null diff --git a/python/examples/kaitai/kaitai_struct_formats/windows/windows_systemtime.py b/python/examples/kaitai/kaitai_struct_formats/windows/windows_systemtime.py deleted file mode 100644 index 4d3e288b..00000000 --- a/python/examples/kaitai/kaitai_struct_formats/windows/windows_systemtime.py +++ /dev/null @@ -1,52 +0,0 @@ -from __future__ import absolute_import -# This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild - -from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO -import collections - - -if parse_version(ks_version) < parse_version('0.7'): - raise Exception("Incompatible Kaitai Struct Python API: 0.7 or later is required, but you have %s" % (ks_version)) - -class WindowsSystemtime(KaitaiStruct): - """Microsoft Windows SYSTEMTIME structure, stores individual components - of date and time as individual fields, up to millisecond precision. - - .. seealso:: - Source - https://msdn.microsoft.com/en-us/library/windows/desktop/ms724950.aspx - """ - SEQ_FIELDS = ["year", "month", "dow", "day", "hour", "min", "sec", "msec"] - def __init__(self, _io, _parent=None, _root=None): - self._io = _io - self._parent = _parent - self._root = _root if _root else self - self._debug = collections.defaultdict(dict) - - def _read(self): - self._debug['year']['start'] = self._io.pos() - self.year = self._io.read_u2le() - self._debug['year']['end'] = self._io.pos() - self._debug['month']['start'] = self._io.pos() - self.month = self._io.read_u2le() - self._debug['month']['end'] = self._io.pos() - self._debug['dow']['start'] = self._io.pos() - self.dow = self._io.read_u2le() - self._debug['dow']['end'] = self._io.pos() - self._debug['day']['start'] = self._io.pos() - self.day = self._io.read_u2le() - self._debug['day']['end'] = self._io.pos() - self._debug['hour']['start'] = self._io.pos() - self.hour = self._io.read_u2le() - self._debug['hour']['end'] = self._io.pos() - self._debug['min']['start'] = self._io.pos() - self.min = self._io.read_u2le() - self._debug['min']['end'] = self._io.pos() - self._debug['sec']['start'] = self._io.pos() - self.sec = self._io.read_u2le() - self._debug['sec']['end'] = self._io.pos() - self._debug['msec']['start'] = self._io.pos() - self.msec = self._io.read_u2le() - self._debug['msec']['end'] = self._io.pos() - - diff --git a/python/examples/kaitai/kshelpers.py b/python/examples/kaitai/kshelpers.py index 859a206c..55ebd01e 100755..100644 --- a/python/examples/kaitai/kshelpers.py +++ b/python/examples/kaitai/kshelpers.py @@ -1,112 +1,109 @@ #!/usr/bin/env python -from __future__ import absolute_import - import io +import os import sys +import struct import types +import importlib import binaryninja from PySide2.QtCore import Qt from PySide2.QtWidgets import QTreeWidgetItem -from .kaitaistruct import KaitaiStruct - -#sys.path.append('kaitai_struct_formats/archive') -#sys.path.append('kaitai_struct_formats/cad') -#sys.path.append('kaitai_struct_formats/common') -#sys.path.append('kaitai_struct_formats/database') -#sys.path.append('./kaitai_struct_formats/executable') -#sys.path.append('kaitai_struct_formats/filesystem') -#sys.path.append('kaitai_struct_formats/firmware') -#sys.path.append('kaitai_struct_formats/font') -#sys.path.append('kaitai_struct_formats/game') -#sys.path.append('kaitai_struct_formats/geospatial') -#sys.path.append('kaitai_struct_formats/hardware') -#sys.path.append('kaitai_struct_formats/image') -#sys.path.append('kaitai_struct_formats/log') -#sys.path.append('kaitai_struct_formats/machine_code') -#sys.path.append('kaitai_struct_formats/media') -#sys.path.append('kaitai_struct_formats/network') -#sys.path.append('kaitai_struct_formats/scientific') -#sys.path.append('kaitai_struct_formats/security') -#sys.path.append('kaitai_struct_formats/serialization') -#sys.path.append('kaitai_struct_formats/windows') +if sys.version_info[0] == 2: + import kaitaistruct +else: + from . import kaitaistruct #------------------------------------------------------------------------------ # id and parse #------------------------------------------------------------------------------ -def id_data(data): - if len(data) < 16: - return None +# return the name of the kaitai module to service this data +# +# dsample: str data sample +# length: int total length of data +def idData(dataSample, length): + result = None - if data[0:4] == "\x7fELF": - return 'elf' - if data[0:4] in ['\xfe\xed\xfa\xce', '\xce\xfa\xed\xfe', '\xfe\xed\xfa\xcf', '\xcf\xfa\xed\xfe']: - return 'macho' - if data[0:2] == 'MZ': - return 'pe' - if data[0:8] == '\x89\x50\x4e\x47\x0d\x0a\x1a\x0a': - return 'png' - if data[2:11] == '0xFF\xe0\x00\x10JFIF\x00': - return 'jpeg' - if data[0:6] == 'GIF89a': - return 'gif' + if len(dataSample) < 16: + return result + + if dataSample[0:4] == b'\x7fELF': + result = 'elf' + if dataSample[0:4] in [b'\xfe\xed\xfa\xce', b'\xce\xfa\xed\xfe', b'\xfe\xed\xfa\xcf', b'\xcf\xfa\xed\xfe']: + result = 'mach_o' + if dataSample[0:2] == b'MZ': + result = 'microsoft_pe' + if dataSample[0:8] == b'\x89PNG\x0d\x0a\x1a\x0a': + result = 'png' + if dataSample[2:11] == b'\xFF\xe0\x00\x10JFIF\x00': + result = 'jpeg' + if dataSample[0:4] == b'GIF8': + result = 'gif' + if dataSample[0:2] in [b'BM', b'BA', b'CI', b'CP', b'IC', b'PT'] and struct.unpack('<I', dataSample[2:6])[0]==length: + result = 'bmp' - return None + #print('ioData() returning \'%s\'' % result) + return result -def id_file(fpath): - data = None +def idFile(fpath): with open(fpath, 'rb') as fp: - data = fp.read(16) - return id_data(data) + return idData(fp.read(16), os.path.getsize(fpath)) + +def ksModuleToClass(moduleName): + # split on underscores, camelcase + return ''.join(map(lambda x: x.capitalize(), moduleName.split('_'))) -def getKaitaiModuleFromFileType(ftype): - if ftype == 'elf': - from .kaitai_struct_formats.executable.elf import Elf - return Elf - elif ftype == 'macho': - from .kaitai_struct_formats.executable.mach_o import MachO - return MachO - elif ftype == 'pe': - from .kaitai_struct_formats.executable.microsoft_pe import MicrosoftPe - return MicrosoftPe - elif ftype == 'png': - from .kaitai_struct_formats.image.png import Png - return Png - elif ftype == 'jpeg': - from .kaitai_struct_formats.image.jpeg import Jpeg - return Jpeg - elif ftype == 'gif': - from .kaitai_struct_formats.image.gif import Gif - return Gif +def ksImportClass(moduleName): + global __name__, __package__ + if not moduleName: + return None + + classThing = None + try: + #print('__package__: -%s-' % __package__) # 'kaitai' + #print('__name__: -%s-' % __name__) # 'kaitai.kshelpers' + + #print('moduleName: -%s-' % moduleName) + module = importlib.import_module('.'+moduleName, __package__) + className = ksModuleToClass(moduleName) + #print('className: -%s-' % className) + classThing = getattr(module, className) + except Exception as e: + print(e) + pass + + return classThing - return None +def parseFpath(fpath): + ksClass = ksImportClass(idFile(fpath)) + if not ksClass: return None -def parse_fpath(fpath): - kaitaiModule = getKaitaiModuleFromFileType(id_file(fpath)) - if not kaitaiModule: return None - parsed = kaitaiModule.from_file(fpath) + parsed = ksClass.from_file(fpath) parsed._read() return parsed -def parse_data(data): - kaitaiModule = getKaitaiModuleFromFileType(id_data(data)) - if not kaitaiModule: return None - parsed = kaitaiModule.from_bytes(data) +def parseData(data): + ksClass = ksImportClass(idData(data), len(data)) + if not ksClass: return None + + parsed = ksClass.from_bytes(data) parsed._read() return parsed -def parse_io(ioObj): +def parseIo(ioObj): + ioObj.seek(0, io.SEEK_END) + length = ioObj.tell() + ioObj.seek(0, io.SEEK_SET) - kaitaiModule = getKaitaiModuleFromFileType(id_data(ioObj.read(16))) + ksClass = ksImportClass(idData(ioObj.read(16), length)) + if not ksClass: return None + ioObj.seek(0, io.SEEK_SET) - if not kaitaiModule: - print 'ERROR: finding suitable kaitai module' - return None - parsed = kaitaiModule.from_io(ioObj) + parsed = ksClass.from_io(ioObj) parsed._read() return parsed @@ -125,7 +122,7 @@ class KaitaiBinaryViewIO: self.position = 0 def seek(self, offs, whence=io.SEEK_SET): - #print 'seek(0x%X, %d)' % (offs, whence) + #print('seek(0x%X, %d)' % (offs, whence)) if whence == io.SEEK_SET: self.position = offs elif whence == io.SEEK_CUR: @@ -136,11 +133,15 @@ class KaitaiBinaryViewIO: raise Exception('unknown whence in seek(): %d' % whence) def tell(self): - #print 'tell() returning 0x%X' % (self.position) + #print('tell() returning 0x%X' % (self.position)) return self.position - def read(self, length): - #print 'read(%d) (starting at position: 0x%X)' % (length, self.position) + def read(self, length=None): + # if no length is given (eg: see read_bytes_full() in kaitaistruct.py) + if length == None: + length = len(self.binaryView) - self.position + + #print('read(%d) (starting at position: 0x%X)' % (length, self.position)) data = self.binaryView.read(self.position, length) self.position += length return data @@ -149,196 +150,6 @@ class KaitaiBinaryViewIO: pass #------------------------------------------------------------------------------ -# text dump/debug testing stuff -#------------------------------------------------------------------------------ - -def dump(obj, depth=0): - dump_exceptions = ['_root', '_parent', '_io'] - - indent = ' '*depth - - if isinstance(obj, KaitaiStruct): - for fieldName in dir(obj): - if hasattr(obj, fieldName): - getattr(obj, fieldName) - - for fieldName in dir(obj): - #print 'considering field: %s (hasattr returns: %d)' % (fieldName, hasattr(obj, fieldName)) - if (fieldName != '_debug' and fieldName.startswith('_')) or fieldName in dump_exceptions or not hasattr(obj, fieldName): - continue - - #print 'A: %s' % fieldName - - subObj = getattr(obj, fieldName) - - if type(subObj) == types.MethodType: - pass - elif type(subObj) == types.TypeType: - pass - elif type(subObj) == types.ListType: - if len(subObj)>0 and isinstance(subObj[0], KaitaiStruct): - for i in range(len(subObj)): - print '%s.%s[%d]:' % (indent, fieldName, i) - dump(subObj[i], depth+1) - else: - print '%s.%s: %s' % (indent, fieldName, str(subObj)) - elif type(subObj) == types.DictionaryType: - print '%s.%s: %s' % (indent, fieldName, subObj) - - elif type(subObj) == types.StringType: - print '%s.%s: %s' % (indent, fieldName, repr(subObj)) - - elif type(subObj) == int: - print '%s.%s: 0x%X (%d)' % (indent, fieldName, subObj, subObj) - - elif str(type(subObj)).startswith('<enum '): - print '%s.%s: %s' % (indent, fieldName, repr(subObj)) - - elif isinstance(subObj, KaitaiStruct): - print '%s.%s:' % (indent, fieldName) - dump(subObj, depth+1) - - elif fieldName == '_debug': - print '%s._debug: %s' % (indent, repr(subObj)) - else: - print '%s.%s: %s' % (indent, fieldName, type(subObj)) - else: - print indent + repr(obj) - #else: - # print '%s%s: %s' % (indent, fieldName, repr(subObj)) - -def import_all_formats(): - from .kaitai_struct_formats.archive.cpio_old_le import CpioOldLe - from .kaitai_struct_formats.archive.gzip import Gzip - from .kaitai_struct_formats.archive.lzh import Lzh - from .kaitai_struct_formats.archive.rar import Rar - from .kaitai_struct_formats.archive.zip import Zip - from .kaitai_struct_formats.cad.monomakh_sapr_chg import MonomakhSaprChg - from .kaitai_struct_formats.common.bcd import Bcd - from .kaitai_struct_formats.common.vlq_base128_be import VlqBase128Be - from .kaitai_struct_formats.common.vlq_base128_le import VlqBase128Le - from .kaitai_struct_formats.database.dbf import Dbf - from .kaitai_struct_formats.database.gettext_mo import GettextMo - from .kaitai_struct_formats.database.sqlite3 import Sqlite3 - from .kaitai_struct_formats.database.tsm import Tsm - from .kaitai_struct_formats.executable.dex import Dex - from .kaitai_struct_formats.executable.dos_mz import DosMz - from .kaitai_struct_formats.executable.elf import Elf - from .kaitai_struct_formats.executable.java_class import JavaClass - from .kaitai_struct_formats.executable.mach_o import MachO - from .kaitai_struct_formats.executable.microsoft_pe import MicrosoftPe - from .kaitai_struct_formats.executable.python_pyc_27 import PythonPyc27 - from .kaitai_struct_formats.executable.swf import Swf - from .kaitai_struct_formats.filesystem.apm_partition_table import ApmPartitionTable - from .kaitai_struct_formats.filesystem.apple_single_double import AppleSingleDouble - from .kaitai_struct_formats.filesystem.cramfs import Cramfs - from .kaitai_struct_formats.filesystem.ext2 import Ext2 - from .kaitai_struct_formats.filesystem.gpt_partition_table import GptPartitionTable - from .kaitai_struct_formats.filesystem.iso9660 import Iso9660 - from .kaitai_struct_formats.filesystem.luks import Luks - from .kaitai_struct_formats.filesystem.lvm2 import Lvm2 - from .kaitai_struct_formats.filesystem.mbr_partition_table import MbrPartitionTable - from .kaitai_struct_formats.filesystem.tr_dos_image import TrDosImage - from .kaitai_struct_formats.filesystem.vdi import Vdi - from .kaitai_struct_formats.filesystem.vfat import Vfat - from .kaitai_struct_formats.filesystem.vmware_vmdk import VmwareVmdk - from .kaitai_struct_formats.firmware.andes_firmware import AndesFirmware - from .kaitai_struct_formats.firmware.ines import Ines - from .kaitai_struct_formats.firmware.uimage import Uimage - from .kaitai_struct_formats.font.ttf import Ttf - from .kaitai_struct_formats.game.allegro_dat import AllegroDat - from .kaitai_struct_formats.game.doom_wad import DoomWad - from .kaitai_struct_formats.game.dune_2_pak import Dune2Pak - from .kaitai_struct_formats.game.fallout2_dat import Fallout2Dat - from .kaitai_struct_formats.game.fallout_dat import FalloutDat - from .kaitai_struct_formats.game.ftl_dat import FtlDat - from .kaitai_struct_formats.game.gran_turismo_vol import GranTurismoVol - from .kaitai_struct_formats.game.heaps_pak import HeapsPak - from .kaitai_struct_formats.game.heroes_of_might_and_magic_agg import HeroesOfMightAndMagicAgg - from .kaitai_struct_formats.game.heroes_of_might_and_magic_bmp import HeroesOfMightAndMagicBmp - from .kaitai_struct_formats.game.quake_mdl import QuakeMdl - from .kaitai_struct_formats.game.quake_pak import QuakePak - from .kaitai_struct_formats.game.renderware_binary_stream import RenderwareBinaryStream - from .kaitai_struct_formats.game.saints_row_2_vpp_pc import SaintsRow2VppPc - from .kaitai_struct_formats.game.warcraft_2_pud import Warcraft2Pud - from .kaitai_struct_formats.geospatial.shapefile_index import ShapefileIndex - from .kaitai_struct_formats.geospatial.shapefile_main import ShapefileMain - from .kaitai_struct_formats.hardware.edid import Edid - from .kaitai_struct_formats.hardware.mifare.mifare_classic import MifareClassic - from .kaitai_struct_formats.image.bmp import Bmp - from .kaitai_struct_formats.image.dicom import Dicom - from .kaitai_struct_formats.image.exif import Exif - from .kaitai_struct_formats.image.exif_be import ExifBe - from .kaitai_struct_formats.image.exif_le import ExifLe - from .kaitai_struct_formats.image.gif import Gif - from .kaitai_struct_formats.image.icc_4 import Icc4 - from .kaitai_struct_formats.image.ico import Ico - from .kaitai_struct_formats.image.jpeg import Jpeg - from .kaitai_struct_formats.image.pcx import Pcx - from .kaitai_struct_formats.image.pcx_dcx import PcxDcx - from .kaitai_struct_formats.image.png import Png - from .kaitai_struct_formats.image.psx_tim import PsxTim - from .kaitai_struct_formats.image.tga import Tga - from .kaitai_struct_formats.image.wmf import Wmf - from .kaitai_struct_formats.image.xwd import Xwd - from .kaitai_struct_formats.log.aix_utmp import AixUtmp - from .kaitai_struct_formats.log.glibc_utmp import GlibcUtmp - from .kaitai_struct_formats.log.systemd_journal import SystemdJournal - from .kaitai_struct_formats.log.windows_evt_log import WindowsEvtLog - from .kaitai_struct_formats.machine_code.code_6502 import Code6502 - from .kaitai_struct_formats.media.avi import Avi - from .kaitai_struct_formats.media.blender_blend import BlenderBlend - from .kaitai_struct_formats.media.creative_voice_file import CreativeVoiceFile - from .kaitai_struct_formats.media.genmidi_op2 import GenmidiOp2 - from .kaitai_struct_formats.media.id3v1_1 import Id3v11 - from .kaitai_struct_formats.media.id3v2_3 import Id3v23 - from .kaitai_struct_formats.media.id3v2_4 import Id3v24 - from .kaitai_struct_formats.media.magicavoxel_vox import MagicavoxelVox - from .kaitai_struct_formats.media.ogg import Ogg - from .kaitai_struct_formats.media.quicktime_mov import QuicktimeMov - from .kaitai_struct_formats.media.standard_midi_file import StandardMidiFile - from .kaitai_struct_formats.media.stl import Stl - from .kaitai_struct_formats.media.tracker_modules.fasttracker_xm_module import FasttrackerXmModule - from .kaitai_struct_formats.media.tracker_modules.s3m import S3m - from .kaitai_struct_formats.media.vp8_ivf import Vp8Ivf - from .kaitai_struct_formats.media.wav import Wav - from .kaitai_struct_formats.network.bitcoin_transaction import BitcoinTransaction - from .kaitai_struct_formats.network.dns_packet import DnsPacket - from .kaitai_struct_formats.network.ethernet_frame import EthernetFrame - from .kaitai_struct_formats.network.hccap import Hccap - from .kaitai_struct_formats.network.hccapx import Hccapx - from .kaitai_struct_formats.network.icmp_packet import IcmpPacket - from .kaitai_struct_formats.network.ipv4_packet import Ipv4Packet - from .kaitai_struct_formats.network.ipv6_packet import Ipv6Packet - from .kaitai_struct_formats.network.microsoft_network_monitor_v2 import MicrosoftNetworkMonitorV2 - from .kaitai_struct_formats.network.packet_ppi import PacketPpi - from .kaitai_struct_formats.network.pcap import Pcap - from .kaitai_struct_formats.network.protocol_body import ProtocolBody - from .kaitai_struct_formats.network.rtcp_payload import RtcpPayload - from .kaitai_struct_formats.network.rtp_packet import RtpPacket - from .kaitai_struct_formats.network.tcp_segment import TcpSegment - from .kaitai_struct_formats.network.tls_client_hello import TlsClientHello - from .kaitai_struct_formats.network.udp_datagram import UdpDatagram - from .kaitai_struct_formats.scientific.nt_mdt.nt_mdt import NtMdt - from .kaitai_struct_formats.scientific.nt_mdt.nt_mdt_pal import NtMdtPal - from .kaitai_struct_formats.scientific.spectroscopy.avantes_roh60 import AvantesRoh60 - from .kaitai_struct_formats.scientific.spectroscopy.specpr import Specpr - from .kaitai_struct_formats.security.openpgp_message import OpenpgpMessage - from .kaitai_struct_formats.security.ssh_public_key import SshPublicKey - from .kaitai_struct_formats.serialization.asn1.asn1_der import Asn1Der - from .kaitai_struct_formats.serialization.bson import Bson - from .kaitai_struct_formats.serialization.google_protobuf import GoogleProtobuf - from .kaitai_struct_formats.serialization.microsoft_cfb import MicrosoftCfb - from .kaitai_struct_formats.serialization.msgpack import Msgpack - from .kaitai_struct_formats.serialization.ruby_marshal import RubyMarshal - from .kaitai_struct_formats.windows.regf import Regf - from .kaitai_struct_formats.windows.windows_lnk_file import WindowsLnkFile - from .kaitai_struct_formats.windows.windows_minidump import WindowsMinidump - from .kaitai_struct_formats.windows.windows_resource_file import WindowsResourceFile - from .kaitai_struct_formats.windows.windows_shell_items import WindowsShellItems - from .kaitai_struct_formats.windows.windows_systemtime import WindowsSystemtime - -#------------------------------------------------------------------------------ # Qt/Kaitai OOP #------------------------------------------------------------------------------ @@ -381,14 +192,17 @@ class KaitaiTreeWidgetItem(QTreeWidgetItem): def setValue(self, value): self.value = value - if type(value) == types.IntType: + if isinstance(value, int): value = '%X'%value self.setData(1, Qt.DisplayRole, value) def setStart(self, start): if start == None: self.start = None - elif type(start) in [types.IntType, types.LongType]: + elif isinstance(start, int): + self.start = start + start = '%X'%start + elif (sys.version_info[0] == 2) and type(start) == types.LongType: self.start = start start = '%X'%start else: @@ -399,7 +213,11 @@ class KaitaiTreeWidgetItem(QTreeWidgetItem): def setEnd(self, end): if end == None: self.end = None - elif type(end) in [types.IntType, types.LongType]: + + if isinstance(end, int): + self.end = end + end = '%X'%end + elif (sys.version_info[0] == 2) and type(end) == types.LongType: self.end = end end = '%X'%end else: @@ -436,8 +254,8 @@ class KaitaiTreeWidgetItem(QTreeWidgetItem): # RETURNS: # KaitaiTreeWidgetItem (QTreeWidgetItem) # -def build_qtree(ksobj): - if not isinstance(ksobj, KaitaiStruct): +def buildQtree(ksobj): + if not isinstance(ksobj, kaitaistruct.KaitaiStruct): return None exceptions = ['_root', '_parent', '_io', 'SEQ_FIELDS', '_debug'] @@ -460,23 +278,25 @@ def build_qtree(ksobj): if ('_m_'+fieldName) in fields: # favor the '_m_' version which seems to get the debug info continue - + subObj = getattr(ksobj, fieldName) - subObjType = type(subObj) child = None - if isinstance(subObj, KaitaiStruct): + if isinstance(subObj, kaitaistruct.KaitaiStruct): fieldLabel = fieldName - child = build_qtree(subObj) + child = buildQtree(subObj) if child: - populate_child(ksobj, fieldName, fieldName, None, child) + populateChild(ksobj, fieldName, fieldName, None, child) qwi.addChild(child) - elif subObjType == types.ListType and len(subObj)>0: + elif isinstance(subObj, list): + if len(subObj)<=0: + continue + # CASE: is list of KaitaiObjects -> recurse! - if isinstance(subObj[0], KaitaiStruct): + if isinstance(subObj[0], kaitaistruct.KaitaiStruct): child = KaitaiTreeWidgetItem() - populate_child(ksobj, fieldName, fieldName, None, child) + populateChild(ksobj, fieldName, fieldName, None, child) # does _debug have an array version of start/end? startsEnds = None @@ -486,7 +306,7 @@ def build_qtree(ksobj): startsEnds = ksobj._debug[fieldName]['arr'] for i in range(len(subObj)): - grandchild = build_qtree(subObj[i]) + grandchild = buildQtree(subObj[i]) fieldLabel = '%s[%d]' % (fieldName, i) grandchild.setLabel(fieldLabel) @@ -501,10 +321,10 @@ def build_qtree(ksobj): # CASE: is list of primitive objects -> create leaves else: child = KaitaiTreeWidgetItem() - populate_child(ksobj, fieldName, fieldName, None, child) + populateChild(ksobj, fieldName, fieldName, None, child) # TODO: explain this hack - kstmp = KaitaiStruct(ksobj._io) + kstmp = kaitaistruct.KaitaiStruct(ksobj._io) kstmp._parent = ksobj child.setKaitaiObject(kstmp) @@ -531,7 +351,7 @@ def build_qtree(ksobj): child = createLeaf(fieldName, subObj) if child: # don't override createLeaf()'s work on label, value - populate_child(ksobj, fieldName, None, None, child) + populateChild(ksobj, fieldName, None, None, child) qwi.addChild(child) return qwi @@ -539,24 +359,35 @@ def build_qtree(ksobj): def createLeaf(fieldName, obj): objtype = type(obj) - if objtype == types.MethodType: + if objtype == types.FunctionType: + #print('reject %s because its a function' % fieldName) + return None + elif isinstance(obj, type): + #print('reject %s because its a type' % fieldName) + return None + elif sys.version_info[0] == 2 and callable(obj): + #print('reject %s because its a callable' % fieldName) return None - elif objtype == types.TypeType: + elif sys.version_info[0] == 3 and hasattr(obj, '__call__'): + #print('reject %s because its a callable' % fieldName) return None fieldValue = None - if objtype in [types.StringType, types.UnicodeType]: - #if filter(lambda c: c<32 or c>127, obj): + if isinstance(obj, str): fieldValue = repr(obj) - elif objtype == types.IntType: + elif isinstance(obj, bytes): + fieldValue = repr(obj) + elif sys.version_info[0] == 2 and objtype == types.UnicodeType: + fieldValue = repr(obj) + elif isinstance(obj, int): fieldValue = '0x%X (%d)' % (obj, obj) - elif objtype == types.BooleanType: + elif isinstance(obj, bool): fieldValue = '%s' % (obj) elif str(objtype).startswith('<enum '): fieldValue = '%s' % (obj) else: - #print 'field %s has type: -%s-' % (fieldName,str(objtype)) + #print('field %s has type: -%s-' % (fieldName,str(objtype))) pass if fieldValue: @@ -565,6 +396,9 @@ def createLeaf(fieldName, obj): widget.setValue(fieldValue) return widget else: + print('rejected leaf node to %s' % fieldName) + print(obj) + print(type(obj)) return None # ARG TYPE NOTES @@ -572,11 +406,11 @@ def createLeaf(fieldName, obj): # fieldName: string actual field name inside the kaitai struct # fieldLabel: string label used in the tree view # fieldValue: string value used in the tree view -# widget: KaitaiTreeWidgetItem the item to which we want to imprint start/end -def populate_child(ksobj, fieldName, fieldLabel, fieldValue, widget): +# widget: KaitaiTreeWidgetItem the item to which we want to imprint(start/end) +def populateChild(ksobj, fieldName, fieldLabel, fieldValue, widget): if fieldLabel: widget.setLabel(fieldLabel) - #print 'setting Label: %s' % fieldLabel + #print('setting Label: %s' % fieldLabel) if fieldValue: widget.setValue(fieldValue) @@ -596,24 +430,3 @@ def populate_child(ksobj, fieldName, fieldLabel, fieldValue, widget): if end != None: widget.setEnd(end) -#------------------------------------------------------------------------------ -# main()/ - for dev testing -#------------------------------------------------------------------------------ - -if __name__ == '__main__': - if not sys.argv[2:]: - sys.exit(-1) - - cmd = sys.argv[1] - fpath = sys.argv[2] - - if cmd == 'dump': - parsed = parse_fpath(sys.argv[2]) - print parsed.header.program_headers - - elif cmd == 'dumpbinja': - binaryView = binaryninja.BinaryViewType['Raw'].open(fpath) - kaitaiIo = KaitaiBinaryViewIO(binaryView) - parsed = parse_io(kaitaiIo) - print parsed.header.program_headers - diff --git a/python/examples/kaitai/kaitai_struct_formats/filesystem/luks.py b/python/examples/kaitai/luks.py index c4e33287..90ca7cd7 100644 --- a/python/examples/kaitai/kaitai_struct_formats/filesystem/luks.py +++ b/python/examples/kaitai/luks.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections from enum import Enum diff --git a/python/examples/kaitai/kaitai_struct_formats/filesystem/lvm2.py b/python/examples/kaitai/lvm2.py index 459f92ca..adb0ed7d 100644 --- a/python/examples/kaitai/kaitai_struct_formats/filesystem/lvm2.py +++ b/python/examples/kaitai/lvm2.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections from enum import Enum diff --git a/python/examples/kaitai/kaitai_struct_formats/archive/lzh.py b/python/examples/kaitai/lzh.py index 8f9b75ea..3853a19d 100644 --- a/python/examples/kaitai/kaitai_struct_formats/archive/lzh.py +++ b/python/examples/kaitai/lzh.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/executable/mach_o.py b/python/examples/kaitai/mach_o.py index 9595184d..5ce46a75 100644 --- a/python/examples/kaitai/kaitai_struct_formats/executable/mach_o.py +++ b/python/examples/kaitai/mach_o.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/media/magicavoxel_vox.py b/python/examples/kaitai/magicavoxel_vox.py index 24841007..0fc3faaa 100644 --- a/python/examples/kaitai/kaitai_struct_formats/media/magicavoxel_vox.py +++ b/python/examples/kaitai/magicavoxel_vox.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/filesystem/mbr_partition_table.py b/python/examples/kaitai/mbr_partition_table.py index 558dd14c..710fa3d7 100644 --- a/python/examples/kaitai/kaitai_struct_formats/filesystem/mbr_partition_table.py +++ b/python/examples/kaitai/mbr_partition_table.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/serialization/microsoft_cfb.py b/python/examples/kaitai/microsoft_cfb.py index d8ecb714..578835b7 100644 --- a/python/examples/kaitai/kaitai_struct_formats/serialization/microsoft_cfb.py +++ b/python/examples/kaitai/microsoft_cfb.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections from enum import Enum diff --git a/python/examples/kaitai/kaitai_struct_formats/network/microsoft_network_monitor_v2.py b/python/examples/kaitai/microsoft_network_monitor_v2.py index 7fec8613..3d0a14f6 100644 --- a/python/examples/kaitai/kaitai_struct_formats/network/microsoft_network_monitor_v2.py +++ b/python/examples/kaitai/microsoft_network_monitor_v2.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/executable/microsoft_pe.py b/python/examples/kaitai/microsoft_pe.py index 054f8b96..325b823a 100644 --- a/python/examples/kaitai/kaitai_struct_formats/executable/microsoft_pe.py +++ b/python/examples/kaitai/microsoft_pe.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/hardware/mifare/mifare_classic.py b/python/examples/kaitai/mifare_classic.py index 041cbbb8..72414493 100644 --- a/python/examples/kaitai/kaitai_struct_formats/hardware/mifare/mifare_classic.py +++ b/python/examples/kaitai/mifare_classic.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ....kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/cad/monomakh_sapr_chg.py b/python/examples/kaitai/monomakh_sapr_chg.py index 8934cfd1..0e7e6400 100644 --- a/python/examples/kaitai/kaitai_struct_formats/cad/monomakh_sapr_chg.py +++ b/python/examples/kaitai/monomakh_sapr_chg.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/serialization/msgpack.py b/python/examples/kaitai/msgpack.py index 4b8b2036..cc14238d 100644 --- a/python/examples/kaitai/kaitai_struct_formats/serialization/msgpack.py +++ b/python/examples/kaitai/msgpack.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/scientific/nt_mdt/nt_mdt.py b/python/examples/kaitai/nt_mdt.py index 1e270032..8a0a1184 100644 --- a/python/examples/kaitai/kaitai_struct_formats/scientific/nt_mdt/nt_mdt.py +++ b/python/examples/kaitai/nt_mdt.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ....kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/scientific/nt_mdt/nt_mdt_pal.py b/python/examples/kaitai/nt_mdt_pal.py index bade549c..ca3f8958 100644 --- a/python/examples/kaitai/kaitai_struct_formats/scientific/nt_mdt/nt_mdt_pal.py +++ b/python/examples/kaitai/nt_mdt_pal.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ....kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/media/ogg.py b/python/examples/kaitai/ogg.py index 415d6bdf..7396c1b3 100644 --- a/python/examples/kaitai/kaitai_struct_formats/media/ogg.py +++ b/python/examples/kaitai/ogg.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/security/openpgp_message.py b/python/examples/kaitai/openpgp_message.py index 712953a3..f68af285 100644 --- a/python/examples/kaitai/kaitai_struct_formats/security/openpgp_message.py +++ b/python/examples/kaitai/openpgp_message.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections @@ -358,7 +357,7 @@ class OpenpgpMessage(KaitaiStruct): class RevocationKey(KaitaiStruct): - SEQ_FIELDS = ["class", "public_key_algorithm", "fingerprint"] + SEQ_FIELDS = ["class_", "public_key_algorithm", "fingerprint"] def __init__(self, _io, _parent=None, _root=None): self._io = _io self._parent = _parent @@ -366,9 +365,9 @@ class OpenpgpMessage(KaitaiStruct): self._debug = collections.defaultdict(dict) def _read(self): - self._debug['class']['start'] = self._io.pos() - self.class = self._io.read_u1() - self._debug['class']['end'] = self._io.pos() + self._debug['class_']['start'] = self._io.pos() + self.class_ = self._io.read_u1() + self._debug['class_']['end'] = self._io.pos() self._debug['public_key_algorithm']['start'] = self._io.pos() self.public_key_algorithm = KaitaiStream.resolve_enum(self._root.PublicKeyAlgorithms, self._io.read_u1()) self._debug['public_key_algorithm']['end'] = self._io.pos() diff --git a/python/examples/kaitai/kaitai_struct_formats/network/packet_ppi.py b/python/examples/kaitai/packet_ppi.py index b213460a..aa16a322 100644 --- a/python/examples/kaitai/kaitai_struct_formats/network/packet_ppi.py +++ b/python/examples/kaitai/packet_ppi.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/network/pcap.py b/python/examples/kaitai/pcap.py index 609a278d..bf814663 100644 --- a/python/examples/kaitai/kaitai_struct_formats/network/pcap.py +++ b/python/examples/kaitai/pcap.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/image/pcx.py b/python/examples/kaitai/pcx.py index a343ff3a..2b6123d5 100644 --- a/python/examples/kaitai/kaitai_struct_formats/image/pcx.py +++ b/python/examples/kaitai/pcx.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/image/pcx_dcx.py b/python/examples/kaitai/pcx_dcx.py index a559ec30..7c6376bc 100644 --- a/python/examples/kaitai/kaitai_struct_formats/image/pcx_dcx.py +++ b/python/examples/kaitai/pcx_dcx.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/image/png.py b/python/examples/kaitai/png.py index 751e1596..4a494756 100644 --- a/python/examples/kaitai/kaitai_struct_formats/image/png.py +++ b/python/examples/kaitai/png.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections import zlib diff --git a/python/examples/kaitai/kaitai_struct_formats/network/protocol_body.py b/python/examples/kaitai/protocol_body.py index 12d17565..951c1a82 100644 --- a/python/examples/kaitai/kaitai_struct_formats/network/protocol_body.py +++ b/python/examples/kaitai/protocol_body.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/image/psx_tim.py b/python/examples/kaitai/psx_tim.py index 3c70a905..3a3fa0b4 100644 --- a/python/examples/kaitai/kaitai_struct_formats/image/psx_tim.py +++ b/python/examples/kaitai/psx_tim.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/executable/python_pyc_27.py b/python/examples/kaitai/python_pyc_27.py index 2ac4154d..d4c4db01 100644 --- a/python/examples/kaitai/kaitai_struct_formats/executable/python_pyc_27.py +++ b/python/examples/kaitai/python_pyc_27.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/game/quake_mdl.py b/python/examples/kaitai/quake_mdl.py index 7077e8f8..2a6ec048 100644 --- a/python/examples/kaitai/kaitai_struct_formats/game/quake_mdl.py +++ b/python/examples/kaitai/quake_mdl.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/game/quake_pak.py b/python/examples/kaitai/quake_pak.py index 3b4c0358..7eea7b3c 100644 --- a/python/examples/kaitai/kaitai_struct_formats/game/quake_pak.py +++ b/python/examples/kaitai/quake_pak.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/media/quicktime_mov.py b/python/examples/kaitai/quicktime_mov.py index eb2f5c9b..77733656 100644 --- a/python/examples/kaitai/kaitai_struct_formats/media/quicktime_mov.py +++ b/python/examples/kaitai/quicktime_mov.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/archive/rar.py b/python/examples/kaitai/rar.py index e9f4787e..88548a4b 100644 --- a/python/examples/kaitai/kaitai_struct_formats/archive/rar.py +++ b/python/examples/kaitai/rar.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/windows/regf.py b/python/examples/kaitai/regf.py index 13145ad1..de883bc3 100644 --- a/python/examples/kaitai/kaitai_struct_formats/windows/regf.py +++ b/python/examples/kaitai/regf.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections from enum import Enum diff --git a/python/examples/kaitai/kaitai_struct_formats/game/renderware_binary_stream.py b/python/examples/kaitai/renderware_binary_stream.py index 5e27c895..00b36934 100644 --- a/python/examples/kaitai/kaitai_struct_formats/game/renderware_binary_stream.py +++ b/python/examples/kaitai/renderware_binary_stream.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/network/rtcp_payload.py b/python/examples/kaitai/rtcp_payload.py index 7450b3e7..c10066d1 100644 --- a/python/examples/kaitai/kaitai_struct_formats/network/rtcp_payload.py +++ b/python/examples/kaitai/rtcp_payload.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/network/rtp_packet.py b/python/examples/kaitai/rtp_packet.py index 64e50cba..cedcd0f9 100644 --- a/python/examples/kaitai/kaitai_struct_formats/network/rtp_packet.py +++ b/python/examples/kaitai/rtp_packet.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/serialization/ruby_marshal.py b/python/examples/kaitai/ruby_marshal.py index 08b35625..92deee38 100644 --- a/python/examples/kaitai/kaitai_struct_formats/serialization/ruby_marshal.py +++ b/python/examples/kaitai/ruby_marshal.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/media/tracker_modules/s3m.py b/python/examples/kaitai/s3m.py index 472291fc..bc2dcb19 100644 --- a/python/examples/kaitai/kaitai_struct_formats/media/tracker_modules/s3m.py +++ b/python/examples/kaitai/s3m.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ....kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections from enum import Enum diff --git a/python/examples/kaitai/kaitai_struct_formats/game/saints_row_2_vpp_pc.py b/python/examples/kaitai/saints_row_2_vpp_pc.py index 91be64ea..2c3dd1f8 100644 --- a/python/examples/kaitai/kaitai_struct_formats/game/saints_row_2_vpp_pc.py +++ b/python/examples/kaitai/saints_row_2_vpp_pc.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/geospatial/shapefile_index.py b/python/examples/kaitai/shapefile_index.py index b89c920b..4fbc7142 100644 --- a/python/examples/kaitai/kaitai_struct_formats/geospatial/shapefile_index.py +++ b/python/examples/kaitai/shapefile_index.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/geospatial/shapefile_main.py b/python/examples/kaitai/shapefile_main.py index db37191c..7a64087e 100644 --- a/python/examples/kaitai/kaitai_struct_formats/geospatial/shapefile_main.py +++ b/python/examples/kaitai/shapefile_main.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/scientific/spectroscopy/specpr.py b/python/examples/kaitai/specpr.py index 87205ada..4f23d4ca 100644 --- a/python/examples/kaitai/kaitai_struct_formats/scientific/spectroscopy/specpr.py +++ b/python/examples/kaitai/specpr.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ....kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/database/sqlite3.py b/python/examples/kaitai/sqlite3.py index 94781796..bb878099 100644 --- a/python/examples/kaitai/kaitai_struct_formats/database/sqlite3.py +++ b/python/examples/kaitai/sqlite3.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/security/ssh_public_key.py b/python/examples/kaitai/ssh_public_key.py index cb912c06..bf1375d6 100644 --- a/python/examples/kaitai/kaitai_struct_formats/security/ssh_public_key.py +++ b/python/examples/kaitai/ssh_public_key.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/media/standard_midi_file.py b/python/examples/kaitai/standard_midi_file.py index 6cd7c246..bd6305a7 100644 --- a/python/examples/kaitai/kaitai_struct_formats/media/standard_midi_file.py +++ b/python/examples/kaitai/standard_midi_file.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections from enum import Enum diff --git a/python/examples/kaitai/kaitai_struct_formats/media/stl.py b/python/examples/kaitai/stl.py index 381f3319..18971107 100644 --- a/python/examples/kaitai/kaitai_struct_formats/media/stl.py +++ b/python/examples/kaitai/stl.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/executable/swf.py b/python/examples/kaitai/swf.py index cb7022c2..dc39fd00 100644 --- a/python/examples/kaitai/kaitai_struct_formats/executable/swf.py +++ b/python/examples/kaitai/swf.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections import zlib diff --git a/python/examples/kaitai/kaitai_struct_formats/log/systemd_journal.py b/python/examples/kaitai/systemd_journal.py index 61d6fa93..214757d9 100644 --- a/python/examples/kaitai/kaitai_struct_formats/log/systemd_journal.py +++ b/python/examples/kaitai/systemd_journal.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/network/tcp_segment.py b/python/examples/kaitai/tcp_segment.py index 222f6794..e329d84c 100644 --- a/python/examples/kaitai/kaitai_struct_formats/network/tcp_segment.py +++ b/python/examples/kaitai/tcp_segment.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/image/tga.py b/python/examples/kaitai/tga.py index 7939bbc2..5ba11862 100644 --- a/python/examples/kaitai/kaitai_struct_formats/image/tga.py +++ b/python/examples/kaitai/tga.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/network/tls_client_hello.py b/python/examples/kaitai/tls_client_hello.py index 118eec3d..b5c6cba8 100644 --- a/python/examples/kaitai/kaitai_struct_formats/network/tls_client_hello.py +++ b/python/examples/kaitai/tls_client_hello.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/filesystem/tr_dos_image.py b/python/examples/kaitai/tr_dos_image.py index ce0bdc3b..70298f7a 100644 --- a/python/examples/kaitai/kaitai_struct_formats/filesystem/tr_dos_image.py +++ b/python/examples/kaitai/tr_dos_image.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/database/tsm.py b/python/examples/kaitai/tsm.py index 48000456..45c99191 100644 --- a/python/examples/kaitai/kaitai_struct_formats/database/tsm.py +++ b/python/examples/kaitai/tsm.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/font/ttf.py b/python/examples/kaitai/ttf.py index bec99a49..1d493208 100644 --- a/python/examples/kaitai/kaitai_struct_formats/font/ttf.py +++ b/python/examples/kaitai/ttf.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections from enum import Enum diff --git a/python/examples/kaitai/kaitai_struct_formats/network/udp_datagram.py b/python/examples/kaitai/udp_datagram.py index d3cac12f..fcaadffa 100644 --- a/python/examples/kaitai/kaitai_struct_formats/network/udp_datagram.py +++ b/python/examples/kaitai/udp_datagram.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/firmware/uimage.py b/python/examples/kaitai/uimage.py index fb5b31f3..8d588ae9 100644 --- a/python/examples/kaitai/kaitai_struct_formats/firmware/uimage.py +++ b/python/examples/kaitai/uimage.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/filesystem/vdi.py b/python/examples/kaitai/vdi.py index 8dd8a775..211c2708 100644 --- a/python/examples/kaitai/kaitai_struct_formats/filesystem/vdi.py +++ b/python/examples/kaitai/vdi.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/filesystem/vfat.py b/python/examples/kaitai/vfat.py index 38ec9d3a..ff6b2cbb 100644 --- a/python/examples/kaitai/kaitai_struct_formats/filesystem/vfat.py +++ b/python/examples/kaitai/vfat.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/view.py b/python/examples/kaitai/view.py index f861b275..341d4dc1 100644 --- a/python/examples/kaitai/view.py +++ b/python/examples/kaitai/view.py @@ -1,4 +1,11 @@ +# python stuff +import io +import os +import sys +import types import traceback + +# binja stuff import binaryninjaui from binaryninja.settings import Settings from binaryninja import log @@ -8,11 +15,10 @@ from binaryninja import binaryview from PySide2.QtWidgets import QScrollArea, QWidget, QVBoxLayout, QGroupBox, QTreeWidget, QTreeWidgetItem, QLineEdit from PySide2.QtCore import Qt -import types - -import kshelpers -from kaitaistruct import KaitaiStruct -import io +if sys.version_info[0] == 2: + import kshelpers +else: + from . import kshelpers class KaitaiView(QScrollArea, View): def __init__(self, parent, binaryView): @@ -66,12 +72,12 @@ class KaitaiView(QScrollArea, View): kaitaiIO = kshelpers.KaitaiBinaryViewIO(self.binaryView) if not kaitaiIO: - print 'ERROR: initializing kaitai binary view' - parsed = kshelpers.parse_io(kaitaiIO) + print('ERROR: initializing kaitai binary view') + parsed = kshelpers.parseIo(kaitaiIO) if not parsed: - print 'ERROR: parsing the binary view' + print('ERROR: parsing the binary view') - tree = kshelpers.build_qtree(parsed) + tree = kshelpers.buildQtree(parsed) if not tree: return @@ -118,7 +124,7 @@ class KaitaiView(QScrollArea, View): return middle def setCurrentOffset(self, offset): - print 'setCurrentOffset(0x%X)' % offset + print('setCurrentOffset(0x%X)' % offset) self.rootSelectionStart = offset UIContext.updateStatus(True) @@ -192,7 +198,7 @@ class KaitaiView(QScrollArea, View): self.ioCurrent = _io # now position selection in whatever HexEditor is current - #print 'selecting to [0x%X, 0x%X)' % (start, end) + #print('selecting to [0x%X, 0x%X)' % (start, end)) self.hexWidget.setSelectionRange(start, end) # set hex group title to reflect current selection @@ -209,25 +215,33 @@ class KaitaiViewType(ViewType): priority = 0 isExec = binaryView.executable - weRecognize = kshelpers.id_data(binaryView.read(0,16)) != None + weRecognize = kshelpers.idData(binaryView.read(0,16), len(binaryView)) != None # NOTE: ui/shared/hexeditor.cpp has the hex editor at priority 20 when # executable, and 10 otherwise - if isExec and weRecognize: - #print 'priority=25 to slightly beat out the hex editor case=(executable, recognize)' - priority = 25 - if isExec and not weRecognize: - #print 'priority=15 to lose to the hex editor case=(executable, !recognize)' - priority = 15 - if not isExec and weRecognize: - #print 'priority=100 to beat out everything case=(!executable, recognize)' - priority = 100 - if not isExec and not weRecognize: - #print 'priority=5 to lose to hex editor case=(!executable, !recognize)' - priority = 5 + if not weRecognize: + priority = 0 + else: + if isExec: + priority = 21 + else: + priority = 11 + +# if isExec and weRecognize: +# print('priority=25 to slightly beat out the hex editor case=(executable, recognize)') +# priority = 25 +# if isExec and not weRecognize: +# print('priority=15 to lose to the hex editor case=(executable, !recognize)') +# priority = 15 +# if not isExec and weRecognize: +# print('priority=100 to beat out everything case=(!executable, recognize)') +# priority = 100 +# if not isExec and not weRecognize: +# print('priority=5 to lose to hex editor case=(!executable, !recognize)') +# priority = 5 - #print 'returning priority=%d for KaitaiViewType' % priority + #print('returning priority=%d for KaitaiViewType' % priority) return priority def create(self, binaryView, view_frame): diff --git a/python/examples/kaitai/kaitai_struct_formats/media/vlq_base128_be.py b/python/examples/kaitai/vlq_base128_be.py index 826cdd95..69dce835 100644 --- a/python/examples/kaitai/kaitai_struct_formats/media/vlq_base128_be.py +++ b/python/examples/kaitai/vlq_base128_be.py @@ -1,7 +1,7 @@ # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/serialization/vlq_base128_le.py b/python/examples/kaitai/vlq_base128_le.py index 407fdac7..6fa8d43b 100644 --- a/python/examples/kaitai/kaitai_struct_formats/serialization/vlq_base128_le.py +++ b/python/examples/kaitai/vlq_base128_le.py @@ -1,7 +1,7 @@ # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/filesystem/vmware_vmdk.py b/python/examples/kaitai/vmware_vmdk.py index 79ad7e9a..224d4c7a 100644 --- a/python/examples/kaitai/kaitai_struct_formats/filesystem/vmware_vmdk.py +++ b/python/examples/kaitai/vmware_vmdk.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/media/vp8_ivf.py b/python/examples/kaitai/vp8_ivf.py index 38ef9ece..05c19326 100644 --- a/python/examples/kaitai/kaitai_struct_formats/media/vp8_ivf.py +++ b/python/examples/kaitai/vp8_ivf.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/game/warcraft_2_pud.py b/python/examples/kaitai/warcraft_2_pud.py index a76f83d9..76908aad 100644 --- a/python/examples/kaitai/kaitai_struct_formats/game/warcraft_2_pud.py +++ b/python/examples/kaitai/warcraft_2_pud.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/media/wav.py b/python/examples/kaitai/wav.py index 0a151964..f05f958f 100644 --- a/python/examples/kaitai/kaitai_struct_formats/media/wav.py +++ b/python/examples/kaitai/wav.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/log/windows_evt_log.py b/python/examples/kaitai/windows_evt_log.py index 5e12d111..99c8e26b 100644 --- a/python/examples/kaitai/kaitai_struct_formats/log/windows_evt_log.py +++ b/python/examples/kaitai/windows_evt_log.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections from enum import Enum diff --git a/python/examples/kaitai/kaitai_struct_formats/windows/windows_lnk_file.py b/python/examples/kaitai/windows_lnk_file.py index 76bd391b..6de2cb52 100644 --- a/python/examples/kaitai/kaitai_struct_formats/windows/windows_lnk_file.py +++ b/python/examples/kaitai/windows_lnk_file.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/windows/windows_minidump.py b/python/examples/kaitai/windows_minidump.py index b2846588..8a9a0502 100644 --- a/python/examples/kaitai/kaitai_struct_formats/windows/windows_minidump.py +++ b/python/examples/kaitai/windows_minidump.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/windows/windows_resource_file.py b/python/examples/kaitai/windows_resource_file.py index 5026cb0f..c18fd91b 100644 --- a/python/examples/kaitai/kaitai_struct_formats/windows/windows_resource_file.py +++ b/python/examples/kaitai/windows_resource_file.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections from enum import Enum diff --git a/python/examples/kaitai/kaitai_struct_formats/windows/windows_shell_items.py b/python/examples/kaitai/windows_shell_items.py index a1805915..93a1ccbc 100644 --- a/python/examples/kaitai/kaitai_struct_formats/windows/windows_shell_items.py +++ b/python/examples/kaitai/windows_shell_items.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/network/windows_systemtime.py b/python/examples/kaitai/windows_systemtime.py index 2f3bc5df..18823c8a 100644 --- a/python/examples/kaitai/kaitai_struct_formats/network/windows_systemtime.py +++ b/python/examples/kaitai/windows_systemtime.py @@ -1,7 +1,7 @@ # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/image/wmf.py b/python/examples/kaitai/wmf.py index e0342b3c..6cb1c74e 100644 --- a/python/examples/kaitai/kaitai_struct_formats/image/wmf.py +++ b/python/examples/kaitai/wmf.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections @@ -101,7 +100,7 @@ class Wmf(KaitaiStruct): masknotpen = 3 notcopypen = 4 maskpennot = 5 - not = 6 + not_ = 6 xorpen = 7 notmaskpen = 8 maskpen = 9 diff --git a/python/examples/kaitai/kaitai_struct_formats/image/xwd.py b/python/examples/kaitai/xwd.py index 8ec1ff03..93dfb534 100644 --- a/python/examples/kaitai/kaitai_struct_formats/image/xwd.py +++ b/python/examples/kaitai/xwd.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections diff --git a/python/examples/kaitai/kaitai_struct_formats/archive/zip.py b/python/examples/kaitai/zip.py index 1f6894dd..9fe85264 100644 --- a/python/examples/kaitai/kaitai_struct_formats/archive/zip.py +++ b/python/examples/kaitai/zip.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import # This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild from pkg_resources import parse_version -from ...kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO +from .kaitaistruct import __version__ as ks_version, KaitaiStruct, KaitaiStream, BytesIO from enum import Enum import collections |
