Есть дыры в block sm plugins сборку можно подсмотреть

Нужная тема?


  • Всего проголосовало
    22

1just1

Участник
Сообщения
75
Реакции
23
"Блокирование sm plugins" (1.2) by Pheonix (˙·٠●Феникс●٠·˙) не блокирует, ее можно подглядеть, когда еще не зашел в загрузке, открываешь консоль и смотришь сборку, если не успеваешь можешь забиндить bind t "sm plugins;sm plugins 11;sm plugins 22;sm plugins 33;sm plugins 44;" и так далее , а когда уже на сервере нельзя, я нашел только этот плагин который работает Bara/BlockSMPlugins DHooks может кому то надо будет
 

Z-RAY-Z

Участник
Сообщения
775
Реакции
243
Старая тема, помогает только от совсем нубов-воришек. Прошареные могут ещё sm_help использовать или по фразами/префиксу в чате определять.
Не панацея.
P.S Версия что на Dhooks что на Ptah от бары у меня работает криво - команды блокирует, логирование не работает.
 

kolkazadrot

Ведь я всего-лишь апельсин Вас миллион, а я один
Сообщения
369
Реакции
522
Старая тема, помогает только от совсем нубов-воришек. Прошареные могут ещё sm_help использовать или по фразами/префиксу в чате определять.
Не панацея.
P.S Версия что на Dhooks что на Ptah от бары у меня работает криво - команды блокирует, логирование не работает.
Так sm_help тоже можно удалить :D
 

komashchenko

Идиот
Сообщения
916
Реакции
2,569
Мне так и не получилось получить список плагинов, может не так тестировал либо оно всё-таки всё блочит и при коннекте тоже
C-подобный:
#pragma semicolon 1
#include <PTaH>

public void OnPluginStart()
{
    PTaH(PTaH_ExecuteStringCommandPre, Hook, ExecuteStringCommand);
}

Action ExecuteStringCommand(int iClient, char sCommand[512])
{
    int iPos = StrContains(sCommand, "sm");
    
    if(iPos != -1 && (StrContains(sCommand, "plugins") > iPos || StrContains(sCommand, "exts") > iPos))
    {
        if(IsClientInGame(iClient))
        {
            PrintToConsole(iClient, "Unknown command: %s", sCommand);
        }
        
        return Plugin_Handled;
    }
    
    return Plugin_Continue;
}
 

Madness aka null138

Участник
Сообщения
713
Реакции
734
Мне так и не получилось получить список плагинов, может не так тестировал либо оно всё-таки всё блочит и при коннекте тоже
C-подобный:
#pragma semicolon 1
#include <PTaH>

public void OnPluginStart()
{
    PTaH(PTaH_ExecuteStringCommandPre, Hook, ExecuteStringCommand);
}

Action ExecuteStringCommand(int iClient, char sCommand[512])
{
    int iPos = StrContains(sCommand, "sm");
  
    if(iPos != -1 && (StrContains(sCommand, "plugins") > iPos || StrContains(sCommand, "exts") > iPos))
    {
        if(IsClientInGame(iClient))
        {
            PrintToConsole(iClient, "Unknown command: %s", sCommand);
        }
      
        return Plugin_Handled;
    }
  
    return Plugin_Continue;
}

forwards.cpp из PTaH:
void CForwardManager::OnClientConnected(int iClient) //OnClientConnected
{
    ConsolePrintPre.Hook(iClient);
    ConsolePrintPost.Hook(iClient);
    ExecuteStringCommandPre.Hook(iClient);
    ExecuteStringCommandPost.Hook(iClient);
}

хукается на форварде OnClientConnected. думаю, вполне естественно получить до выполнении этого форварда. Хотя это просто догадки
 

Nekro

Терра инкогнита
Сообщения
4,025
Реакции
2,260
Я один не понимаю вообще для чего нужно блокировать список плагинов ?
Если кто то захочет скопировать сервер, ему будет сложнее чем просто выкинуть сюда на форум список плагинов твоего сервера.
Ему придётся на пальцах объяснять форумчанам.
Так то конечно проблемы нет, определить можно и на вид, и в крайнем случаи написать такое же. Но всё же тем кто не так хорошо в этом разбирается, закрытие списка плагинов представляет проблему.
 
  • Мне нравится
Реакции: mika

Madness aka null138

Участник
Сообщения
713
Реакции
734
@ironman До ClientConnect сервер не воспринимает команды
Согласен, но нужно учитывать задержки до конечного хука. Одного тика хватит, чтобы отправлять команды. Для примера, на старушке(и не только) отправляли команды серверу от имени администратора без авторизации, ибо существовала задержка между срабатыванием защиты.
 

komashchenko

Идиот
Сообщения
916
Реакции
2,569
@ironman Тут задержки не может быть ибо хук ставится еще до того как происходит возврат ClientConnect в вызывающую функцию
В данном случае более всего подсмотреть можно было из-за другого
Я так и не смог найти версию 1.2 (более всего делал её не я), поэтому посмотрим на 1.1 и там есть ошибка в виде PrintToConsole который выдавал ошибку так как игрок не в игре из-за этого возврат и не был Plugin_Handled
C-подобный:
Action ExecuteStringCommand(int iClient, char sCommand[512])
{
    if(StrContains(sCommand, "sm") != -1 && StrContains(sCommand, "plugins") != -1)
    {
        PrintToConsole(iClient, "Unknown command: %s", sCommand);
        return Plugin_Handled;
    }
    return Plugin_Continue;
}
 

Vit_ amin

Добрая душа
Сообщения
1,504
Реакции
660
Если кто то захочет скопировать сервер, ему будет сложнее чем просто выкинуть сюда на форум список плагинов твоего сервера.
Ему придётся на пальцах объяснять форумчанам.
Так то конечно проблемы нет, определить можно и на вид, и в крайнем случаи написать такое же. Но всё же тем кто не так хорошо в этом разбирается, закрытие списка плагинов представляет проблему.
Удалять просто напросто информацию о плагине в секции myinfo ?
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • #13
@Vit_ amin, в приватах его не вырежешь, исходников нет (не дают). Потому и решают методом блокировки этой команды.
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • #15
Разжать, вбить через HEX-редактор пробелы (или любые другие символы) вместо текста, сжать снова.
Это если обычный компилятор. Плагины того же Феникса сжимаются по другому с шифрованием, и там такой финт ушами не прокатит. Вот в чем соль.
 

kilroy

:clown:
Сообщения
1,065
Реакции
606
  • Команда форума
  • #16

Vit_ amin

Добрая душа
Сообщения
1,504
Реакции
660
Ну купил ты плагин, ну и напишешь кто-то на вашем сервере sm plugins list, ну узнает он, что это за плагин и что это даст ? Я может на такие вещи с другого ракурса смотрю, но я все равно не понял, что от этого поменяется
 

0-BuTaJIuK-0

Участник
Сообщения
235
Реакции
57
Имхо, переименовать все плагины, что-то в духе "krya_v1.2.smx"
 
Сверху Снизу