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

Гайд Как сделать фов чит (unity)

ЗАЧЕМ ДУМАТЬ ЕСЛИ МОЖНО НЕ ДУМАТЬ
Пользователь
Пользователь
Статус
Оффлайн
Регистрация
25 Июл 2021
Сообщения
158
Реакции
38
Что нам нужно :
1)Camera (получение через функцию get_current (для некоторых игр это get_main) )
2)функция которая ставит фов(defolt функция в юнити set_fieldOFView)

И там мы должны получить адреса функций get_current & set_fieldOFView это можно сделать через Cheat Engine или через dnSpy
эти функции находятся в UnityEngine.CoreModule (UnityEngine.Camera)
1632172093869.png


ищем функции в Методах два раза кликаем и получаем адрес
1632172179685.png


И так же делаем с другой функцией
и так у нас есть всё чтоб писать код


C++:
Expand Collapse Copy
#include "Fov.h"
#include <iostream>
#include "includes.h"
//GameAssembly.dll+14B4F80    get
//GameAssembly.dll+14B60A0    set

namespace functGetCamera {
    uintptr_t CameraGetCur = reinterpret_cast<std::uintptr_t>(GetModuleHandle(TEXT("GameAssembly.dll"))) + 0x14B4F80;//адресс функции
    using printf_t = uintptr_t(*)(int* ptr);   // параметры функции и возращаемое значение
}
namespace functSetFov {
    uintptr_t CameraSetFov = reinterpret_cast<std::uintptr_t>(GetModuleHandle(TEXT("GameAssembly.dll"))) + 0x14B60A0; //адресс функции
    using printf_t = void(*)(uintptr_t cam, float fov, int* ptr);// параметры функции и возращаемое значение
}




{
    const auto GetCam = reinterpret_cast <functGetCamera::printf_t>(functGetCamera::CameraGetCur); //инициализация функции
    if (GetCam(nullptr) != NULL)
    {
        const auto SetFov = reinterpret_cast <functSetFov::printf_t>(functSetFov::CameraSetFov);//инициализация функции
        SetFov(GetCam(nullptr), fov, nullptr); // Используем функцию(ставим фов)
    }

}

C++:
Expand Collapse Copy
#pragma once
class Fov
{
public:
    void Start();
    float fov = 90;
};
Надо ещё добавить проверки от краша ( найти камеру как объект и проверять его адресс чтоб не было краша )

И наконец использование кода
C++:
Expand Collapse Copy
#include "Fov.h"
Fov fovС;

ImGui::SliderFloat("Fov", &fovP.fov, 0, 360); // slider в меню
BOOL __stdcall StartThread(HMODULE hModule, LPTHREAD_START_ROUTINE StartAddress)
{
    return CloseHandle(CreateThread(0, 0, (LPTHREAD_START_ROUTINE)StartAddress, hModule, 0, 0));
}
DWORD WINAPI FuncThread(HMODULE hMod)
{
    while (true)
    {
        fovP.Start();
               
    }
    FreeLibraryAndExitThread(hMod, 0);
}

BOOL WINAPI DllMain(HMODULE hMod, DWORD dwReason, LPVOID lpReserved)
{
    switch (dwReason)
    {
    case DLL_PROCESS_ATTACH:
        DisableThreadLibraryCalls(hMod);
        CreateThread(nullptr, 0, MainThread, hMod, 0, nullptr);
        StartThread(nullptr, (LPTHREAD_START_ROUTINE)FuncThread);
        break;
    case DLL_PROCESS_DETACH:
        kiero::shutdown();
        break;
    }
    return TRUE;
}

и Результат будет примерно таким

1632172703848.png
 
Назад
Сверху Снизу