Exemplo n.º 1
0
    def build(self, generate_checksum=False, debug=False):
        data = self._build_subsections(generate_checksum)

        if sguid(self.guid) == FIRMWARE_GUIDED_GUIDS["LZMA_COMPRESSED"]:
            data = str(efi_compressor.LzmaCompress(data, len(data)))
            pass

        header = struct.pack("<16sHH", self.guid, self.offset,
                             self.attrs["attrs"])
        return header + self.preamble + data
Exemplo n.º 2
0
    def build(self, generate_checksum=False, debug=False):
        data = self._build_subsections()

        if self.type == 0x01:
            if self.subtype == 0x01:
                data = str(efi_compressor.EfiCompress(data, len(data)))
            elif self.subtype == 0x02:
                data = str(efi_compressor.TianoCompress(data, len(data)))
        elif self.type == 0x02:
            data = str(efi_compressor.LzmaCompress(data, len(data)))
        elif self.type == 0x00:
            pass

        header = struct.pack("<Ic", self.decompressed_size, chr(self.type))
        return header + data
        pass