Обновление сигнатур / геймдаты для плагинов

Rolzzandik

Участник
Сообщения
492
Реакции
234
Шаблон для запроса обновления сигнатуры/оффсета/индекса:
Файл:
Система:
Версия SM:
Плагин (если применимо):
Название параметра (Сигнатуры/Оффсета/Индекса):
Файл с геймдатой (Прикрепляем к сообщению) или секция с устаревшими данными:


Файл: sm-cstrike.games/games.csgo.txt
Система:
Linux
Версия SM: 11
Плагин (если применимо):
-
Название параметра/секции (Сигнатуры/Оффсета/Индекса): RoundRespawn
Файл с геймдатой (Прикрепляем к сообщению) или секция с устаревшими данными:
C-подобный:
"RoundRespawn"
{
    "library"    "server"
    "windows"    "\x55\x8B\xEC\x83\xEC\x0C\x53\x56\x57\x8B\xF9\x8B\x0D\x2A\x2A\x2A\x2A\x8B\x01"
    "linux"        "\x55\x89\xE5\x57\x56\x53\x83\xEC\x3C\xA1\x2A\x2A\x2A\x2A\x8B\x5D\x08\x89\x04\x24"
    "mac64"       "\x55\x48\x89\xE5\x41\x57\x41\x56\x41\x54\x53\x48\x83\xEC\x10\x49\x89\xFC\x4C\x8D\x3D\xD7\xB9\x90\x00"
}

Q: Как понять что проблема именно в устаревшей геймдате?
A: В error логах будут ошибки содержащии подобный текст:
  • Failed to locate signature_name signature.
  • Failed to setup detour for signature_name.
  • Failed to create SDKCall for signature_name.
  • Can't find signature_name address.
  • Failed to lookup signature_name signature.
Стоит учитывать, что данный текст устанавливается разработчиком плагина, однако в 99% случаях текст ошибки будет содержать хотя бы одно слово из этого списка: address, signature, SDKCall, detour.

Q: Чем отличаются эти 2 сигнатуры?
\x8B\xF9\x8B\x0D\x56\x53\x48\x08
\x8B\xF9\x8B\x0D\x2A\x2A\x2A\x2A
A: Ничем. Байт \x2A подразумевает под собой любой байт.

Q: Как обновлять сигнатуры самому?
A: Коротко о поиске сигнатур
 
Последнее редактирование:

Palonez

бб братки
Сообщения
3,035
Реакции
1,837
\x55\x89\xE5\x57\x56\x53\x83\xEC\x0C\x8B\x5D\x0C\x8B\x75\x08\x85\xDB\x0F\x84\x2A\x2A\x2A\x2A\x39\xF3
Есть у кого нибудь актуальная на Win (collisionhook)?
Эта крашит
C-подобный:
/*
 * quack
*/

"Games"
{
    "#default"
    {
        "Signatures"
        {
            "PassServerEntityFilter"
            {
                "library"    "server"
                "windows"    "\x55\x8B\xEC\x56\x8B\x2A\x2A\x85\x2A\x75\x2A\xB0\x2A\x5E"
                "linux"        "@_Z22PassServerEntityFilterPK13IHandleEntityS1_"
            }
        }
    }
  
    "csgo"
    {
        "Signatures"
        {
            "PassServerEntityFilter"
            {
                "library"    "server"
                "windows"    "\x56\x8B\xF2\x57\x8B\xF9\x85\xF6\x74\x2A\x3B\xFE"
                "linux"        "\x55\xB8\x01\x00\x00\x00\x89\xE5\x83\xEC\x38\x89\x5D\xF4"
            }
        }
    }
}
 
Последнее редактирование:

xstage

🏹
Сообщения
726
Реакции
754
Есть у кого нибудь актуальная на Win (collisionhook)?
Эта крашит
C-подобный:
/*
 * quack
*/

"Games"
{
    "#default"
    {
        "Signatures"
        {
            "PassServerEntityFilter"
            {
                "library"    "server"
                "windows"    "\x55\x8B\xEC\x56\x8B\x2A\x2A\x85\x2A\x75\x2A\xB0\x2A\x5E"
                "linux"        "@_Z22PassServerEntityFilterPK13IHandleEntityS1_"
            }
        }
    }
 
    "csgo"
    {
        "Signatures"
        {
            "PassServerEntityFilter"
            {
                "library"    "server"
                "windows"    "\x56\x8B\xF2\x57\x8B\xF9\x85\xF6\x74\x2A\x3B\xFE"
                "linux"        "\x55\xB8\x01\x00\x00\x00\x89\xE5\x83\xEC\x38\x89\x5D\xF4"
            }
        }
    }
}
Сигнатура верная, в чем-то другом проблема
Сообщения автоматически склеены:

