inline void ahook() {
_asm {
pushfd
pushad
lea eax, [esi + 0x50]
cmp eax, [0x0B7C4F0]
je m1
popad
popfd
fstp dword ptr[esi + 0x50]
jmp m2
m1 :
mov edx, [eax]
fstp dword ptr[esi + 0x50]
mov[eax], edx
popad
popfd
m2 :
fld dword ptr[esp + 0x18]
}
_asm {
mov edx, 0x55FCCF
jmp edx
nop
}
};
//
void setup_fixdisthook(){
Hook hk;
uint32_t _0 = (uint32_t)(&ahook) + 6; //нужно было юзать declspec(naked) но я забыл
hk.JMP((DWORD*)(0x55FCC8), (DWORD*)_0, 4);
DWORD lold;
VirtualProtect((LPVOID)0x0055FCCD, 2, PAGE_EXECUTE_READWRITE, &lold);
*(short*)0x0055FCCD = 0x9090;
VirtualProtect((LPVOID)0x0055FCCD, 2, lold, NULL);
}
//