Top.Mail.Ru
Ответы
Аватар пользователя
1мес
Изменено
Аватар пользователя
Аватар пользователя
Аватар пользователя
Время игр
+4

Доброго времени суток! Как написать лоадер чита CS:GO ?

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

Пути : DLL Файл : C:\SoundCloud\reversive.dll

По дате
По рейтингу
Аватар пользователя
Ученик
1мес

Вот развёрнутый алгоритм “инжекта” 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 можешь прописать любой нужный код (например, создать свой поток, установить хуки и т.д.).

Аватар пользователя
Профи
1мес

на х тебе надо, просто найди кряк нла и скопипасти