コード例 #1
0
ファイル: Form1.cs プロジェクト: fallenangel3k/NetCrack
        public void SendClientBlock(eSocket.Server.eSockClient client)
        {
            if (HashBlock.Count == 0)
            {
                client.Send(new Packet.MD5FirstBlock(hash, HashCharset));
                HashBlock.AddRange(new int[] { 0, 0, 0 });
                SetCurrentBlockText("???");
                BlocksSent += 1;
                SetBlocksStatus();
                return;
            }
            StringBuilder sBlock = new StringBuilder();

            foreach (int i in HashBlock)
            {
                if (i > HashCharset.Length - 1)
                {
                    continue;
                }
                sBlock.Append(HashCharset[i]);
            }
            client.Send(new Packet.MD5Crack(hash, sBlock.ToString(), HashCharset));
            BlocksSent += 1;
            SetBlocksStatus();
            HashBlock[0] += 1;
            for (int i = 0; i < HashBlock.Count; i++)
            {
                if (HashBlock[i] == HashCharset.Length)
                {
                    if (i == HashBlock.Count)
                    {
                        HashBlock[i] = 0;
                        HashBlock.Add(0);
                    }
                    else
                    {
                        HashBlock[i + 1] += 1;
                        HashBlock[i]      = 0;
                    }
                }
            }
            sBlock = new StringBuilder();
            foreach (int i in HashBlock)
            {
                if (i > HashCharset.Length)
                {
                    continue;
                }
                sBlock.Append(HashCharset[i]);
            }
            SetCurrentBlockText("???" + sBlock.ToString());
        }