Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Как делаются читы на UE

На самом деле я Zodiak
Участник
Участник
Статус
Оффлайн
Регистрация
22 Дек 2020
Сообщения
1,113
Реакции
207
Есть гайдик какой нибудь, как читы пишутся на Unreal Engine 4 ? Нужно SDK делать или мне не обязательно что бы вывести значение хп , делать сдк.
 
можно и без сдк, но будет вери неудобно каждый раз обновлять оффсеты
The Isle например, не обновляется совсем, но в неё играют, просто обновляется бета The Isle Evrima, так что мне насрать на неудобность обновления оффсетов на данный момент, спросил на юц на счет того почему игра не видит моего локального игрока, сказали что LocalPlayer это оффсет Game Instance, а не базового адреса, к которому я его добавлял.


Например вот я делал


Код:
Expand Collapse Copy
auto base = (uintptr_t)GetModuleHandle(nullptr);
 
std::uintptr_t* playerAddress = reinterpret_cast<std::uintptr_t*>(base + OFFSET_LocalPlayer);
    
 int* myPlayersHealth = reinterpret_cast<int*>(*playerAddress + OFFSET_Health);
 
    std::cout << "Base is: 0x" << base << std::endl;
    std::cout << "LocalPlayer is: 0x" << *playerAddress << std::endl;
    std::cout << "Health is: " << *myPlayersHealth << std::endl;
    system("cls");
 
The Isle например, не обновляется совсем, но в неё играют, просто обновляется бета The Isle Evrima, так что мне насрать на неудобность обновления оффсетов на данный момент, спросил на юц на счет того почему игра не видит моего локального игрока, сказали что LocalPlayer это оффсет Game Instance, а не базового адреса, к которому я его добавлял.


Например вот я делал


Код:
Expand Collapse Copy
auto base = (uintptr_t)GetModuleHandle(nullptr);

std::uintptr_t* playerAddress = reinterpret_cast<std::uintptr_t*>(base + OFFSET_LocalPlayer);
   
int* myPlayersHealth = reinterpret_cast<int*>(*playerAddress + OFFSET_Health);

    std::cout << "Base is: 0x" << base << std::endl;
    std::cout << "LocalPlayer is: 0x" << *playerAddress << std::endl;
    std::cout << "Health is: " << *myPlayersHealth << std::endl;
    system("cls");
auto localplayer = UWorld->gameinstance->localplayer[0]
 
так причем здесь сдк? он тебе дал наследование как добраться до локал плеера
Хз почему мне выводит 2414 просто.
Я посмотрел по классам и увидел что значение Health находится в классе AIBaseCharacter
Как добраться до него ?

C++:
Expand Collapse Copy
auto base = (uintptr_t)GetModuleHandle("TheIsleClient-Win64-Shipping.exe");
    DWORD64* GWorlds = reinterpret_cast<DWORD64*>(base + GWorld);
    //float* myPlayersGrowth = reinterpret_cast<float*>(*playerAddress + OFFSET_CurrentGrowthPercent);
    DWORD64* GameInstance1 = reinterpret_cast<DWORD64*>(*GWorlds + OwningGameInstance);
    DWORD64* LocalPlayers = reinterpret_cast<DWORD64*>(*GameInstance1 + OFFSET_LocalPlayer);
    DWORD64* LocalPlayer = reinterpret_cast<DWORD64*>(*LocalPlayers);
    int32_t myPlayersHealth = *reinterpret_cast<int*>(*LocalPlayer + OFFSET_Health);
 
Хз почему мне выводит 2414 просто.
Я посмотрел по классам и увидел что значение Health находится в классе AIBaseCharacter
Как добраться до него ?

C++:
Expand Collapse Copy
auto base = (uintptr_t)GetModuleHandle("TheIsleClient-Win64-Shipping.exe");
    DWORD64* GWorlds = reinterpret_cast<DWORD64*>(base + GWorld);
    //float* myPlayersGrowth = reinterpret_cast<float*>(*playerAddress + OFFSET_CurrentGrowthPercent);
    DWORD64* GameInstance1 = reinterpret_cast<DWORD64*>(*GWorlds + OwningGameInstance);
    DWORD64* LocalPlayers = reinterpret_cast<DWORD64*>(*GameInstance1 + OFFSET_LocalPlayer);
    DWORD64* LocalPlayer = reinterpret_cast<DWORD64*>(*LocalPlayers);
    int32_t myPlayersHealth = *reinterpret_cast<int*>(*LocalPlayer + OFFSET_Health);
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Назад
Сверху Снизу