Auth Exploit Fix

Auth Exploit Fix 1.1.3

DeathScore13

пирожок. пирожочек.
Сообщения
734
Реакции
403
крч, этот текст генерит см и, соответственно, поддерживаются все игрушки где можно использовать GetClientAuthString и GetClientAuthId (а использовать их можно во всех):
и исходя из кода, проверку можно сократить до
if (!GetClientAuthId(...)) // ...
Сообщения автоматически склеены:

C-подобный:
public void OnClientPutInServer(int client)
{
    if (!GetClientAuthId(client, AuthId_Engine, view_as<char>({0}), 0))
        KickClientEx(client, "Ваш SteamID не прошёл валидацию, попробуйте переподключиться");
}
вот и вся суть фикса, собсна
Сообщения автоматически склеены:

через GetClientAuthId можно, кстати, добиться постоянный высер STEAM_ID_STOP_IGNORING_RETVALS, где будет возвращён true: GetClientAuthId(client, view_as<AuthIdType>(4), view_as<char>({0}), 0);.
да-да, нужно всего лишь подсунуть невалидный AuthIdType
Сообщения автоматически склеены:

а ещë я думаю что вместо явного GetClientAuthId можно использовать IsClientAuthorized. но это не точно, лучше проверить
Сообщения автоматически склеены:

и лучше вместо кика попробовать выполнить ClientCommand(client, "retry");. это автоматически переподключит игрока, но может работать не во всех играх, нужно проверять
 
Последнее редактирование:

xyligan

Паркетный пол трещит под моей крышкой черепной
Сообщения
900
Реакции
432
  • Автор ресурса
  • #43
крч, этот текст генерит см и, соответственно, поддерживаются все игрушки где можно использовать GetClientAuthString и GetClientAuthId (а использовать их можно во всех):
и исходя из кода, проверку можно сократить до
if (!GetClientAuthId(...)) // ...
Сообщения автоматически склеены:

C-подобный:
public void OnClientPutInServer(int client)
{
    if (!GetClientAuthId(client, AuthId_Engine, view_as<char>({0}), 0))
        KickClientEx(client, "Ваш SteamID не прошёл валидацию, попробуйте переподключиться");
}
вот и вся суть фикса, собсна
Сообщения автоматически склеены:

через GetClientAuthId можно, кстати, добиться постоянный высер STEAM_ID_STOP_IGNORING_RETVALS, где будет возвращён true: GetClientAuthId(client, view_as<AuthIdType>(4), view_as<char>({0}), 0);.
да-да, нужно всего лишь подсунуть невалидный AuthIdType
Сообщения автоматически склеены:

а ещë я думаю что вместо явного GetClientAuthId можно использовать IsClientAuthorized. но это не точно, лучше проверить
Сообщения автоматически склеены:

и лучше вместо кика попробовать выполнить ClientCommand(client, "retry");. это автоматически переподключит игрока, но может работать не во всех играх, нужно проверять
Видимо будет обнова🙂
 

DeathScore13

пирожок. пирожочек.
Сообщения
734
Реакции
403
Видимо будет обнова🙂
вообще, там чел с первой страницы обсуждения неплохой вариант предложил с проверкой "буквенного" стима. но лучше сделать так вместо проверки на 0 и 1:
C-подобный:
public void OnClientPutInServer(int client)
{
    if (IsFakeClient(client))
        return;

    char buffer[8];
    GetClientAuthId(client, AuthId_Steam2, buffer, sizeof(buffer));
    if (buffer[6] < '0' || '9' < buffer[6])
        KickClientEx(client, "Во время авторизации произошла какая-то ошипка, попробуйте переподключиться");
        // либо прошлое закомментировать и снять комментарий со следующего (менее надёжно, т.к. выполняется клиентом):
        //ClientCommand(client, "retry");
}
 

xyligan

Паркетный пол трещит под моей крышкой черепной
Сообщения
900
Реакции
432
  • Автор ресурса
  • #45
Учёл все выше вышенаписанные замечания и рекомендации, проверяйте, если всё нормально, выложу как обновление.
 

Вложения

  • AuthExploitFix.smx
    3.4 КБ · Просмотры: 16

DeathScore13

пирожок. пирожочек.
Сообщения
734
Реакции
403
А исходник можно?))
дак через lysis можно посмотреть

УПД: нет, не можно. проказник воспользовался новыми опкодами, которые lysis не переваривает (собрано на 1.11-1.12).
могу декомпильнуть за сотку, но кот может быть не 1 к 1 (логика не изменится), да и смысла в этом нет, раз плагин бесплатный.
код из этого сообщения, но сообщение кика вынесено в квары + проверяет игроков после подгрузки
 
Последнее редактирование:

gotgame

Участник
Сообщения
26
Реакции
11
дак через lysis можно посмотреть

УПД: нет, не можно. проказник воспользовался новыми опкодами, которые lysis не переваривает (собрано на 1.11-1.12).
могу декомпильнуть за сотку, но кот может быть не 1 к 1 (логика не изменится), да и смысла в этом нет, раз плагин бесплатный.
код из этого сообщения, но сообщение кика вынесено в квары + проверяет игроков после подгрузки
o_O а что исходник теперь секрет? Он так то был, мы тут все решения советовали)) Просто я все плагины сам компилирую из исходников, параноик так сказать + код ревью))) Ладно подожду автора мб и выложит, а за сотку декомпилить спс не нужно могу и сам все советы из темы в доступный исходник воткнуть))) Просто хотел посмотреть что именно изменилось с прошлых версий.
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980

Вложения

  • AuthExploitFix 1.1.3_fix.sp
    2 КБ · Просмотры: 18
Последнее редактирование:

DeathScore13

пирожок. пирожочек.
Сообщения
734
Реакции
403
Просто хотел посмотреть что именно изменилось с прошлых версий.
неужели так сложно посмотреть под
код из этого сообщения, но сообщение кика вынесено в квары + проверяет игроков после подгрузки
? я уже смотрел smx, если бы у тебя было желание, то мог бы самостоятельно доделать

могу и сам все советы из темы в доступный исходник воткнуть)))
валяй
 
Сверху Снизу