Code:
#include <Windows.h>
#include <iostream>
#include <stdio.h>
DWORD WINAPI LoopFunction(LPVOID lpParam)
{
BYTE Kick[1] = { 0x85 }; // ON kick
BYTE Kick2[1] = { 0x75 };
BYTE Kick3[1] = { 0x84 }; // OFF Kick
BYTE Kick4[1] = { 0x74 };
DWORD address = 0x0051C6A8;
DWORD address2 =0x0051C6D2;
bool KickAddy = false;
HANDLE bs2016 = GetCurrentProcess();
while (1){
if(GetAsyncKeyState(VK_HOME) & 1){
WriteProcessMemory(bs2016, (void*)(address), &Kick, 1, 0);
WriteProcessMemory(bs2016, (void*)(address2), &Kick2, 1, 0);
KickAddy = false;
}
if (GetAsyncKeyState(VK_END) & 1){
WriteProcessMemory(bs2016, (void*)(address), &Kick3, 1, 0);
WriteProcessMemory(bs2016, (void*)(address2), &Kick4, 1, 0);
KickAddy = true;
}
}
}
void Patch(void *adr, void *ptr, int size)
{
DWORD NewProtection;
VirtualProtect(adr, size, PAGE_EXECUTE_WRITECOPY, &NewProtection);
memcpy(adr, ptr, size);
VirtualProtect(adr, size, NewProtection, &NewProtection);
}
BOOL WINAPI DllMain(HINSTANCE hModule, DWORD dwAttached, LPVOID lpvReserved)
{
if (dwAttached == DLL_PROCESS_ATTACH) {
CreateThread(NULL, 0, &LoopFunction, NULL, 0, NULL);
}
return 1;
}