View Single Post
Old 27 December 2018, 19:49   #15
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
Only way it can work is to find any code that modifies the variable (as I said above already) and ignore the parts of code that uses absolute addresses (that change between game runs). The rest of code should be 100% identical all the time.

Other variables near value you want to modify are usually way too dynamic. They can't be used for this purposes.

Then just tell the emulator to watch the instruction that modifies the value that trainer wants to change, when instruction is about to be executed, it can be:

- skipped (instruction becomes NOP)
- value that instruction wanted to modify is made frozen (nothing can change it anymore)
- set value to some static value

If you are familiar with action replay 3, you can test this relatively easily by first finding the value you can to modify (health, money whatever).
When found, use "fa" command to find instruction(s) that access the value (this is not reliable always, it depends how game was coded). Another method is to use memwatch breakpoints. (ms)

Values around the address (or addresses) that "fa" found would be the "fingerprint". Use disassembler to verify it. (minus possible absolute addresses. UAE could do this automatically if needed)
Toni Wilen is offline  
 
Page generated in 0.07098 seconds with 11 queries