C++ Вопрос C++ color aimbot

Забаненный
Статус
Оффлайн
Регистрация
9 Сен 2021
Сообщения
32
Реакции[?]
3
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
şl
 
Последнее редактирование:
Energy Reload
Забаненный
Статус
Оффлайн
Регистрация
20 Авг 2017
Сообщения
1,206
Реакции[?]
330
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Читать пиксели на экране.
Наводить мышку на этот пиксель.

Это так, в двух словах.
 
Пользователь
Статус
Оффлайн
Регистрация
14 Авг 2019
Сообщения
269
Реакции[?]
49
Поинты[?]
0
Типо машинным зрением находить цвет на экране, а после наводиться и стрелять в него? Если я так понял то те либа opencv нужна
 
Забаненный
Статус
Оффлайн
Регистрация
9 Сен 2021
Сообщения
32
Реакции[?]
3
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
h
 
Последнее редактирование:
Пользователь
Статус
Оффлайн
Регистрация
14 Авг 2019
Сообщения
269
Реакции[?]
49
Поинты[?]
0
да, я хочу читать пиксели на экране, и если на экране есть заданный мной цветовой код, я хочу, чтобы он автоматически прицеливался, но я не знаю, как это сделать, может ли кто-нибудь мне помочь?
если не секрет, а зачем нужен такой костыль? Чем обычный аимбот плох?
 
Забаненный
Статус
Оффлайн
Регистрация
9 Сен 2021
Сообщения
32
Реакции[?]
3
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Последнее редактирование:
Пользователь
Статус
Оффлайн
Регистрация
14 Авг 2019
Сообщения
269
Реакции[?]
49
Поинты[?]
0
Начинающий
Статус
Оффлайн
Регистрация
6 Апр 2022
Сообщения
43
Реакции[?]
8
Поинты[?]
0
Я хочу сделать цветной аимбот, который будет автоматически нацеливаться на цвет ящиков esp, которые я рисую с помощью opengl.
Если ты их рисуешь, в чем проблема по этим координатам и наводиться?
 
Energy Reload
Забаненный
Статус
Оффлайн
Регистрация
20 Авг 2017
Сообщения
1,206
Реакции[?]
330
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Если ты их рисуешь, в чем проблема по этим координатам и наводиться?
Он их походу не рисует сам, а обводит некие объекты.
Он их походу не рисует сам, а обводит некие объекты.
Если игра на Дх9 то можно почитать пиксели на экране через
Пожалуйста, авторизуйтесь для просмотра ссылки.

Это начало начал, а дальше по мере знаний.
За тебя, никто, ничего делать не будет.
 
Зайдем и покажем, как делать красиво.
Забаненный
Статус
Оффлайн
Регистрация
31 Мар 2021
Сообщения
256
Реакции[?]
44
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Привет, как я могу сделать цветной аимбот на C++, который будет автоматически нацеливаться на этот цветовой код 255,0,0? я хочу сделать это как dll
C++:
void ScanPixel(int x /*Начало откуда читать пиксели позиция X*/, int y /*Начало откуда читать пиксели позиция Y*/, int maxX /*До какого пикселя читать позиция x*/, int maxY/*До какого пикселя читать позиция y*/) {

    for (int i = y; i < maxY + 1; i++) {

        for (int ia = x; ia < maxX + 1; ia++) {

            COLORREF RGBa = GetPixel(hdc, ia, i);

            int _red = GetRValue(RGBa);

            int _green = GetGValue(RGBa);

            int _blue = GetBValue(RGBa);

          

                if (_red == 255 && _green == 0&& _blue == 0) {

                

                    std::cout << "Red " << _red << std::endl;

                    std::cout << "Green " << _green << std::endl;

                    std::cout << "Blue " << _blue << std::endl;

                    std::cout << "===============================" << std::endl;

                    Sleep(30);

                }

          

            ia++;

        }

        i++;

    }



}
 
Начинающий
Статус
Оффлайн
Регистрация
23 Мар 2022
Сообщения
56
Реакции[?]
4
Поинты[?]
0
C++:
void ScanPixel(int x /*Начало откуда читать пиксели позиция X*/, int y /*Начало откуда читать пиксели позиция Y*/, int maxX /*До какого пикселя читать позиция x*/, int maxY/*До какого пикселя читать позиция y*/) {

    for (int i = y; i < maxY + 1; i++) {

        for (int ia = x; ia < maxX + 1; ia++) {

            COLORREF RGBa = GetPixel(hdc, ia, i);

            int _red = GetRValue(RGBa);

            int _green = GetGValue(RGBa);

            int _blue = GetBValue(RGBa);

         

                if (_red == 255 && _green == 0&& _blue == 0) {

               

                    std::cout << "Red " << _red << std::endl;

                    std::cout << "Green " << _green << std::endl;

                    std::cout << "Blue " << _blue << std::endl;

                    std::cout << "===============================" << std::endl;

                    Sleep(30);

                }

         

            ia++;

        }

        i++;

    }



}
зачастую пикселей 1920*1080, неужели нет способа оптимизированей?
 
