-
Notifications
You must be signed in to change notification settings - Fork 4
Value Search
A value search is the general process of scanning the RAM for values to edit. This is the main process of memory-hacking a game! Below you can find many examples sorted by difficulty. However, not every game behaves the same and another approach might be needed.
- Known Value Search
- Unknown Value Search (ToDo)
- Infinite Time (ToDo)
- Instant Win (ToDo)
- Speed Code (ToDo)
- Unlock Items (ToDo)
- Audio Hacks (ToDo)
- Teleportation (ToDo)
- Moon Jump (ToDo)
- Color Modifier (ToDo)
- Size Modifier (ToDo)
- Level Modifier (ToDo)
- Modifying Actors (ToDo)
- Auto Pilot (ToDo)
- Trial-and-Error Code Hacking (ToDo)
- Heuristic Code Hacking (ToDo)
- Widescreen Hack (ToDo)
- Walk in Air (ToDo)
- Walk Through Walls (ToDo)
- Unlock Debug Features (ToDo)
- Unlock Unused Features (ToDo)
This is probably the simplest search method and most suitable for any beginner! A Known Value Search is used to hack codes like infinite cash, infinite ammo, to maximize stats, ... anything of which the exact value is known.
In the beginning of a Known Value Search you search for the current value that is being displayed. It's always good practice to pause the game to prevent the value from changing before the current scan has completed. After that, unpause the game, make the value change and scan for the updated value. Repeat this until you are left with only a few possible results. You can now test them one-by-one and as soon as the value on screen changes to the value you entered, you have found the address!
Side Note:
Sometimes the some values won't update until it is updated by the gams. For instance, if you set an on-screen value from 10 to 100 through value poke it might not change at all (at least visually). If the game adds 1 to it it will jump from 10 to 101. Keep this in mind if all tested values didn't result in any change.
Click to reveal
- Estimate the value's range: The amount of rings is never negative and can theoretically go up to 999. So it is most likely an unsigned 16-bit integer. Select a primitive value type of Int 16 and leave the signed checkbox unchecked.
Check the current amount of rings. Set the Comparison Type to Known Value and enter the amount of rings (which is 5) into the Value textbox.
-
Click Search and let the first scan process. As you can see we are left with way too many possible results to test.
-
Make the value in-game change again and do another scan but with the new value (which is 8 in the given example).
- Now we are left with only 7 possible results. This amount of values is low enough to start testing.
-
Click the the first result so its address and value are moved to the Value Poke section. Change the value to something different than the currently displayed value and click Poke. If nothing happens, try the next one until it updates.