Making Game Trainers
Im interested in how trainers for games are made.
Say your in this situation, you have a game and you want to make a trainer that gives you X amount of ammo in your gun. The game probably has a varible like int ammo = 25 or somthing similar, my first question is how would you find the varible name, would you need another prog to find out all the varibles used by the game, then find the one with a value of 25, hence finding the name of the varible?.
Then once you have the name, how would you code your program to find this varible in the ram and set it with a new value. Becasue every time the game launces i assume the ammo varible will go to a different location in the ram. So would you have to code your program to find the location of the varible then set up a pointer to it or somthing and set its value?
If anyone has any code for finding and setting the value of a varible in another program then i would it :)
Thanks for any help,
You need a disassembler/debugger and plenty of patience. Do a search for W32Dasm.
no disassembler/debugger is required. Trainers are In-memory patches that must be run during a game in which it temporarily changes values in the game. You will need a program like GamHack. GameHack is a program that lets you select a running application and search for data. It gives you memory address in which you can use in a later program. You then use some API functions in your trainer to change the value at a certain point in memory.
Unfortunately, I don't know how to freeze the value at the address just yet. So infinate ammo is something I don't know yet. If you find that out in your work, I would appreciate any info.
I beleive he is asking how it works... tho im sure thats a great program... I think that the program you are giving a link to uses disassembling and searching routines... either that or the game jsut saves it all in a file.
Thanks thats been helpful, i need softice though i cant find it anywhere. I need it for some dissambly and testing. Also i need an edition that will work on win xp.
Thanks if anyone has this or knows where it is.