[AJUDA] Hook DipEngine
[Ajuda] Hook DipEngine Não aparecendo menu
Desculpa pela área errada não sei em qual colocar
Então .. , Estou com um problema , estou com colocando um hook "DipEngine" e o menu não está indo
isto ocorre com essas Hook ;
Present Engine
Dip Engine
Endsence Engine
Para voces verem como estou utilizando e ver se tem algo de errado ;
Código:
Desculpa pela área errada não sei em qual colocar

Então .. , Estou com um problema , estou com colocando um hook "DipEngine" e o menu não está indo
isto ocorre com essas Hook ;
Present Engine
Dip Engine
Endsence Engine
Para voces verem como estou utilizando e ver se tem algo de errado ;
Código:
Code:
#define EndereçoDip 0x61F43D DWORD retDipEngine = EndereçoDip + 0x7;//Retornar Dip bool Ativa, Menu = TRUE; void CriaMenu(LPDIRECT3DDEVICE9 pDevice) { // Desenho do Menu , na base ja está desenhada , não coloquei aqui para não ficar mt grande o codigo } void CriarFont(LPDIRECT3DDEVICE9 pDevice) { if (pFont) { pFont->Release(); pLine->Release(); pLine = NULL; pFont = NULL; Ativa = false; } if (!Ativa) { D3DXCreateFont(pDevice, 14, 0, 500, 1, 0, 1, 0, 4, 0 | (1 << 4), /*Arial*/XorStr<0xfd, 6, 0x94fa6162>("\xbc\x8c\x96\x61\x6d" + 0x94fa6162).s, &pFont); D3DXCreateLine(pDevice, &pLine); Ativa = true; } CriaMenu(pDevice); } _declspec (naked) HRESULT WINAPI DipMidFunction() { static LPDIRECT3DDEVICE9 pDevice; _asm { PUSH EAX MOV DWORD PTR DS : [pDevice], EAX MOV EAX, DWORD PTR DS : [ECX + 0x148] PUSHAD } CriarFont(pDevice); _asm { POPAD JMP retDipEngine } } void MakeJMP(BYTE *pAddress, DWORD dwJumpTo, DWORD dwLen) { DWORD dwOldProtect, dwBkup, dwRelAddr; VirtualProtect(pAddress, dwLen, PAGE_EXECUTE_READWRITE, &dwOldProtect); dwRelAddr = (DWORD)(dwJumpTo - (DWORD)pAddress) - 5; *pAddress = 0xE9; *((DWORD *)(pAddress + 0x1)) = dwRelAddr; VirtualProtect(pAddress, dwLen, dwOldProtect, &dwBkup); return; } void _cdecl StartRoutine2(void*) { while (true) { if (memcmp((void*)EndereçoDip, (void*)(PBYTE)"\x8B\x08", 1) == 0) { Sleep(250); MakeJMP((PBYTE)EndereçoDip, (DWORD)DipMidFunction, 7); } } } BOOL CheckModules(VOID) { if (GetModuleHandleA(/*d3d9.dll*/XorStr<0xd1, 9, 0x4236b>("\xb5\xe1\xb7\xed\xfb\xb2\xbb\xb4" + 0x4236b).s) != NULL && GetModuleHandleA(/*CShell.dll*/XorStr<0xc9, 11, 0xfac72dfa>("\x8a\x99\xa3\xa9\xa1\xa2\xe1\xb4\xbd\xbe" + 0xfac72dfa).s) != NULL && GetModuleHandleA(/*ClientFX.fxd*/XorStr<0x12, 13, 0xa743db42>("\x51\x7f\x7d\x70\x78\x63\x5e\x41\x34\x7d\x64\x79" + 0xa743db42).s) != NULL) return TRUE; return FALSE; } BOOL WINAPI DllMain(HMODULE hDll, DWORD dwReason, LPVOID lpReserved) { if (dwReason == DLL_PROCESS_ATTACH) { DisableThreadLibraryCalls(hDll); CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)StartRoutine2, NULL, NULL, NULL); } return TRUE; }
