HelpNo-Spread e Speedboster Auto-ON

Posts 1–15 of 25 · Page 1 of 2
No-Spread e Speedboster Auto-ON
Boa tarde pessoal,gostaria de saber se alguém poderia fazer ou me ajudar a fazer um no-spread e speedbooster ( tipo aquele do BC5) auto-on (sem menu nem nada).

Sou novato na areá e só tenho experiencia em programar microcontrolador com a linguagem basic e C ( sou téc. eletrônico).
Thanks bro, irei me divertir
Code:
	if(speed && !speedx1) {
		Comando("WalkVel 1000.000000");
		Comando("FRunVel 1000.000000");
		Comando("BRunVel 1000.000000");
		Comando("SRunVel 1000.000000");
		Comando("DuckVel 1000.000000");
		speedx1 = 1;
	} else if(!speed && speedx1) {
		Comando("WalkVel 70.000000");
		Comando("FRunVel 285.000000");
		Comando("BRunVel 285.000000");
		Comando("SRunVel 285.000000");
		Comando("DuckVel 50.000000");
		speedx1 = 0;
	}
Alguem sabe me dizer o que "WalkVel" "FRunVel" "BRunVel" fazem ? eu creio que seja algo como velocidade ao andar, velocidade ao correr, e coisas do gênero, o padrão para "WalkVel" no cado seria 70.00000 no caso certo ? então caso eu colocar 100.000000 ficaria com uma velocidade aumentada discretamente (uma vez contando que o colete pesado e mochila retiram velocidade).

Como faço pra tirar o menu e deixar auto-on ?

Alguem tem o address e os bytes do no-spread, no post http://www.mpgh.net/forum/397-combat...07-2011-a.html não tem


Tô apredendo, relevem se eu falei bobeira.
Quote Originally Posted by Thyrius View Post
Code:
    if(speed && !speedx1) {
        Comando("WalkVel 1000.000000");
        Comando("FRunVel 1000.000000");
        Comando("BRunVel 1000.000000");
        Comando("SRunVel 1000.000000");
        Comando("DuckVel 1000.000000");
        speedx1 = 1;
    } else if(!speed && speedx1) {
        Comando("WalkVel 70.000000");
        Comando("FRunVel 285.000000");
        Comando("BRunVel 285.000000");
        Comando("SRunVel 285.000000");
        Comando("DuckVel 50.000000");
        speedx1 = 0;
    }
Alguem sabe me dizer o que "WalkVel" "FRunVel" "BRunVel" fazem ? eu creio que seja algo como velocidade ao andar, velocidade ao correr, e coisas do gênero, o padrão para "WalkVel" no cado seria 70.00000 no caso certo ? então caso eu colocar 100.000000 ficaria com uma velocidade aumentada discretamente (uma vez contando que o colete pesado e mochila retiram velocidade).

Como faço pra tirar o menu e deixar auto-on ?

Alguem tem o address e os bytes do no-spread, no post http://www.mpgh.net/forum/397-combat...07-2011-a.html não tem


Tô apredendo, relevem se eu falei bobeira.
NoSpread não é uma função de momoria ,então não presisa de endereço nem byte.
Quote Originally Posted by TokolocoSK View Post
NoSpread não é uma função de momoria ,então não presisa de endereço nem byte.
Comofaz então ?
Code:
#include <windows.h>
#include <d3dx9.h>

typedef HRESULT ( WINAPI* oPresent ) ( LPDIRECT3DDEVICE9 pDevice, CONST RECT *pSourceRect, CONST RECT *pDestRect, HWND hDestWindowOverride, CONST RGNDATA *pDirtyRegion);
oPresent pPresent;

bool IsGameReadyForHook()
{
	if( GetModuleHandleA( "d3d9.dll"     ) != NULL 
		&& GetModuleHandleA( "ClientFX.fxd" ) != NULL 
		&& GetModuleHandleA( "CShell.dll"   ) != NULL )
		return true;
	return false;
}
void Memoria( void* pvAddress, void* pvBuffer, size_t len )
{
	if( *(BYTE*)pvAddress == *(BYTE*)pvBuffer )
		return;

	memcpy( ( void* )pvAddress, ( void* )pvBuffer, len );
}

bool bDataCompare(const BYTE* pData, const BYTE* bMask, const char* szMask) 
{ 
    for(;*szMask;++szMask,++pData,++bMask) 
        if(*szMask=='x' && *pData!=*bMask )  
            return false; 
    return (*szMask) == NULL; 
} 