Где-то уже скидывал версию, тестил на винде работала, но это было еще в том году
 

Palonez

бб братки
Сообщения
3,035
Реакции
1,837
Сигнатура верная, в чем-то другом проблема
Сообщения автоматически склеены:

Где-то уже скидывал версию, тестил на винде работала, но это было еще в том году
Я пробежался по всем сигнам, которые кидали на него, и тут и на АМ и на гите, при входе на сервер - крашится.
Отключаю этот плагин:
C++:
#include <collisionhook>
#include <zombiereloaded>

bool enable;

public void OnPluginStart()
{
    ConVar hRegister = CreateConVar("zr_collision_enable", "1");
    enable = GetConVarBool(hRegister);
    HookConVarChange(hRegister, OnEnableChange);
    delete hRegister;
}

public Action CH_PassFilter(int ent1, int ent2, bool &result)
{
    if(enable && 1 <= ent1 <= MaxClients && 1 <= ent2 <= MaxClients && IsClientInGame(ent2) && IsPlayerAlive(ent2) && ZR_IsClientHuman(ent1) == ZR_IsClientHuman(ent2))
    {
        result = false;
        return Plugin_Handled;
    }
    return Plugin_Continue;
}

public void OnEnableChange(ConVar hCvar, const char[] oldValue, const char[] newValue)
{
    enable = GetConVarBool(hCvar)
}
и все ок
Сообщения автоматически склеены:

Я пробежался по всем сигнам, которые кидали на него, и тут и на АМ и на гите, при входе на сервер - крашится.
Отключаю этот плагин:
C++:
#include <collisionhook>
#include <zombiereloaded>

bool enable;

public OnPluginStart()
{
    ConVar hRegister = CreateConVar("zr_collision_enable", "1");
    enable = GetConVarBool(hRegister);
    HookConVarChange(hRegister, OnEnableChange);
    delete hRegister;
}

public Action CH_PassFilter(int ent1, int ent2, bool &result)
{
    if(enable && 1 <= ent1 <= MaxClients && 1 <= ent2 <= MaxClients && IsClientInGame(ent2) && IsPlayerAlive(ent2) && ZR_IsClientHuman(ent1) == ZR_IsClientHuman(ent2))
    {
        result = false;
        return Plugin_Handled;
    }
    return Plugin_Continue;
}

public void OnEnableChange(ConVar hCvar, const char[] oldValue, const char[] newValue)
{
    enable = GetConVarBool(hCvar)
}
и все ок
Мб я что-то не вижу
 
Последнее редактирование:

xek

Рыба клоун
Сообщения
1,652
Реакции
636
Exception reported: Failed to setup detour for SV_CheckForFlushMemory
 

Вложения

  • Map.txt
    654 байт · Просмотры: 9

Gaivor

Участник
Сообщения
185
Реакции
18
L 03/23/2023 - 21:07:56: [SM] Exception reported: Can't find WalkMoveMaxSpeed address.
L 03/23/2023 - 21:07:56: [SM] Blaming: csgo_movement_unlocker.smx
L 03/23/2023 - 21:07:56: [SM] Call stack trace:
L 03/23/2023 - 21:07:56: [SM] [0] SetFailState
L 03/23/2023 - 21:07:56: [SM] [1] Line 32, /home/forums/content/files/4/1/4/1/8/141520.attach::OnPluginStart
L 03/23/2023 - 21:07:56: [SM] Unable to load plugin "csgo_movement_unlocker.smx": Error detected in plugin startup (see error logs)
Помогите пожалуйста
 

Вложения

  • csgo_movement_unlocker.games (1).txt
    709 байт · Просмотры: 3

xstage

🏹
Сообщения
726
Реакции
754
L 03/23/2023 - 21:07:56: [SM] Exception reported: Can't find WalkMoveMaxSpeed address.
L 03/23/2023 - 21:07:56: [SM] Blaming: csgo_movement_unlocker.smx
L 03/23/2023 - 21:07:56: [SM] Call stack trace:
L 03/23/2023 - 21:07:56: [SM] [0] SetFailState
L 03/23/2023 - 21:07:56: [SM] [1] Line 32, /home/forums/content/files/4/1/4/1/8/141520.attach::OnPluginStart
L 03/23/2023 - 21:07:56: [SM] Unable to load plugin "csgo_movement_unlocker.smx": Error detected in plugin startup (see error logs)
Помогите пожалуйста
 

d3v

Участник
Сообщения
470
Реакции
146
Изучил Коротко о поиске сигнатур, но не удалось вытянуть GetSequenceActivity

Если кто-то может помочь, нужна сигнатура для csgo на скрипте makesig7 крайнего SM1.11: Animating_GetSequenceActivity для linux

