Code:
#include <windows.h>
DWORD RecoilJMPBack = 0xa468c9 + 0x17 + 0x6 - 14;
#define Addy1 0xA45FFB
#define Addy2 0xA45C5D
void NoSprecoil(bool what)
{
DWORD oldprotect, oldprotect2;
if (what == true)
{
VirtualProtect((LPVOID)(Addy1), 4, PAGE_EXECUTE_READWRITE, &oldprotect);
VirtualProtect((LPVOID)(Addy2), 4, PAGE_EXECUTE_READWRITE, &oldprotect2);
memcpy((LPVOID)Addy1, "\xEB", 1);
memcpy((LPVOID)Addy2, "\xE9\x32\x03\x00\x00\x90", 6);
VirtualProtect((LPVOID)(Addy1), 4, oldprotect, &oldprotect);
VirtualProtect((LPVOID)(Addy2), 4, oldprotect2, &oldprotect2);
}
else
{
VirtualProtect((LPVOID)(Addy1), 4, PAGE_EXECUTE_READWRITE, &oldprotect);
VirtualProtect((LPVOID)(Addy2), 4, PAGE_EXECUTE_READWRITE, &oldprotect2);
memcpy((LPVOID)Addy1, "\x74", 1);
memcpy((LPVOID)Addy2, "\x0F\x84\x31\x03\x00\x00", 6);
VirtualProtect((LPVOID)(Addy1), 4, oldprotect, &oldprotect);
VirtualProtect((LPVOID)(Addy2), 4, oldprotect2, &oldprotect2);
}
}
DWORD WINAPI Loop()
{
for (;; Sleep(125))
{
if (GetAsyncKeyState(VK_F3))
{
NoSprecoil(true);
}
if (GetAsyncKeyState(VK_F4))
{
NoSprecoil(false);
}
}
}
#define i XorStr<0x99, 142, 0x25A94196>("\xDE\xC8\xCB\xBC\xD3\xF1\xBF\xF2\xC4\xC1\xCC\xCD\xC9\x86\xAD\xEB\xDB\xCF\xCF\xC5\xD9\xDD\x95\x90\xBB\x92\x9E\x94\xE5\xDF\xD4\xD7\xDB\xDF\xD7\xD0\xD2\x9E\xE4\x8E\xAE\xE2\xA4\xB1\xAB\xE6\xA3\xA1\xBA\xBA\xAE\xBE\xBE\xA7\xA0\xBE\x8C\xF2\xD9\xF4\xF8\xF6\xA3\xB1\xB4\xB3\xB4\xAF\xA9\xB7\xB2\x89\x8E\xC2\xB8\x94\x90\x92\x93\x81\x87\x8D\xCB\xA2\x82\xCE\xBD\x95\x92\x9D\x9A\x98\xD5\xDD\xD7\xB6\x96\xDA\x9C\x89\x93\xDE\x9B\x69\x72\x72\x66\x76\x76\x6F\x68\x66\x29\x7E\x64\x6B\x68\x7A\x67\x75\x63\x32\x72\x7A\x71\x36\x65\x7D\x75\x7F\x7A\x6F\x74\x70\x78\x00\x55\x4A\x4A\x57\x78" + 0x25A94196).s
#define y XorStr<0xF2, 14, 0x2EC84444>("\xB5\xA1\xA4\xD5\xB8\x98\xD8\xAB\x9F\x98\x93\x94\x92" + 0x2EC84444).s
BOOL WINAPI DllMain(HMODULE hDll, DWORD dwReason, LPVOID lpvReserved)
{
switch (dwReason)
{
case 1:
MessageBoxA(NULL, i, y, MB_OK);
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)Loop, 0, 0, 0);
break;
}
return true;
}