I updated my Engine Hooks today and they are working!
I changed there a little thing, but I won't tell you want.
I'm releasing the way how it gets called by Engine.exe and a few useful things for hooking it.
Code:
Reset:
MOV ECX, [EAX]
MOV EDX, [ECX + 0x40]
MOV DWORD PTR DS:[pDevice], EAX
PUSHAD
Signature Scan + Mask: \x8B\x08\x8B\x51\x40\xFF\xD2 xxxxxxx
Byte Pattern: 8B 08 8B 51 40 FF D2
Patch this Bytes: 8B 08
Return: Pointer + 0x5
Code:
Present:
MOV ECX, [EAX]
MOV EDX, [ECX + 0x44]
MOV DWORD PTR DS:[pDevice], EAX
PUSHAD
Signature Scan + Mask: \x8B\x08\x8B\x51\x44\xFF\xD2 xxxxxxx
Byte Pattern: 8B 08 8B 51 44 FF D2
Patch this Bytes: 8B 08
Return: Pointer + 0x5
Code:
BeginScene:
MOV ECX, [EAX]
MOV EDX, [ECX + 0xA4]
MOV DWORD PTR DS:[pDevice]
PUSHAD
Signature Scan + Mask: \x8B\x08\x8B\x91\xA4\x00\x00\x00 xxxxx???
Byte Pattern: 8B 08 8B 91 A4 00 00 00
Patch this Bytes: 8B 08
Return: Pointer + 0x8
Code:
EndScene:
MOV ECX, [EAX]
MOV EDX, [ECX + 0xA8]
MOV DWORD PTR DS:[pDevice]
PUSHAD
Signature Scan + Mask: \x8B\x08\x8B\x91\xA8\x00\x00\x00 xxxxx???
Byte Pattern: 8B 08 8B 91 A8 ?? ?? ??
Patch this Bytes: 8B 08
Return: Pointer + 0x8
Code:
DrawIndexedPrimitive:
MOV ECX, [EAX]
MOV EDX, [ECX + 148]
MOV DWORD PTR DS:[pDevice], EAX
PUSHAD
Signature Scan + Mask: \x8B\x08\x8B\x91\x48\x01\x00\x00 xxxxxx??
Byte Pattern: 8B 08 8B 91 48 01 ?? ??
Patch this Bytes: 8B 08
Return: Pointer + 0x8
Get the Pointers by your own - You have the sigs ^^
I hooked more than only this basic shit. There are more functions that are pretty useful
Credits: ME - [H]aaBX
Give Credits