Сейчас выглядит так:
C-подобный:
"csgo"
{
    "Signatures"
    {
        "Animating_GetSequenceActivity"
        {
            "windows"    "\x55\x8B\xEC\x53\x8B\x5D\x08\x57\x8B\xF9\x83\xFB\xFF\x75\x08\x5F"
            "linux"        "@_ZN14CBaseAnimating19GetSequenceActivityEi"
        }
    }
}


Код ошибки:
L 05/02/2023 - 14:08:27: [SM] Exception reported: Failed to load SDK call "Animating_GetSequenceActivity"!
L 05/02/2023 - 14:08:27: [SM] Blaming: weaponmodels.smx
L 05/02/2023 - 14:08:27: [SM] Call stack trace:
L 05/02/2023 - 14:08:27: [SM]   [0] SetFailState
L 05/02/2023 - 14:08:27: [SM]   [1] Line 119, weaponmodels\entitydata.sp::WeaponModels_EntityDataInit
L 05/02/2023 - 14:08:27: [SM]   [2] Line 276, C:\Users\OneDrive\compile\weaponmodels.sp::OnPluginStart
L 05/02/2023 - 14:08:27: [SM] Unable to load plugin "weaponmodels.smx": Error detected in plugin startup (see error logs)
Инфа с гита:
Animating_GetSequenceActivity:
This function does not reference any strings or anything that makes the function easily searchable.
However, CAI_ScriptedSequence::StartSequence() calls this function, and is referencing following string: "%s: unknown scripted sequence \"%s\"\n"
The function itself should then be the first function referenced after the string.

----

Animating_GetSequenceActivity:
Эта функция не ссылается на какие-либо строки или что-либо, что делает функцию легкодоступной для поиска.
Однако, CAI_ScriptedSequence::StartSequence() вызывает эту функцию и ссылается на следующую строку: "%s: unknown scripted sequence \"%s\"\n"
Сама функция должна быть первой функцией, на которую ссылаются после строки.
 

Вложения

  • plugin.weaponmodels.txt
    2.7 КБ · Просмотры: 5
Последнее редактирование:

xstage

🏹
Сообщения
726
Реакции
754
Изучил Коротко о поиске сигнатур, но не удалось вытянуть GetSequenceActivity

Если кто-то может помочь, нужна сигнатура для csgo на скрипте makesig7 крайнего SM1.11: Animating_GetSequenceActivity для linux

Сейчас выглядит так:
C-подобный:
"csgo"
{
    "Signatures"
    {
        "Animating_GetSequenceActivity"
        {
            "windows"    "\x55\x8B\xEC\x53\x8B\x5D\x08\x57\x8B\xF9\x83\xFB\xFF\x75\x08\x5F"
            "linux"        "@_ZN14CBaseAnimating19GetSequenceActivityEi"
        }
    }
}


Код ошибки:
L 05/02/2023 - 14:08:27: [SM] Exception reported: Failed to load SDK call "Animating_GetSequenceActivity"!
L 05/02/2023 - 14:08:27: [SM] Blaming: weaponmodels.smx
L 05/02/2023 - 14:08:27: [SM] Call stack trace:
L 05/02/2023 - 14:08:27: [SM]   [0] SetFailState
L 05/02/2023 - 14:08:27: [SM]   [1] Line 119, weaponmodels\entitydata.sp::WeaponModels_EntityDataInit
L 05/02/2023 - 14:08:27: [SM]   [2] Line 276, C:\Users\OneDrive\compile\weaponmodels.sp::OnPluginStart
L 05/02/2023 - 14:08:27: [SM] Unable to load plugin "weaponmodels.smx": Error detected in plugin startup (see error logs)
Инфа с гита:
Animating_GetSequenceActivity:
This function does not reference any strings or anything that makes the function easily searchable.
However, CAI_ScriptedSequence::StartSequence() calls this function, and is referencing following string: "%s: unknown scripted sequence \"%s\"\n"
The function itself should then be the first function referenced after the string.

----

Animating_GetSequenceActivity:
Эта функция не ссылается на какие-либо строки или что-либо, что делает функцию легкодоступной для поиска.
Однако, CAI_ScriptedSequence::StartSequence() вызывает эту функцию и ссылается на следующую строку: "%s: unknown scripted sequence \"%s\"\n"
Сама функция должна быть первой функцией, на которую ссылаются после строки.
Сегодня вечером посмотрю, если никто не скинет.
Сообщения автоматически склеены:

Изучил Коротко о поиске сигнатур, но не удалось вытянуть GetSequenceActivity

Если кто-то может помочь, нужна сигнатура для csgo на скрипте makesig7 крайнего SM1.11: Animating_GetSequenceActivity для linux

