def parse(self, data, offset=0):
if len(data) < self.size:
raise Exception("Header: Too small size of input data !")
val = unpack_from(self.FORMAT, data, offset)
self.MagicNumber = val[0]
header_crc = val[1]
self.TimeStamp = val[2]
self.DataSize = val[3]
self.LoadAddress = val[4]
self.EntryAddress = val[5]
self.DataCRC = val[6]
self.OsType = val[7]
self.ArchType = val[8]
self.ImageType = val[9]
self.Compression = val[10]
self.Name = val[11].decode('utf-8').strip('\0')
if header_crc != self._crc():
raise Exception("Header: Uncorrect CRC of input data !")
return self.size
评论列表
文章目录