Сообщение отредактировал swlm: 05 апреля 2026 - 21:12
[ C++ ]
Удаляем стандартный TAB из игры
#11
Отправлено 05 апреля 2026 - 21:12
Надо бы ввести такое правило, чтобы всякие новореги не создавали темы со своими плагинами, а тем более уж не проверенными, без исходников и так далее. Или же ещё жёстче сделать, не правило, а системное ограничение. Как вам идея, господа?
#12
Отправлено 07 апреля 2026 - 00:08
swlm (05 апреля 2026 - 21:12) писал:
Надо бы ввести такое правило, чтобы всякие новореги не создавали темы со своими плагинами, а тем более уж не проверенными, без исходников и так далее. Или же ещё жёстче сделать, не правило, а системное ограничение. Как вам идея, господа?
Если глянуть через дизассемблер, то выяснится, что этот крендель не осилил не только как сделать 1 бинарник на несколько версий, но и проверить эти самые версии сампа в каждом из бинарников
Будет кек, когда кто-нибудь версию сампа перепутает.
А, формально, всё, что он сделал сводится к приблизительно следующему коду (для R1 версии):
uinptr_t samp_handlea = GetModuleHandleA("samp.dll");
uinptr_t g_addr_hackitem_c = (samp_handlea + 0x195F8);
uinptr_t g_addr_hackitem_b = (samp_handlea + 0x19004);
uinptr_t g_addr_hackitem_a = (samp_handlea + 0x1AB4C);
// Далее идёт цикл с VirtualProtect(lpAddress, 0x10000u, PAGE_EXECUTE_READWRITE, &prev_protect_value); // Ну ка, интересно, а зачем же ему, собственно, нужно на столь большом диапазоне адресов разрешать чтение и запись, а после - не возвращать к исходной защите памяти? - вангую он где-то подсмотрел из Луа скриптов с паблика?
// Далее подробно не разбирал, но зачем SuspendThread делать там?
// А после этих сомнительной необходимости циклов всё-таки идёт полезная часть
// hooking_procedure = 0x19F0
hooking_procedure(&g_addr_hackitem_c, detour_proc_c, ...);
hooking_procedure(&g_addr_hackitem_b, detour_proc_b, ...);
hooking_procedure(&g_addr_hackitem_a, ничего_не_делающая_функция, ...);
А вот модуль для хуков занятный: не примитивный, но и не самописный - где скачал?
#13
Отправлено 07 апреля 2026 - 22:05
MuthaX (07 апреля 2026 - 00:08) писал:
Нажмите сюда, чтобы прочитать это сообщение. [Показать]
да я тоже вчера глянул ради интереса что он наворотил там, я смотрел R3 версию, там он вообще что-то непонятное делал, зачем-то читал память по адресу из сампа 0x182D4, что-то делал с позицией...
P.S. А нет, не позицию он читал, что-то другое, он читал количество битов, вопрос зачем?
Сообщение отредактировал swlm: 07 апреля 2026 - 22:08
Вход
Регистрация
Помощь









