-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmaster_brute_force.py
More file actions
50 lines (40 loc) · 1.57 KB
/
master_brute_force.py
File metadata and controls
50 lines (40 loc) · 1.57 KB
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
import time
import config
from server import TaskManager
def __password_creator(m):
job_queue, result_queue = m.get_job_queue(), m.get_result_queue()
print_time = time.time()
while True:
# Print stats
if time.time() - print_time > 15:
# TODO Print here more details
print("Current Password Start " + str(config.PASSWORD_START))
print_time = time.time()
# Check if results are here
while not result_queue.empty():
result, password = result_queue.get()
if result:
return result, password
# Check if we need to create more tasks
if job_queue.qsize() < 100 and config.PASSWORD_START < len(
config.LETTERS) ** config.RANGE_MAX:
job_queue.put((config.PASSWORD_START,
config.PASSWORD_START + config.PASSWORD_TASK_SIZE,
config.LETTERS,
config.DATA))
config.PASSWORD_START += config.PASSWORD_TASK_SIZE
else:
if config.PASSWORD_START > len(config.LETTERS) ** config.RANGE_MAX \
and job_queue.qsize() == 0:
return 0, ""
# Wait
time.sleep(0.1)
if __name__ == "__main__":
TaskManager.register("get_job_queue")
TaskManager.register("get_result_queue")
m = TaskManager(address=(config.SERVER_IP, config.SERVER_PORT),
authkey=config.SERVER_PASSWORD)
m.connect()
t1 = time.time()
result, password = __password_creator(m)
t2 = time.time()