- 57
- 7
Увидел как SR_team написал плагин используя только структуры без функции main, попробовал, но в игре НЕТ НИКАКИХ ИЗМЕНЕНИЙ.
Сначала был такой код:
Но, как я и описал выше, никаких изменений, затем я обратился за помощью к ChatGPT и он выдал мне этот код, который я скомпилировал:
Чуда не произошло. Что есть плагин, что его нет, ГТАшке все равно. Пишу эту тему с потребностью поинтересоваться ЧТО НЕ ТАК?
Хочу дополнить. Вот ссылка не код, в котором я увидел подобную реализацию без функции main(): https://gitlab.com/prime-hack/samp/plugins/ChromeKiller/-/blob/main/main.cpp
Сначала был такой код:
C++:
#include <cstring>
#pragma warning(disable:4996)
struct loader
{
public:
loader()
{
memset((unsigned char*)0x00522F6A, 0x90, 6); // FixFOV
*(float*)0x00522F7A = 90;
strcpy(reinterpret_cast<char*>(0x866C8C), "$-%d");
strcpy(reinterpret_cast<char*>(0x866C94), "$%d");
*(char*)7520695 = 235;
*(float*)0xB6EC1C = 0.00012;
*(float*)0xB6EC18 = *(float*)0xB6EC1C;
*(unsigned char*)0x00561344 = *(unsigned char*)0x005609FF = 0xEB;
*(float*)0x00B7C4F0 = 420;
*(char*)0x058E280 = 235;
}
}Loader;
C++:
#include <Windows.h>
struct Loader {
Loader() {
PatchMemory((LPVOID)0x00522F6A, "\x90\x90\x90\x90\x90\x90", 6); // FixFOV
*(float*)0x00522F7A = 90;
strcpy_s(reinterpret_cast<char*>(0x866C8C), sizeof("$-%d"), "$-%d");
strcpy_s(reinterpret_cast<char*>(0x866C94), sizeof("$%d"), "$%d");
*(char*)7520695 = 235;
*(float*)0xB6EC1C = 0.00012f;
*(float*)0xB6EC18 = *(float*)0xB6EC1C;
*(unsigned char*)0x00561344 = *(unsigned char*)0x005609FF = 0xEB;
*(float*)0x00B7C4F0 = 420;
*(char*)0x058E280 = 235;
}
static void PatchMemory(LPVOID address, const void* data, size_t size) {
DWORD oldProtect;
VirtualProtect(address, size, PAGE_EXECUTE_READWRITE, &oldProtect);
memcpy(address, data, size);
VirtualProtect(address, size, oldProtect, &oldProtect);
}
};
Loader loader;
Хочу дополнить. Вот ссылка не код, в котором я увидел подобную реализацию без функции main(): https://gitlab.com/prime-hack/samp/plugins/ChromeKiller/-/blob/main/main.cpp