public DistributedBruteForceManager(KeySearcher keySearcher, KeyPattern.KeyPattern keyPattern, KeySearcherSettings settings, KeyQualityHelper keyQualityHelper, P2PQuickWatchPresentation quickWatch, KeyPoolTreePresentation keyPoolTreePresentation) { this.keySearcher = keySearcher; this.settings = settings; this.keyQualityHelper = keyQualityHelper; this.quickWatch = quickWatch; _keyPoolTreePresentation = keyPoolTreePresentation; // TODO when setting is still default (21), it is only displayed as 21 - but the settings-instance contains 0 for that key! if (settings.ChunkSize == 0) { settings.ChunkSize = 21; } StopWatch = new Stopwatch(); status = new StatusContainer(keySearcher); status.IsCurrentProgressIndeterminate = true; keyGenerator = new StorageKeyGenerator(keySearcher, settings); patternPool = new KeyPatternPool(keyPattern, new BigInteger(Math.Pow(2, settings.ChunkSize))); StatisticsGenerator = new StatisticsGenerator(status, quickWatch, keySearcher, settings, this); quickWatch.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(UpdateStatusContainerInQuickWatch)); _keyPoolTreePresentation.PatternPool = patternPool; _keyPoolTreePresentation.KeyQualityHelper = keyQualityHelper; _keyPoolTreePresentation.KeyGenerator = keyGenerator; _keyPoolTreePresentation.StatusContainer = status; }
public void StatusKeyButton() { if (!keysearcher.IsKeySearcherRunning) { keysearcher.GuiLogMessage(Resources.KeySearcher_must_be_running_to_copy_the_status_key_, NotificationLevel.Error); return; } var generator = new StorageKeyGenerator(keysearcher, this); var statusKey = generator.GenerateStatusKey(); try { Clipboard.SetDataObject(statusKey, true); keysearcher.GuiLogMessage(string.Format(Resources.Status_key___0___has_been_copied_to_clipboard_, statusKey), NotificationLevel.Info); } catch (ExternalException e) { // TODO: externalize keysearcher.GuiLogMessage(string.Format("Accessing clipboard has failed, please try again later: {0}", e.Message), NotificationLevel.Error); return; } }
public KeyPoolTree(BigInteger length, KeySearcher keySearcher, KeyQualityHelper keyQualityHelper, StorageKeyGenerator identifierGenerator, StatusContainer statusContainer, StatisticsGenerator statisticsGenerator) { this.keySearcher = keySearcher; this.statusContainer = statusContainer; this.statisticsGenerator = statisticsGenerator; Identifier = identifierGenerator.Generate(); statusUpdater = new StatusUpdater(statusContainer, identifierGenerator.GenerateStatusKey()); skippedReservedNodes = false; updateIntervalMod = 5; if (statisticsGenerator != null) { statisticsGenerator.MarkStartOfNodeSearch(); } rootNode = NodeFactory.CreateNode(keyQualityHelper, null, 0, length - 1, Identifier); if (statisticsGenerator != null) { statisticsGenerator.MarkEndOfNodeSearch(); } currentNode = rootNode; }
public KeyPoolTree(KeyPatternPool patternPool, KeySearcher keySearcher, KeyQualityHelper keyQualityHelper, StorageKeyGenerator identifierGenerator, StatusContainer statusContainer, StatisticsGenerator statisticsGenerator) : this(patternPool.Length, keySearcher, keyQualityHelper, identifierGenerator, statusContainer, statisticsGenerator) { }