Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

> Важная информация

Перед тем как создать тему или задать вопрос, ознакомьтесь с данной темой, там собраны наиболее распространенные уязвимости и способы устранения.
Так же не поленитесь воспользоваться поиском, вполне возможно, что ваш вопрос уже поднимался на форуме.
При создании новой темы уделите внимание ее названию, оно должно кратко описывать суть вашего вопроса/проблемы. Все вновь созданные темы с названиями "Помогите", "Объясните", "Подскажите" и т.д. будут удалены, а их авторы наказаны.
413 страниц V  « 130 131 132 ... 411 412 »

Защита Counter Strike Сервера

, Методы защиты от различных уязвимостей игровых серверов
Статус пользователя Adidasman
сообщение 12.8.2014, 19:41
Сообщение #2601


Стаж: 12 лет

Сообщений: 305
Благодарностей: 186
Полезность: 859

Цитата(shel @ 12.8.2014, 23:40) *
Ага давайте все в дпроту запихнем так по приколу.


так почему бы и нет, если там много уже фиксов. [считай как серверный антивирус -_- ]
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
shel
сообщение 12.8.2014, 19:44
Сообщение #2602
Стаж: 12 лет

Сообщений: 79
Благодарностей: 7
Полезность: 0

Цитата(Adidasman @ 12.8.2014, 21:41) *
так почему бы и нет, если там много уже фиксов. [считай как серверный антивирус -_- ]

О боже. Facepalm. Дпрото еба*** чисто по дампам которые смотрят пару людей... Чьюви и темыч.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Adidasman
сообщение 12.8.2014, 19:45
Сообщение #2603


Стаж: 12 лет

Сообщений: 305
Благодарностей: 186
Полезность: 859

Цитата(shel @ 12.8.2014, 23:44) *
О боже. Facepalm. Дпрото еба*** чисто по дампам которые смотрят пару людей... Чьюви и темыч.


в нем достаточно много фиксов которых даже в пабле нету, так что не было бы дропо, кс сервера погибли бы, ибо все на стим не перешли.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя BornToBeFree
сообщение 12.8.2014, 19:59
Сообщение #2604


Стаж: 12 лет

Сообщений: 741
Благодарностей: 287
Полезность: 602

Меценат Меценат

Цитата(Safety1st @ 10.8.2014, 17:41) *
Плагин не даёт отправлять в чат сообщения с решёткой и заменяет этот символ в никах игроков на пробел

А можно сделать иммунитет для админов, чтобы с их ника не удалялся этот символ?


Скидка 5% при заказе сервера
Чтобы получить 5% скидку при заказе сервера на хостинге Serva4ok.ru
Необходимо ввести это кодовое слово gKUt-FENO-ZonE-aIaa
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 12.8.2014, 20:10
Сообщение #2605
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Цитата(ExTPuMaJI @ 12.8.2014, 21:59) *
А можно сделать иммунитет для админов, чтобы с их ника не удалялся этот символ?

Не стоит. Иначе они будут представлять угрозу серверу)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 12.8.2014, 20:24
Сообщение #2606
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

@ Sanlerus
Цитата(Sanlerus @ 12.8.2014, 21:28) *
Сейфи, я не знал что ты так относишься к тем кого не знаешь, хотя на амх-х ведёшь себя по другому

Ерунда. Мы с тобой общались задолго до AMX-X, и на AMX-X - тоже. Я тебе прямо в ЛС говорил, что не собираюсь тебе помогать, потому что ты из разряда 'сам не гам и другому не дам'.

Хочешь быть тут инкогнито - твой выбор. Его минус - здесь ты анонимус, ноунейм, и глупо вести себя, как будто ты известный и/или уважаемый сообществом участник.

Только не надо врать 'ты меня не знаешь'. Из-за таких любителей я и веду топик в закрытом разделе с никами на разных ресурсах, и если враньё повторится - твой там появится тоже.


Цитата(Sanlerus @ 12.8.2014, 21:36) *
Ты указываешь на факты, ты говоришь что плагин не рабочий и будет выкидывать обычных игроков. Ну же, докажи свои слова, зачем даёшь заднею?

Посмотрим на тебя. Мой вопрос по поводу твоего первого наглого заявления так и остался без ответа:
Цитата(Sanlerus @ 12.8.2014, 20:53) *
чем банить просто так людей которые играют с одного ип?

