


Доброго времени суток! Как написать лоадер чита CS:GO ?
ПЕРЕД ЭТИМ : Ответы Mail.Ru не могут удалить данный вопрос т.к. CS:GO Прекратил поддержку 1 января 2024 года, а сейчас 19.05.2025, Мне нужен лоадер dll в стиле NEVERLOSE но REVERSIVE, Пытался через 2-х CHATGPT на VisualStudio сделать, Не получилось, Кто может БЕСПЛАТНО написать лоадер ".exe" ? На фотографии примерный референс, т.к. делал на быструю руку в фотошопе немного раньше
Пути : DLL Файл : C:\SoundCloud\reversive.dll

Вот развёрнутый алгоритм “инжекта” DLL в чужой процесс через WinAPI:
1. Открыть процесс
Нужно получить HANDLE процесса с правами на создание потоков и запись в память:
HANDLE OpenProcess(
DWORD dwDesiredAccess, // например PROCESS_CREATE_THREAD | PROCESS_VM_OPERATION | PROCESS_VM_WRITE | PROCESS_QUERY_INFORMATION
BOOL bInheritHandle,
DWORD dwProcessId
);
Пример:
HANDLE hProcess = OpenProcess(
PROCESS_CREATE_THREAD | PROCESS_VM_OPERATION | PROCESS_VM_WRITE | PROCESS_QUERY_INFORMATION,
FALSE,
targetPid
);
2. Выделить память в удалённом процессе
Через VirtualAllocEx резервируешь в целевом процессе буфер под путь к своей DLL:
LPVOID VirtualAllocEx(
HANDLE hProcess,
LPVOID lpAddress, // обычно NULL
SIZE_T dwSize, // размер буфера, в байтах
DWORD flAllocationType, // MEM_COMMIT | MEM_RESERVE
DWORD flProtect // PAGE_READWRITE
);
LPVOID pRemoteBuf = VirtualAllocEx(
hProcess,
NULL,
dllPathLength,
MEM_COMMIT | MEM_RESERVE,
PAGE_READWRITE
);
3. Записать путь к DLL
В только что выделенный буфер пишешь юникодный или ANSI-строку пути к DLL:
BOOL WriteProcessMemory(
HANDLE hProcess,
LPVOID lpBaseAddress,
LPCVOID lpBuffer,
SIZE_T nSize,
SIZE_T *lpNumberOfBytesWritten // можно NULL
);
WriteProcessMemory(
hProcess,
pRemoteBuf,
dllPath,
dllPathLength,
NULL
);
4. Получить адрес LoadLibrary в kernel32.dll
В своём процессе находишь адрес подгрузчика:
HMODULE GetModuleHandleA(LPCSTR lpModuleName);
FARPROC GetProcAddress(HMODULE hModule, LPCSTR lpProcName);
HMODULE hK32 = GetModuleHandleA("kernel32.dll");
FARPROC pLoadLibraryA = GetProcAddress(hK32, "LoadLibraryA");
5. Создать удалённый поток
Стартер потока — это LoadLibraryA, аргумент — указатель в памяти чужого процесса, где лежит путь к DLL:
HANDLE CreateRemoteThread(
HANDLE hProcess,
const SECURITY_ATTRIBUTES *lpThreadAttributes, // NULL
SIZE_T dwStackSize, // 0 (дефолт)
LPTHREAD_START_ROUTINE lpStartAddress, // pLoadLibraryA
LPVOID lpParameter, // pRemoteBuf
DWORD dwCreationFlags, // 0 (запустить сразу)
LPDWORD lpThreadId // NULL или адрес DWORD
);
HANDLE hThread = CreateRemoteThread(
hProcess,
NULL,
0,
(LPTHREAD_START_ROUTINE)pLoadLibraryA,
pRemoteBuf,
0,
NULL
);
6. Дождаться завершения и почистить ресурсы
DWORD WaitForSingleObject(HANDLE hHandle, DWORD dwMilliseconds);
BOOL VirtualFreeEx(HANDLE hProcess, LPVOID lpAddress, SIZE_T dwSize, DWORD dwFreeType);
BOOL CloseHandle(HANDLE hObject);
WaitForSingleObject(hThread, INFINITE);
VirtualFreeEx(hProcess, pRemoteBuf, 0, MEM_RELEASE);
CloseHandle(hThread);
CloseHandle(hProcess);
После CreateRemoteThread в целевом процессе будет вызван LoadLibraryA, и твоя DLL загрузится и выполнит DllMain. Далее сам в DLL можешь прописать любой нужный код (например, создать свой поток, установить хуки и т.д.).
на х тебе надо, просто найди кряк нла и скопипасти