MOV EAX,DWORD PTR DS:[147FB0C] <- Device Game MOV ECX,DWORD PTR DS:[EAX] MOV EDX,DWORD PTR DS:[ECX+A8] <- Possible Endscene PUSH EAX <- Push Device CALL EDX <- Call EndScene
Pattern Scan:
#define P_Device "\xA1\x00\x00\x00\x00\x8B\x08\x8B\x91\x00\x00\x00\x00\x50\xFF\xD2\x8D\x8D\x00\x00\x00\x00"
#define M_Device "x????xxxx????xxxxx????'
DWORD FindDevice = FindPatter((DWORD)GetModuleHandleA("AVA.exe"),0xFFFFF,(PBYTE)P_Device,(PCHAR)M_Device );
DWORD FindDevice = *(DWORD*)(FindDevice + 0x1);



DWORD RetnHook;
#define DeviceGame 0x147FB0C
__declspec(naked) void __stdcall MidFunctionHook()
{
static LPDIRECT3DDEVICE9 pDevice;
pDevice = *(LPDIRECT3DDEVICE9*)*(DWORD*)DeviceGame ;
if (pDevice)
{
//yours function here
}
__asm JMP [RetnHook];
}
You need hooked the Game to work this midfunction.