DWORD FindPattern(DWORD dwAddress,DWORD dwLen,BYTE *bMask,char * szMask) 
{ 
    for(DWORD i=0; i < dwLen; i++) 
		if(bDataCompare( (BYTE*)( dwAddress+i ),bMask,szMask) ) 
            return (DWORD)(dwAddress+i); 
     
    return 0; 
}

DWORD VTable(int index)
{
	DWORD* devicePtr = 0;
	
	DWORD hD3D9 = NULL;
	
	while(hD3D9 == NULL){
		Sleep(100);
		try
		{
		hD3D9 = (DWORD)GetModuleHandleA("d3d9.dll");}
		catch(...)
		{
			hD3D9 = NULL;
		}}

	DWORD addy = FindPattern(hD3D9, 0x1280000, (PBYTE)"\xC7\x06\x00\x00\x00\x00\x89\x86\x00\x00\x00\x00\x89\x86", "xx????xx????xx");
	Memoria (&devicePtr, (void*)(addy+2), 4);

	if(devicePtr == NULL){
		return 0;}

	return devicePtr[index];

}

void CPush(const char* cmd)
{
	_asm
	{
		PUSH cmd
		MOV EAX, 0x00485F60//EngineLTCLient
		CALL EAX
		ADD ESP, 0x4
	}
}

#define GameStatus 0x3778CC48

void main() 
{

if(*(BYTE *)GameStatus == 1){
CPush("ShowFps 1");
}else if(*(BYTE *)GameStatus == 5){
CPush("ShowFps 0");
}

}

HRESULT WINAPI gellPresent(LPDIRECT3DDEVICE9 pDevice, CONST RECT *pSourceRect, 
						   CONST RECT *pDestRect, HWND hDestWindowOverride, CONST RGNDATA *pDirtyRegion)
{
	_asm pushad;
	main();
	_asm popad;
	return pPresent(pDevice, pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion);
}

void *DetourCreate( BYTE *src, const BYTE *dst )
{
	int len = 5;

	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;
	VirtualProtect( src, len, dwBack, &dwBack );

	return( jmp-len );
}

void Hook(void)
{
	DWORD dwPresent  = VTable(17);
	pPresent    = (oPresent)DetourCreate(( PBYTE)dwPresent, ( PBYTE )gellPresent);
}

DWORD WINAPI dwD3D9Thread(LPVOID)
{
	while( !IsGameReadyForHook() )
		Sleep(100);
	Hook();
	return 0;
}
BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
	DisableThreadLibraryCalls(hDll);
	if ( dwReason == DLL_PROCESS_ATTACH )
	{
		CreateThread(NULL, NULL, dwD3D9Thread, NULL, NULL, NULL);
	}
	return TRUE;
}
Desse jeito é uma base auto on, agora é só deixar ao seu gosto

Edit:
NoSpread -->

Code:
PushToConsole("PerturbRotationEffect  0.000000");
PushToConsole("PerturbIncreaseSpeed 0.000000");
PushToConsole("PerturbWalkPercent 0.000000");
PushToConsole("PerturbFiringIncreaseSpeed 0.000000");
PushToConsole("PerturbRecoil 0.000000");
PushToConsole("FireMovePerturb 0.000000");
PushToConsole("ZoomedFireMoveDuckPerturb 0.000000");
PushToConsole("ZoomedFireMovePerturb 0.000000");
PushToConsole("ZoomedFireDuckPerturb 0.000000");
Aqui: http://www.mpgh.net/forum/207-combat...ga-thread.html

Mestre@ será que tu pode dar uma revisada na caca que eu fiz @alessandro_10

Code:
 //{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by app.rc

#include <windows.h>
#include <d3dx9.h>

typedef HRESULT ( WINAPI* oPresent ) ( LPDIRECT3DDEVICE9 pDevice, CONST RECT *pSourceRect, CONST RECT *pDestRect, HWND hDestWindowOverride, CONST RGNDATA *pDirtyRegion);
oPresent pPresent;

bool IsGameReadyForHook()
{
	if( GetModuleHandleA( "d3d9.dll"     ) != NULL 
		&& GetModuleHandleA( "ClientFX.fxd" ) != NULL 
		&& GetModuleHandleA( "CShell.dll"   ) != NULL )
		return true;
	return false;
}
void Memoria( void* pvAddress, void* pvBuffer, size_t len )
{
	if( *(BYTE*)pvAddress == *(BYTE*)pvBuffer )
		return;

	memcpy( ( void* )pvAddress, ( void* )pvBuffer, len );
}

