C++ ve il2cppdumper ile function hooking (fonksiyon kancalama)

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
kmode exception
Seçkin Üye
Katılım
18 Tem 2022
Mesajlar
325
Çözümler
9
Tepki puanı
87
Ödüller
3
Sosyal
3 HİZMET YILI
dllmain.cpp

C++:
#include "Windows.H"
#include "pch.h"
#include <cstdio>
#include <Minhook.h>

uintptr_t gamebase = (uintptr_t)GetModuleHandle(NULL);
uintptr_t GameAssemblyDLL = (uintptr_t)GetModuleHandle("GameAssembly.dll");
uintptr_t FieldOfViewOffset = 0x54FBE0;


void Console()
{
    AllocConsole();
    FILE* f;
    freopen_s(&f, "CONOUT$", "w", stdout);
}



void CallMinhookAndConsole()
{
    MH_Initialize();
    Console();
}

void(__fastcall* fieldofview_original)(DWORD*, float, DWORD*);
void __stdcall set_fieldofview(DWORD* __this, float value, DWORD* method)
{
    value = 120.f;
    printf("function called");

    return fieldofview_original(__this, value, method);

}


void Main()
{
    CallMinhookAndConsole();
    MH_CreateHook(reinterpret_cast<LPVOID*>(GameAssemblyDLL + FieldOfViewOffset), &set_fieldofview, (LPVOID*)&fieldofview_original);
    MH_EnableHook(reinterpret_cast<LPVOID*>(GameAssemblyDLL + FieldOfViewOffset));
}




BOOL APIENTRY DllMain( HMODULE hModule,DWORD  ul_reason_for_call,LPVOID lpReserved)
{
    switch (ul_reason_for_call)
    {
    case DLL_PROCESS_ATTACH:
        CreateThread(0, 0, (LPTHREAD_START_ROUTINE)Main, 0, 0, 0);
    case DLL_THREAD_ATTACH:
    case DLL_THREAD_DETACH:
    case DLL_PROCESS_DETACH:
        break;
    }
    return TRUE;
}
 
Onaylı Üye
Katılım
29 Mar 2024
Mesajlar
60
Tepki puanı
8
Yaş
30
2 HİZMET YILI
aga keşke bunun ne işe yaradığını da açıklasaydın
 
Onaylı Üye
Katılım
2 Ocak 2016
Mesajlar
51
Tepki puanı
1
Ödüller
8
10 HİZMET YILI
kankam heriey iyi hoş da bu ne keşke yazsaydın
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst