Kali ini saya akan Share Hook Undetect ok langsung aja ya
#define hkDIP 0x4FF505C0
#define hkES 0x4FF50270
DWORD WINAPI LoopFunction( LPVOID lpParam )
{
while(1) {
if( hooked == false) {
DWORD VTable[90] = {0};
while(GetModuleHandleA("d3d9.dll")==NULL) {
Sleep(250);
}
DX_Init(VTable);
HOOK(EndScene,VTable[ES]);
while(!npDevice) {
Sleep(50);
}
UNHOOK(EndScene, VTable[ES]);
ComanderDetour(hkDIP,(DWORD)hkDrawIndexedPrimitive,6);//Draw Indexed Primitive Hook
ComanderDetour(hkES,(DWORD)hkEndScene,6); // EndScene Hook
// oEndScene = (tEndScene)
Detour->Create((PBYTE)VirtualFuncResolver(pDevice,
&IDirect3DDevice9::EndScene),(PBYTE)hkEndScene,DETOUR_TYPE_OBS_XOR);//
this works fine
//oDrawIndexedPrimitive = (tDrawIndexedPrimitive)
Detour->Create((PBYTE)VirtualFuncResolver(pDevice,
&IDirect3DDevice9::DrawIndexedPrimitive),
(PBYTE)hkDrawIndexedPrimitive,DETOUR_TYPE_OBS_XOR );
//oDrawIndexedPrimitive = (tDrawIndexedPrimitive) cDetour->CreateJMP_REL((DWORD)hkDIP, (DWORD)hkDrawIndexedPrimitive, 5);
// oEndScene = (tEndScene) cDetour->CreateJMP_REL((DWORD)hkES, (DWORD)hkEndScene, 5);
*(PDWORD)&oDrawIndexedPrimitive = VTable[DIP];
*(PDWORD)&oEndScene = VTable[ES];
*(PDWORD)&pReset = VTable[2];
hooked = true;
}
Sleep(200);
HookSempak((PDWORD*)npDevice, (PBYTE)hkDIP, 82); //Hook DrawIndexedPrimitive
HookSempak((PDWORD*)npDevice, (PBYTE)hkES, 42); //Hook EndScene
}
return 0;
}
Rabu, 16 November 2011
[Share] Hook Undetect
18.50
Dery sulaiman