Pretty easy because there's a plethora of code out there that you can read (just google manual map or reflective DLL injection). There's no shame from learning from other people's code. Do not reinvent the wheel.
Anyways, on to the point about kernel level hooks. If you're running 32 bit Windows, anti-cheats have pretty much free reign including direct manipulation of the kernel and system service tables. This means they can hook all the functions. If you're running 64 bit Windows, then you have to deal with Kernel Patch Protection (colloquially known as PatchGuard). This doesn't mean anti-cheats can't do anything. Anti-cheats can still monitor creation of handles to objects and the loading of DLLs by using ObRegisterCallbacks and PsSetLoadImageNotifyRoutine respectively. Driver signing enforcement is a red herring because most anti-cheats can get their drivers signed.