Energy Reload
Забаненный
Статус
Оффлайн
Регистрация
20 Авг 2017
Сообщения
1,206
Реакции[?]
330
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
C++:
void ScanPixel(int x /*Начало откуда читать пиксели позиция X*/, int y /*Начало откуда читать пиксели позиция Y*/, int maxX /*До какого пикселя читать позиция x*/, int maxY/*До какого пикселя читать позиция y*/) {

    for (int i = y; i < maxY + 1; i++) {

        for (int ia = x; ia < maxX + 1; ia++) {

            COLORREF RGBa = GetPixel(hdc, ia, i);

            int _red = GetRValue(RGBa);

            int _green = GetGValue(RGBa);

            int _blue = GetBValue(RGBa);

         

                if (_red == 255 && _green == 0&& _blue == 0) {

               

                    std::cout << "Red " << _red << std::endl;

                    std::cout << "Green " << _green << std::endl;

                    std::cout << "Blue " << _blue << std::endl;

                    std::cout << "===============================" << std::endl;

                    Sleep(30);

                }

         

            ia++;

        }

        i++;

    }



}
Он всеровно ничего не поймет(
 
Зайдем и покажем, как делать красиво.
Забаненный
Статус
Оффлайн
Регистрация
31 Мар 2021
Сообщения
256
Реакции[?]
44
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Pa$$ter
Пользователь
Статус
Оффлайн
Регистрация
9 Июн 2020
Сообщения
241
Реакции[?]
83
Поинты[?]
12K
Ну вообще, можно сделать скриншот экрана и на нём уже искать пиксели, это будет быстрее чем использовать GetPixel:

C++:
RGBQUAD* GetScreenshot() {
    HWND hDesktopWnd = GetDesktopWindow();
    HDC hDesktopDC = GetDC(hDesktopWnd);
    HDC hCaptureDC = CreateCompatibleDC(hDesktopDC);
    DWORD nScreenWidth = GetSystemMetrics(SM_CXSCREEN), nScreenHeight = GetSystemMetrics(SM_CYSCREEN);
    HBITMAP hCaptureBitmap = CreateCompatibleBitmap(hDesktopDC, nScreenWidth, nScreenHeight);
    SelectObject(hCaptureDC, hCaptureBitmap);

    BitBlt(hCaptureDC, 0, 0, nScreenWidth, nScreenHeight, hDesktopDC, 0, 0, SRCCOPY | CAPTUREBLT);

    BITMAPINFO bmi = { 0 };
    bmi.bmiHeader.biSize = sizeof(bmi.bmiHeader);
    bmi.bmiHeader.biWidth = nScreenWidth;
    bmi.bmiHeader.biHeight = nScreenHeight;
    bmi.bmiHeader.biPlanes = 1;
    bmi.bmiHeader.biBitCount = 32;
    bmi.bmiHeader.biCompression = BI_RGB;

    RGBQUAD* pPixels = new RGBQUAD[nScreenWidth * nScreenHeight];

    GetDIBits(
        hCaptureDC,
        hCaptureBitmap,
        0,
        nScreenHeight,
        pPixels,
        &bmi,
        DIB_RGB_COLORS
    );

    ReleaseDC(hDesktopWnd, hDesktopDC);
    DeleteDC(hCaptureDC);
    DeleteObject(hCaptureBitmap);

    return pPixels;
}
(Главное не забыть delete[] массив после использования, иначе будет мемлик)
 
Начинающий
Статус
Оффлайн
Регистрация
23 Мар 2022
Сообщения
56
Реакции[?]
4
Поинты[?]
0
Ну вообще, можно сделать скриншот экрана и на нём уже искать пиксели, это будет быстрее чем использовать GetPixel:

C++:
RGBQUAD* GetScreenshot() {
    HWND hDesktopWnd = GetDesktopWindow();
    HDC hDesktopDC = GetDC(hDesktopWnd);
    HDC hCaptureDC = CreateCompatibleDC(hDesktopDC);
    DWORD nScreenWidth = GetSystemMetrics(SM_CXSCREEN), nScreenHeight = GetSystemMetrics(SM_CYSCREEN);
    HBITMAP hCaptureBitmap = CreateCompatibleBitmap(hDesktopDC, nScreenWidth, nScreenHeight);
    SelectObject(hCaptureDC, hCaptureBitmap);

    BitBlt(hCaptureDC, 0, 0, nScreenWidth, nScreenHeight, hDesktopDC, 0, 0, SRCCOPY | CAPTUREBLT);

    BITMAPINFO bmi = { 0 };
    bmi.bmiHeader.biSize = sizeof(bmi.bmiHeader);
    bmi.bmiHeader.biWidth = nScreenWidth;
    bmi.bmiHeader.biHeight = nScreenHeight;
    bmi.bmiHeader.biPlanes = 1;
    bmi.bmiHeader.biBitCount = 32;
    bmi.bmiHeader.biCompression = BI_RGB;

    RGBQUAD* pPixels = new RGBQUAD[nScreenWidth * nScreenHeight];

    GetDIBits(
        hCaptureDC,
        hCaptureBitmap,
        0,
        nScreenHeight,
        pPixels,
        &bmi,
        DIB_RGB_COLORS
    );

    ReleaseDC(hDesktopWnd, hDesktopDC);
    DeleteDC(hCaptureDC);
    DeleteObject(hCaptureBitmap);

    return pPixels;
}
(Главное не забыть delete[] массив после использования, иначе будет мемлик)
Жаль реакцию не могу поставить
 
Забаненный
Статус
Оффлайн
Регистрация
9 Сен 2021
Сообщения
32
Реакции[?]
3
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ну вообще, можно сделать скриншот экрана и на нём уже искать пиксели, это будет быстрее чем использовать GetPixel:

C++:
RGBQUAD* GetScreenshot() {
    HWND hDesktopWnd = GetDesktopWindow();
    HDC hDesktopDC = GetDC(hDesktopWnd);
    HDC hCaptureDC = CreateCompatibleDC(hDesktopDC);
    DWORD nScreenWidth = GetSystemMetrics(SM_CXSCREEN), nScreenHeight = GetSystemMetrics(SM_CYSCREEN);
    HBITMAP hCaptureBitmap = CreateCompatibleBitmap(hDesktopDC, nScreenWidth, nScreenHeight);
    SelectObject(hCaptureDC, hCaptureBitmap);

    BitBlt(hCaptureDC, 0, 0, nScreenWidth, nScreenHeight, hDesktopDC, 0, 0, SRCCOPY | CAPTUREBLT);

    BITMAPINFO bmi = { 0 };
    bmi.bmiHeader.biSize = sizeof(bmi.bmiHeader);
    bmi.bmiHeader.biWidth = nScreenWidth;
    bmi.bmiHeader.biHeight = nScreenHeight;
    bmi.bmiHeader.biPlanes = 1;
    bmi.bmiHeader.biBitCount = 32;
    bmi.bmiHeader.biCompression = BI_RGB;

    RGBQUAD* pPixels = new RGBQUAD[nScreenWidth * nScreenHeight];

    GetDIBits(
        hCaptureDC,
        hCaptureBitmap,
        0,
        nScreenHeight,
        pPixels,
        &bmi,
        DIB_RGB_COLORS
    );

    ReleaseDC(hDesktopWnd, hDesktopDC);
    DeleteDC(hCaptureDC);
    DeleteObject(hCaptureBitmap);

    return pPixels;
}
(Главное не забыть delete[] массив после использования, иначе будет мемлик)
 
Последнее редактирование:
Зайдем и покажем, как делать красиво.
Забаненный
Статус
Оффлайн
Регистрация
31 Мар 2021
Сообщения
256
Реакции[?]
44
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
так как я могу найти код цвета, который я хочу
Самый простой вариант, GetPixel(hdc, x, y); , вместо x/y вводишь кординату по которой нужно узнать цвет пикселя. формат будет COLORREF что-бы перевести в RGB используй GetRValue(); GetGValue(); GetBValue();
 
Забаненный
Статус
Оффлайн
Регистрация
9 Сен 2021
Сообщения
32
Реакции[?]
3
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Самый простой вариант, GetPixel(hdc, x, y); , вместо x/y вводишь кординату по которой нужно узнать цвет пикселя. формат будет COLORREF что-бы перевести в RGB используй GetRValue(); GetGValue(); GetBValue();
rff
 
Последнее редактирование:
Легенда форума
Статус
Оффлайн
Регистрация
10 Дек 2018
Сообщения
4,381
Реакции[?]
2,284
Поинты[?]
189K
Забаненный
Статус
Оффлайн
Регистрация
9 Сен 2021
Сообщения
32
Реакции[?]
3
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
s
 
Последнее редактирование:
Сверху Снизу