示例#1
0
        private void Crack()
        {
            string   thispass;
            Password pass;

            while ((thispass = WordListPasswordProvider.Instance.NextPassword()) != null && !bStopAllCrackThreads)
            {
                pass = new Password(thispass);

                if (config.Configuration.UseKeyFiles)
                {
                    pass.KeyfilePool = keyDataPool;
                }

                if (header.DecryptVolumeHeader(pass.GetPasswordStructure()))
                {
                    PasswordCracked(thispass);
                    break;
                }
                else
                {
                    // failed pass
                }
            }
            if (thispass == null)
            {
                WordListFinished();
            }
            else
            {
                bIsCrackOperationFinished = true;
                ThreadStoped();
            }
        }
示例#2
0
        private void Crack()
        {
            string   thispass;
            Password pass;

            while ((thispass = WordListPasswordProvider.Instance.NextPassword()) != null && !bStopAllCrackThreads)
            {
                pass = new Password(thispass);

                if (config.Configuration.UseKeyFiles)
                {
                    pass.KeyfilePool = keyDataPool;
                }

                try
                {
                    if (header.DecryptVolumeHeader(pass.GetPasswordStructure()))
                    {
                        PasswordCracked(thispass);
                        break;
                    }
                    else
                    {
                        // failed pass
                    }
                }
                catch (Exception ex)
                {
                    mainForm.LogAppend(ex.GetType().Name + " error decrypting volume header: " + ex.Message);
                    StopAllCrackThreads();
                    break;
                }
            }

            if (thispass == null)
            {
                WordListFinished();
            }
            else
            {
                bIsCrackOperationFinished = true;
                ThreadStoped();
            }
        }