C++ Antiscreengrab

Статус
В этой теме нельзя размещать новые ответы.
std::X$$V::Z::_Func_impl_no_alloc
Пользователь
Пользователь
Статус
Оффлайн
Регистрация
30 Мар 2019
Сообщения
389
Реакции
103
Сразу скажу, что я нашёл это не первый, кто-то с анконва опередил меня. Выложил в открытый доступ это lee, но та тема уже утонула. Тестил на разных сг.

Для начала нам нужно найти функции start_drawing и end_drawing, они лежат в ISurface, но они не виртуальные.
Если вам не сильно интересно как это потом найти, вот паттерны
StartDrawing -> vguimatsurface.dll 55 8B EC 64 A1 ?? ?? ?? ?? 6A FF 68 ?? ?? ?? ?? 50 64 89 25 ?? ?? ?? ?? 83 EC 14
EndDrawing -> vguimatsurface.dll 55 8B EC 6A FF 68 ?? ?? ?? ?? 64 A1 ?? ?? ?? ?? 50 64 89 25 ?? ?? ?? ?? 51 56 6A 00

Вряд ли вам это когда-нибудь понадобится т.к фейспанчи уже и сильно над игрой не работают, да и это длл-ка движка.

Ну для начала там всегда есть строки "-pixel_offset_y" и "-pixel_offset_x".

Сам вызов лежит в виртуальной функции ISurface, индекс которой сейчас 115. Она легко ищется по строке "Too many popups! Rendering will be bad!\n".
1608742272596.png



EndDrawing почти в самом конце
1608742400863.png

Далее нам нужен этот хук

C++:
Expand Collapse Copy
namespace view_render_hook
{
    //client.dll -> VClient017 -> index 26
    static int index = 26;
    using fn = void(__thiscall*)(VClient*, vrect_t* rect);
    extern void __fastcall hook(VClient* client, void* edx, vrect_t* rect);
}

C++:
Expand Collapse Copy
void __fastcall view_render_hook::hook(VClient* client, void* edx, vrect_t* rect)
{
    hooks_manager->view_render_original(client, rect);

    //chams here

    interfaces->surface->start_drawing();

    //asg surface drawing here

    interfaces->surface->finish_drawing();
}


Жду вопросов. Помогу чем смогу.


Пожалуйста, авторизуйтесь для просмотра ссылки.

Пожалуйста, зарегистрируйтесь или авторизуйтесь, чтобы увидеть содержимое.

 
Последнее редактирование:
Detected уже давно, лучший способ это когда тебя скринят и у тебя визуалы отключаются на 1 сек
 
Хорошая вещь для пастинга, но проще сделать выключение визуалов на 1 сек
Скучно это, да и детект вызова этой функции - это единственный способ который приходит на ум при словах "выключение визуалов при скринграбе"
 
Скучно это, да и детект вызова этой функции - это единственный способ который приходит на ум при словах "выключение вихуалов при скринграбе"
все работает еще с CFF
 
Если кому-то будет нечего делать, вот то, что должно помочь это реализовать
Посмотреть вложение 120934

Я тут поревёрсил чуть-чуть, а дальше сами (да, в виде html-экспорта и что?)
Пожалуйста, авторизуйтесь для просмотра ссылки.


Тута хуйня какая-то
1608754187147.png
Хорошая вещь для пастинга, но проще сделать выключение визуалов на 1 сек
Стоп, подожди. У тебя есть другие способы детектить скринграб? Ану на стол
 
Последнее редактирование:
Я тут поревёрсил чуть-чуть, а дальше сами (да, в виде html-экспорта и что?)
Пожалуйста, авторизуйтесь для просмотра ссылки.


Тута хуйня какая-то
Посмотреть вложение 120936

Стоп, подожди. У тебя есть другие способы детектить скринграб? Ану на стол
Забудь мне лень
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху Снизу