bool bDataCompare(const BYTE* pData, const BYTE* bMask, const char* szMask) 
{ 
    for(;*szMask;++szMask,++pData,++bMask) 
        if(*szMask=='x' && *pData!=*bMask )  
            return false; 
    return (*szMask) == NULL; 
} 


DWORD FindPattern(DWORD dwAddress,DWORD dwLen,BYTE *bMask,char * szMask) 
{ 
    for(DWORD i=0; i < dwLen; i++) 
		if(bDataCompare( (BYTE*)( dwAddress+i ),bMask,szMask) ) 
            return (DWORD)(dwAddress+i); 
     
    return 0; 
}

DWORD VTable(int index)
{
	DWORD* devicePtr = 0;
	
	DWORD hD3D9 = NULL;
	
	while(hD3D9 == NULL){
		Sleep(100);
		try
		{
		hD3D9 = (DWORD)GetModuleHandleA("d3d9.dll");}
		catch(...)
		{
			hD3D9 = NULL;
		}}

	DWORD addy = FindPattern(hD3D9, 0x1280000, (PBYTE)"\xC7\x06\x00\x00\x00\x00\x89\x86\x00\x00\x00\x00\x89\x86", "xx????xx????xx");
	Memoria (&devicePtr, (void*)(addy+2), 4);

	if(devicePtr == NULL){
		return 0;}

	return devicePtr[index];

}

void CPush(const char* cmd)
{
	_asm
	{
		PUSH cmd
		MOV EAX, 0x00485F60//EngineLTCLient
		// Atualido aparentemente!
		CALL EAX
		ADD ESP, 0x4 // esse esp não é o esp boxes não neh ?
	}
}

#define GameStatus 0x3778CC48
// Atualizado aparentemente

void main() 
{

if(*(BYTE *)GameStatus == 1){

PushToConsole("PerturbRotationEffect  0.000000");
PushToConsole("PerturbIncreaseSpeed 0.000000");
PushToConsole("PerturbWalkPercent 0.000000");
PushToConsole("PerturbFiringIncreaseSpeed 0.000000");
PushToConsole("PerturbRecoil 0.000000");
PushToConsole("FireMovePerturb 0.000000");
PushToConsole("ZoomedFireMoveDuckPerturb 0.000000");
PushToConsole("ZoomedFireMovePerturb 0.000000");
PushToConsole("ZoomedFireDuckPerturb 0.000000");

	}

	else if(*(BYTE *)GameStatus == 5){
CPush("ShowFps 0");
// Aqui eu desconheço o valor padrão então não sei o que colocar :S
}

{
	if(*(BYTE *)GameStatus == 1){
 // desse ponto em diante terei que brincar com os numeros neh
PushToConsole("BaseMoveAccel 1000.000000"); 
PushToConsole("StartAccel 1000.000000");
PushToConsole("MaxAccel 1000.000000");
PushToConsole("AccelInc 1000.000000");
PushToConsole("WalkVel 100.000000");
PushToConsole("FRunVel 350.000000");
PushToConsole("BRunVel 350.000000");
PushToConsole("SRunVel 350.000000");
PushToConsole("JumpVel 350.000000");
PushToConsole("DuckVel 350.000000");

    }else if(*(BYTE *)GameStatus == 5){

        Comando("WalkVel 70.000000");
        Comando("FRunVel 285.000000");
        Comando("BRunVel 285.000000");
        Comando("SRunVel 285.000000");
        Comando("DuckVel 50.000000");
        
    }

}

HRESULT WINAPI gellPresent(LPDIRECT3DDEVICE9 pDevice, CONST RECT *pSourceRect, 
						   CONST RECT *pDestRect, HWND hDestWindowOverride, CONST RGNDATA *pDirtyRegion)
{
	_asm pushad;
	main();
	_asm popad;
	return pPresent(pDevice, pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion);
}

void *DetourCreate( BYTE *src, const BYTE *dst )
{
	int len = 5;

	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;
	VirtualProtect( src, len, dwBack, &dwBack );

	return( jmp-len );
}

void Hook(void)
{
	DWORD dwPresent  = VTable(17);
	pPresent    = (oPresent)DetourCreate(( PBYTE)dwPresent, ( PBYTE )gellPresent);
}

DWORD WINAPI dwD3D9Thread(LPVOID)
{
	while( !IsGameReadyForHook() )
		Sleep(100);
	Hook();
	return 0;
}
BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
	DisableThreadLibraryCalls(hDll);
	if ( dwReason == DLL_PROCESS_ATTACH )
	{
		CreateThread(NULL, NULL, dwD3D9Thread, NULL, NULL, NULL);
	}
	return TRUE;
}
No Lugar do "CPush("ShowFps 0");" vc coloca:

