Source Full No-Spread and No-Recoil

Posts 1–7 of 7 · Page 1 of 1
Source Full No-Spread and No-Recoil
This is a Source Code For a Full No-Spread and No-Recoil
Crosshair will stay normal! so it's punkbuster screenshot proof

NOW DON'T ASK ME HOW TO USE OR CODE THIS LEARN PROGRAMMING LIKE EVERYONE ELSE
there's billion of tutorial on the internet


this is punkbuster detected atm. you need to add your own stuffies to make it undetected and functional!

Code:
//===================
#include <Windows.h>
//===================

//================================================================
void* g_pOriginalGetRecoil = NULL;
void* g_pOriginalGetDeviation = NULL;
void** g_pGetRecoilVTableAddress = (void**)0x020A3ACC;  //adress
void** g_pGetDeviationVTableAddress = (void**)0x020A3AC8; //adress
//================================================================

//================================================================
void __declspec(naked) hkGetRecoil(void) //GetRecoil
{
	__asm
	{
		xor eax, eax
			mov[ecx + 0x164], eax
			mov[ecx + 0x16C], eax
			jmp dword ptr[g_pOriginalGetRecoil]
	}
}


void __declspec(naked) hkGetDeviation(void) //GetDeviation
{
	__asm
	{
		xor eax, eax
			mov[ecx + 0x140], eax
			mov[ecx + 0x13C], eax
			jmp dword ptr[g_pOriginalGetDeviation]
	}
}

unsigned long __stdcall HookThread(void* param) //Hooking
{
	unsigned long flOldProtection;
	if ((int)param == 1)				//Enable Hook
	{
		if (!g_pOriginalGetDeviation)
			g_pOriginalGetDeviation = *g_pGetDeviationVTableAddress;													//Backing up Original Functions
		if (!g_pOriginalGetRecoil)
			g_pOriginalGetRecoil = *g_pGetRecoilVTableAddress;

		if (VirtualProtect(g_pGetDeviationVTableAddress, 8, PAGE_READWRITE, &flOldProtection))							//Removing memory protection
		{
			*g_pGetDeviationVTableAddress = hkGetDeviation;																//Swapping VTable Pointers
			*g_pGetRecoilVTableAddress = hkGetRecoil;
			return VirtualProtect(g_pGetDeviationVTableAddress, 8, flOldProtection, &flOldProtection);						//Readding normal memory protection
		}
		else
		{
			return 0;
		}
	}
	else //Disable Hook
	{
		if (VirtualProtect(g_pGetDeviationVTableAddress, 8, PAGE_READWRITE, &flOldProtection))							//Removing memory protection
		{
			*g_pGetDeviationVTableAddress = g_pOriginalGetDeviation;													//Setting VTable pointers back to original ones
			*g_pGetRecoilVTableAddress = g_pOriginalGetRecoil;
			return VirtualProtect(g_pGetDeviationVTableAddress, 8, flOldProtection, &flOldProtection);						//Readding normal memory protection
		}
		else
		{
			return 0;
		}
	}
	return 1;
}


unsigned long __stdcall DllMain(HMODULE hModule, unsigned long ulReason, void* param)
{
	if (ulReason == DLL_PROCESS_ATTACH)
	{
		CloseHandle(CreateThread(NULL, 0, &HookThread, (void*)1, 0, NULL)); //Enable hook
	}
	else if (ulReason == DLL_PROCESS_DETACH)
	{
		CloseHandle(CreateThread(NULL, 0, &HookThread, NULL, 0, NULL)); //Disable hook
	}
	return 1;
}
//==================================================================================================================
also i want to give Credits :
InUrFace
McD20
Plz i cant find how to use can you tall me PLZ!!!!!!!!!!!!!!
Quote Originally Posted by wtfpxman521 View Post
Plz i cant find how to use can you tall me PLZ!!!!!!!!!!!!!!
Komrad, lay off the vodka.
Quote Originally Posted by McD20 View Post
This is a Source Code For a Full No-Spread and No-Recoil
Crosshair will stay normal! so it's punkbuster screenshot proof