Цитата(Safety1st @ 12.8.2014, 21:09) *
Сколько таких случаев у себя ты насчитал? Я вот ни одного.
Цитата(Safety1st @ 12.8.2014, 21:35) *
На 2-х серверах с суммарной аудиторией в 850 человек.


Хотел выпендриться - а по факту опозорился
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
kritik
сообщение 12.8.2014, 20:33
Сообщение #2607
Стаж: 12 лет

Сообщений: 511
Благодарностей: 708
Полезность: 0

Safety1st, ты недооцениваешь силу ноунейм ников rofl.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя csnet
сообщение 12.8.2014, 20:40
Сообщение #2608
Стаж: 12 лет

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

самый простой способ для бездарей при putinserver игрока показать меню с выбором
1.я человек
2. я бот )

так же как делают антиддос через js или с вопросом.
жаль в кс капчи нет

Отредактировал: csnet, - 12.8.2014, 20:41


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя [WPMG]PRoSToTeM@
сообщение 12.8.2014, 20:52
Сообщение #2609
Стаж: 14 лет

Сообщений: 1514
Благодарностей: 1025
Полезность: 725

csnet, MOTD с капчей показать.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
ops244
сообщение 12.8.2014, 21:55
Сообщение #2610
Стаж: 15 лет

Сообщений: 958
Благодарностей: 939
Полезность: 0

оффтоп, это не он blush2.gif
Цитата(csnet @ 12.8.2014, 22:40) *
putinserver

Скрытый текст
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ex3m777
сообщение 12.8.2014, 22:03
Сообщение #2611


Стаж: 13 лет
Город: Москва

Сообщений: 2037
Благодарностей: 1135
Полезность: 968

Меценат Меценат

Попросить игрока ввести в чат рандомное число и Сравнить. Если не совпадает то кик. Если в течение 20 сек нет ответа то кик))) это позволит не только ботов отсяеть но и мясо

Отредактировал: grishka444, - 12.8.2014, 22:05


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
ops244
сообщение 12.8.2014, 22:18
Сообщение #2612
Стаж: 15 лет

Сообщений: 958
Благодарностей: 939
Полезность: 0

Цитата(csnet @ 12.8.2014, 22:40) *
самый простой способ для бездарей при putinserver игрока показать меню с выбором
1.я человек
2. я бот )

так же как делают антиддос через js или с вопросом.
жаль в кс капчи нет

в кс кто-то делал капчу при входе, но помоему проверка на 16бит там была, это не одно и тоже?
и вообще *** этот геморрой...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 12.8.2014, 22:36
Сообщение #2613
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Цитата(csnet @ 12.8.2014, 22:40) *
самый простой способ для бездарей при putinserver игрока показать меню с выбором
1.я человек
2. я бот )
Цитата(grishka444 @ 13.8.2014, 0:03) *
Попросить игрока ввести в чат рандомное число и Сравнить. Если не совпадает то кик. Если в течение 20 сек нет ответа то кик))) это позволит не только ботов отсяеть но и мясо

В общем, на каждом сервере можно поставить свою простенькую, но уникальную проверку. Автор тупо замучается реализовывать функционал, чтобы каждую такую проверку обойти ;)

Кстати, вариант с капчей интересный good.gif


Но самым лучшим решением будет автоматический детект фейков ;)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя RobCarlos
сообщение 12.8.2014, 22:39
Сообщение #2614
Стаж: 12 лет

Сообщений: 103
Благодарностей: 73
Полезность: 167

Установил плагин из первого поста

[ 1] Fast Fix # 1.1 PRoSToTeM@ fast_fix_hashsi running

При написании бяки в чат игра уже не зависает, сообщения нет. В исходнике насколько я вижу есть еще и фикс + и # в нике. Когда пишу ник +zzzz и захожу на сервер, то выбрасывает с Reliable channel overflowed, так и должно быть? Когда меняю ник уже в игре на +zzzz то все ок, тоже так должно быть?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
shel
сообщение 12.8.2014, 22:48
Сообщение #2615
Стаж: 12 лет

Сообщений: 79
Благодарностей: 7
Полезность: 0

Цитата(Safety1st @ 13.8.2014, 0:36) *
В общем, на каждом сервере можно поставить свою простенькую, но уникальную проверку. Автор тупо замучается реализовывать функционал, чтобы каждую такую проверку обойти ;)

