Гайд Защита плагинов от переименования

Статус
В этой теме нельзя размещать новые ответы.

SR_team

like pancake
Автор темы
BH Team
4,809
6,487
Если для вас так же актуален вопрос про CLEO, то воспользуйтесь CustomCrypt (метод №7).

В самое начало файла main.cpp (или какой там у вас файл базовый) добавляем:
Код:
#include <string>
#include <regex>
После этого указываем название и тип плагина:
Код:
const char PLUGIN_NAME[] = "MyAsiPlugin"; // Это название плагина
const char PLUGIN_SUFFIX[] = ".asi"; // Это тип плагина

Далее находим функцию DllMain и в самое ее начало добавляем следующий код:
Код:
    if (GetModuleHandleA(( std::string(PLUGIN_NAME) + PLUGIN_SUFFIX).c_str()) != hModule){
        char name[256];
        GetModuleFileNameA(hModule, name, 256);
        std::regex re(R"(.*\\(.*)" + std::string(PLUGIN_SUFFIX) + ")", std::regex::icase);
        std::cmatch m;
        if (std::regex_match(name, m, re)){
            MessageBoxA( 0, ("Incorrect file name.\n"
                             "Please rename " + m[1].str() + " to " +
                             std::string(PLUGIN_NAME) + PLUGIN_SUFFIX).c_str(),
                            PLUGIN_NAME, 0 );
        }
        return FALSE;
    }

Всё. В случае переименования вашего плагина, пользователь получит сообщение об ошибке, а сам плагин не будет работать.
 

LUCHARE

Известный
Друг
545
699
а шо для клео проверку на редактирование кода незя сделать?
ютуперы же поумнеют и начнут код редачить
 
  • Нравится
Реакции: Eржан

Romelo

dev.
Проверенный
540
628
было б круче если заходишь в игру, а там сообщение в чат мол нахуя ты меня редачил и краш игры воот. Но я нуб не умею так делать (9((
Ставишь проверку на изменение размера файла, ну это так "супирзащита"
 

deddosouru

Смотрю аниме, служу Сатане
Друг
2,036
1,323
можно еще скомбинировать с проверкой совпадения группы байт
 

Romelo

dev.
Проверенный
540
628
А нужно будет закриптовать эту функцию, а от этого размер файла больше станет и все сломается xD
Дак ты у закриптованного файла с функцией посмотри размер, ну и уже в другой в исходник подставь его.
 
Статус
В этой теме нельзя размещать новые ответы.