CHEATS. lol

Как Создают Инжекторы?

Как Создают Инжекторы?
Часто ли вы используете инжектор для внедрения файлов? Каждый день? А вы знали что первые инжекторы DLL файлов появлялись в открытом доступе примерно в 2010 году, это больше 11 лет назад. В то время, загрузить эту программу было крайне сложно, так как их разработка только начиналась, и они были созданы в малом количестве, к тому же просто так делиться ценным скриптом никто не хотел. В наше время скачать Инжекторы можно совершенно бесплатно и без каких либо проблем, сегодня их существует огромное количество для разных игр и не только.

Что такое инжектор?
Для начала, давайте вспомним, что такое Injector? Инжектор - это не сложная программа для внедрения в запущенное приложение динамических .dll файлов, добавляя свои или изменяя готовые данные из оперативной памяти запущенного процесса. Чаще всего эта утилита используется для онлайн игр, так как для Offline развлечений изменить параметры проще. В основном с помощью инъекции, внедряют разные читы.

Как происходит инъекция?
  1. Запускается приложение, настройки которого будут изменяться путем внедрения DLL файла.
  2. Запущенный процесс, чаще всего игра, сворачивается и запускается инжектор.
  3. В скрипте для внедрения, выбирается нужная библиотека файла с расширением .dll, а также указывается путь к папке с .exe файлом запуска игры, в которую нужно внедрять скрипт.
  4. Нажимаем кнопку "Инжектить", после этого можно развернуть развлечение и увидеть изменения.
Как создают инжекторы?
Для создания простой программы инъекции, необходим компонент Visual Studio, в которой разработчик должен написать свой код для будущего скрипта. Вот пример кода для самого простого инжектора:
#include <Windows.h>
#include <TlHelp32.h>
#include <iostream>
#include <io.h>

DWORD GetProcessByName(char * process_name)
{
    HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    PROCESSENTRY32 process;
    DWORD proc_id = 0;
    if (Process32First(snapshot, &process))
    {
        while (Process32Next(snapshot, &process))
        {
            if (_stricmp(process.szExeFile, process_name) == 0)
            {
                proc_id = process.th32ProcessID;
                break;
            }
        }
    }
    CloseHandle(snapshot);
    return proc_id;
}

bool FileExist(char* name)
{
    return _access(name, 0) != -1;
}

bool Inject(DWORD pID, char* path)
{
    HANDLE proc_handle;
    LPVOID RemoteString;
    LPVOID LoadLibAddy;
    if (pID == 0)
        return false;
    proc_handle = OpenProcess(PROCESS_ALL_ACCESS, false, pID);
    if (proc_handle == 0)
        return false;
    LoadLibAddy = (LPVOID)GetProcAddress(GetModuleHandle("kernel32.dll"), "LoadLibraryA");
    RemoteString = VirtualAllocEx(proc_handle, NULL, strlen(path), MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE);
    WriteProcessMemory(proc_handle, RemoteString, path, strlen(path), NULL);
    CreateRemoteThread(proc_handle, NULL, NULL, (LPTHREAD_START_ROUTINE)LoadLibAddy, RemoteString, NULL, NULL);
    CloseHandle(proc_handle);
    return true;
}
При компиляции этого простого кода, в настройках указывается многобайтовая кодировка, затем происходит протект готового файла для меньшей вероятности обнаружения антивирусами. На этом наш простой и рабочий скрипт успешно создан, осталось лишь им воспользоваться и попробовать внедрить какой-либо DLL в запущенное приложение.
7
5
4 комментария 13 852 просмотра

4 комментария

Cheats
26 июня 2023 в 20:29
5
максим, Добрый день, в любой рабочей среде (для каждого языка программирования она разная), например код из примера нужно писать в программе Visual Studio, на языке C++
максим
26 июня 2023 в 09:59
5
А где этот код писать?
asasdasd
7 января 2022 в 18:53
4
🎃 vvxvzcvcxvxcv 😀
Виктория Гурова
6 апреля 2021 в 18:36
10
Мне как раз было интересно про них почитать, а тут еще и код ОГО 😘