Code:
#include "stdafx.h"
#include "bypass.h"
#include <detours.h>
void Install()
{
Sleep(1000);
while(!GetModuleHandle(TEXT("S4Client.exe"))) Sleep(100);
HMODULE client = GetModuleHandle(TEXT("S4Client.exe"));
xc_init = (DWORD)client + xc_init;
DWORD mutex = (DWORD)client + 0x9D640;
mLoadBypass = (tLoadBypass)DetourFunction((PBYTE)xc_init, (PBYTE)LoadBypass);
PatchMutex(mutex);
MessageBoxA(NULL, "x3.mem bypassed! ^^", "by psch0", MB_OK);
}
BOOL __stdcall LoadBypass()
{
return TRUE;//yes this is bypass xDD
}
void PatchMutex(DWORD mutex)
{
DWORD old = 0;
VirtualProtect(reinterpret_cast<LPVOID>(mutex), 4, PAGE_EXECUTE_READWRITE, &old);
memcpy(reinterpret_cast<LPVOID*>(mutex), "\xC3", 1);
VirtualProtect(reinterpret_cast<LPVOID>(mutex), 4, old, NULL);
}