Некоторые читы, как leaguecheats и oxyde, используют или использовали интернал оверлеи, так как VAC пофигу на оверлеи, а если ничего, кроме отрисовки, не хукать, то получается просто хороший оверлей, а основная часть исполняемого кода уже в экстернале. Если запариться, то можно и интернала немножко добавить, ведь из оверлея можно вызывать функции, передавать в кэш и читать экстерналом.
Полноценный Kernel подразумевает ограничения, имей ввиду. Легче остаться в юзермоде, либо сделать смешанный вариант с драйвером для работы с памятью + юзермод часть для UI и функционала, при этом самой сложной задачей ИМХО останется скорость общения драйвера с прогой, но это легко зафиксить правильным построением проекта после нескольких экспериментов, у меня есть полноценный рабочий вариант.