@Wend4r Предложил идею, как сделать ваш проект уникальным
Сейчас я вам расскажу как это реализовать всего лишь в 3 шага
Шаг 1: Проверьте ваш список плагинов и посмотрите, насколько мало вашего упоминания
Шаг 2: Загрузите чудо-плагин, который исправляет все ваши проблемы
Шаг 3: Смотрим результат, где можем наблюдать, что вы стали самыми лучшими :)
Сейчас я вам расскажу как это реализовать всего лишь в 3 шага
Шаг 1: Проверьте ваш список плагинов и посмотрите, насколько мало вашего упоминания
Шаг 3: Смотрим результат, где можем наблюдать, что вы стали самыми лучшими :)
C-подобный:
#include <MemoryEx>
Pointer g_pAlloc;
static const char g_sName[] = "Rostu is best!1! [Rostu#7917 | vk.com/rostu13]";
static int g_iWinPattern[] = {0x56, 0x57, 0x8B, 0xF9, 0xBE, 0x2A, 0x2A, 0x2A, 0x2A, 0x8B, 0xD6};
static int g_iOffset = 0x0D;
public void OnPluginStart()
{
CheckInitPEB();
}
public void OnPluginEnd()
{
FreeMemory(g_pAlloc);
}
public void MemoryEx_InitPEB()
{
Pointer pFunc = g_hMem.FindPattern("sourcemod.logic", g_iWinPattern, sizeof(g_iWinPattern), g_iOffset);
if(pFunc == nullptr)
{
SetFailState("couldn't find pattern GetPublicInfo");
}
int finalPattern[6];
g_hMem.SetAddr(pFunc);
g_pAlloc = VirtualAlloc(strlen(g_sName) + 0x01);
WriteString(g_pAlloc, g_sName);
PatternEx pattern;
pattern.Init();
pattern.AddByte(0xb8); // mov eax,
pattern.AddValue(g_pAlloc); // address
pattern.AddByte(0x90); // nop
pattern.Generate(finalPattern, sizeof(finalPattern));
pattern.Close();
g_hMem.WriteData(finalPattern, sizeof(finalPattern));
}
Последнее редактирование:
