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

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

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

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

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

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

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

, Методы защиты от различных уязвимостей игровых серверов
asus5343
сообщение 16.8.2014, 22:06
Сообщение #2841
Стаж: 12 лет

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

поставил плагин от сафетыча запрет решетки ,сервер все ровно лагает и выкидывает с ошибкой ренейбл ....
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 16.8.2014, 22:13
Сообщение #2842
Стаж: 14 лет
Город: Moscow

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

asus5343, без допинфы можете не писать даже ;) Мы без понятия о причинах, методика поиска и образец багрепорта были указаны ранее.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
asus5343
сообщение 16.8.2014, 22:27
Сообщение #2843
Стаж: 12 лет

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

Цитата(Safety1st @ 17.8.2014, 0:13) *
asus5343, без допинфы можете не писать даже ;) Мы без понятия о причинах, методика поиска и образец багрепорта были указаны ранее.

всмысле
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 16.8.2014, 22:32
Сообщение #2844
Стаж: 14 лет
Город: Moscow

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

Опишите условия, при которых проблема воспроизводится, и определите, с каким именно плагином конфликтует, и выложите его. Если дело не в конфликте, проблема должна воспроизводиться и с таким plugins.ini :
Код
admin.amxx
fast_fix_hashsign.amxx
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 16.8.2014, 22:34
Сообщение #2845


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

asus5343, реинэйбл чеэнел оверфловэд не обязательно из за этого возникает.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
asus5343
сообщение 16.8.2014, 22:34
Сообщение #2846
Стаж: 12 лет

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

Цитата(Safety1st @ 17.8.2014, 0:32) *
Опишите условия, при которых проблема воспроизводится, и определите, с каким именно плагином конфликтует, и выложите его. Если дело не в конфликте, проблема должна воспроизводиться и с таким plugins.ini :
Код
admin.amxx
fast_fix_hashsign.amxx

у меня нет плагина admin.amxx
Врятли конфликт идет плагинов я вроде бы не чего не изменял и не добавлял
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя [WPMG]PRoSToTeM@
сообщение 16.8.2014, 22:35
Сообщение #2847
Стаж: 14 лет

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

Цитата(Safety1st @ 10.8.2014, 17:41) *
ChatFix от s1lent: v1.4, v1.5. Он делает ники и сообщения с # безопасными. В настоящее время тестируется. В v1.5 ники с # не вызывают проблем и в меню со списком игроков.
Устанавливать аналогично установке dproto: как metamod-плагин и останов/запуск сервера для 'включения'.

Это уже ChatMenuFix, а не ChatFix.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 16.8.2014, 22:45
Сообщение #2848
Стаж: 14 лет
Город: Moscow

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

Цитата(asus5343 @ 17.8.2014, 0:34) *
у меня нет плагина admin.amxx

Ну, его AMXBans'овский заменитель - amxbans_core.amxx.

Цитата(asus5343 @ 17.8.2014, 0:34) *
Врятли конфликт идет плагинов я вроде бы не чего не изменял и не добавлял

cbf1b2bfde1a.gif

Всё ясно, забудьте о плагине ;)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
csgamer
сообщение 17.8.2014, 16:48
Сообщение #2849
Стаж: 12 лет

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

Цитата([WPMG]PRoSToTeM@ @ 17.8.2014, 1:35) *

Это уже ChatMenuFix, а не ChatFix.

1) chatmenufix_mm_i386.so нормально работает под 5787 ?
2) чем отличается плагин ChatMenuFix от ChatFix ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
etkins
сообщение 17.8.2014, 17:00
Сообщение #2850
Стаж: 17 лет

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

ну ты кадр, первое фиксит и чат и меню, второе только чат
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
magiczoltrix
сообщение 17.8.2014, 19:01
Сообщение #2851
Стаж: 12 лет

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

Пардон.... что значит патч МЕНЮ? какого меню?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ex3m777
сообщение 17.8.2014, 20:02
Сообщение #2852


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

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

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

Цитата(magiczoltrix @ 17.8.2014, 21:01) *
Пардон.... что значит патч МЕНЮ? какого меню?

бан .. кик и т.д.


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Takashi Murakami
сообщение 19.8.2014, 1:57
Сообщение #2853
Стаж: 14 лет

Сообщений: 797
Благодарностей: 459
Полезность: 514

Чёт я не втыкаю. Как проверить баг у себя на серваке? Отпишите в лс пожалуйста. В последнее время всякие странности творятся.

Отредактировал: Takashi Murakami, - 19.8.2014, 1:57
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 19.8.2014, 11:48
Сообщение #2854


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

Takashi Murakami, очень просто.
Код
say #Cstrike_GIGN_Label #Cstrike_GIGN_Label
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Safety1st
сообщение 19.8.2014, 23:32
Сообщение #2855
Стаж: 14 лет
Город: Moscow

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

Цитата(Safety1st @ 7.8.2014, 19:54) *
BanIP Fakes - защита от фаптимовских фей



Запили фикс, почувствуй себя мазданом
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 3 раз
   + Цитировать сообщение
marik
сообщение 19.8.2014, 23:52
Сообщение #2856
Стаж: 13 лет

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

Safety1st,
У них там версия вышла v1.07.2 !
banip_fakes v0.2
Фиксит эту гадость ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 19.8.2014, 23:58
Сообщение #2857
Стаж: 14 лет
Город: Moscow

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

marik, всё по-старому в этом плане good.gif

Цитата(Safety1st @ 18.8.2014, 3:03) *
преимущество плагина BanIP Fakes в том, что у него детект, который можно обойти только использованием пачки IP/проксей. Не пугайтесь: вряд ли ололошки сумеют 'обойти' защиту до выхода нового dproto.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
marik
сообщение 20.8.2014, 0:46
Сообщение #2858
Стаж: 13 лет

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

