Exemplo n.º 1
0
 def __init__(self, data=None, isNDR64=False):
     NDRSTRUCT.__init__(self, data, isNDR64)
     if data is None:
         self['Version'] = 1
         self['Endianness'] = 0x10
         self['CommonHeaderLength'] = 8
         self['Filler'] = 0xcccccccc
Exemplo n.º 2
0
 def __setitem__(self, key, value):
     if key == 'Data' and isinstance(value, NDR) is False:
         try:
             value.encode('utf-16le')
         except UnicodeDecodeError:
             import sys
             value = value.decode(sys.getfilesystemencoding())
         self['Length'] = len(value) * 2
         self['MaximumLength'] = len(value) * 2
     return NDRSTRUCT.__setitem__(self, key, value)
Exemplo n.º 3
0
 def getData(self, soFar=0):
     self['PrivateHeader']['ObjectBufferLength'] = len(
         NDRSTRUCT.getData(self, soFar)) + len(
             NDRSTRUCT.getDataReferents(self, soFar)) - len(
                 self['CommonHeader']) - len(self['PrivateHeader'])
     return NDRSTRUCT.getData(self, soFar)
Exemplo n.º 4
0
 def __init__(self, data=None, isNDR64=False):
     NDRSTRUCT.__init__(self, data, isNDR64)
     if data is None:
         self['Filler'] = 0xcccccccc
Exemplo n.º 5
0
 def fromString(self, data, soFar=0):
     # Here we're changing the struct so we can represent a linked list with NDR
     self.fields['pNextEntInf'] = PREPLENTINFLIST(isNDR64=self._isNDR64)
     retVal = NDRSTRUCT.fromString(self, data, soFar)
     return retVal
Exemplo n.º 6
0
 def getData(self, soFar=0):
     return NDRSTRUCT.getData(self, soFar)
Exemplo n.º 7
0
 def fromString(self, data, soFar=0):
     retVal = NDRSTRUCT.fromString(self, data, soFar)
     # self.dumpRaw()
     return retVal
Exemplo n.º 8
0
 def __setitem__(self, key, value):
     if key == 'Data' and isinstance(value, NDR) is False:
         self['Length'] = len(value)
         self['MaximumLength'] = len(value)
     return NDRSTRUCT.__setitem__(self, key, value)
Exemplo n.º 9
0
 def getData(self, soFar=0):
     self['SubAuthorityCount'] = len(self['SubAuthority'])
     return NDRSTRUCT.getData(self, soFar)
Exemplo n.º 10
0
 def __init__(self, data=None, isNDR64=False):
     NDRSTRUCT.__init__(self, data, isNDR64)
     self['context_handle_uuid'] = '\x00' * 20