

void WriteAsm(void *adress,void *bytes,int size)
{
DWORD dwProtect; //Define our dwProtect
VirtualProtect((void*)adress,size,PAGE_EXECUTE_READWRITE,&dwProtect); //we open for writing
memcpy((void *)adress,(PBYTE)bytes,size); //we write our adress,byte & size
VirtualProtect((void*)adress,size,dwProtect,&dwProtect); //we restore the protection and close writing
}
VOID Bypass(VOID)
{
WriteAsm((VOID *)(0x479936),(PBYTE)"\xC9",1);
WriteAsm((VOID *)(0x4798F8),(PBYTE)"\x6A\x00",2);
WriteAsm((VOID *)(0x479930),(PBYTE)"\x00",1);
}
VOID Bypass(VOID)
{
WriteAsm((VOID *)(0x4D68DE),(PBYTE)"\xC3",1);
WriteAsm((VOID *)(0x507E5E),(PBYTE)"\xC3",1);
WriteAsm((VOID *)(0x4DC2B7),(PBYTE)"\xC3",1);
WriteAsm((VOID *)(0x6F95EF),(PBYTE)"\xC3",1);
WriteAsm((VOID *)(0x479937),(PBYTE)"\xC3",1);
}