Safety1st,[[b]Safety1st,
Это хорошо ! и еще меня так этот смайл веселит )

Отредактировал: marik, - 20.8.2014, 0:46
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя sdf
сообщение 22.8.2014, 13:05
Сообщение #2859


Стаж: 13 лет

Сообщений: 721
Благодарностей: 208
Полезность: 466

Цитата(s1lent @ 15.8.2014, 21:18) *
1.5

добавил удалениие # из меню.

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

#define HUD_PRINTRADIO 5

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

typedef struct message_s {

    BOOL doneSay;
    BOOL doneText;
    BOOL doneMenu;

    char *str[5];

    int argNum;
    int sayTextId;
    int textMsgId;
    int showMenuId;
} 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,
    "ChatMenuFix",
    "1.5",
    "10/08/14",
    "s1lent",
    "http://www.aghl.ru/",
    "ChatMenuFix",
    PT_STARTUP,
    PT_NEVER,
};

DLL_FUNCTIONS gpFunctionTable;

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(p->sayTextId == msg_type) {

        for(unsigned int i = 0; i < (sizeof(p->str) / sizeof(p->str[0]) - 1); i++) {
            *(p->str[i]) = '\0';
        }

        p->argNum = 0;
        p->doneSay = TRUE;
    }
    else if(p->textMsgId == msg_type) {
        
        for(unsigned int i = 0; i < (sizeof(p->str) / sizeof(p->str[0]) - 1); i++) {
            *(p->str[i]) = '\0';
        }

        p->argNum = 0;
        p->doneText = TRUE;
    }
    else if(p->showMenuId == msg_type) {
        p->doneMenu = TRUE;
    }
    T_MESSAGE_BEGIN(msg_dest,msg_type,pOrigin,ed);
};
void WriteByte(int iValue) {

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

    message_t *p = &eventMessage;
    if(p->doneSay || p->doneText) {
        if(!p->argNum && *(szString) == '#') {
            if(p->doneSay) {
                p->doneSay = FALSE;
            }
            if(p->doneText) {
                p->doneText = FALSE;
            }
            T_WRITE_STRING(szString);
            return;
        }
        strcpy(p->str[p->argNum],szString);
        *(p->str[p->argNum++] + 186) = '\0';
        return;
    }
    else if(p->doneMenu) {

        if(*(szString) == '\0' || *(szString) == '#') {
            T_WRITE_STRING(szString);
            return;
        }

        int i = 0;
        char *str = const_cast<char *>(szString);
        char *phaystack = new char[512];

        for(;*str; *(str++), i++) {
            if(*(str) == '#') {
                *(str) = 0x20;
            }
            *(phaystack + i) = *str;
        }

        *(phaystack + i) = '\0';
        T_WRITE_STRING((const char *)phaystack);
        delete[] phaystack;
        return;
    }
    T_WRITE_STRING(szString);
};
void MessageEnd() {
    message_t *p = &eventMessage;    
    if(p->argNum) {
        if(p->doneSay) {
            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;
                }
                default: {
                    break;
                }
            }
            p->doneSay = FALSE;
        }
        else if(p->doneText) {
            switch(p->argNum) {
                case 1: {

                    char *str = const_cast<char *>(p->str[0]);

                    if(!str) {
                        break;
                    }

                    int i = 0;

                    BOOL bHashLocaliz = FALSE;
                    BOOL bBottomLine = FALSE;

                    char *phaystack = new char[187];
                    for(;*str; *(str++), i++) {

                        if(!bHashLocaliz && (*str == '#')) {
                            bHashLocaliz = TRUE;
                        }
                        else if(bHashLocaliz) {

                            if(bBottomLine && (*str == 0x20)) {
                                bHashLocaliz = FALSE;
                                bBottomLine = FALSE;

                                *(phaystack + (i++)) = 0xA0;
                            }
                            else if(!bBottomLine && (*str == 0x5F)) {
                                bBottomLine = TRUE;
                            }
                        }
                        *(phaystack + i) = *str;
                    }

                    *(phaystack + i) = *(phaystack + 186) = '\0';
                    T_WRITE_STRING((const char *)phaystack);

                    delete[] phaystack;
                    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;
                }
                case 5: {
                    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]);
                    T_WRITE_STRING((const char *)p->str[4]);
                    break;
                }
                default: {
                    break;
                }
            }
            p->doneText = FALSE;
        }
    }
    T_MESSAGE_END();
    if(p->doneMenu) {
        p->doneMenu = FALSE;
    }
}
int RegUserMsg_Post(const char *szName,int)
{
    message_t *p = &eventMessage;
    if(!strcmp(szName,"SayText")) {
        p->sayTextId = META_RESULT_ORIG_RET(int);
    }
    else if(!strcmp(szName,"TextMsg")) {
        p->textMsgId = META_RESULT_ORIG_RET(int);
    }
    else if(!strcmp(szName,"ShowMenu")) {
        p->showMenuId = 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
    };

    message_t *p = &eventMessage;
    for(unsigned int i = 0; i < (sizeof(p->str) / sizeof(p->str[0]) - 1); i++) {
        p->str[i] = new char[187];
    }

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

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

        // hooks of jump
        *((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
}


ps.gif толком не тестил.



Кто нибудь заметил, что после установки данного плагина увеличивается нагрузка на сервер, а также пинг ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
SHWED
сообщение 22.8.2014, 13:13
Сообщение #2860
Стаж: 11 лет

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

Цитата(sdf @ 22.8.2014, 13:05) *
Кто нибудь заметил, что после установки данного плагина увеличивается нагрузка на сервер, а также пинг ?

нет нагрузки
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
413 страниц V  « 142 143 144 ... 411 412 »
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 6 гостей читают эту тему: