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

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: Коротко о поиске сигнатур
 
Последнее редактирование:

sev4a

Участник
Сообщения
19
Реакции
0
DropsSummoner.games.txt
Exception reported: Failed to create SDKCall for CCSGameRules::RewardMatchEndDrops

JavaScript:
"Signatures"
        {
            "CCSGameRules::RewardMatchEndDrops"
            {
                "library"        "server"
                "linux"            "\x55\x89\xE5\x83\xEC\x58\xA1\x2A\x2A\x2A\x2A\x89\x5D\xF4\x89\x75\xF8\x0F\xB6\x5D\x0C"
                "windows"        "\x55\x8B\xEC\x83\xE4\xF8\xA1\x2A\x2A\x2A\x2A\x83\xEC\x1C\xB9"
            }
            "CCSGameRules::RecordPlayerItemDrop"
            {
                "library"        "server"
                "linux"            "\x55\x89\xE5\x57\x56\x53\x83\xEC\x3C\x8B\x45\x08\x8B\x5D\x0C\x8B\x80\x2A\x0E\x00\x00"
                "windows"        "\x55\x8B\xEC\x53\x8B\xD9\x33\xD2\x56\x57\x8B\x7D\x08"
            }
            "Helper_FillServerReservationStateAndPlayers"
            {
                "library"        "server"
                "linux"            "\x55\x89\xE5\x57\x56\x53\x83\xEC\x7C\xA1\x2A\x2A\x2A\x2A\x8B\x75\x08\x8B\x10"
                "windows"        "\x55\x8B\xEC\x83\xEC\x64\x53\x8B\xD9\x8B\x0D"
            }
        }
 

Rolzzandik

Участник
Сообщения
492
Реакции
234
DropsSummoner.games.txt
Exception reported: Failed to create SDKCall for CCSGameRules::RewardMatchEndDrops

JavaScript:
"Signatures"
        {
            "CCSGameRules::RewardMatchEndDrops"
            {
                "library"        "server"
                "linux"            "\x55\x89\xE5\x83\xEC\x58\xA1\x2A\x2A\x2A\x2A\x89\x5D\xF4\x89\x75\xF8\x0F\xB6\x5D\x0C"
                "windows"        "\x55\x8B\xEC\x83\xE4\xF8\xA1\x2A\x2A\x2A\x2A\x83\xEC\x1C\xB9"
            }
            "CCSGameRules::RecordPlayerItemDrop"
            {
                "library"        "server"
                "linux"            "\x55\x89\xE5\x57\x56\x53\x83\xEC\x3C\x8B\x45\x08\x8B\x5D\x0C\x8B\x80\x2A\x0E\x00\x00"
                "windows"        "\x55\x8B\xEC\x53\x8B\xD9\x33\xD2\x56\x57\x8B\x7D\x08"
            }
            "Helper_FillServerReservationStateAndPlayers"
            {
                "library"        "server"
                "linux"            "\x55\x89\xE5\x57\x56\x53\x83\xEC\x7C\xA1\x2A\x2A\x2A\x2A\x8B\x75\x08\x8B\x10"
                "windows"        "\x55\x8B\xEC\x83\xEC\x64\x53\x8B\xD9\x8B\x0D"
            }
        }
Старого server.so случайно не осталось(с прошлой версии игры)?
bin/server.so
 

Rolzzandik

Участник
Сообщения
492
Реакции
234
DropsSummoner.games.txt
Exception reported: Failed to create SDKCall for CCSGameRules::RewardMatchEndDrops

JavaScript:
"Signatures"
        {
            "CCSGameRules::RewardMatchEndDrops"
            {
                "library"        "server"
                "linux"            "\x55\x89\xE5\x83\xEC\x58\xA1\x2A\x2A\x2A\x2A\x89\x5D\xF4\x89\x75\xF8\x0F\xB6\x5D\x0C"
                "windows"        "\x55\x8B\xEC\x83\xE4\xF8\xA1\x2A\x2A\x2A\x2A\x83\xEC\x1C\xB9"
            }
            "CCSGameRules::RecordPlayerItemDrop"
            {
                "library"        "server"
                "linux"            "\x55\x89\xE5\x57\x56\x53\x83\xEC\x3C\x8B\x45\x08\x8B\x5D\x0C\x8B\x80\x2A\x0E\x00\x00"
                "windows"        "\x55\x8B\xEC\x53\x8B\xD9\x33\xD2\x56\x57\x8B\x7D\x08"
            }
            "Helper_FillServerReservationStateAndPlayers"
            {
                "library"        "server"
                "linux"            "\x55\x89\xE5\x57\x56\x53\x83\xEC\x7C\xA1\x2A\x2A\x2A\x2A\x8B\x75\x08\x8B\x10"
                "windows"        "\x55\x8B\xEC\x83\xEC\x64\x53\x8B\xD9\x8B\x0D"
            }
        }
Это насколько актуальные сигнатуры?
В прошлых версиях server.so невозможно найти по ним функции
 

sev4a

Участник
Сообщения
19
Реакции
0
Это насколько актуальные сигнатуры?
В прошлых версиях server.so невозможно найти по ним функции
Попробуй эти
JavaScript:
"Games"
{
    "csgo"
    {
        "Offsets"
        {
            "OS"
            {
                "linux"        "1"
                "windows"    "2"
            }
        }
        "Addresses"
        {
            "DropForAllPlayersPatch"
            {
                "signature"    "Helper_FillServerReservationStateAndPlayers"
                "linux"
                {
                    "offset"    "426"
                }
                "windows"
                {
                    "offset"    "478"
                }
            }
        }
        "Functions"
        {
            "CCSGameRules::RecordPlayerItemDrop"
            {
                "signature"    "CCSGameRules::RecordPlayerItemDrop"
                "callconv"    "thiscall"
                "return"    "void"
                "this"        "ignore"
                "arguments"
                {
                    "iteminfo"
                    {
                        "type"    "objectptr"
                    }
                }
            }
        }
        "Signatures"
        {
            "CCSGameRules::RewardMatchEndDrops"
            {
                "library"        "server"
                "linux"            "\x55\x89\xE5\x83\xEC\x58\xA1\x2A\x2A\x2A\x2A\x89\x5D\xF4\x89\x75\xF8\x0F\xB6\x5D\x0C"
                "windows"        "\x55\x8B\xEC\x83\xE4\xF8\xA1\x2A\x2A\x2A\x2A\x83\xEC\x1C\xB9"
            }
            "CCSGameRules::RecordPlayerItemDrop"
            {
                "library"        "server"
                "linux"            "\x55\x89\xE5\x57\x56\x53\x83\xEC\x3C\x8B\x45\x08\x8B\x5D\x0C\x8B\x80\x2A\x0E\x00\x00"
                "windows"        "\x55\x8B\xEC\x53\x8B\xD9\x33\xD2\x56\x57\x8B\x7D\x08"
            }
            "Helper_FillServerReservationStateAndPlayers"
            {
                "library"        "server"
                "linux"            "\x55\x89\xE5\x57\x56\x53\x83\xEC\x7C\xA1\x2A\x2A\x2A\x2A\x8B\x75\x08\x8B\x10"
                "windows"        "\x55\x8B\xEC\x83\xEC\x64\x53\x8B\xD9\x8B\x0D"
            }
        }
    }
}
 

Rolzzandik

Участник
Сообщения
492
Реакции
234
@sev4a,ни в новой, ни в старой server.so не находит сигнатуры
В таком случае мне максимально сложно найти новые - в слитых исходниках игры данные функции просто вырезаны
 

Los

Участник
Сообщения
25
Реакции
10
L 02/03/2023 - 17:17:19: [SM] Exception reported: Can't find WalkMoveMaxSpeed address.
L 02/03/2023 - 17:17:19: [SM] Blaming: csgo_movement_unlocker.smx
L 02/03/2023 - 17:17:19: [SM] Call stack trace:
L 02/03/2023 - 17:17:19: [SM] [0] SetFailState
L 02/03/2023 - 17:17:19: [SM] [1] Line 32, /home/forums/content/files/4/1/4/1/8/141520.attach::OnPluginStart
 

yallstpd

Участник
Сообщения
1,023
Реакции
316
Начну с починенной SwitchTeam:
"linux" "\x55\x89\xE5\x56\x53\x83\xEC\x2C\x8B\x5D\x0C\x8B\x75\x08\x53"
Сообщения автоматически склеены:

TerminateRound
"linux" "\x55\x89\xE5\x57\x56\x53\x83\xEC\x6C\x8B\x7D\x08\x8B\x87\x2A\x2A\x2A\x2A\x89\x45"
1675434149912.png
 

Rolzzandik

Участник
Сообщения
492
Реакции
234
я буквально ее у себя использую
Сообщения автоматически склеены:

L 02/03/2023 - 17:17:19: [SM] Exception reported: Can't find WalkMoveMaxSpeed address.
L 02/03/2023 - 17:17:19: [SM] Blaming: csgo_movement_unlocker.smx
L 02/03/2023 - 17:17:19: [SM] Call stack trace:
L 02/03/2023 - 17:17:19: [SM] [0] SetFailState
L 02/03/2023 - 17:17:19: [SM] [1] Line 32, /home/forums/content/files/4/1/4/1/8/141520.attach::OnPluginStart
Нужна старая сигнатура/геймдата
 

Fanyatsu

Шизофреник со стажем
Сообщения
1,030
Реакции
341
PlayerSpawn:
\x55\x89\xE5\x57\x56\x53\x83\xEC\x28\x8B\x45\x08\x89\x45\xE4\x8B
Эта сигнатура робит, однако ещё:

1. Файл: modelch.ext.2.csgo.so
2. Ошибка: Failed to lookup StrAssign signature
3. Сигнатура для: Linux

C-подобный:
"StrAssign"
{
    "library"    "server"
    "linux"        "\x55\x31\xC0\x89\xE5\x53\x83\xEC\x14\x8B\x5D\x0C\x85\xDB\x74\x2A\x89\x1C\x24"
    "windows"    "\x55\x8B\xEC\x53\x56\x33\xDB\x8B\xF1"
}
 

Rolzzandik

Участник
Сообщения
492
Реакции
234
Если есть время глянь по-быстрому, пожалуйста, потому что у меня ощущение, что эт функцию полностью переписали, потому как раньше я её найти не могу

C-подобный:
// Two parts:
// 1. CBaseCombatWeapon::SetReserveAmmoCount -> "BaseCombatCharacter.AmmoPickup" only string, longer function
// 2. SetReserveAmmoCount is called in GiveReserveAmmo (short function) all parameters passed through, except the amount being GetReserveAmmoCount() + amount.
"CBaseCombatWeapon::GiveReserveAmmo"
{
    "library"    "server"
    "windows"    "\x55\x8B\xEC\x51\x83\x7D\x0C\x00\x53\x8B\xD9"
    // _ZN17CBaseCombatWeapon15GiveReserveAmmoE14AmmoPosition_tibP20CBaseCombatCharacter
    "linux"        "\x55\x89\xE5\x83\xEC\x38\x8B\x55\x10\x89\x5D\xF4\x89\x75\xF8\x8B\x5D\x08\x89\x7D\xFC"
}
с ним что-т сделали да
Искал по стрингу - выделенный, функа которая должа быть гивресерваммо. (адрес родительской функи - 005DA1C0, условно нужной - 005D9FD0, хотя скорее всего не условно, а нужной)
сига линукса:
55 89 E5 57 56 53 83 EC 1C 8B 75 10 8B 5D 14 8B 7D 08 8B 55 0C 85 F6 8B 4D 18 0F B6 DB
1675438887354.png1675438953021.png

1675439141632.png
1675439176771.png

Сообщения автоматически склеены:

PlayerSpawn:
\x55\x89\xE5\x57\x56\x53\x83\xEC\x28\x8B\x45\x08\x89\x45\xE4\x8B
@Fanyatsu, @makashidos,
StrAssign:
\x55\x31\xC0\x89\xE5\x53\x83\xEC\x04\x8B\x5D\x0C\x85\xDB
Сообщения автоматически склеены:

AntiDLL.ext
collisionhook.ext
Ошибки + старую геймдату дай
 
Последнее редактирование:

KUBINATOR

Участник
Сообщения
262
Реакции
69
[SM] Unable to load extension "blindhook.ext": Failed to lookup RadiusFlash signature.
C-подобный:
"Games"
{
    "#default"
    {
        "Signatures"
        {
            "RadiusFlash"
            {
                "library"    "server"
                "windows"    "\x55\x8B\xEC\x83\xE4\xF0\x81\xEC\x38\x01\x00\x00\xF3\x0F\x10\x45\x10"
                "linux"        "\x55\x89\xE5\x57\x56\x53\x81\xEC\x9C\x01\x00\x00\x8B\x45\x18"
            }
        }
    }
}
 

Tomiks

Участник
Сообщения
419
Реакции
288
с ним что-т сделали да
Искал по стрингу - выделенный, функа которая должа быть гивресерваммо. (адрес родительской функи - 005DA1C0, условно нужной - 005D9FD0, хотя скорее всего не условно, а нужной)
сига линукса:
55 89 E5 57 56 53 83 EC 1C 8B 75 10 8B 5D 14 8B 7D 08 8B 55 0C 85 F6 8B 4D 18 0F B6 DB
Я такую вот отыскал, вроде функция нужная(правда ещё не тестил, тоже для линукса)

\x55\x89\xE5\x57\x56\x53\x83\xEC\x1C\x8B\x1D\x2A\x2A\x2A\x2A\x85\xDB\x0F\x85\x2A\x2A\x2A\x2A
 
Сверху Снизу