def load(self, data): buf = StructReader(data) self.time, count = buf.unpack("<II") for _ in range(count): m = self.MarketingMessage() self.messages.append(m) length, m.id = buf.unpack("<IQ") m.url = buf.read_cstring().decode('utf-8') m.flags = buf.unpack("<I")
def load(self, data): buf, self.memberList = StructReader(data), list() (self.steamIdChat, self.steamIdFriend, self.chatRoomType, self.steamIdOwner, self.steamIdClan, self.chatFlags, self.enterResponse, self.numMembers ) = buf.unpack("<QQIQQ?II") self.chatRoomName = buf.read_cstring().decode('utf-8') for _ in range(self.numMembers): self.memberList.append(vdf.binary_loads(buf.read(64))['MessageObject']) self.UNKNOWN1, = buf.unpack("<I")
def load(self, data): buf = StructReader(data) numBans, = buf.unpack("<I") for _ in range(numBans): m = self.VACBanRange() self.ranges.append(m) m.start, m.end, _ = buf.unpack("<III") if m.start > m.end: m.start, m.end = m.end, m.start
def deserialize(self, data): """Deserialize a manifest (compressed or uncompressed) :param data: manifest data :type data: bytes """ try: with ZipFile(BytesIO(data)) as zf: data = zf.read(zf.filelist[0]) except BadZipFile: pass data = StructReader(data) magic, length = data.unpack('<II') if magic != DepotManifest.PROTOBUF_PAYLOAD_MAGIC: raise Exception("Expecting protobuf payload") self.payload = ContentManifestPayload() self.payload.ParseFromString(data.read(length)) magic, length = data.unpack('<II') if magic != DepotManifest.PROTOBUF_METADATA_MAGIC: raise Exception("Expecting protobuf metadata") self.metadata = ContentManifestMetadata() self.metadata.ParseFromString(data.read(length)) magic, length = data.unpack('<II') if magic != DepotManifest.PROTOBUF_SIGNATURE_MAGIC: raise Exception("Expecting protobuf signature") self.signature = ContentManifestSignature() self.signature.ParseFromString(data.read(length)) magic, = data.unpack('<I') if magic != DepotManifest.PROTOBUF_ENDOFMANIFEST_MAGIC: raise Exception("Expecting end of manifest")
def load(self, data): buf, self.memberList = StructReader(data), list() (self.steamIdChat, self.steamIdFriend, self.chatRoomType, self.steamIdOwner, self.steamIdClan, self.chatFlags, self.enterResponse, self.numMembers) = buf.unpack("<QQIQQ?II") self.chatRoomName = buf.read_cstring().decode('utf-8') for _ in range(self.numMembers): self.memberList.append( vdf.binary_loads(buf.read(64))['MessageObject']) self.UNKNOWN1, = buf.unpack("<I")
def load(self, data): buf = StructReader(data) self.steamIdChatter, self.steamIdChatRoom, self.ChatMsgType = buf.unpack("<QQI") self.text = buf.read_cstring().decode('utf-8')
def load(self, data): buf = StructReader(data) self.steamIdChatter, self.steamIdChatRoom, self.ChatMsgType = buf.unpack( "<QQI") self.text = buf.read_cstring().decode('utf-8')