Skip to content

Value Search

Lawn Meower edited this page Aug 31, 2024 · 5 revisions

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

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.

Example 1: 999 Rings (Sonic Adventure 2: Battle)

Click to reveal
  1. 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.
    Value Select
  2. 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.
    Check current amount of rings Enter current amount of rings
  3. Click Search and let the first scan process. As you can see we are left with way too many possible results to test.
    Too many possible results
  4. Make the value in-game change again and do another scan but with the new value (which is 8 in the given example).
    Ingame value updated Values transferred to value search
  5. Now we are left with only 7 possible results. This amount of values is low enough to start testing.
  6. 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.
    Testing values
    Testing values again
    Tested value modified in-game value
Clone this wiki locally