def _parseBytes(self, bytes): offset = 0 mysize, valsize, vstype = struct.unpack('<HHH', bytes[:6]) offset += 6 offset, vinfosig = self._eatStringAndAlign(bytes, offset) if vinfosig != 'VS_VERSION_INFO': Exception('Invalid VS_VERSION_INFO signature!') if valsize: ffinfo = vs_pe.VS_FIXEDFILEINFO() ffinfo.vsParse(bytes[offset:offset+valsize]) offset += valsize self._stringFileInfo(bytes, offset)
def _parseBytes(self, bytes): offset = 0 mysize, valsize, vstype = struct.unpack('<HHH', bytes[:6]) offset += 6 offset, vinfosig = self._eatStringAndAlign(bytes, offset) if vinfosig != 'VS_VERSION_INFO': Exception('Invalid VS_VERSION_INFO signature!: %s' % repr(vinfosig)) if valsize and valsize >= len(vs_pe.VS_FIXEDFILEINFO()): ffinfo = vs_pe.VS_FIXEDFILEINFO() ffinfo.vsParse(bytes[offset:offset+valsize]) offset += valsize offmod = offset % 4 if offmod: offset += (4 - offmod) xmax = min(mysize, len(bytes)) i = 0 while offset < xmax and i < 2: offset = self._stringFileInfo(bytes, offset) i += 1