На заметку Создание DMA чита для игры RUST.


MKII

Уважаемый пользователь
Форумчанин
Регистрация
03.10.2022
Сообщения
253
Репутация
177
Всем привет, давно не было актива, решил на скорую руку написать статью про геймхакинг.
В этой статье мы сделаем простой FakeAdmin для игры.
Из преимуществ:
Возможность врубать админскую дебагкамеру.
Возможность врубать админский ESP.
FakeAdmin не детектится внутриигровым анти-читом (Цербер), а благодаря технологиям DMA, мы обойдем основной анти-чит (EAC).

Для работы мы будем использовать библиотеку MemProcFS.
Для начала, я создал namespace, в котором объявил нужные переменные:
C:
namespace globals
{
    VMM_HANDLE hvmm;
    DWORD pID;
   
    uint64_t GameAssembly = NULL;

    auto LocalPlayerOff = 50163840; //LocalPlayer_c*
    auto PlayerFlags = 0x740; //BasePlayer.PlayerFlags playerFlags
}

После, создал 2 темплейта, для записи и чтения памяти, это намного упростит работу с библиотекой:
C:
template<typename T>
auto read(uint64_t Addr)
{
    T buffer;
    VMMDLL_MemRead(globals::hvmm, globals::pID, Addr, PBYTE(&buffer), sizeof(T));
    return buffer;
}

template<typename T>
auto write(uint64_t Addr, T value)
{
    VMMDLL_MemWrite(globals::hvmm, globals::pID, Addr, PBYTE(&value), sizeof(T));
}

Далее, нам нужно инициализировать библиотеку, я сделал это так:
C:
    std::vector<LPSTR> args = { (LPSTR)"", (LPSTR)"-device", (LPSTR)"fpga" };
    globals::hvmm = VMMDLL_Initialize(3, args.data());

Теперь получим Process ID и адрес GameAssembly.dll с которым мы будем работать:
C:
        VMMDLL_PidGetFromName(globals::hvmm, (LPSTR)"rustclient.exe", &globals::pID);
       
        globals::GameAssembly = VMMDLL_ProcessGetModuleBaseU(globals::hvmm, globals::pID, (LPSTR)"GameAssembly.dll");

После этого, можно начать работу, для начала, нам нужно прочитать адрес LocalPlayer'a и получить entity:
C:
        auto LocalPlayer = read<uint64_t>(globals::GameAssembly + globals::LocalPlayerOff);
        auto static_fields = read<uint64_t>(LocalPlayer + 0xB8);
        auto ent = read<uint64_t>(static_fields + 0x0);

Остается только прочитать активные флаги и прибавить к ним флаг администратора:
C:
        auto flags = read<int>(ent + globals::PlayerFlags);

        auto nflags = flags | 4;
        while (1)
        {
            write<int>(ent + globals::PlayerFlags, nflags);
            Sleep(10);
        }

Готово, теперь мы можем использовать дебаг камеру и есп.
Из-за последних обновлений, у меня трудности с созданием некоторых функций, по этому, если у кого-то есть опыт с этои игрой, напишите мне, я бы задал вам пару вопрос.
 

shtorm001

Пользователь
Форумчанин
Регистрация
11.07.2023
Сообщения
3
Репутация
1
У меня к вам вопрос:
Можно ли хорошо заработать на читах, программируя? И на каком языке их проще, и лучше писать?
 

MKII

Уважаемый пользователь
Форумчанин
Регистрация
03.10.2022
Сообщения
253
Репутация
177
У меня к вам вопрос:
Можно ли хорошо заработать на читах, программируя? И на каком языке их проще, и лучше писать?
Привет, отвечая на вопрос про заработок сложно сказать однозначно, конечно, если будет хорошая реклама, то да, это будет приносить оооочень много денег за месяц, при минимальных усилиях.
Например один немало известный DMA чит, зарабатывает со слов его создателя от 3000$ в месяц, это при том, что аудитория DMA не особо большая.
Если говорить не про DMA читы, то там доход в десятки, а то и сотни раз больше так как аудитория на много больше.

Про язык это однозначно C/C++, тк в большинстве читов используются драйвера для работы с памятью, а тот-же C#, python или какой-либо ещё ЯП не дает возможности создавать драйвера насколько мне известно.
Но если выбор падет на DMA софт, то можно использовать и C# и python, тк для этих языков есть готовые библиотеки для работы с DMA.

Но лично мое мнение, сейчас в DMA лучше не лезть, тк там уже есть гиганты которые не дадут нормально работать, а без опыта создания читов сложно будет наработать аудиторию, тк нужно будет делать что-то "уникальное".

Говоря про сложность, не сказал бы что прям сложно будет, главное знать основы своего языка.
Даже без опыта в геймхакинге, есть много статей про это на UC, ну и пастинг оттуда-же никто не отменял.)
 

shtorm001

Пользователь
Форумчанин
Регистрация
11.07.2023
Сообщения
3
Репутация
1
Если говорить не про DMA читы, то там доход в десятки, а то и сотни раз больше
Вауу, неплохо, впечетляет... надо попробовать!
Спасибо, что очень понятно и доходчиво все объяснил!
 

DRN

Пользователь
Первый уровень
Регистрация
23.08.2023
Сообщения
1
что за UC
 

DXZALEET

Пользователь
Форумчанин
Регистрация
20.10.2023
Сообщения
5
Привет, а как можно с тобой связаться кроме этого форума?
Еще, выше ты писал про то, что на дма можно писать использую питон. Можешь пожалуйста подсказать библиотеку?
 

MKII

Уважаемый пользователь
Форумчанин
Регистрация
03.10.2022
Сообщения
253
Репутация
177
Привет, а как можно с тобой связаться кроме этого форума?
Еще, выше ты писал про то, что на дма можно писать использую питон. Можешь пожалуйста подсказать библиотеку?
Memprocfs
 

posix

Пользователь
Первый уровень
Регистрация
28.01.2024
Сообщения
1
привет, крутой код, можешь пожайлуста дать готовый исходник
 
Верх Низ