Для того, чтобы начать писать софт под какую либо из игр, стоит для начала достаточно хорошо знать один из высокоуровневых языков, на котором планируешь писать. Ну могу отметить самые популярные C++ / C# по скольку имеют наиболее эффективный конечный исполняемый код (какую бы ты дичь не написал).
Затем не плохо было бы изучить, как работает память процесса и основы хакинга, внедрение в сторонний процесс, работа с памятью процесса. А дальше уже и сам догадаешься как что и к чему. Из каналов на Youtube могу посоветовать Fleep Hacks, Михаил Ремизов. Там тебе расскажут минимум что нужно знать, чтобы писать читы под CS. А вообще после изучения языка можно посмотреть чужие исходники читов, коих в интернете пруд пруди и понять основные принципы их работы и попытаться создать что то своё. А вообще всё зависит от цели. Если хочешь стать труъ кодером, делай что писал выше. А если хочешь UD пасту сделать, ума много не надо.