Well you first need to learn how to code c++ which is the most common language used on hacks, there is lots of tutorials on the web but its gonna take you a while till you can actually start coding some hacks... then after you know the basics on c++ you have to learn D3D programming, as for the programs you're gonna need i recommend Cheat Engine, Ollydbg and Microsoft Visual c++ express, just google all that and you'll find a bunch of tutorials.