Другое С/С++ Вопрос - Ответ

checkdasound

Известный
Проверенный
963
405
Как строку перевести в utf-8? Есть ли штука типа u8, но чтобы работала еще и с переменными?
 

-raymond-

Известный
110
9
если у меня в длл будет использоваться имгуи, и при условии что я запротекчу ее VMProtect, возможно ли будет по сигнатуре файла распознать что там есть имгуи?
 

FormatC

Участник
94
29
если у меня в длл будет использоваться имгуи, и при условии что я запротекчу ее VMProtect, возможно ли будет по сигнатуре файла распознать что там есть имгуи?
VMProtect снимается на изи, и очень сильно нагружает процесс gta, все другие распаковщики так же снимаются, и вообще обязательно найдётся человек, который снимет твой протект за плату. Смысл тогда защищать его? И да, с VMProtect при правильных настройках не будет видно что там ImGui.
---------------------------------------------------
Кто знает как можно сделать поиск hex строк или просто строк в памяти процесса gta? Искал долго оч, так и не нашел, вроде пробывал чекать в исходниках Process Hacker там где функция Memory -> Strings но тоже не нашел. буду оч благодарен если подскажите КОДОМ
 
Последнее редактирование:

SKIC

Известный
64
0
Как подключить imgui для gta sa в ASI? если вопрос слишком банальный, скажите что хоть изучить чтобы понять как подключить.
 

papercut

Участник
90
13
я задолбался искать решение, тыкать наугад и так далее. Может тут кто-то сталкивался с таким.. Делю SF плагин, котоырй по команде в чат просто тупо берет цвет указанного пиксела.
Проблемная функция:
void CALLBACK getp(std::string param) {
    DWORD color = GetPixel(GetDC(GetActiveWindow()), 380, 770);
    char c[4];
    sprintf(c, "%d", color);
    sampAddChatMessage(D3DCOLOR_XRGB(0xAA, 0xAA, 0xAA), c);
}

При попытке сборки получаю:
image.png
(https://ibb.co/k32Gts1)
 
Последнее редактирование:

san0

Известный
Друг
411
267
Желательно поставить для всех конфигураций
iu0pcw5gyU.png

И добавить
3N12jo0hK1.png
По поводу кода, как-то так хоть, правда еще желательно больше проверок разных на валидность GetDC, например, и т.д.
C++:
#include <regex>
#include <charconv>
// ...
void __stdcall getp(std::string param) {
    std::smatch match;
    const auto regex_result = std::regex_search(param, match, std::regex(R"eof((\d+)\s+(\d+))eof"));

    struct DCResource {
        HWND hwnd;
        HDC hdc;
        DCResource(const HWND hwnd = ::GetActiveWindow()) : hwnd(hwnd), hdc(::GetDC(this->hwnd)) {}
        ~DCResource() {
            ::ReleaseDC(hwnd, hdc);
        }
        inline HDC operator*() {
            return hdc;
        }
    };

    int numbers[2];
    for (unsigned int i = 0; i < 2; i++) {
        bool defaults = true;

        if (regex_result) {
            const auto str = match[i + 1].str();
            if (std::from_chars(str.data(), str.data() + str.size(), numbers[i]).ec == std::errc()) {
                defaults = false;
            }
        }
          
        if (defaults) {
            SF->getSAMP()->getChat()->AddChatMessage(D3DCOLOR_RGBA(255, 255, 0, 0),
                "<warning>: Defaulting %s to 0", !i ? "X" : "Y");
            numbers[i] = 0;
        }
    }

    union {
        struct {
            unsigned red   : 8;
            unsigned green : 8;
            unsigned blue  : 8;
            unsigned alpha : 8;
        };
        COLORREF as_int;
    } color{ .as_int = ::GetPixel(*DCResource{}, numbers[0], numbers[1]) };

    if (color.as_int == CLR_INVALID) {
        SF->getSAMP()->getChat()->AddChatMessage(D3DCOLOR_XRGB(255, 255, 0),
            "<error>: Color cannot be retrieved");
    }
    else {
        SF->getSAMP()->getChat()->AddChatMessage(color.as_int | 0xFF000000,
            "Color of the point %d %d is the following: %u (0x%x) (R: %u, G: %u, B: %u)",
                numbers[0], numbers[1], color.as_int, color.as_int,
                color.red,
                color.green,
                color.blue
            );
    }
}
 
Последнее редактирование:
  • Нравится
Реакции: papercut

-raymond-

Известный
110
9
VMProtect снимается на изи, и очень сильно нагружает процесс gta, все другие распаковщики так же снимаются, и вообще обязательно найдётся человек, который снимет твой протект за плату. Смысл тогда защищать его? И да, с VMProtect при правильных настройках не будет видно что там ImGui.
---------------------------------------------------
Кто знает как можно сделать поиск hex строк или просто строк в памяти процесса gta? Искал долго оч, так и не нашел, вроде пробывал чекать в исходниках Process Hacker там где функция Memory -> Strings но тоже не нашел. буду оч благодарен если подскажите КОДОМ
знаешь как правильно настроить вмпротект чтобы не было видно имгуи?
 

4el0ve4ik

Известный
Всефорумный модератор
1,548
1,338
  • Нравится
Реакции: imring

SR_team

like pancake
BH Team
4,707
6,347