コード例 #1
0
ファイル: Form1.cs プロジェクト: fallenangel3k/NetCrack
 void _server_ClientConnectCallback(eSocket.Server.eSockClient c)
 {
     ConnectedClientsCount += 1;
     SetConnectedClients(ConnectedClientsCount);
     ConnectedClients.Add(c);
     if (isCracking)
     {
         SendClientBlock(c);
     }
 }
コード例 #2
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());
        }
コード例 #3
0
ファイル: Form1.cs プロジェクト: fallenangel3k/NetCrack
        void _server_ClientDisconnectCallback(eSocket.Server.eSockClient c, System.Net.Sockets.SocketError SE)
        {
            List <eSocket.Server.eSockClient> newList = new List <eSocket.Server.eSockClient>();

            foreach (eSocket.Server.eSockClient cl in ConnectedClients)
            {
                if (!cl.NetworkSocket.Equals(c.NetworkSocket))
                {
                    newList.Add(cl);
                }
            }
            ConnectedClients       = newList;
            ConnectedClientsCount -= 1;
            SetConnectedClients(ConnectedClientsCount);
        }
コード例 #4
0
ファイル: Form1.cs プロジェクト: fallenangel3k/NetCrack
 void _server_DataRetrievedCallback(eSocket.Server.eSockClient c, eSocket.PacketStructure packet, eSocket.Server.PacketError er)
 {
     try
     {
         if (!isCracking)
         {
             throw new Exception("Not cracking");
         }
         if (er == eSocket.Server.PacketError.SizeIncorrect)
         {
             throw new Exception("Packet size is incorrect");
         }
         Blocksrecieved += 1;
         SetBlocksStatus();
         if (packet.Type == (ushort)Packet.PacketType.MD5Cracked)
         {
             Packet.MD5Cracked cracked = new Packet.MD5Cracked(packet.PacketBuffer);
             if (HashMatch(cracked.Output, hash))
             {
                 StopCracking();
                 SetHashOutput(cracked.Output);
             }
             else
             {
                 SendClientBlock(c);
             }
         }
         else
         {
             SendClientBlock(c);
         }
     }
     catch (Exception ex)
     {
         //MessageBox.Show(ex.Message);
     }
 }