diff options
Diffstat (limited to 'python/examples/kaitai/kaitai_struct_formats/firmware')
4 files changed, 0 insertions, 491 deletions
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/firmware/andes_firmware.py b/python/examples/kaitai/kaitai_struct_formats/firmware/andes_firmware.py deleted file mode 100644 index b032da33..00000000 --- a/python/examples/kaitai/kaitai_struct_formats/firmware/andes_firmware.py +++ /dev/null @@ -1,64 +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 AndesFirmware(KaitaiStruct): - """Firmware image found with MediaTek MT76xx wifi chipsets.""" - SEQ_FIELDS = ["image_header", "ilm", "dlm"] - 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['image_header']['start'] = self._io.pos() - self._raw_image_header = self._io.read_bytes(32) - io = KaitaiStream(BytesIO(self._raw_image_header)) - self.image_header = self._root.ImageHeader(io, self, self._root) - self.image_header._read() - self._debug['image_header']['end'] = self._io.pos() - self._debug['ilm']['start'] = self._io.pos() - self.ilm = self._io.read_bytes(self.image_header.ilm_len) - self._debug['ilm']['end'] = self._io.pos() - self._debug['dlm']['start'] = self._io.pos() - self.dlm = self._io.read_bytes(self.image_header.dlm_len) - self._debug['dlm']['end'] = self._io.pos() - - class ImageHeader(KaitaiStruct): - SEQ_FIELDS = ["ilm_len", "dlm_len", "fw_ver", "build_ver", "extra", "build_time"] - 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['ilm_len']['start'] = self._io.pos() - self.ilm_len = self._io.read_u4le() - self._debug['ilm_len']['end'] = self._io.pos() - self._debug['dlm_len']['start'] = self._io.pos() - self.dlm_len = self._io.read_u4le() - self._debug['dlm_len']['end'] = self._io.pos() - self._debug['fw_ver']['start'] = self._io.pos() - self.fw_ver = self._io.read_u2le() - self._debug['fw_ver']['end'] = self._io.pos() - self._debug['build_ver']['start'] = self._io.pos() - self.build_ver = self._io.read_u2le() - self._debug['build_ver']['end'] = self._io.pos() - self._debug['extra']['start'] = self._io.pos() - self.extra = self._io.read_u4le() - self._debug['extra']['end'] = self._io.pos() - self._debug['build_time']['start'] = self._io.pos() - self.build_time = (self._io.read_bytes(16)).decode(u"UTF-8") - self._debug['build_time']['end'] = self._io.pos() - - - diff --git a/python/examples/kaitai/kaitai_struct_formats/firmware/ines.py b/python/examples/kaitai/kaitai_struct_formats/firmware/ines.py deleted file mode 100644 index e9c97d29..00000000 --- a/python/examples/kaitai/kaitai_struct_formats/firmware/ines.py +++ /dev/null @@ -1,278 +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 -from enum import Enum - - -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 Ines(KaitaiStruct): - """ - .. seealso:: - Source - https://wiki.nesdev.com/w/index.php/INES - """ - SEQ_FIELDS = ["header", "trainer", "prg_rom", "chr_rom", "playchoice10", "title"] - 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['header']['start'] = self._io.pos() - self._raw_header = self._io.read_bytes(16) - io = KaitaiStream(BytesIO(self._raw_header)) - self.header = self._root.Header(io, self, self._root) - self.header._read() - self._debug['header']['end'] = self._io.pos() - if self.header.f6.trainer: - self._debug['trainer']['start'] = self._io.pos() - self.trainer = self._io.read_bytes(512) - self._debug['trainer']['end'] = self._io.pos() - - self._debug['prg_rom']['start'] = self._io.pos() - self.prg_rom = self._io.read_bytes((self.header.len_prg_rom * 16384)) - self._debug['prg_rom']['end'] = self._io.pos() - self._debug['chr_rom']['start'] = self._io.pos() - self.chr_rom = self._io.read_bytes((self.header.len_chr_rom * 8192)) - self._debug['chr_rom']['end'] = self._io.pos() - if self.header.f7.playchoice10: - self._debug['playchoice10']['start'] = self._io.pos() - self.playchoice10 = self._root.Playchoice10(self._io, self, self._root) - self.playchoice10._read() - self._debug['playchoice10']['end'] = self._io.pos() - - if not (self._io.is_eof()): - self._debug['title']['start'] = self._io.pos() - self.title = (self._io.read_bytes_full()).decode(u"ASCII") - self._debug['title']['end'] = self._io.pos() - - - class Header(KaitaiStruct): - SEQ_FIELDS = ["magic", "len_prg_rom", "len_chr_rom", "f6", "f7", "len_prg_ram", "f9", "f10", "reserved"] - 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['magic']['start'] = self._io.pos() - self.magic = self._io.ensure_fixed_contents(b"\x4E\x45\x53\x1A") - self._debug['magic']['end'] = self._io.pos() - self._debug['len_prg_rom']['start'] = self._io.pos() - self.len_prg_rom = self._io.read_u1() - self._debug['len_prg_rom']['end'] = self._io.pos() - self._debug['len_chr_rom']['start'] = self._io.pos() - self.len_chr_rom = self._io.read_u1() - self._debug['len_chr_rom']['end'] = self._io.pos() - self._debug['f6']['start'] = self._io.pos() - self._raw_f6 = self._io.read_bytes(1) - io = KaitaiStream(BytesIO(self._raw_f6)) - self.f6 = self._root.Header.F6(io, self, self._root) - self.f6._read() - self._debug['f6']['end'] = self._io.pos() - self._debug['f7']['start'] = self._io.pos() - self._raw_f7 = self._io.read_bytes(1) - io = KaitaiStream(BytesIO(self._raw_f7)) - self.f7 = self._root.Header.F7(io, self, self._root) - self.f7._read() - self._debug['f7']['end'] = self._io.pos() - self._debug['len_prg_ram']['start'] = self._io.pos() - self.len_prg_ram = self._io.read_u1() - self._debug['len_prg_ram']['end'] = self._io.pos() - self._debug['f9']['start'] = self._io.pos() - self._raw_f9 = self._io.read_bytes(1) - io = KaitaiStream(BytesIO(self._raw_f9)) - self.f9 = self._root.Header.F9(io, self, self._root) - self.f9._read() - self._debug['f9']['end'] = self._io.pos() - self._debug['f10']['start'] = self._io.pos() - self._raw_f10 = self._io.read_bytes(1) - io = KaitaiStream(BytesIO(self._raw_f10)) - self.f10 = self._root.Header.F10(io, self, self._root) - self.f10._read() - self._debug['f10']['end'] = self._io.pos() - self._debug['reserved']['start'] = self._io.pos() - self.reserved = self._io.ensure_fixed_contents(b"\x00\x00\x00\x00\x00") - self._debug['reserved']['end'] = self._io.pos() - - class F6(KaitaiStruct): - """ - .. seealso:: - Source - https://wiki.nesdev.com/w/index.php/INES#Flags_6 - """ - - class Mirroring(Enum): - horizontal = 0 - vertical = 1 - SEQ_FIELDS = ["lower_mapper", "four_screen", "trainer", "has_battery_ram", "mirroring"] - 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['lower_mapper']['start'] = self._io.pos() - self.lower_mapper = self._io.read_bits_int(4) - self._debug['lower_mapper']['end'] = self._io.pos() - self._debug['four_screen']['start'] = self._io.pos() - self.four_screen = self._io.read_bits_int(1) != 0 - self._debug['four_screen']['end'] = self._io.pos() - self._debug['trainer']['start'] = self._io.pos() - self.trainer = self._io.read_bits_int(1) != 0 - self._debug['trainer']['end'] = self._io.pos() - self._debug['has_battery_ram']['start'] = self._io.pos() - self.has_battery_ram = self._io.read_bits_int(1) != 0 - self._debug['has_battery_ram']['end'] = self._io.pos() - self._debug['mirroring']['start'] = self._io.pos() - self.mirroring = KaitaiStream.resolve_enum(self._root.Header.F6.Mirroring, self._io.read_bits_int(1)) - self._debug['mirroring']['end'] = self._io.pos() - - - class F7(KaitaiStruct): - """ - .. seealso:: - Source - https://wiki.nesdev.com/w/index.php/INES#Flags_7 - """ - SEQ_FIELDS = ["upper_mapper", "format", "playchoice10", "vs_unisystem"] - 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['upper_mapper']['start'] = self._io.pos() - self.upper_mapper = self._io.read_bits_int(4) - self._debug['upper_mapper']['end'] = self._io.pos() - self._debug['format']['start'] = self._io.pos() - self.format = self._io.read_bits_int(2) - self._debug['format']['end'] = self._io.pos() - self._debug['playchoice10']['start'] = self._io.pos() - self.playchoice10 = self._io.read_bits_int(1) != 0 - self._debug['playchoice10']['end'] = self._io.pos() - self._debug['vs_unisystem']['start'] = self._io.pos() - self.vs_unisystem = self._io.read_bits_int(1) != 0 - self._debug['vs_unisystem']['end'] = self._io.pos() - - - class F9(KaitaiStruct): - """ - .. seealso:: - Source - https://wiki.nesdev.com/w/index.php/INES#Flags_9 - """ - - class TvSystem(Enum): - ntsc = 0 - pal = 1 - SEQ_FIELDS = ["reserved", "tv_system"] - 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['reserved']['start'] = self._io.pos() - self.reserved = self._io.read_bits_int(7) - self._debug['reserved']['end'] = self._io.pos() - self._debug['tv_system']['start'] = self._io.pos() - self.tv_system = KaitaiStream.resolve_enum(self._root.Header.F9.TvSystem, self._io.read_bits_int(1)) - self._debug['tv_system']['end'] = self._io.pos() - - - class F10(KaitaiStruct): - """ - .. seealso:: - Source - https://wiki.nesdev.com/w/index.php/INES#Flags_10 - """ - - class TvSystem(Enum): - ntsc = 0 - dual1 = 1 - pal = 2 - dual2 = 3 - SEQ_FIELDS = ["reserved1", "bus_conflict", "prg_ram", "reserved2", "tv_system"] - 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['reserved1']['start'] = self._io.pos() - self.reserved1 = self._io.read_bits_int(2) - self._debug['reserved1']['end'] = self._io.pos() - self._debug['bus_conflict']['start'] = self._io.pos() - self.bus_conflict = self._io.read_bits_int(1) != 0 - self._debug['bus_conflict']['end'] = self._io.pos() - self._debug['prg_ram']['start'] = self._io.pos() - self.prg_ram = self._io.read_bits_int(1) != 0 - self._debug['prg_ram']['end'] = self._io.pos() - self._debug['reserved2']['start'] = self._io.pos() - self.reserved2 = self._io.read_bits_int(2) - self._debug['reserved2']['end'] = self._io.pos() - self._debug['tv_system']['start'] = self._io.pos() - self.tv_system = KaitaiStream.resolve_enum(self._root.Header.F10.TvSystem, self._io.read_bits_int(2)) - self._debug['tv_system']['end'] = self._io.pos() - - - @property - def mapper(self): - """ - .. seealso:: - Source - https://wiki.nesdev.com/w/index.php/Mapper - """ - if hasattr(self, '_m_mapper'): - return self._m_mapper if hasattr(self, '_m_mapper') else None - - self._m_mapper = (self.f6.lower_mapper | (self.f7.upper_mapper << 4)) - return self._m_mapper if hasattr(self, '_m_mapper') else None - - - class Playchoice10(KaitaiStruct): - """ - .. seealso:: - Source - http://wiki.nesdev.com/w/index.php/PC10_ROM-Images - """ - SEQ_FIELDS = ["inst_rom", "prom"] - 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['inst_rom']['start'] = self._io.pos() - self.inst_rom = self._io.read_bytes(8192) - self._debug['inst_rom']['end'] = self._io.pos() - self._debug['prom']['start'] = self._io.pos() - self.prom = self._root.Playchoice10.Prom(self._io, self, self._root) - self.prom._read() - self._debug['prom']['end'] = self._io.pos() - - class Prom(KaitaiStruct): - SEQ_FIELDS = ["data", "counter_out"] - 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['data']['start'] = self._io.pos() - self.data = self._io.read_bytes(16) - self._debug['data']['end'] = self._io.pos() - self._debug['counter_out']['start'] = self._io.pos() - self.counter_out = self._io.read_bytes(16) - self._debug['counter_out']['end'] = self._io.pos() - - - - diff --git a/python/examples/kaitai/kaitai_struct_formats/firmware/uimage.py b/python/examples/kaitai/kaitai_struct_formats/firmware/uimage.py deleted file mode 100644 index fb5b31f3..00000000 --- a/python/examples/kaitai/kaitai_struct_formats/firmware/uimage.py +++ /dev/null @@ -1,149 +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 -from enum import Enum -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 Uimage(KaitaiStruct): - """The new uImage format allows more flexibility in handling images of various - types (kernel, ramdisk, etc.), it also enhances integrity protection of images - with sha1 and md5 checksums. - - .. seealso:: - Source - https://github.com/EmcraftSystems/u-boot/blob/master/include/image.h - """ - - class UimageOs(Enum): - invalid = 0 - openbsd = 1 - netbsd = 2 - freebsd = 3 - bsd4_4 = 4 - linux = 5 - svr4 = 6 - esix = 7 - solaris = 8 - irix = 9 - sco = 10 - dell = 11 - ncr = 12 - lynxos = 13 - vxworks = 14 - psos = 15 - qnx = 16 - u_boot = 17 - rtems = 18 - artos = 19 - unity = 20 - integrity = 21 - - class UimageArch(Enum): - invalid = 0 - alpha = 1 - arm = 2 - i386 = 3 - ia64 = 4 - mips = 5 - mips64 = 6 - ppc = 7 - s390 = 8 - sh = 9 - sparc = 10 - sparc64 = 11 - m68k = 12 - nios = 13 - microblaze = 14 - nios2 = 15 - blackfin = 16 - avr32 = 17 - st200 = 18 - - class UimageComp(Enum): - none = 0 - gzip = 1 - bzip2 = 2 - lzma = 3 - lzo = 4 - - class UimageType(Enum): - invalid = 0 - standalone = 1 - kernel = 2 - ramdisk = 3 - multi = 4 - firmware = 5 - script = 6 - filesystem = 7 - flatdt = 8 - kwbimage = 9 - imximage = 10 - SEQ_FIELDS = ["header", "data"] - 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['header']['start'] = self._io.pos() - self.header = self._root.Uheader(self._io, self, self._root) - self.header._read() - self._debug['header']['end'] = self._io.pos() - self._debug['data']['start'] = self._io.pos() - self.data = self._io.read_bytes(self.header.len_image) - self._debug['data']['end'] = self._io.pos() - - class Uheader(KaitaiStruct): - SEQ_FIELDS = ["magic", "header_crc", "timestamp", "len_image", "load_address", "entry_address", "data_crc", "os_type", "architecture", "image_type", "compression_type", "name"] - 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['magic']['start'] = self._io.pos() - self.magic = self._io.ensure_fixed_contents(b"\x27\x05\x19\x56") - self._debug['magic']['end'] = self._io.pos() - self._debug['header_crc']['start'] = self._io.pos() - self.header_crc = self._io.read_u4be() - self._debug['header_crc']['end'] = self._io.pos() - self._debug['timestamp']['start'] = self._io.pos() - self.timestamp = self._io.read_u4be() - self._debug['timestamp']['end'] = self._io.pos() - self._debug['len_image']['start'] = self._io.pos() - self.len_image = self._io.read_u4be() - self._debug['len_image']['end'] = self._io.pos() - self._debug['load_address']['start'] = self._io.pos() - self.load_address = self._io.read_u4be() - self._debug['load_address']['end'] = self._io.pos() - self._debug['entry_address']['start'] = self._io.pos() - self.entry_address = self._io.read_u4be() - self._debug['entry_address']['end'] = self._io.pos() - self._debug['data_crc']['start'] = self._io.pos() - self.data_crc = self._io.read_u4be() - self._debug['data_crc']['end'] = self._io.pos() - self._debug['os_type']['start'] = self._io.pos() - self.os_type = KaitaiStream.resolve_enum(self._root.UimageOs, self._io.read_u1()) - self._debug['os_type']['end'] = self._io.pos() - self._debug['architecture']['start'] = self._io.pos() - self.architecture = KaitaiStream.resolve_enum(self._root.UimageArch, self._io.read_u1()) - self._debug['architecture']['end'] = self._io.pos() - self._debug['image_type']['start'] = self._io.pos() - self.image_type = KaitaiStream.resolve_enum(self._root.UimageType, self._io.read_u1()) - self._debug['image_type']['end'] = self._io.pos() - self._debug['compression_type']['start'] = self._io.pos() - self.compression_type = KaitaiStream.resolve_enum(self._root.UimageComp, self._io.read_u1()) - self._debug['compression_type']['end'] = self._io.pos() - self._debug['name']['start'] = self._io.pos() - self.name = (KaitaiStream.bytes_terminate(self._io.read_bytes(32), 0, False)).decode(u"UTF-8") - self._debug['name']['end'] = self._io.pos() - - - |
