int DoRecursive(List<check[]> checks, List<BruteForceAllowedChars[]> chList, int index, int count, int ret, DictinaryGenCracker caction) { check[] current = checks[index]; bool isLast = index == count; foreach (check c in current) { // Set current if (!string.IsNullOrEmpty(c.Input)) chList[index] = c.Get(); else chList[index] = null; if (isLast) { // Recall all List<BruteForceAllowedChars> ch = new List<BruteForceAllowedChars>(); foreach (BruteForceAllowedChars[] a1 in chList) if (a1 != null) ch.AddRange(a1); ret += BruteForce.Run(ch.ToArray(), "", "", 1, caction); } else { ret += DoRecursive(checks, chList, index + 1, count, 0, caction); } } return ret; }
public override bool Run() { DictinaryGenCracker caction = null; try { caction = new DictinaryGenCracker(File.FullName); } catch { if (caction != null) caction.Dispose(); WriteError("Cant open file '" + File + "'"); return false; } finally { } // TODO: Read the properties List<check[]> checks = new List<check[]>(); checks.Add(new check[] { new check(""), new check("#*") }); checks.Add(new check[] { new check("word1", BruteForceAllowedChars.EMixCase.OnlyFirst), new check("word2", BruteForceAllowedChars.EMixCase.OnlyFirst), new check("word3", BruteForceAllowedChars.EMixCase.OnlyFirst), new check("word4", BruteForceAllowedChars.EMixCase.OnlyFirst), new check("word5", BruteForceAllowedChars.EMixCase.OnlyFirst) }); checks.Add(new check[] { new check(""), new check("#*") }); checks.Add(new check[] { new check("word1", BruteForceAllowedChars.EMixCase.OnlyFirst), new check("word2", BruteForceAllowedChars.EMixCase.OnlyFirst), new check("word3", BruteForceAllowedChars.EMixCase.OnlyFirst), new check("word4", BruteForceAllowedChars.EMixCase.OnlyFirst), new check("word5", BruteForceAllowedChars.EMixCase.OnlyFirst) }); checks.Add(new check[] { new check(""), new check("#*") }); // Copy one slot peer array List<BruteForceAllowedChars[]> chList = new List<BruteForceAllowedChars[]>(); foreach (check[] c in checks) chList.Add(null); int gen = DoRecursive(checks, chList, 0, checks.Count - 1, 0, caction); WriteInfo("Generated file successful ", gen.ToString(), ConsoleColor.Green); caction.Dispose(); return true; }
public override bool Run() { DictinaryGenCracker caction = null; try { caction = new DictinaryGenCracker(File.FullName); } catch { if (caction != null) { caction.Dispose(); } WriteError("Cant open file '" + File + "'"); return(false); } finally { } // TODO: Read the properties List <check[]> checks = new List <check[]>(); checks.Add(new check[] { new check(""), new check("#*") }); checks.Add(new check[] { new check("word1", BruteForceAllowedChars.EMixCase.OnlyFirst), new check("word2", BruteForceAllowedChars.EMixCase.OnlyFirst), new check("word3", BruteForceAllowedChars.EMixCase.OnlyFirst), new check("word4", BruteForceAllowedChars.EMixCase.OnlyFirst), new check("word5", BruteForceAllowedChars.EMixCase.OnlyFirst) }); checks.Add(new check[] { new check(""), new check("#*") }); checks.Add(new check[] { new check("word1", BruteForceAllowedChars.EMixCase.OnlyFirst), new check("word2", BruteForceAllowedChars.EMixCase.OnlyFirst), new check("word3", BruteForceAllowedChars.EMixCase.OnlyFirst), new check("word4", BruteForceAllowedChars.EMixCase.OnlyFirst), new check("word5", BruteForceAllowedChars.EMixCase.OnlyFirst) }); checks.Add(new check[] { new check(""), new check("#*") }); // Copy one slot peer array List <BruteForceAllowedChars[]> chList = new List <BruteForceAllowedChars[]>(); foreach (check[] c in checks) { chList.Add(null); } int gen = DoRecursive(checks, chList, 0, checks.Count - 1, 0, caction); WriteInfo("Generated file successful ", gen.ToString(), ConsoleColor.Green); caction.Dispose(); return(true); }
int DoRecursive(List <check[]> checks, List <BruteForceAllowedChars[]> chList, int index, int count, int ret, DictinaryGenCracker caction) { check[] current = checks[index]; bool isLast = index == count; foreach (check c in current) { // Set current if (!string.IsNullOrEmpty(c.Input)) { chList[index] = c.Get(); } else { chList[index] = null; } if (isLast) { // Recall all List <BruteForceAllowedChars> ch = new List <BruteForceAllowedChars>(); foreach (BruteForceAllowedChars[] a1 in chList) { if (a1 != null) { ch.AddRange(a1); } } ret += BruteForce.Run(ch.ToArray(), "", "", 1, caction); } else { ret += DoRecursive(checks, chList, index + 1, count, 0, caction); } } return(ret); }