Beispiel #1
0
        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;
        }
Beispiel #2
0
        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;
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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);
        }