End3D Updated

Posts 1618 of 18 · Page 2 of 2
Quote Originally Posted by hok1s View Post
Se não fosse um leecher com base alheia talvez conseguisse achar o problema, mas né..
Qual problema de ser leecher com base alheia ? ,Espera Espera, quando você tava aprendendo no primeiro dia você já tinha sua propria base do 0 nera ? , sem nada da net ? !
Quote Originally Posted by dreek1 View Post
That hook was posted by @-[I]fLuX ... I justed updated
Code:
#define VC_EXTRALEAN
#define WIN32_LEAN_AND_MEAN
#define _CRT_SECURE_NO_WARNINGS

#include <d3d9.h>
#include <d3dx9.h>

#pragma comment( lib, "d3d9.lib" )
#pragma comment( lib, "d3dx9.lib" )

#include <Windows.h>
#include <detours.h>
#pragma comment( lib, "detours.lib" )
#include "Xor.h"

#define ADDR_DEVICE 0x1177848//ADDR_CFBR

typedef unsigned int		uint32;
typedef uint32			LTRESULT;

DWORD ILTClient, FindDevice;

typedef LTRESULT(__cdecl *_End3D)(uint32 flags);
_End3D oEnd3D;
//luizimloko project
LPD3DXFONT D3DDirectxFont;
BOOL D3DFontBoolean;

VOID StartFont(LPDIRECT3DDEVICE9 pDevice)
{
	if (D3DDirectxFont)
	{
		D3DDirectxFont->Release();
		D3DDirectxFont = NULL;
		D3DFontBoolean = FALSE;
	}

	if (!D3DFontBoolean)
	{
		D3DXCreateFontA(pDevice, 12, 0, 350, 1, 0, 1, 0, 4, 0 | (0 << 4), "Arial", &D3DDirectxFont);
		D3DFontBoolean = TRUE;
	}
}

VOID DrawText(INT x, INT y, DWORD Color, CHAR *Text)
{
	RECT Rect;
	SetRect(&Rect, x, y, x, y);
	D3DDirectxFont->DrawTextA(NULL, Text, -1, &Rect, DT_LEFT | DT_NOCLIP, Color);
}
LTRESULT __cdecl MyEnd3D(uint32 flags)
{
	static LPDIRECT3DDEVICE9 pDevice;

	pDevice = **(LPDIRECT3DDEVICE9 **)ADDR_DEVICE;
	if (pDevice)
	{
		StartFont(pDevice);
		DrawText(50, 50, 0xFFFF0000, "End3D Hook");
	}
	return oEnd3D(flags);
}
DWORD FindPattern(DWORD dwStart, DWORD dwLen, BYTE *pszPatt, CHAR pszMask[])
{
	//Credits: Gellin

	UINT i = NULL;
	INT iLen = strlen(pszMask) - 1;

	for (DWORD dwRet = dwStart; dwRet < dwStart + dwLen; dwRet++)
	{
		if (*(BYTE *)dwRet == pszPatt[i] || pszMask[i] == '?')
		{
			if (pszMask[i + 1] == '\0')
				return(dwRet - iLen);
			i++;
		}
		else
			i = NULL;
	}

	return NULL;
}
void End3DHook()
{
	while (!(GetModuleHandleA(eCShell) != 0 && GetModuleHandleA(eClient) != 0))
		Sleep(250);

	DWORD CShell = (DWORD)GetModuleHandleA(eCShell);
	ILTClient = FindPattern(CShell, 0xFFFFFF, (PBYTE)"\x8B\x0D\x00\x00\x00\x00\x8B\x11\x8B\x82\x00\x00\x00\x00", "xx????xxxx????");
	ILTClient = *(DWORD*)(ILTClient + 0x2);
	DWORD End3D = *(DWORD*)(*(DWORD*)ILTClient + 0xD4);//0xD4 End3D
	oEnd3D = (_End3D)DetourFunction((PBYTE)End3D, (PBYTE)MyEnd3D);
}
BOOL WINAPI DllMain(HINSTANCE hModule, DWORD lpflReason, LPVOID lpflReserved)
{
	if (lpflReason == DLL_PROCESS_ATTACH)
	{
		DisableThreadLibraryCalls(hModule);
		CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)End3DHook, hModule, NULL, NULL);
	}

	return TRUE;
}
Sorry for bumping old thread: But this does not work on CFPH nothing happens when in-game already added a write text function.
Quote Originally Posted by JB.UC View Post
Thx for share.
#define ADDR_DEVICE 0xD9E448 //(Crossfire.dat+D9E448) CFVN
ei voce pode me encina aria hack ? chama eskyp :luvqv 15275
Posts 1618 of 18 · Page 2 of 2

Post a Reply

Similar Threads

Tags for this Thread

None

Need help?