Would it be possible to avoid searching values and setting them (i explained, what I need bellow) in cheat engine? I know you can find pointers of adreses and create trainer, but the problem is that the apps, I use cheat engine on, get updated a lot by my companies, and the pointers change every time.Meaning, I would have to create new trainers multiple times a week. Basically almost every day..
I'm not asking for complete code, but some detailed info with links would be highly appreciated, as I have used cheat engine a lot, and I know a lot about programing, I have 0 experience and knowledge about cheat engine scripting.
Would it be possible to automate this? Yes it would be. You could automate this by creating a cheat engine script at the least or creating a trainer. Your question also states that you want to do it without creating a trainer, so no.
When the game you're working on updates frequently, you are correct that pointers become a burden to reverse and update each patch. The solution is to use array of byte signature scanning to locate assembly instructions that access the variables you're wanting to access. Don't worry CE has you covered on that as well, AOBScan().
Most of the time you can create a script that will handle updates. For example, once you find the address, right-click and do 'find out what accesses this address'. Wait for something to change the value and the window that pops up will show you the code that changes that address. Right-click on one of the results and open the disassembler. Let's say it's the line movsd xmm0,[ecx] here:
Select that line and hit CTRL+A to open the auto-assembler window. Then from the Template menu select 'AOB Injection'. Save this to your table and close the window, then open up that new script. There will be a line near the top that starts with aobscanmodule. If you see an error there it couldn't determine a unique signature for that memory location. If there is no error, then when the game is updated and the addresses change, it should still be able to find it. There should be a section that looks like this:
This is relocated code. The original code in the game is replaced with a jmp to a newly allocated memory area where this code is assembled, then the jmp return goes back to after that code in the original memory region.
You need to know a touch of assembly. The instruction movsd xmm0,[ecx] loads the floating point value in the memory location pointed to by ecx into the xmm0 register. This accesses the memory location you care about, so you could just set that value like this:
Now whenever the program tries to run that code which accesses that memory location, it will instead jump to the new memory location, update the value at that address to 500.0, then run the original code and jump back.
When the aobscanmodule line does show an error it means that there are too many sections of code that are too similar. The logic looks backwards and forwards several lines of assembly and looks for the hex bytes, ignoring addresses that might change if the game is updated. For instance nothing in that code will probably change when the game is updated, there are no pointers and just one fairly close jmp instruction.
To be extra careful you might want to stop the window that is finding code accessing that address, then right-click on that line of code and select 'find out what addresses this instruction accesses'. If more than one address appears in the window then you're kinda screwed without more help because it is a generic piece of code used for more values than just the one you care about.
A trainer is a program written to intercept and alter the memory addresses of a game. Trainers usually have to be running in memory the entire time the game is loaded. Since trainers address specific memory locations, they usually only support a specific version of a game. This file is not supported in multiplayer or online games.
Trainers are by no means easy to make, and take a long time, especially with todays games which become considerably harder to crack. Alot of time is put into this, and even so, Cheathappens produces quality trainers, quickly and generally produces an average of 30-40 trainers a month. The money is also needed to buy the games so they can train them.
The Cheat Happens Trainer Manager (Link needs update) will help you keep track of all your PC trainers, both from Cheat Happens and other groups. This application has the added benefit of letting you know when trainers downloaded from Cheat Happens have been updated for quick download. It also has a special Trainer Search, which can be used to search for trainers using a custom Google search of popular trainer resources or search only the Cheat Happens database. The Trainer Manager can also be used as a browser and a trainer customizer, which allows a trainer's hotkeys to be customized by the end user. The trainer must be compatible and is typically marked as "CUSTOMIZABLE" somewhere on the trainer itself.
Cheat Happens is one of the most popular cheat code websites for PC games on the Internet. Unlike most cheat sites that simply collect cheats and files, they actually have programmers on staff and create custom cheats and trainers for most PC games that are released. They also spend a lot of time working with games to discover new and unique ways to cheat them. These trainers are made available exclusively to Premium members. Lifetime membership includes unlimited access to over 27,000 trainers for over 6,000 PC games with new ones being released every day. It also includes full access to their Trainer Manager and CoSMOS software plus upcoming mobile app.
b37509886e