def startCrack(self): if not self.FileChecker.isArchiveEmpty( ) and not self.FileChecker.isDictionaryEmpty(): if self.FileChecker.isArchiveRAR(): MessageBox.ShowError( "Error", "This is a RAR file(If you want to use this just uncomment code in Zip_Cracker.py file)" ) #Uncomment this if you have linux :/ #if not self.FileChecker.RequiresPassword(): # Cracker=RARCracker(self.FileChecker.getArchiveFilePath(),self.FileChecker.getDictionaryPath()) #else: # messagebox.showinfo("WAIT WHAT?","RAR archive doesn't have any password") # return else: Cracker = ZIPCracker(self.FileChecker.getArchiveFilePath(), self.FileChecker.getDictionaryPath(), self.ProgressBar) self.ProgressBar.setMaxValue(Cracker.countPasswords()) # I'm f*****g lazy to create a special class for two lines of code :/ self.thread = threading.Thread(target=Cracker.TryBruteForce()) self.thread.start() else: MessageBox.ShowError("Error", "You didn't choose all options")