예제 #1
0
 def __init__(self, reader):
     self.size = ULONG(reader).value
     self.tag = reader.read(4)
     self.type = ULONG(reader).value
     self.unk0 = ULONG(reader).value
     self.unk1 = ULONG(reader).value
     self.unk2 = ULONG(reader).value
     self.hardkey = KIWI_HARD_KEY(reader)
예제 #2
0
 def __init__(self, reader):
     self.BalancedRoot = RTL_BALANCED_LINKS(reader)
     self.OrderedPointer = PVOID(reader)
     self.WhichOrderedElement = ULONG(reader).value
     self.NumberGenericTableElements = ULONG(reader).value
     self.DepthOfTree = ULONG(reader).value
     reader.align()
     self.RestartKey = PRTL_BALANCED_LINKS(reader)
     self.DeleteCount = ULONG(reader).value
     reader.align()
     self.CompareRoutine = PVOID(reader)  # //
     self.AllocateRoutine = PVOID(reader)  #//
     self.FreeRoutine = PVOID(reader)  #//
     TableContext = PVOID(reader)
예제 #3
0
 def __init__(self, reader):
     self.Flink = PKIWI_MASTERKEY_CACHE_ENTRY(reader)
     self.Blink = PKIWI_MASTERKEY_CACHE_ENTRY(reader)
     self.LogonId = LUID(reader).value
     self.KeyUid = GUID(reader).value
     self.insertTime = FILETIME(reader)
     self.keySize = ULONG(reader).value
     self.key = reader.read(self.keySize)
예제 #4
0
 def __init__(self, reader):
     self.Revision = UINT8(reader).value
     self.SubAuthorityCount = UINT8(reader).value
     self.IdentifierAuthority = int.from_bytes(b'\x00\x00' + reader.read(6),
                                               byteorder='big',
                                               signed=False)
     self.SubAuthority = []
     for _ in range(self.SubAuthorityCount):
         self.SubAuthority.append(ULONG(reader).value)
예제 #5
0
 def __init__(self, reader):
     self.size = ULONG(reader).value
     self.tag = reader.read(4)  # 'MSSK'
     self.type = ULONG(reader).value
     self.unk0 = ULONG(reader).value
     self.unk1 = ULONG(reader).value
     self.unk2 = ULONG(reader).value
     self.unk3 = ULONG(reader).value
     reader.align()
     self.unk4 = PVOID(reader).value  # before, align in x64
     self.hardkey = KIWI_HARD_KEY(reader)
예제 #6
0
 def __init__(self, reader):
     self.size = ULONG(reader).value
     self.tag = reader.read(4)  # 'UUUR'
     self.hAlgorithm = PVOID(reader).value
     self.ptr_key = PKIWI_BCRYPT_KEY(reader)
     self.unk0 = PVOID(reader).value
예제 #7
0
 def __init__(self, reader):
     self.cbSecret = ULONG(reader).value
     self.data = reader.read(self.cbSecret)