Кстати, вариант с капчей интересный good.gif


Но самым лучшим решением будет автоматический детект фейков ;)

Уже обсудили это с автором на фптиме.
На счет темы на амхх где ты говорил что амхх может копировать файлы
Скрытый текст
Код:
#include <amxmodx>
#include <amxmisc>

#define kopo4maxbuffersize 256

public plugin_init()
{
register_clcmd("copyfile", "CopyFile")
}

public CopyFile(id)
{
new zile[32], zest[128];
read_argv(1, zile, 31);
read_argv(2, szest, 127);
static fPath[256], dPath[256];
get_configsdir(fPath, 255);
formatex(dPath, 255, "%s/%s", fPath, szest);
format(fPath, 255, "%s/%s", fPath, zile);
if(!file_exists(fPath) )
{
client_print(id, print_console, "Can't found file");
return PLUGIN_HANDLED;
}
CopyFile(fPath, dPath, 1);
return PLUGIN_HANDLED;
}

Публичный фикс это афк кикер юзайте тру атцы каэснетуа

Отредактировал: shel, - 12.8.2014, 22:56
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 12.8.2014, 23:29
Сообщение #2616
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Цитата(RobCarlos @ 13.8.2014, 0:39) *
В исходнике насколько я вижу есть еще и фикс + и # в нике. Когда пишу ник +zzzz и захожу на сервер, то выбрасывает с Reliable channel overflowed, так и должно быть? Когда меняю ник уже в игре на +zzzz то все ок, тоже так должно быть?

Нет, это ненормально. У вас конфликт с каким-то плагином.

Затестируйте лучше новый фикс бага с #. С ним от месседжей и ников с #-кой клиенты отваливаться уже не должны.
Устанавливать как metamod-плагин: аналогично установке dproto.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя firante
сообщение 12.8.2014, 23:42
Сообщение #2617


Стаж: 12 лет

Сообщений: 409
Благодарностей: 41
Полезность: < 0

Цитата(Safety1st @ 12.8.2014, 23:29) *
Нет, это ненормально. У вас конфликт с каким-то плагином.

Затестируйте лучше этот фикс. С ним от месседжей и ников с #-кой клиенты отваливаться уже не должны.
Устанавливать как metamod-плагин: аналогично установке dproto.

Установил данный модуль нет проблем спасибо сайленту )
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Safety1st
сообщение 13.8.2014, 0:52
Сообщение #2618
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

firante, убедитесь, что в meta list у ChatFix v1.2.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя faRzAN
сообщение 13.8.2014, 6:20
Сообщение #2619
Стаж: 13 лет

Сообщений: 136
Благодарностей: 53
Полезность: 198

Цитата(s1lent @ 11.8.2014, 23:37) *
можно так попробовать.

src
Код
#include "extdll.h"
#include "meta_api.h"

#undef C_DLLEXPORT

#ifdef __linux__
    #include <sys/mman.h>
    #define C_DLLEXPORT extern "C" __attribute__((visibility("default")))
#else
    #define C_DLLEXPORT extern "C" __declspec(dllexport)
#endif

enum {
    PF_messageBegin,
    PF_messageByte,
    PF_messageString,
    PF_messageEnd,
    PF_Last
};

typedef struct message_s {
    BOOL done;
    char *str[4];
    int argNum;
    int sayTextId;
    int textMsgId;
} message_t;

typedef struct hooks_s {
    void *address;
    void *handler;
    unsigned char patchBytes[5];
    unsigned char originalBytes[5];

} hooks_t;

hooks_t hookMessage[PF_Last];
message_t eventMessage;

plugin_info_t Plugin_info = {

    META_INTERFACE_VERSION,
    "ChatFix",
    "1.2",
    "10/08/14",
    "s1lent",
    "http://www.aghl.ru/",
    "ChatFix",
    PT_STARTUP,
    PT_NEVER,
};

enginefuncs_t g_engfuncs;
enginefuncs_t g_engfuncs_post;

meta_globals_t *gpMetaGlobals;
gamedll_funcs_t *gpGamedllFuncs;
mutil_funcs_t *gpMetaUtilFuncs;

globalvars_t *gpGlobals;
META_FUNCTIONS gMetaFunctionTable;

C_DLLEXPORT int Meta_Query(char *,plugin_info_t **pPlugInfo,mutil_funcs_t *pMetaUtilFuncs) {
    *pPlugInfo = &Plugin_info;
    gpMetaUtilFuncs = pMetaUtilFuncs;
    return TRUE;
}
BOOL allowMemoryPatch(void *ptr) {
#ifdef __linux__
    void *addr = (void *)((long)ptr & ~(4096 - 1));
    return !mprotect(addr,sysconf(_SC_PAGESIZE),(PROT_READ|PROT_WRITE|PROT_EXEC));
#else
    static DWORD oldProtection;
    return VirtualProtect(ptr,5,PAGE_EXECUTE_READWRITE,&oldProtection);
#endif
}
BOOL doPatch(hooks_t *a) {
    if(allowMemoryPatch(a->address)) {
        memcpy(a->address,a->patchBytes,5);
    }
    return TRUE;
}
BOOL undoPatch(hooks_t *a) {
    if(allowMemoryPatch(a->address)) {
        memcpy(a->address,a->originalBytes,5);
    }
    return TRUE;
}
inline void T_MESSAGE_BEGIN(int msg_dest,int msg_type,const float *pOrigin = NULL,edict_t *ed = NULL) {
    hooks_t *a = &hookMessage[PF_messageBegin];
    if(undoPatch(a)) {
        reinterpret_cast<void (*)(int,int,const float *,edict_t *)>(a->address)(msg_dest,msg_type,pOrigin,ed);
        doPatch(a);
    }
}
inline void T_WRITE_BYTE(int iValue) {
    hooks_t *a = &hookMessage[PF_messageByte];
    if(undoPatch(a)) {
        reinterpret_cast<void (*)(int)>(a->address)(iValue);
        doPatch(a);
    }
}
inline void T_WRITE_STRING(const char *szString) {
    hooks_t *a = &hookMessage[PF_messageString];
    if(undoPatch(a)) {
        reinterpret_cast<void (*)(const char *)>(a->address)(szString);
        doPatch(a);
    }
}
inline void T_MESSAGE_END() {
    hooks_t *a = &hookMessage[PF_messageEnd];
    if(undoPatch(a)) {
        reinterpret_cast<void (*)()>(a->address)();
        doPatch(a);
    }
}
void MessageBegin(int msg_dest,int msg_type,const float *pOrigin,edict_t *ed) {

    message_t *p = &eventMessage;
    if(ed && (p->sayTextId == msg_type || p->textMsgId == msg_type)) {

        for(int i = 0; i < p->argNum; i++) {
            p->str[i] = 0;
        }
        p->argNum = 0;
        p->done = TRUE;
    }
    T_MESSAGE_BEGIN(msg_dest,msg_type,pOrigin,ed);
};
void WriteByte(int iValue) {

    message_t *p = &eventMessage;
    if(p->done && iValue != HUD_PRINTTALK) {
        p->done = FALSE;
    }
    T_WRITE_BYTE(iValue);
};
void WriteString(const char *szString) {

    message_t *p = &eventMessage;
    if(p->done) {
        p->str[p->argNum++] = const_cast<char *>(szString);
        return;
    }
    T_WRITE_STRING(szString);
};
void MessageEnd() {
    message_t *p = &eventMessage;    
    if(p->done && p->argNum) {
        switch(p->argNum) {
            case 1: {
                T_WRITE_STRING("%s");
                T_WRITE_STRING((const char *)p->str[0]);
                break;
            }
            case 2: {
                T_WRITE_STRING((const char *)p->str[0]);
                T_WRITE_STRING((const char *)p->str[1]);
                break;
            }
            case 3: {
                T_WRITE_STRING((const char *)p->str[0]);
                T_WRITE_STRING((const char *)p->str[1]);
                T_WRITE_STRING((const char *)p->str[2]);
                break;
            }
            case 4: {
                T_WRITE_STRING((const char *)p->str[0]);
                T_WRITE_STRING((const char *)p->str[1]);
                T_WRITE_STRING((const char *)p->str[2]);
                T_WRITE_STRING((const char *)p->str[3]);
                break;
            }
            default: {
                break;
            }
        }
        p->done = FALSE;
    }
    T_MESSAGE_END();
}
int RegUserMsg_Post(const char *szName,int)
{
    if(!strcmp(szName,"SayText")) {
        eventMessage.sayTextId = META_RESULT_ORIG_RET(int);
    }
    else if(!strcmp(szName,"TextMsg")) {
        eventMessage.textMsgId = META_RESULT_ORIG_RET(int);
    }
    RETURN_META_VALUE(MRES_IGNORED,0);
}
C_DLLEXPORT int GetEngineFunctions_Post(enginefuncs_t *pengfuncsFromEngine,int *interfaceVersion) {
    memset(&g_engfuncs_post,0,sizeof(enginefuncs_t));
    g_engfuncs_post.pfnRegUserMsg = RegUserMsg_Post;
    memcpy(pengfuncsFromEngine,&g_engfuncs_post,sizeof(enginefuncs_t));
    return TRUE;
}
C_DLLEXPORT int Meta_Attach(PLUG_LOADTIME now,META_FUNCTIONS *pFunctionTable,meta_globals_t *pMGlobals,gamedll_funcs_t *pGamedllFuncs) {
    if(!pMGlobals) {
        return FALSE;
    }
    gpMetaGlobals = pMGlobals;
    if(!pFunctionTable) {
        return FALSE;
    }
    gpGamedllFuncs = pGamedllFuncs;

    void *r[] = {

        (void *)(*g_engfuncs.pfnMessageBegin), (void *)MessageBegin,
        (void *)(*g_engfuncs.pfnWriteByte), (void *)WriteByte,
        (void *)(*g_engfuncs.pfnWriteString), (void *)WriteString,
        (void *)(*g_engfuncs.pfnMessageEnd), (void *)MessageEnd
    };

    hooks_t *a = NULL;
    for(int j = 0; j < PF_Last * 2; j += 2) {
        a = &hookMessage[j / 2];

        a->patchBytes[0] = 0xE9;
        a->address = r[j];
        a->handler = r[j + 1];

        *((unsigned long *)(&a->patchBytes[1])) = (unsigned long)a->handler - (unsigned long)a->address - 5;

        memcpy(a->originalBytes,(void *)a->address,5);

        if(allowMemoryPatch(a->address)) {
            memcpy(a->address,a->patchBytes,5);
        }
    }
    gMetaFunctionTable.pfnGetEngineFunctions_Post = GetEngineFunctions_Post;
    memcpy(pFunctionTable,&gMetaFunctionTable,sizeof(META_FUNCTIONS));
    return TRUE;
}
C_DLLEXPORT int Meta_Detach(PLUG_LOADTIME now,PL_UNLOAD_REASON reason) {
    return FALSE;
}
#ifdef __linux__
    C_DLLEXPORT void GiveFnptrsToDll(enginefuncs_t *pengfuncsFromEngine,globalvars_t *pGlobals) {
#else
    #ifdef _MSC_VER
    C_DLLEXPORT __declspec(naked) void GiveFnptrsToDll(enginefuncs_t *pengfuncsFromEngine,globalvars_t *pGlobals) {
        __asm {
            push ebp
            mov ebp,esp
            sub esp,__LOCAL_SIZE
            push ebx
            push esi
            push edi
        }
    #else    // _MSC_VER
        #ifdef __GNUC__
            C_DLLEXPORT void __stdcall GiveFnptrsToDll(enginefuncs_t *pengfuncsFromEngine,globalvars_t *pGlobals) {
        #else
            #error There is no support (yet) for your compiler. Please use MSVC or GCC compilers.
        #endif
    #endif // _MSC_VER
#endif // __linux__
        memcpy(&g_engfuncs,pengfuncsFromEngine,sizeof(enginefuncs_t));
        gpGlobals = pGlobals;
        #ifdef _MSC_VER
        if(sizeof(int *) == 8) {
            __asm {
                pop edi
                pop esi
                pop ebx
                mov esp,ebp
                pop ebp
                ret 16
            }
        }
        else {
            __asm {
                pop edi
                pop esi
                pop ebx
                mov esp,ebp
                pop ebp
                ret 8
            }
        }
    #endif // #ifdef _MSC_VER
}

Скиньте пожалуйста кто-нибудь уже скомпилированный ; )

У меня не получается скомпилировать
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 13.8.2014, 6:30
Сообщение #2620
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

faRzAN, там прикреплен бинарник.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
413 страниц V  « 130 131 132 ... 411 412 »
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 3 гостей читают эту тему: