print "Context opcode: %x [%02d]" % (opcode.opnum, len(opcode.elements)) testpack = "" request = "" # Again I have to pass twice because of union dependencies for element in opcode.elements: testpack += element.serialize() # This is all you do to serialize the data for the wire request += opcode.serialize() print "" if send: print "[*] Sending [%d]" % (opcode.opnum) print "[*] [%s]" % print_hex(request) rpc.call(opcode.opnum, request) try: recvbuffer = rpc.recv() except: print "[!] Socket closed skipping uuid" rpc = None continue if recvbuffer: try: rpcerror = rpc.rpcerror(struct.unpack("<L", recvbuffer[:4])[0]) except: print "[!] Problem with unpack of [%s]" % (recvbuffer)
testpack = "" request = "" # Again I have to pass twice because of union dependencies for element in opcode.elements: testpack += element.serialize() # This is all you do to serialize the data for the wire request += opcode.serialize() print "" if send: print "[*] Sending [%d]" % (opcode.opnum) print "[*] [%s]" % print_hex(request) rpc.call(opcode.opnum, request) try: recvbuffer = rpc.recv() except: print "[!] Socket closed skipping uuid" rpc = None continue if recvbuffer: try: rpcerror = rpc.rpcerror(struct.unpack("<L", recvbuffer[:4])[0]) except: print "[!] Problem with unpack of [%s]" % (recvbuffer)
len(opcode.elements)) testpack = "" request = "" # Again I have to pass twice because of union dependencies for element in opcode.elements: testpack += element.serialize() # This is all you do to serialize the data for the wire request += opcode.serialize() print "" if send: print "[*] Sending [%d]" % (opcode.opnum) print "[*] [%s]" % print_hex(request) rpc.call(opcode.opnum, request) try: recvbuffer = rpc.recv() except: print "[!] Socket closed skipping uuid" rpc = None continue if recvbuffer: try: rpcerror = rpc.rpcerror( struct.unpack("<L", recvbuffer[:4])[0]) except: