So basically, my understanding of hacking is to find a memory address such as gravity by using CheatEngine or similar, then creating a program that either freezes, or changes this value. I've found addresses like ammo, and played around with freezing and whatnot, unless the game makes those values server side.
My question is how does the programming (IE if Ax1X999888 is ammo, and it reads 30 and you somehow write code to freeze it) go into the game? I understand it has to do with injecting but I don't understand how programming and turning it into a .dll relates to the game engine.
Ive also heard of D3d programming, something that has to do with Directx values, but can someone further explain how it works?
Before you flame me (stupid choob figure it out etc) I have taken the time to learn basic C++ I'm not asking for exact directions, nor a tutorial just the basic concept of how things relate, so I have an understanding of what my program does.
I've also searched for this topic and haven't found anything, but I might just not be looking in the right places.
My understanding is basically the .dll is linked to an EXE by an IAT, something along those lines?

Thanks,

Deceive