Сейчас выглядит так:
C-подобный:
"csgo"
{
    "Signatures"
    {
        "Animating_GetSequenceActivity"
        {
            "windows"    "\x55\x8B\xEC\x53\x8B\x5D\x08\x57\x8B\xF9\x83\xFB\xFF\x75\x08\x5F"
            "linux"        "@_ZN14CBaseAnimating19GetSequenceActivityEi"
        }
    }
}


Код ошибки:
L 05/02/2023 - 14:08:27: [SM] Exception reported: Failed to load SDK call "Animating_GetSequenceActivity"!
L 05/02/2023 - 14:08:27: [SM] Blaming: weaponmodels.smx
L 05/02/2023 - 14:08:27: [SM] Call stack trace:
L 05/02/2023 - 14:08:27: [SM]   [0] SetFailState
L 05/02/2023 - 14:08:27: [SM]   [1] Line 119, weaponmodels\entitydata.sp::WeaponModels_EntityDataInit
L 05/02/2023 - 14:08:27: [SM]   [2] Line 276, C:\Users\OneDrive\compile\weaponmodels.sp::OnPluginStart
L 05/02/2023 - 14:08:27: [SM] Unable to load plugin "weaponmodels.smx": Error detected in plugin startup (see error logs)
Инфа с гита:
Animating_GetSequenceActivity:
This function does not reference any strings or anything that makes the function easily searchable.
However, CAI_ScriptedSequence::StartSequence() calls this function, and is referencing following string: "%s: unknown scripted sequence \"%s\"\n"
The function itself should then be the first function referenced after the string.

----

Animating_GetSequenceActivity:
Эта функция не ссылается на какие-либо строки или что-либо, что делает функцию легкодоступной для поиска.
Однако, CAI_ScriptedSequence::StartSequence() вызывает эту функцию и ссылается на следующую строку: "%s: unknown scripted sequence \"%s\"\n"
Сама функция должна быть первой функцией, на которую ссылаются после строки.
Там ничего сложного по поиску нет, все на гите написано. Просто скачиваешь слитые исходники, ищешь по строке %s: unknown scripted sequence \"%s\"\n.
На гите поиском не советовал бы пользоваться, лучше искать через VS Code ну или Visual Studio. Прямо по проекту Ctrl + Shift + F.
Находишь - cstrike15_src/scripted.cpp at master · perilouswithadollarsign/cstrike15_src
Ищешь строку в либе server.so, встречается она один раз в одной функции, а функция GetSequenceActivity рядом с ней.
1683044919547.png

Animating_GetSequenceActivity:
C-подобный:
Signature for sub_5B57C0:
\x55\x89\xE5\x56\x53\x8B\x5D\x0C\x8B\x75\x08\x83\xFB\xFF\x74\x2A\x8B\x86\xD8\x04\x00\x00
 
Последнее редактирование:

d3v

Участник
Сообщения
470
Реакции
146
Там ничего сложного по поиску нет, все на гите написано. Просто скачиваешь слитые исходники, ищешь по строке %s: unknown scripted sequence \"%s\"\n.
На гите поиском не советовал бы пользоваться, лучше искать через VS Code ну или Visual Studio. Прямо по проекту Ctrl + Shift + F.
Находишь - cstrike15_src/scripted.cpp at master · perilouswithadollarsign/cstrike15_src
Ищешь строку в либе server.so, встречается она один раз в одной функции, а функция GetSequenceActivity рядом с ней.
Спасибо за помощь и совет. В server.so после формирования строк искал напрямую GetSequenceActivity и находил только GetSequenceNameActivity. Причём информацию с гита про саму функцию читал несколько раз, но почему-то не додумался найти по указанной строке.
 

xek

Рыба клоун
Сообщения
1,652
Реакции
636
Часть нужных вроде нашел, а вот с верхней не смог найти
"csgo" // Counter-Strike: Global Offensive
{
"Offsets"
{
"Clip"
{
"windows" "353"
"linux" "359"
"linux64" "359"
}
"Reserve"
{
"windows" "357"
"linux" "363"
"linux64" "363"
}

"CSendProp::m_nBits"
{
"windows" "12"
"linux" "12"
}
}
 

Вложения

  • ammomanager.gamedata.txt
    3.5 КБ · Просмотры: 5

Rolzzandik

Участник
Сообщения
492
Реакции
234
Часть нужных вроде нашел, а вот с верхней не смог найти
Это не оффсеты, а vtable индексы

Сурсы плагина бы, по названиям не особо поймешь, к чему референс
(И если возможно, бинарники сервера в лс, а то сейчас не стоит)
 
Сверху Снизу