Crash? ajuda aqui.

Posts 1–4 of 4 · Page 1 of 1
Crash? ajuda aqui.
void cDirectx::Hook(void)
{
// Creetiz : Hans && Gordon
DWORD dwD3D9, Adrr, *vTable;
dwD3D9 = NULL;
do {
dwD3D9 = (DWORD)GetModuleHandle("d3d9.dll");
Sleep(10);
} while(!dwD3D9);

Adrr = Directx.FindPattern(dwD3D9, 0x128000, (PBYTE)"\xC7\x06\x00\x00\x00\x00\x89\x86\x00\x00\x 00\x00\x89\x86", "xx????xx????xx");

if (Adrr) {
memcpy(&vTable,(void *)(Adrr + 2), 4);

oReset = (tReset) DetourFunction((BYTE *) vTable[16], (BYTE *)&MyReset);
oPresent = (tPresent)DetourFunction((BYTE *) vTable[17], (BYTE *)&MyPresent);
}
}

Este código está correto? é da base do luizinloko aquela menu selection 4.0, por favor, me diz o que tem de errado naquela base....
O que eu devo atualizar.

Está dando crash assim que abre o menu!


Troca Sua Hook Por Essa E Usa Bypass Ja Era .-.

Code:
VOID MEMCPY(LPVOID ADDR, LPVOID byte, INT size)
{
	DWORD dwBack;
	VirtualProtect((LPVOID) ADDR, size, PAGE_EXECUTE_READWRITE, &dwBack);
	memcpy((LPVOID) ADDR, byte, size);
	VirtualProtect((LPVOID) ADDR, size, dwBack, &dwBack);
}

bool IsGameReadyForHook(VOID)
{
	if (GetModuleHandleA("CShell.dll") != NULL
		&& GetModuleHandleA("d3d9.dll") != NULL
		&& GetModuleHandleA("ClientFX.fxd") != NULL)

		return true;
	return false;
}

VOID *DetourCreate(BYTE *src, CONST BYTE *dst, CONST INT len)
{
	BYTE *jmp = (BYTE *) malloc(len + 5);
	DWORD dwBack;

	VirtualProtect(src, len, PAGE_EXECUTE_READWRITE, &dwBack);
	memcpy(jmp, src, len);
	jmp += len;
	jmp[0] = 0xE9;
	*(DWORD *) (jmp + 1) = (DWORD) (src + len - jmp) - 5;
	src[0] = 0xE9;
	*(DWORD *) (src + 1) = (DWORD) (dst - src) - 5;
	for (INT i = 5; i < len; i++)
		src[i] = 0x90;
	VirtualProtect(src, len, dwBack, &dwBack);

	return(jmp - len);
}

#define ADDR_BYPASS			0x52D2D9 
#define DeviceGame			0x8CF030

DWORD GetPointer(INT inicio)
{
	DWORD *Device = ***(DWORD ****) DeviceGame;

	if (Device == NULL)
		return 0;

	return Device[inicio];
}

DWORD WINAPI Bypass(LPVOID lpArgs)
{
	while (memcmp((CONST VOID *)ADDR_BYPASS, (CONST VOID *)"\x0F\x84\xB4\x00\x00\x00", 6) != 0)
		Sleep(100);
	
	while (!IsGameReadyForHook())

	oPresent = (tPresent) DetourCreate((PBYTE) GetPointer(17), (PBYTE) HookPresent, 5); 

	return 0;
}
Quote Originally Posted by Coder.DiasII View Post
Coder.DiasII
Eu coloquei todo código no hook.

Declarei o "HookPresent" como: int HookPresent;

e compilei.

Mas não adiantou... fiz algo errado?
e so vc trocar então

HookPresent para MyPresent


tenta ae
Posts 1–4 of 4 · Page 1 of 1
This thread is closed for replies.

Similar Threads

Tags for this Thread

None

Need help?