View Single Post
Old 29 December 2018, 16:15   #29
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,546
Using your Gods example to generate "fingerprint":

JSR $000012daa has absolute address so one possible "fingerprint" would be:

5378 xxxx 6a00 feca 4eb9 xxxx xxxx 3f00 3f01 323c 0064 303c 002a 4eb9

Where xxxx = ignore because it contains absolute address that can change (if it would have been dos loaded). I am not sure if this is long enough to guarantee no other code gets matched but it probably is unique enough. Trainer system can relatively easily autodetect if there are multiple matches.

When UAE detects that this first instruction in above string is about to get executed, it would check type of patch: a) skip the instruction b) store the destination of sub in internal variables and mark it as frozen c) set it to some static value (like 99).

Quote:
The 68000 architecture has a kind of stack in wich are memorized all of the addresses of the functions loaded in memory?
No. Hardware does not anything like this. AmigaOS keeps this info but it should not be used to keep this system generic.
Toni Wilen is offline  
 
Page generated in 0.04798 seconds with 11 queries