E no Lugar de PushToConsole muda para CPush.

Code:
CPush("PerturbRotationEffect  3.000000");
CPush("PerturbIncreaseSpeed 3.000000");
CPush("PerturbWalkPercent 9.000000");
CPush("PerturbFiringIncreaseSpeed 0.500000");
CPush("PerturbRecoil 9.000000");
CPush("FireMovePerturb 9.000000");
CPush("ZoomedFireMoveDuckPerturb 9.000000");
CPush("ZoomedFireMovePerturb 9.000000");
CPush("ZoomedFireDuckPerturb 9.000000");
=================

Code:
 //{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by app.rc

#include <windows.h>
#include <d3dx9.h>

typedef HRESULT ( WINAPI* oPresent ) ( LPDIRECT3DDEVICE9 pDevice, CONST RECT *pSourceRect, CONST RECT *pDestRect, HWND hDestWindowOverride, CONST RGNDATA *pDirtyRegion);
oPresent pPresent;

bool IsGameReadyForHook()
{
	if( GetModuleHandleA( "d3d9.dll"     ) != NULL 
		&& GetModuleHandleA( "ClientFX.fxd" ) != NULL 
		&& GetModuleHandleA( "CShell.dll"   ) != NULL )
		return true;
	return false;
}
void Memoria( void* pvAddress, void* pvBuffer, size_t len )
{
	if( *(BYTE*)pvAddress == *(BYTE*)pvBuffer )
		return;

	memcpy( ( void* )pvAddress, ( void* )pvBuffer, len );
}

bool bDataCompare(const BYTE* pData, const BYTE* bMask, const char* szMask) 
{ 
    for(;*szMask;++szMask,++pData,++bMask) 
        if(*szMask=='x' && *pData!=*bMask )  
            return false; 
    return (*szMask) == NULL; 
} 


DWORD FindPattern(DWORD dwAddress,DWORD dwLen,BYTE *bMask,char * szMask) 
{ 
    for(DWORD i=0; i < dwLen; i++) 
		if(bDataCompare( (BYTE*)( dwAddress+i ),bMask,szMask) ) 
            return (DWORD)(dwAddress+i); 
     
    return 0; 
}

DWORD VTable(int index)
{
	DWORD* devicePtr = 0;
	
	DWORD hD3D9 = NULL;
	
	while(hD3D9 == NULL){
		Sleep(100);
		try
		{
		hD3D9 = (DWORD)GetModuleHandleA("d3d9.dll");}
		catch(...)
		{
			hD3D9 = NULL;
		}}

	DWORD addy = FindPattern(hD3D9, 0x1280000, (PBYTE)"\xC7\x06\x00\x00\x00\x00\x89\x86\x00\x00\x00\x00\x89\x86", "xx????xx????xx");
	Memoria (&devicePtr, (void*)(addy+2), 4);

	if(devicePtr == NULL){
		return 0;}

	return devicePtr[index];

}

void CPush(const char* cmd)
{
	_asm
	{
		PUSH cmd
		MOV EAX, 0x00485F60//EngineLTCLient
		// Atualido aparentemente!
		CALL EAX
		ADD ESP, 0x4 // esse esp não é o esp boxes não neh ?
	}
}

#define GameStatus 0x3778CC48
// Atualizado aparentemente

void main() 
{
if(*(BYTE *)GameStatus == 1){
CPush("PerturbRotationEffect  0.000000");
CPush("PerturbIncreaseSpeed 0.000000");
CPush("PerturbWalkPercent 0.000000");
CPush("PerturbFiringIncreaseSpeed 0.000000");
CPush("PerturbRecoil 0.000000");
CPush("FireMovePerturb 0.000000");
CPush("ZoomedFireMoveDuckPerturb 0.000000");
CPush("ZoomedFireMovePerturb 0.000000");
CPush("ZoomedFireDuckPerturb 0.000000");
}else if(*(BYTE *)GameStatus == 5){
CPush("PerturbRotationEffect  3.000000");
CPush("PerturbIncreaseSpeed 3.000000");
CPush("PerturbWalkPercent 9.000000");
CPush("PerturbFiringIncreaseSpeed 0.500000");
CPush("PerturbRecoil 9.000000");
CPush("FireMovePerturb 9.000000");
CPush("ZoomedFireMoveDuckPerturb 9.000000");
CPush("ZoomedFireMovePerturb 9.000000");
CPush("ZoomedFireDuckPerturb 9.000000");
}
}

