-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstrokeOff.py
99 lines (89 loc) · 3.22 KB
/
strokeOff.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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#################################
# StrokeOff #
# Nathan Smith #
# Software protection against #
# HID Attacks via USB #
#################################
from tkinter import *
from StrokeOff import yamlWriter
import os
from StrokeOff import keyTracker
window = Tk()
window.title("StrokeOff")
window.geometry('450x350')
# Labels
lbl = Label(window, text="Stroke Off Setup", font=("Arial Bold", 16))
lbl0 = Label(window, text="Policy: ", font=("Arial", 14))
lbl1 = Label(window, text="Password: ", font=("Arial", 14))
lbl2 = Label(window, text="BlackList: ", font=("Arial", 14))
lbl3 = Label(window, text="Threshold: ", font=("Arial", 14))
lbl4 = Label(window, text="Size: ", font=("Arial", 14))
lbl5 = Label(window, text="Randdrop: ", font=("Arial", 14))
lbl6 = Label(window, text="Filename: ", font=("Arial", 14))
lbl7 = Label(window, text="Average ", font=("Arial", 14))
# Label Place
lbl.grid(column=0, row=0)
lbl0.grid(column=0, row=1)
lbl1.grid(column=0, row=2)
lbl2.grid(column=0, row=3)
# lbl3.grid(column=0, row=4)
lbl4.grid(column=0, row=5)
lbl5.grid(column=0, row=6)
lbl6.grid(column=0, row=7)
# Text fields
txt = Entry(window, width=15)
txt1 = Entry(window, width=15)
txt2 = Entry(window, width=15)
txt3 = Entry(window, width=15)
txt4 = Entry(window, width=15)
txt5 = Entry(window, width=15)
txt6 = Entry(window, width=15)
txt7 = Entry(window, width=15)
# Place TextFields
txt.grid(column=1, row=1) # Policy
txt1.grid(column=1, row=2) # Password
txt2.grid(column=1, row=3) # BlackList
# txt3.grid(column=1, row=4) # Threshold
txt4.grid(column=1, row=5) # Size
txt5.grid(column=1, row=6) # Randdrop
txt6.grid(column=1, row=7) # Filename
# txt7.grid(column=1, row=8) # Filename
def display():
if v.get() is 1:
lbl3.grid(column=0, row=4)
txt3.grid(column=1, row=4) # Filename
elif v.get() is 2:
lbl3.grid_remove()
txt3.grid_remove()
elif v.get() is 3:
lbl3.grid_remove()
txt3.grid_remove()
def clicked():
if v.get() is 2:
yamlWriter.trainer(txt.get().lower(), txt1.get().lower(), txt2.get(), txt4.get().lower(),
txt6.get().lower())
elif v.get() is 1:
yamlWriter.trainer_avg(txt.get().lower(), txt1.get().lower(), txt2.get(), int(txt3.get().lower()),
int(txt4.get().lower()), txt6.get().lower())
elif v.get() is 3:
yamlWriter.trainer_avg(txt.get().lower(), txt1.get().lower(), txt2.get().lower(), 30,
int(txt4.get().lower()), txt6.get().lower())
def execute():
window.destroy()
keyTracker.main()
# Buttons
btn = Button(window, text="Save Settings", command=clicked, font=("Arial", 14))
btn.grid(column=1, row=9)
btn1 = Button(window, text="Start", command=execute, font=("Arial", 14))
btn1.grid(column=1, row=10)
# Radio Buttons
v = IntVar()
v.set(2) # initializing the choice, i.e. Python
rad1 = Radiobutton(window, text='Manual Thresh', value=1, variable=v, command=display)
rad2 = Radiobutton(window, text='Auto Thresh', value=2, variable=v, command=display)
rad3 = Radiobutton(window, text='Default Thresh', value=3, variable=v, command=display)
# Place RadioButtons
rad2.grid(column=2, row=4)
rad1.grid(column=2, row=5)
rad3.grid(column=2, row=6)
window.mainloop()