diff --git a/child_process.py b/child_process.py index b7003c1..d5b9089 100644 --- a/child_process.py +++ b/child_process.py @@ -12,8 +12,7 @@ colors = ["black", "red", "green", "yellow", "blue", "magenta", "cyan", "white", total_processes = 0 total_decrypt_attempts = 0 - -update_rate = 100000 +update_rate = 0 """ Get a color for a process using an array @@ -76,9 +75,11 @@ Global function of a child process """ -def worldlist_bruteforce_partial(fileToCrack, wordlistPath, total_proc, processNumbar, startPos, endPos): +def worldlist_bruteforce_partial(fileToCrack, wordlistPath, total_proc, rate_of_update, processNumbar, startPos, endPos): global total_processes total_processes = total_proc + global update_rate + update_rate = rate_of_update # Opens the excel file with open(fileToCrack, 'rb') as file: @@ -93,7 +94,9 @@ def worldlist_bruteforce_partial(fileToCrack, wordlistPath, total_proc, processN # Find the right start position in the wordlist for this process print_thread(processNumbar, "Started new process [" + str(startPos) + " -> " + str(endPos) + "]") + # Sets initial position in the file wordlistToUse.seek(startPos) + # Move backward until a newline character is found or we reach the beginning of the file position = startPos while position > 0: @@ -109,7 +112,7 @@ def worldlist_bruteforce_partial(fileToCrack, wordlistPath, total_proc, processN try: line = wordlistToUse.readline() - # End the thread if it has arrived to its given endPos + # End the process if it has arrived to its given end position if wordlistToUse.tell() >= endPos: print_thread(processNumbar, "Thread done at line " + line + " with " + str( total_decrypt_attempts) + " attempts.") @@ -125,7 +128,7 @@ def worldlist_bruteforce_partial(fileToCrack, wordlistPath, total_proc, processN line = line.rstrip() # Removes line endings - # Print status every x lines read + # Print status every x attempts if last_update <= total_decrypt_attempts - update_rate: calculate_speed(processNumbar, start_time, last_update, line) start_time = time.time() diff --git a/main.py b/main.py index 2120d98..3dfa117 100644 --- a/main.py +++ b/main.py @@ -10,6 +10,7 @@ from child_process import worldlist_bruteforce_partial fileToCrack = "Base_MPP_Ouest_2013.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) +update_rate = 100000 # Everytime the program needs to remind you what its doing # =============================== # @@ -35,7 +36,7 @@ def run_processes(): end_pos = start_pos + chunk_size process = multiprocessing.Process(target=worldlist_bruteforce_partial, - args=(fileToCrack, wordlistPath, num_threads, i + 1, start_pos, end_pos)) + args=(fileToCrack, wordlistPath, num_threads, update_rate, i + 1, start_pos, end_pos)) process.start() processes.append(process)