Example #1
0
    def __init__(self, data=None, extradata=None):
        Struct.__init__(self, data)

        if data is not None:
            Struct.__init__(self, data)
            pos = self.calcsize()
            self['Sid'] = DCERPCSid(data=extradata)
Example #2
0
    def __init__(self, data=None, Name='', Sid=''):
        Struct.__init__(self, data)

        if data is None:
            if Name is not None:
                self['NameLength'] = len(Name)
                self['NameSize'] = len(Name)
                self['NamePtr'] = 0x2000040
                self['NameString'] = DCERPCString(
                    string=Name.encode('UTF-16LE'))
            if Sid is not None:
                self['SidPtr'] = 0x2000050
                self['Sid'] = DCERPCSid(Sid=Sid)
Example #3
0
    def __init__(self,
                 data=None,
                 PolicyHandle='\x00' * 20,
                 Sids=[],
                 LsaLookupLevel=LSA_LOOKUP_NAMES_ALL,
                 is_unicode=True):
        Struct.__init__(self, data)

        if data is not None:
            self['PolicyHandle'] = data[:16]
            ### TODO
        else:
            self['PolicyHandle'] = PolicyHandle
            self['NumberOfSids'] = len(Sids)
            self['Sids'] = [DCERPCSid(Sid=x) for x in Sids]
            self['LsaLookupLevel'] = LsaLookupLevel
            self['Count'] = len(Sids)
Example #4
0
    def __init__(self, data=None, Sids=[]):
        Struct.__init__(self, data)

        if data is not None:
            pos1 = self.calcsize()
            objsize = LsaTranslatedSidEx2().calcsize()
            pos2 = pos1 + objsize * self['Count']
            self['Sids'] = []
            for i in xrange(self['Count']):
                Sid = LsaTranslatedSidEx2(data=data[pos1:],
                                          extradata=data[pos2:])
                self['Sids'].append(Sid)
                pos1 += Sid.calcsize()
                sid_str = Sid.get_sid()['Sid']
                pos2 += len(DCERPCSid(Sid=sid_str).pack())
        else:
            self['Count'] = len(Sids)
            self['SidsPtr'] = 0x020010
            self['MaxCount'] = len(Sids)
            self['Sids'] = Sids
Example #5
0
 def unpack_sid(self, data):
     self['Sid'] = DCERPCSid(data=data)