How to Make Undetected Hook?
I already use D3D Menu 2013 from UC
but i have no idea or tips how to update it to make undetected the hook
any can give me some tips or teach me? thank you.
but i have no idea or tips how to update it to make undetected the hook
any can give me some tips or teach me? thank you.
Code:
void PreReset(LPDIRECT3DDEVICE9 pDevice)
{ //
Menu.PreReset();
return;
}
void PostReset(LPDIRECT3DDEVICE9 pDevice)
{
Menu.PostReset(pDevice);
return;
}
typedef HRESULT(WINAPI* oReset)(LPDIRECT3DDEVICE9 pDevice, D3DPRESENT_PARAMETERS* pPresentationParameters);
oReset pReset;
HRESULT APIENTRY myReset(LPDIRECT3DDEVICE9 pDevice, D3DPRESENT_PARAMETERS* pPresentationParameters)
{
_asm pushad;
if (Tools.pLine)
Tools.pLine->OnLostDevice();
HRESULT hRet = pReset(pDevice, pPresentationParameters);
if (SUCCEEDED(hRet))
{
if (Tools.pLine)
Tools.pLine->OnResetDevice();
}
_asm popad;
return hRet;
}
typedef HRESULT(WINAPI* oEndScene)(LPDIRECT3DDEVICE9 pDevice);
oEndScene pEndScene;
HRESULT APIENTRY myEndScene(LPDIRECT3DDEVICE9 pDevice)
{
_asm pushad;
if (!Tools.Init)
{
D3DXCreateLine(pDevice, &Tools.pLine);
Tools.Init = TRUE;
}
PostReset(pDevice);
Menu.ShowMenu(pDevice);
PreReset(pDevice);
CreateFont(pDevice);
PlayerESP(pDevice);
PlayerAimbot(pDevice);
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);
StartHack();
// AlteValues();
if (opt.d3d.cross)
{
pDevice->GetViewport(&Tools.g_ViewPort);
ScreenCenterX = (float)Tools.g_ViewPort.Width / 2;
ScreenCenterY = (float)Tools.g_ViewPort.Height / 2;
Tools.FillRGB(ScreenCenterX - 14, ScreenCenterY, 10, 1, D3DXCOLOR(1.0, 0.0, 0.0, 1.0), pDevice);//Left line
Tools.FillRGB(ScreenCenterX + 5, ScreenCenterY, 10, 1, D3DXCOLOR(1.0, 0.0, 0.0, 1.0), pDevice);//Right line
Tools.FillRGB(ScreenCenterX, ScreenCenterY - 14, 1, 10, D3DXCOLOR(1.0, 0.0, 0.0, 1.0), pDevice);//Top line
Tools.FillRGB(ScreenCenterX, ScreenCenterY + 5, 1, 10, D3DXCOLOR(1.0, 0.0, 0.0, 1.0), pDevice);//Bottom line
Tools.DrawCircle(D3DXVECTOR2(ScreenCenterX, ScreenCenterY), 8, 60, D3DXCOLOR(1.0, 0.0, 0.0, 1.0));//Circle
Tools.DrawPoint(ScreenCenterX, ScreenCenterY, 1, 1, D3DXCOLOR(0.0, 1.0, 0.0, 1.0), pDevice);//Point
}
_asm popad;
return pEndScene(pDevice);
}
VOID WINAPI DIRECT3D() // hook detected
{
PDWORD D3DVTable;
do
{
*(DWORD*)&D3DVTable = *(DWORD*)Tools.D3D9VTable();
} while (!D3DVTable);
pReset = (oReset)Tools.DetourCreate((PBYTE)D3DVTable[16], (PBYTE)myReset, 5);
pEndScene = (oEndScene)Tools.DetourCreate((PBYTE)D3DVTable[42], (PBYTE)myEndScene, 5); // specially hooking endscene = detected
}