HRESULT WINAPI gellPresent(LPDIRECT3DDEVICE9 pDevice, CONST RECT *pSourceRect, 
						   CONST RECT *pDestRect, HWND hDestWindowOverride, CONST RGNDATA *pDirtyRegion)
{
	_asm pushad;
	main();
	_asm popad;
	return pPresent(pDevice, pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion);
}

void *DetourCreate( BYTE *src, const BYTE *dst )
{
	int len = 5;

	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;
	VirtualProtect( src, len, dwBack, &dwBack );

	return( jmp-len );
}

void Hook(void)
{
	DWORD dwPresent  = VTable(17);
	pPresent    = (oPresent)DetourCreate(( PBYTE)dwPresent, ( PBYTE )gellPresent);
}

DWORD WINAPI dwD3D9Thread(LPVOID)
{
	while( !IsGameReadyForHook() )
		Sleep(100);
	Hook();
	return 0;
}
BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
	DisableThreadLibraryCalls(hDll);
	if ( dwReason == DLL_PROCESS_ATTACH )
	{
		CreateThread(NULL, NULL, dwD3D9Thread, NULL, NULL, NULL);
	}
	return TRUE;
}


Qualquer coisa a noite eu deixo ela certinha.. dai te mando funcionando.
Obrigado, tudo alterado, agora tenho que me virar com esse probleminha ao compilar
Code:
 cannot open include file 'd3dx9.h'
Como esse hack não meche muito com endereços e bytes e talz, ele é mais difícil de ser detectado ou é a mesma coisa ? vlws
Quote Originally Posted by Thyrius View Post
Obrigado, tudo alterado, agora tenho que me virar com esse probleminha ao compilar
Code:
 cannot open include file 'd3dx9.h'
Como esse hack não meche muito com endereços e bytes e talz, ele é mais difícil de ser detectado ou é a mesma coisa ? vlws
Vc precisa configurar o SDK no projeto..

Down: Download Details - Microsoft Download Center - DirectX SDK - (June 2010)
Chorei 572mb pra baixar na minha net 3g... umas 6 horas de download kkkkkk vou deixar baixando na madrugada, muito obrigado Alessandro, esta me ajudando muito.
Acho que o alessandro resolveu tudo... @Thyrius
Quote Originally Posted by Capevaldo View Post
Acho que o alessandro resolveu tudo... @Thyrius
Alessandro está sendo uma mãe, mas tá otimo, vou aprendendo a caminhar, e quem tem curiosidade pode usar esse tópico pra aprender também, quem é novato sofre um kadin. Só faltou adicionar o codigo do "speed" só que um speed moderado
@ @alessandro10 Não tem problema se eu anexar os itens em negrito não né? Vou deixar baixando a parada do directx na marugada e amanha de manhã eu compilo tudo. Obrigado
Code:
void main() 
{
if(*(BYTE *)GameStatus == 1){
CPush("PerturbRotationEffect  0.000000");
CPush("PerturbIncreaseSpeed 0.000000");
CPush("PerturbWalkPercent 0.000000");
CPush("PerturbFiringIncreaseSpeed 0.000000");
CPush("PerturbRecoil 0.000000");
CPush("FireMovePerturb 0.000000");
CPush("ZoomedFireMoveDuckPerturb 0.000000");
CPush("ZoomedFireMovePerturb 0.000000");
CPush("ZoomedFireDuckPerturb 0.000000");
CPush("WalkVel 95.000000");
CPush("FRunVel 305.000000");
CPush("BRunVel 305.000000");
CPush("SRunVel 305.000000");
CPush("DuckVel 75.000000");
}else if(*(BYTE *)GameStatus == 5){
CPush("PerturbRotationEffect  3.000000");
CPush("PerturbIncreaseSpeed 3.000000");
CPush("PerturbWalkPercent 9.000000");
CPush("PerturbFiringIncreaseSpeed 0.500000");
CPush("PerturbRecoil 9.000000");
CPush("FireMovePerturb 9.000000");
CPush("ZoomedFireMoveDuckPerturb 9.000000");
CPush("ZoomedFireMovePerturb 9.000000");
CPush("ZoomedFireDuckPerturb 9.000000");
CPush("WalkVel 70.000000");
CPush("FRunVel 285.000000");
CPush("BRunVel 285.000000");
CPush("SRunVel 285.000000");
CPush("DuckVel 50.000000");
}
}
Posts 1–15 of 25 · Page 1 of 2
This thread is closed for replies.

Similar Threads

Tags for this Thread

None

Need help?