NOW DON'T ASK ME HOW TO USE OR CODE THIS LEARN PROGRAMMING LIKE EVERYONE ELSE
there's billion of tutorial on the internet


this is punkbuster detected atm. you need to add your own stuffies to make it undetected and functional!

Code:
//===================
#include <Windows.h>
//===================

//================================================================
void* g_pOriginalGetRecoil = NULL;
void* g_pOriginalGetDeviation = NULL;
void** g_pGetRecoilVTableAddress = (void**)0x020A3ACC;  //adress
void** g_pGetDeviationVTableAddress = (void**)0x020A3AC8; //adress
//================================================================

//================================================================
void __declspec(naked) hkGetRecoil(void) //GetRecoil
{
	__asm
	{
		xor eax, eax
			mov[ecx + 0x164], eax
			mov[ecx + 0x16C], eax
			jmp dword ptr[g_pOriginalGetRecoil]
	}
}


void __declspec(naked) hkGetDeviation(void) //GetDeviation
{
	__asm
	{
		xor eax, eax
			mov[ecx + 0x140], eax
			mov[ecx + 0x13C], eax
			jmp dword ptr[g_pOriginalGetDeviation]
	}
}

unsigned long __stdcall HookThread(void* param) //Hooking
{
	unsigned long flOldProtection;
	if ((int)param == 1)				//Enable Hook
	{
		if (!g_pOriginalGetDeviation)
			g_pOriginalGetDeviation = *g_pGetDeviationVTableAddress;													//Backing up Original Functions
		if (!g_pOriginalGetRecoil)
			g_pOriginalGetRecoil = *g_pGetRecoilVTableAddress;

		if (VirtualProtect(g_pGetDeviationVTableAddress, 8, PAGE_READWRITE, &flOldProtection))							//Removing memory protection
		{
			*g_pGetDeviationVTableAddress = hkGetDeviation;																//Swapping VTable Pointers
			*g_pGetRecoilVTableAddress = hkGetRecoil;
			return VirtualProtect(g_pGetDeviationVTableAddress, 8, flOldProtection, &flOldProtection);						//Readding normal memory protection
		}
		else
		{
			return 0;
		}
	}
	else //Disable Hook
	{
		if (VirtualProtect(g_pGetDeviationVTableAddress, 8, PAGE_READWRITE, &flOldProtection))							//Removing memory protection
		{
			*g_pGetDeviationVTableAddress = g_pOriginalGetDeviation;													//Setting VTable pointers back to original ones
			*g_pGetRecoilVTableAddress = g_pOriginalGetRecoil;
			return VirtualProtect(g_pGetDeviationVTableAddress, 8, flOldProtection, &flOldProtection);						//Readding normal memory protection
		}
		else
		{
			return 0;
		}
	}
	return 1;
}


unsigned long __stdcall DllMain(HMODULE hModule, unsigned long ulReason, void* param)
{
	if (ulReason == DLL_PROCESS_ATTACH)
	{
		CloseHandle(CreateThread(NULL, 0, &HookThread, (void*)1, 0, NULL)); //Enable hook
	}
	else if (ulReason == DLL_PROCESS_DETACH)
	{
		CloseHandle(CreateThread(NULL, 0, &HookThread, NULL, 0, NULL)); //Disable hook
	}
	return 1;
}
//==================================================================================================================
also i want to give Credits :
InUrFace
McD20
What exactly should I change?? The name of the methods, variables, or something else?
Quote Originally Posted by hellguy View Post
What exactly should I change?? The name of the methods, variables, or something else?
First i want to ask you, what is your coding skill?
you could simply change the hooking to your own method

a safer way is to subtract the spread angle from the viewangles (legacy way, like it was done in bf2 and bfbc2).
I know C,C# and JS but I have not that much of a experience in hacking, even though I was known as Arthurgeron who made many hacks for mpgh before..
Well maybe using my own Hook method would be too much for me. If I scramble the DLL would it become undetected?
Although I do not understand these,
But I know very powerful,
Great admiration!

Thank you for sharing!
Posts 1–7 of 7 · Page 1 of 1
This thread is closed for replies.

Similar Threads

Tags for this Thread

None

Need help?