FARPROC a1=GetProcAddress(GetModuleHandle("ntdll.dll"),"ZwResumeThread");
FARPROC a2=GetProcAddress(GetModuleHandle("ntdll.dll"),"ZwSuspendThread");
DWORD sys_res,sys_sus;
memcpy(&sys_res,(char*)((char*)a1+1),4);//Get Syscall Number
memcpy(&sys_sus,(char*)((char*)a2+1),4);//this same
DWORD old;
VirtualProtect(a2,5,PAGE_EXECUTE_READWRITE,&old);//Set ZwSuspendThread to writable
memcpy(((char*)a2+1),&sys_res,4);//change number
SuspendThread(GetCurrentThread());
memcpy(((char*)a2+1),&sys_sus,4); // set old syscall number