예제 #1
0
class IEnumVdsObject(IRemUnknown2):
    def Next(self, celt=0xffff):
        request = IEnumVdsObject_Next()
        request['ORPCthis'] = self.get_cinstance().get_ORPCthis()
        request['ORPCthis']['flags'] = 0
        request['celt'] = celt
        try:
            resp = self.request(request, uuid = self.get_iPid())
        except Exception, e:
            resp = e.get_packet()
            # If it is S_FALSE(1) means less items were returned
            if resp['ErrorCode'] != 1:
                raise
        interfaces = list()
        for interface in resp['ppObjectArray']:
            interfaces.append(IRemUnknown2(INTERFACE(self.get_cinstance(), ''.join(interface['abData']), self.get_ipidRemUnknown(), target = self.get_target())))
        return interfaces
예제 #2
0
파일: dcomexec.py 프로젝트: crake7/CTF
    def getInterface(self, interface, resp):
        # Now let's parse the answer and build an Interface instance
        objRefType = OBJREF(''.join(resp))['flags']
        objRef = None
        if objRefType == FLAGS_OBJREF_CUSTOM:
            objRef = OBJREF_CUSTOM(''.join(resp))
        elif objRefType == FLAGS_OBJREF_HANDLER:
            objRef = OBJREF_HANDLER(''.join(resp))
        elif objRefType == FLAGS_OBJREF_STANDARD:
            objRef = OBJREF_STANDARD(''.join(resp))
        elif objRefType == FLAGS_OBJREF_EXTENDED:
            objRef = OBJREF_EXTENDED(''.join(resp))
        else:
            logging.error("Unknown OBJREF Type! 0x%x" % objRefType)

        return IRemUnknown2(
            INTERFACE(interface.get_cinstance(), None, interface.get_ipidRemUnknown(), objRef['std']['ipid'],
                      oxid=objRef['std']['oxid'], oid=objRef['std']['oxid'],
                      target=interface.get_target()))
예제 #3
0
 def __init__(self, interface):
     IRemUnknown2.__init__(self, interface)
예제 #4
0
 def __init__(self, interface):
     IRemUnknown2.__init__(self, interface)
     self._iid = IID_IVssDifferentialSoftwareSnapshotMgmt
예제 #5
0
 def __init__(self, interface):
     IRemUnknown2.__init__(self, interface)
     self._iid = IID_IVssSnapshotMgmt
예제 #6
0
 def __init__(self, interface):
     IRemUnknown2.__init__(self, interface)
     self._iid = IID_IVssEnumObject
예제 #7
0
 def __init__(self, interface):
     IRemUnknown2.__init__(self,interface)
     self._iid = IID_IDispatch
예제 #8
0
 def __init__(self, interface):
     IRemUnknown2.__init__(self,interface)
     self._iid = IID_ITypeInfo
예제 #9
0
 def __init__(self, interface):
     IRemUnknown2.__init__(self, interface)
     self._iid = IID_IDispatch
예제 #10
0
 def __init__(self, interface):
     IRemUnknown2.__init__(self, interface)
     self._iid = IID_ITypeInfo
예제 #11
0
파일: vds.py 프로젝트: Hormazd/impacket
 def __init__(self, interface):
     IRemUnknown2.__init__(self, interface)
예제 #12
0
 def __init__(self, interface):
     IRemUnknown2.__init__(self, interface)
     self._iid = IID_IVssDifferentialSoftwareSnapshotMgmt
예제 #13
0
 def __init__(self, interface):
     IRemUnknown2.__init__(self, interface)
     self._iid = IID_IVssSnapshotMgmt
예제 #14
0
 def __init__(self, interface):
     IRemUnknown2.__init__(self, interface)
     self._iid = IID_IVssEnumObject