Вот код:
Код: Выделить всё
typedef void(__thiscall* prtMeHook)(void* ECX, const char* szText);
prtMeHook callMeHook = nullptr;
void __fastcall hkMeHook(void* ECX, void* EDX, const char* szText) {
callMeHook(ECX, "This work");
}
SigScan scan;
callMeHook = (prtMeHook)scan.FindPattern(xorstr_("core.dll"),
xorstr_("\x0A\x8B\x00\x00\x00\x00\x11\x8B\x00\x00\x00\x00\xB5\x44"),
xorstr_("xx????xx????xx"));
if (callMeHook != nullptr)
{
LogInFile(LOG_NAME, xorstr_("[LOG] Found address from signature to MeHook!\n"));
MH_RemoveHook(callMeHook);
MH_CreateHook(callMeHook, &hkMeHook, reinterpret_cast(&callMeHook));
MH_EnableHook(MH_ALL_HOOKS);
}
else LogInFile(LOG_NAME, xorstr_("[ERROR] Can`t find a sig for MeHook.\n"));
Я пробовал использовать разные подобные функции, но ничего не помогло .
Подробнее здесь: https://stackoverflow.com/questions/785 ... ction-hook
Мобильная версия