Initial Commit
This commit is contained in:
71
main.py
Normal file
71
main.py
Normal file
@@ -0,0 +1,71 @@
|
||||
import multiprocessing
|
||||
import os
|
||||
import time
|
||||
|
||||
from termcolor import cprint
|
||||
from child_process import worldlist_bruteforce_partial
|
||||
|
||||
# ============ Setup ============ #
|
||||
|
||||
fileToCrack = "Aazaza.xls" # The file to crack
|
||||
wordlistPath = "rockyou.txt" # The wordlist to use
|
||||
num_threads = 16 # Number of processes to launch (should be the same as your number of cpu cores)
|
||||
|
||||
# =============================== #
|
||||
|
||||
"""
|
||||
Launches and monitors every process
|
||||
"""
|
||||
|
||||
|
||||
def run_processes():
|
||||
# Get the wordlist's size in bytes from the OS
|
||||
wordlistSize = os.path.getsize(wordlistPath)
|
||||
|
||||
# Calculate the portion of the file each process will read
|
||||
chunk_size = wordlistSize // num_threads
|
||||
|
||||
# Create and start the processes
|
||||
processes = []
|
||||
total_processes = 0
|
||||
for i in range(num_threads):
|
||||
total_processes += 1
|
||||
|
||||
start_pos = i * chunk_size
|
||||
end_pos = start_pos + chunk_size
|
||||
|
||||
process = multiprocessing.Process(target=worldlist_bruteforce_partial,
|
||||
args=(fileToCrack, wordlistPath, num_threads, i + 1, start_pos, end_pos))
|
||||
process.start()
|
||||
processes.append(process)
|
||||
|
||||
cprint("[MAINPROCESS] Started " + str(total_processes) + "/" + str(num_threads) + " threads", "red", attrs=["bold"])
|
||||
|
||||
# Check if any process has finished early
|
||||
while True:
|
||||
still_alive = False
|
||||
|
||||
for process in processes:
|
||||
if process.is_alive():
|
||||
still_alive = True
|
||||
else:
|
||||
if process.exitcode == 111: # It means found
|
||||
cprint("[MAINPROCESS] Found the code !", "green", attrs=["bold"])
|
||||
|
||||
# Kill everything
|
||||
still_alive = False
|
||||
for proc in processes:
|
||||
proc.kill()
|
||||
break
|
||||
|
||||
if not still_alive: # If every process is dead, break the loop
|
||||
break
|
||||
|
||||
time.sleep(1) # Wait for some time
|
||||
|
||||
|
||||
"""
|
||||
Main function
|
||||
"""
|
||||
if __name__ == '__main__':
|
||||
run_processes()
|
||||
Reference in New Issue
Block a user