Dll инжектор что это
DLL Injection
DLL инъекция дает возможность выполнять свой код в адресном пространстве уже запущенного процесса. Многие используют инфицирования для написания читов для игр, выполнения вредоносных действий для системы и т.п. Но данный прием не обязательно применять для реализации коварных планов, а например, для обновления своего приложения.
Алгоритм работы очень просто, нам нужно создать поток в процессе и внедрить в него выполнения нашего кода. Для примера, мы инфицируем explorer.exe и выведем сообщение об этом.
Опишем структуру, через которую мы получим необходимые нам данные:
typedef FARPROC (WINAPI *LPMessageBox)(HWND, LPCWSTR, LPCWSTR, UINT);
typedef struct _InjectData <
char title[50];
char msg[50];
LPMessageBox MessageB;
> InjectData, *PInjectData;
static DWORD WINAPI InjectionMain(LPVOID lpParams) <
PInjectData info = (PInjectData)lpParams;
info->MessageB(NULL, (LPCWSTR)info->msg, (LPCWSTR)info->title, MB_OK);
return 0;
>
В нашем примере она довольно таки проста. В нем мы не выполняем подгрузку DLL, хотя для большинства задач вам это может быть необходимо, для этого необходимо передать указатели на ф-ции LoadLibrary и GetProcAddress, также как мы это делам для MessageBoxA, и при помощи их подгружать необходимые вам DLL.
Теперь нам нужно получить доступ к explorer.exe, записать наш код, данные в адресном пространстве процесса и создать поток в процессе для выполнения нашего кода.
Опишем ф-цию которая возвращает идентификатор процесса:
DWORD getProcessID() <
DWORD processID = 0;
HANDLE snapHandle;
PROCESSENTRY32 processEntry = <0>;
if ( (snapHandle = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)) == INVALID_HANDLE_VALUE ) <
return 0;
>
processEntry.dwSize = sizeof (PROCESSENTRY32);
Process32First(snapHandle, &processEntry);
do <
if ( wcscmp(processEntry.szExeFile, PROCESSNAME) == 0 ) <
return processEntry.th32ProcessID;
>
> while (Process32Next(snapHandle,&processEntry));
Теперь у нас есть все для того, что бы получить доступ к процессу:
DWORD processID = getProcessID();
HANDLE hCurrentProc = GetCurrentProcess();
if (processID == 0) <
MessageBox(NULL, _T( «Process not found!» ), _T( «Error» ), MB_OK | MB_ICONERROR);
return 0;
>
HINSTANCE userHinstance = LoadLibrary(_T( «user32.dll» ));
injectData.MessageB = (LPMessageBox) GetProcAddress(userHinstance, «MessageBoxA» );
VirtualAllocEx — предоставляет физическую память в виртуальном адресном пространстве процесса, а WriteProcessMemory записывает наши данные в память процесса.
Теперь создадим поток в процессе, который воплотит наш коварный план в жизнь:
DWORD ThreadID;
HANDLE hThread = CreateRemoteThread(processHandel, NULL, 0, (LPTHREAD_START_ROUTINE)lpProc, lpParams, 0, &ThreadID);
if (hThread == NULL) <
sprintf_s(buffer, «Error creating thread» );
addLogMessage(buffer, 1001);
>
DLL Injector
DLL Injector – специальная программа для внедрения модифицированных DLL-файлов в какой-либо запущенный процесс. Чаще всего функционалом подобного софта пользуются геймеры, которые хотят взломать геймплей в каком-то онлайн-проекте. Если у программы получается обойти защиту игры, то пользователь добивается результата. Например, таким способом внедряются читы для CS: GO и подобных игр. Процедура выполняется всего за несколько кликов. Чтобы скачать DLL Injector с нашего сайта, пролистайте страницу до самого конца и кликните по кнопке для загрузки.
Спешим предупредить вас, чтобы данный способ не гарантирует вам 100-процентный успех внедрения взломанных DLL в игровой процесс. Более того, вы используете DLL Injector исключительно на свой страх и риск, поскольку система защиты онлайн-игры может легко выявить взломщика, а затем вас заблокирует администрация проекта.
Возможности
Программа DLL Injector отличается крайне простым функционалом и интерфейсом. Приложение имеет лишь одну основную функцию – это внедрение библиотеки в запущенный процесс игры или программы. Для этого софт предоставляет следующие возможности:
Данная программа может не сработать с некоторыми играми, а также не гарантируется эффективность в тех проектах, которые взламывались ранее. Разработчики постоянно совершенствуют защиту игр, поэтому взломщики не всегда успешно справляются со своей задачей. Если DLL Injector не помог, то попробуйте еще ряд утилит с похожим назначением.
Плюсы и минусы
Перейдем к положительным и отрицательным сторонам приложения, без которых не обходится любой софт.
Как пользоваться
Рассмотрим действия, которые вам придется выполнить для применения сторонних библиотек к какой-либо игре. Алгоритм никак не меняется в зависимости от игры или конкретных DLL, поэтому рассмотрим общий порядок действий:
Если процедура пройдет успешно, то на экране появится уведомление с сообщением Finish. После этого можно закрыть программу и вернуться в игру, чтобы проверить работоспособность чита.
Помните, что в ходе взлома игра должна быть запущена, поскольку DLL Injector должен иметь доступ к процессу.
Видео
Процесс работы с данной утилитой подробнее разбирается в представленном видеоролике.
Ключ активации и загрузка
Бесплатную программу вы можете загрузить с помощью кнопки, которая расположена после обзора.