Files
SHARED/DAGOR_FILES/WtFileUtils/vromfs/FileInfoUtils.py
T

51 lines
1.2 KiBLFS
Python

from ..Exceptions import VROMFSException
PlatformType = {
0x43500000: "Pc",
0x534F6900: "Ios",
0x646E6100: "Android"
}
HeaderType = {
0x73465256: "VRFS", # base header
0x78465256: "VRFX", # extended header
}
class Packing:
Packing = {
# ZSTD compressed and obfuscated. No digest
0x10: "ZSTD_OBFS_NOCHECK",
# Image in plain form. With digest
0x20: "PLAIN",
# Same as ZSTD_OBFS_NOCHECK except with digest
0x30: "ZSTD_OBFS",
}
def __init__(self, packing_raw):
self.packing_raw = packing_raw
self.packing = self.Packing.get(packing_raw)
if packing_raw is None:
raise VROMFSException("Invalid packing type")
def has_digest(self):
return self.packing_raw != 0x10
def has_zstd_obfs(self):
return self.packing_raw != 0x20
class Version:
def __init__(self, data):
self.global_ = None
self.major = None
self.minor = None
self.patch = None
if type(data) in [bytes, bytearray]:
self.global_ = data[3]
self.major = data[2]
self.minor = data[1]
self.patch = data[0]
elif type(data) == str:
pass