What are the steps to making a game trainer?
I dont know if this fits as on topic but I have always wondered what are the steps to making a game trainer like the ones you can get for Diablo2, Fallout ect. Im sure the basic ideas behind it are pretty simple but for some reason I cant get my mind around how you would convert the info in a save game or in ram to a more useable state. Anyway thanks.
Well, as far as I can figure it, it''s easier to work on a savegame editor than anything else. There are a few things you need to work out, as follows:
1) The structure of the savegame file. This means headers, footers, and how they relate to the info in the file. Once you know these things you can change any aspect of the file and it will still be "valid".
2) What the contents of the file actually represent. It''s going to relate directly (say in Diablo) to your characters stats, level, etc etc, and also his inventory. If you muck about randomly you''ll usually find that you''ll break something rather than improve it. Provided you worked out the headers OK, the file may still load, but you might find you are perma naked, or have 1 health forever, or something horrible.
To be honest, how these things are actually derived from the start, I dunno. I suspect use of a hex editor, changing, tracking what else changed, and then changing something else to see if it had the same effect. Loading and reloading many many times inside the game to see effects...bleh, mind numbing tedium in other words. Must be an easier way
Also, you might want to pick an easier target than Diablo II to start with. If I remember rightly, DII has 4 savegame files, so God only knows what they all contain.
I''m a newb btw, so this is pure speculation Anyone who likes can feel free to correct me :D
RM.
1) The structure of the savegame file. This means headers, footers, and how they relate to the info in the file. Once you know these things you can change any aspect of the file and it will still be "valid".
2) What the contents of the file actually represent. It''s going to relate directly (say in Diablo) to your characters stats, level, etc etc, and also his inventory. If you muck about randomly you''ll usually find that you''ll break something rather than improve it. Provided you worked out the headers OK, the file may still load, but you might find you are perma naked, or have 1 health forever, or something horrible.
To be honest, how these things are actually derived from the start, I dunno. I suspect use of a hex editor, changing, tracking what else changed, and then changing something else to see if it had the same effect. Loading and reloading many many times inside the game to see effects...bleh, mind numbing tedium in other words. Must be an easier way
Also, you might want to pick an easier target than Diablo II to start with. If I remember rightly, DII has 4 savegame files, so God only knows what they all contain.
I''m a newb btw, so this is pure speculation Anyone who likes can feel free to correct me :D
RM.
------------------------------------------------------------Yes. it''s true, I DO wield the ugly stick. And I see I have beaten you with it before!
I don''t think trainers are necessarily illegal, but I also don''t think they''re appropriate material for a software development website such as this. There are other sites that could probably answer your question to a better extent.
"If people are good only because they fear punishment and hope for reward, then we are a sorry lot indeed." - Albert Einstein
"If people are good only because they fear punishment and hope for reward, then we are a sorry lot indeed." - Albert Einstein
September 25, 2002 01:30 PM
core >> oh puhlease, of course they''re kosher - it''s not even as though he asked about making cracks is it? Jeeezuuus.
CoffeeEqualsGood >> Normally in the "greetz" contained within these trainers the author says that "asm32 rulez" or something to that effect so I''m guessing thats what most of them use to make trainers.
CoffeeEqualsGood >> Normally in the "greetz" contained within these trainers the author says that "asm32 rulez" or something to that effect so I''m guessing thats what most of them use to make trainers.
ASM is the way that most people make their trainers because you need to be able to at least read ASM to get it working right.
The easiest way to train a game is you view the contents of memory at different stages during a game and check for what values change when you do things.
For example in Age of Empires, you have 1000 wood & stone to start with. First while you have the 1000 value, do a search through the memory space of the game for 1000. You''ll probably get a load of hits so then you spend say 200 wood and search for 800. After doing this a couple of times you''ll have an address in memory that always holds the value of how much wood you have left.
Now that you have that memory address, you can either write an asm or c++ program which when the player hits a key, increases the value in that memory location by so much using WriteProcessMemory() in C++, or if you''re supremely confident in your asm, you can delve into the asm source and watch to see which program instructions change that value. Once you''ve found the code that decreases the amount of wood, you can write your trainer to NOP out those lines of code so you have a never decreasing wood balance.
Thats the basics anyway hope it helps although I expect someone to be able to give more details. As far as legality, its more an ethical question of whether game training is ok because you are only disassembling the game.
/me tries to ignore the EULA which states that disassembling is against the license :D
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement