1. Spawner10 Разработчик

    Регистрация:
    14.07.15
    Сообщения:
    188
    Симпатии:
    95
    [fDetector-Hlds] Anti Hlds buffer v2, v3, v3 patched [0.1]
    English topic

    Hello again, i have nothing to say. It's a plugin against hlds buffer exploit
    Requirements:
    • 1 - Orpheu
    • 2 - Con_printf function (it's included in the file)

    Detection:

    • Hlds buffer v2 [Tested]
    • Hlds buffer v3 [Tested]
    • Hlds buffer v4 [Tested]
    • Hlds buffer v1 [UNTESTED]
    v1 is untested because i don't have it ... if someone test it just send me a pm to change UNTESTED to Tested!

    Detection time:
    Код (Unknown Language):
    1.  
    2. L 02/27/2016 - 12:16:34: [ fHlds-Detector ][Name=Best][STEAMID=STEAM_0:0:58651248][IP=127.0.0.1][Detection-Time:0.367]
    3. L 02/27/2016 - 12:16:38: [ fHlds-Detector ][Name=Test][STEAMID=STEAM_0:0:951936052][IP=127.0.0.1][Detection-Time:0.344]
    4. L 02/27/2016 - 12:16:43: [ fHlds-Detector ][Name=123KSJDAJLDZ][STEAMID=VALVE_0:4:1412329827][IP=127.0.0.1][Detection-Time:0.291]
    5. L 02/27/2016 - 12:16:49: [ fHlds-Detector ][Name=HLDS BUFFER 3][STEAMID=VALVE_0:4:1412329827][IP=127.0.0.1][Detection-Time:0.341]
    6. L 02/27/2016 - 12:16:52: [ fHlds-Detector ][Name=HLDS BUFFER 2][STEAMID=STEAM_0:0:981063395][IP=127.0.0.1][Detection-Time:0.321]
    7.  
    Features to add:
    • Improved time detection
    • Specified which hlds buffer it is
    • Add a skip for hltv & steam users [THIS WILL BE ADDED ONLY IF THERE IS A BUG]
    Source code:
    PHP:
    1. /*
    2.  
    3.     Simple plugin to detect hlds buffer v1,v2,v3,v3 patched
    4.  
    5.         [*] The method is pretty easy, the fake player sent doesn't have enough information, you can check it using rcon user
    6.         So he have 7 information which is not normal at all. " I CAN'T EXPLAIN VERY WELL xD SO PLEASE TAKE A LOOK AT THE CODE "
    7.  
    8.  
    9.     (c) Spawner aka Freezo ( Any bug, reply here : [fDetector-Hlds] Anti Hlds buffer v2,v3,v3 patched [0.1] )
    10.  
    11.           |^_^|
    12.         - Anass
    13.  
    14. */
    15. #include <amxmodx>
    16. #include <amxmisc>
    17. #include <orpheu>
    18.  
    19. enum PData
    20. {
    21.     ItemType[ 31 ],
    22.     ItemValue[ 31 ]
    23. }
    24.  
    25. new iCount[33];
    26. new get[ 600 ];
    27. new iItem , iItemType , PlayerData[ 20 ][ PData ];
    28.  
    29. public plugin_init()
    30. {
    31.     register_plugin(
    32.         "Freezo aka Spawner",
    33.         "0.1",
    34.         "[fHlds-Detector] v2,v3,v3(patched v4)"
    35.     )
    36.  
    37.     register_cvar("anti_hldsbuffer", "0.1" , FCVAR_SERVER | FCVAR_SPONLY )
    38.  
    39. }
    40. public client_connect(id)
    41. {    
    42.     iCount[id] = 0;
    43.     iItemType = 0;
    44.     iItem = 0;
    45.  
    46.     new OrpheuHook:handlePrintf = OrpheuRegisterHook( OrpheuGetFunction( "Con_Printf" ), "Con_Printf" );
    47.  
    48.     new szName[32]
    49.     get_user_name(id, szName,charsmax(szName))
    50.  
    51.     server_cmd( "user ^"%s^"",szName );
    52.     server_exec();
    53.  
    54.     OrpheuUnregisterHook( handlePrintf );
    55.  
    56.     for ( new i = 0 ; i < iItem ; i++ )    iCount[id]++;        
    57.  
    58.  
    59.  
    60.     if(iCount[id] == 7){
    61.         // for no bugs, the name will be re-created
    62.  
    63.         new sName[32],sSteamid[32],sIp[32]
    64.    
    65.         get_user_name(id, sName, charsmax(sName))
    66.         get_user_authid(id, sSteamid, charsmax(sSteamid))
    67.         get_user_ip(id, sIp, charsmax(sIp), 1)
    68.    
    69.         server_cmd("kick #%d ^"|| fHlds-Detector || Hlds Buffer Detected^"", get_user_userid(id))
    70.         log_to_file("hldsBuffer.txt", "[ fHlds-Detector ][Name=%s][STEAMID=%s][IP=%s]",sName, sSteamid, sIp)
    71.         iCount[id] = 0;
    72.    
    73.    
    74.     }
    75.  
    76. }
    77. public OrpheuHookReturn:Con_Printf( const fmtGet[], const msgGet[] )
    78. {
    79.     formatex( get , charsmax( get ) , "%s" , msgGet )
    80.  
    81.     if ( iItemType == 0 )
    82.     {
    83.         copy( PlayerData[ iItem ][ ItemType ] , charsmax( PlayerData[][ ItemType ] ) , get );
    84.         iItemType = 1;
    85.     }
    86.     else
    87.     {
    88.         copy( PlayerData[ iItem++ ][ ItemValue ] , charsmax( PlayerData[][ ItemType ] ) , get );
    89.         iItemType = 0;
    90.     }
    91.  
    92.     return OrpheuSupercede;
    93. }
    94.  
    95. // If there is a bug, this instruction boolean will be added.
    96. /*
    97. stock bool:is_user_steam(id)
    98. {
    99.     static dp_pointer;
    100.     if(dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
    101.     {
    102.         server_cmd("dp_clientinfo %d", id);
    103.         server_exec();
    104.         return (get_pcvar_num(dp_pointer) == 2) ? true : false;
    105.     }
    106.     return false;
    107. }
    108. */
    109.  
    In the next days i will not be longer active, so please if there is a bug just send me a pm
    THIS METHOD ISN'T THE SAME IN GINUSIS

    Russian topic

    Привет всем, много расписывать не буду. Данный плагин защищает сервер от эксплоита hlds buffer
    Требования:
    • 1 - Orpheu
    • 2 - Функция Con_printf (имеется в плагине)

    Плагин обнаруживает:
    • Hlds buffer v2 [Проверено]
    • Hlds buffer v3 [Проверено]
    • Hlds buffer v4 [Проверено]
    • Hlds buffer v1 [Не проверено]
    Версия v1 не проверена: нет эксплоита данной версии ... если кто-нибудь проверит работу плагина с версией эксплоита v1, сообщите мне в личку изменить статус для данной версии Не проверено на Проверено

    Логи плагина:
    Код (Unknown Language):
    1. L 02/27/2016 - 12:16:34: [ fHlds-Detector ][Name=Best][STEAMID=STEAM_0:0:58651248][IP=127.0.0.1][Detection-Time:0.367]
    2. L 02/27/2016 - 12:16:38: [ fHlds-Detector ][Name=Test][STEAMID=STEAM_0:0:951936052][IP=127.0.0.1][Detection-Time:0.344]
    3. L 02/27/2016 - 12:16:43: [ fHlds-Detector ][Name=123KSJDAJLDZ][STEAMID=VALVE_0:4:1412329827][IP=127.0.0.1][Detection-Time:0.291]
    4. L 02/27/2016 - 12:16:49: [ fHlds-Detector ][Name=HLDS BUFFER 3][STEAMID=VALVE_0:4:1412329827][IP=127.0.0.1][Detection-Time:0.341]
    5. L 02/27/2016 - 12:16:52: [ fHlds-Detector ][Name=HLDS BUFFER 2][STEAMID=STEAM_0:0:981063395][IP=127.0.0.1][Detection-Time:0.321]
    6.  
    В планах:
    • Ускорить время обнаружения эксплоита
    • Указание в логах версии эксплоита, который был обнаружен
    • Добавить игнорирование hltv и стимовцев [БУДЕТ ДОБАВЛЕНО ТОЛЬКО В СЛУЧАЕ НАЛИЧИЯ БАГА]
    Исходник:
    PHP:
    1. /*
    2.  
    3.     Simple plugin to detect hlds buffer v1,v2,v3,v3 patched
    4.  
    5.         [*] The method is pretty easy, the fake player sent doesn't have enough information, you can check it using rcon user
    6.         So he have 7 information which is not normal at all. " I CAN'T EXPLAIN VERY WELL xD SO PLEASE TAKE A LOOK AT THE CODE "
    7.  
    8.  
    9.     (c) Spawner aka Freezo ( Any bug, reply here : [fDetector-Hlds] Anti Hlds buffer v2,v3,v3 patched [0.1] )
    10.  
    11.           |^_^|
    12.         - Anass
    13.  
    14. */
    15. #include <amxmodx>
    16. #include <amxmisc>
    17. #include <orpheu>
    18.  
    19. enum PData
    20. {
    21.     ItemType[ 31 ],
    22.     ItemValue[ 31 ]
    23. }
    24.  
    25. new iCount[33];
    26. new get[ 600 ];
    27. new iItem , iItemType , PlayerData[ 20 ][ PData ];
    28.  
    29. public plugin_init()
    30. {
    31.     register_plugin(
    32.         "Freezo aka Spawner",
    33.         "0.1",
    34.         "[fHlds-Detector] v2,v3,v3(patched v4)"
    35.     )
    36.  
    37.     register_cvar("anti_hldsbuffer", "0.1" , FCVAR_SERVER | FCVAR_SPONLY )
    38.  
    39. }
    40. public client_connect(id)
    41. {    
    42.     iCount[id] = 0;
    43.     iItemType = 0;
    44.     iItem = 0;
    45.  
    46.     new OrpheuHook:handlePrintf = OrpheuRegisterHook( OrpheuGetFunction( "Con_Printf" ), "Con_Printf" );
    47.  
    48.     new szName[32]
    49.     get_user_name(id, szName,charsmax(szName))
    50.  
    51.     server_cmd( "user ^"%s^"",szName );
    52.     server_exec();
    53.  
    54.     OrpheuUnregisterHook( handlePrintf );
    55.  
    56.     for ( new i = 0 ; i < iItem ; i++ )    iCount[id]++;        
    57.  
    58.  
    59.  
    60.     if(iCount[id] == 7){
    61.         // for no bugs, the name will be re-created
    62.  
    63.         new sName[32],sSteamid[32],sIp[32]
    64.    
    65.         get_user_name(id, sName, charsmax(sName))
    66.         get_user_authid(id, sSteamid, charsmax(sSteamid))
    67.         get_user_ip(id, sIp, charsmax(sIp), 1)
    68.    
    69.         server_cmd("kick #%d ^"|| fHlds-Detector || Hlds Buffer Detected^"", get_user_userid(id))
    70.         log_to_file("hldsBuffer.txt", "[ fHlds-Detector ][Name=%s][STEAMID=%s][IP=%s]",sName, sSteamid, sIp)
    71.         iCount[id] = 0;
    72.    
    73.    
    74.     }
    75.  
    76. }
    77. public OrpheuHookReturn:Con_Printf( const fmtGet[], const msgGet[] )
    78. {
    79.     formatex( get , charsmax( get ) , "%s" , msgGet )
    80.  
    81.     if ( iItemType == 0 )
    82.     {
    83.         copy( PlayerData[ iItem ][ ItemType ] , charsmax( PlayerData[][ ItemType ] ) , get );
    84.         iItemType = 1;
    85.     }
    86.     else
    87.     {
    88.         copy( PlayerData[ iItem++ ][ ItemValue ] , charsmax( PlayerData[][ ItemType ] ) , get );
    89.         iItemType = 0;
    90.     }
    91.  
    92.     return OrpheuSupercede;
    93. }
    94.  
    95. // If there is a bug, this instruction boolean will be added.
    96. /*
    97. stock bool:is_user_steam(id)
    98. {
    99.     static dp_pointer;
    100.     if(dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
    101.     {
    102.         server_cmd("dp_clientinfo %d", id);
    103.         server_exec();
    104.         return (get_pcvar_num(dp_pointer) == 2) ? true : false;
    105.     }
    106.     return false;
    107. }
    108. */
    109.  
    Следующие несколько дней на форуме меня не будет. Пожалуйста, если же вы найдете какой-нибудь баг в работе плагина, оставьте мне свое личное сообщение
    Кстати, принцип работы плагина значительно отличается от Ginusis
     

    Вложения:

    • fHlds.zip
      Размер файла:
      1,9 КБ
      Просмотров:
      56
    Последнее редактирование модератором: 29.02.16
    happyQQ, Fenix, Anonymous и 3 другим нравится это.
  2. Phantom Команда форума

    Регистрация:
    27.02.15
    Сообщения:
    1.684
    Симпатии:
    790
    Пол:
    Мужской
    Telegram:
    ph4nt0m
    Nice
    --- добавлено 27.02.16 ---
    I'll translate it into Russian, if you don't mind
     
    Spawner10 нравится это.
  3. Spawner10 Разработчик

    Регистрация:
    14.07.15
    Сообщения:
    188
    Симпатии:
    95
    Yes ofc :). Np.
     
    r1nk0 и Phantom нравится это.
  4. VkriterT VIP user

    Регистрация:
    02.06.15
    Сообщения:
    426
    Симпатии:
    125
    Пол:
    Мужской
    source ?
     
  5. Spawner10 Разработчик

    Регистрация:
    14.07.15
    Сообщения:
    188
    Симпатии:
    95
    The script will be given to some moderators , SO SEND ME A PM TO GIVE YOU THE SRC.
     
  6. Phantom Команда форума

    Регистрация:
    27.02.15
    Сообщения:
    1.684
    Симпатии:
    790
    Пол:
    Мужской
    Telegram:
    ph4nt0m
    Spawner10, done
     
    Spawner10 и LeninChan^^ нравится это.
  7. gudaus Команда форума

    Регистрация:
    27.02.15
    Сообщения:
    1.509
    Симпатии:
    1.102
    Пол:
    Мужской
    Spawner10, nice work.
    It detects Buffer Overload and fakeplayers, which send him, but does not detect fakeplayers without this exploit. I correctly understand?
    You can give source to neygomon, me or Phantom.
     
  8. ThePhoenix Пользователь

    Регистрация:
    08.03.15
    Сообщения:
    1.423
    Симпатии:
    136
    Пол:
    Мужской
    Skype:
    the.phoenix666
    Ребятам на rehlds будет жаль,что только для hlds))
    Я про отсеивание фей)
     
  9. Spawner10 Разработчик

    Регистрация:
    14.07.15
    Сообщения:
    188
    Симпатии:
    95
    Only hlds buffer Overload. Source has been given to Phantom. But you can pm me to get it.
    i don't understand you.
    EDIT: it's not working on reHlds yes. Because it's using orpheu.
     
  10. ThePhoenix Пользователь

    Регистрация:
    08.03.15
    Сообщения:
    1.423
    Симпатии:
    136
    Пол:
    Мужской
    Skype:
    the.phoenix666
    Yes, i understand this .
    This saddens
     
  11. Mistrick Разработчик

    Регистрация:
    13.07.15
    Сообщения:
    158
    Симпатии:
    87
    Пол:
    Мужской
    В rehlds вшиты фиксы от этого эксплойта, только причем тут феи?
     
    Safety1st нравится это.
  12. ThePhoenix Пользователь

    Регистрация:
    08.03.15
    Сообщения:
    1.423
    Симпатии:
    136
    Пол:
    Мужской
    Skype:
    the.phoenix666
    Перепутал,извиняюсь ;)
     
  13. Spawner10 Разработчик

    Регистрация:
    14.07.15
    Сообщения:
    188
    Симпатии:
    95
    Oke, i have some news, this plugin doesn't have false detection at all ... So if you are using a module to detect hlds buffer overload just remove it because this plugin will consume less and less and less than the module in CPU.
    Thanks.
    --- добавлено 28.02.16 ---
    Also it will be a stable version.
     
    shram_47, Phantom и LeninChan^^ нравится это.
  14. shram_47 Пользователь

    Регистрация:
    01.11.15
    Сообщения:
    184
    Симпатии:
    29
    Пол:
    Мужской
    Skype:
    warlock_city
    ICQ:
    656712598
    актуален?
     
  15. Phantom Команда форума

    Регистрация:
    27.02.15
    Сообщения:
    1.684
    Симпатии:
    790
    Пол:
    Мужской
    Telegram:
    ph4nt0m
    shram_47, актуален
     
  16. gudaus Команда форума

    Регистрация:
    27.02.15
    Сообщения:
    1.509
    Симпатии:
    1.102
    Пол:
    Мужской
    Да. Полностью.
    Но нужен ли? FakeDetector Асмодая делает всё то же самое.
    Полагаю, что капиталистические страны не знакомы с творчеством асмодая(ибо нет исходников как минимум), отсюда идёт капитанство многих их скриптеров.
     
  17. PRoSToC0der Разработчик

    Регистрация:
    22.02.16
    Сообщения:
    307
    Симпатии:
    143
    Пол:
    Мужской
    Проще уже перейти на ReHLDS, чем до сих пор собирать миллионы фиксов под HLDS.
     
    Punisher и LeninChan^^ нравится это.
  18. Spawner10 Разработчик

    Регистрация:
    14.07.15
    Сообщения:
    188
    Симпатии:
    95
    True, it seems that ReHlds has fixed a lot of exploits ... But i really had some issues using reHlds in FPS & CPU ...
    Ps : i don't run any server at the moment ...
     
  19. damir4ik Пользователь

    Регистрация:
    27.07.15
    Сообщения:
    228
    Симпатии:
    19
    Пол:
    Мужской
    PRoSToC0der, Это слишком муторно ) Да и вроде там тоже Фейки бегают )
     
  20. x00peR Пользователь

    Регистрация:
    16.10.15
    Сообщения:
    300
    Симпатии:
    42
    Пол:
    Мужской
    Skype:
    x00peR
    ICQ:
    474751117
    damir4ik, ошибаешься. Перейти за час можно )