Skip to content

How to choose a place to hook a ASM hack

tomvita edited this page Apr 17, 2023 · 10 revisions

After you found a memory location you want to hack the next step is to hook a code that will lead you that change

Watch the memory location with Gen2 menu and get a list of candidates

In memory explorer point the cursor at the memory you want to hack press "SetBreakPoint" which will bring you to Gen2 menu. "Gen2Attach" followed by "Execute Watch" will start the watch. Go back to the game and play it a bit. Then come back to see if some candidates had been captured. If the list is empty it means you did not play the game until that memory had been access. (by default both Read and Write will be captured, you can customize that with the "Read=" and "Write=" buttons before you execute watch)
If you are satisfied with the amount captured then "Gen2Detach"

Check what the candidates do

The next step is to put a watch on the instructions to see what memory the code access

Most of the time you want a code that access your target and only your target

Make sure you play the game enough. Check back and see that there is only one memory target this code access and that it is the memory that you want to hack. You are now done and can proceed to write the code to do the hack

Some times you want code that access a list of target, for example if you were looking at the quantity value of an inventory item maybe this code access all the items in that list. Hooking this code will let you hack the whole list at one go.

Check the targets of this code to identify what they are. You can use the "Save as candidates" button then goto Search Manager menu and use "Show Candidates" button and play with those candidates with the tools available in Candidates menu. Once you are happy that it is the code you want to hook you can proceed to write the code to do the hack

Some times the code access both Friends and Foe

First make sure that the code only access the correct property that you want to hack. For example HP, then the memory needs to be only HP for your hero, friends and foe.

  • If you like you can make a code that hack all HP. Such code can be selectively activated by conditional key and sometime that is already perfect (game play dependent)

If you can only find this kind of code you need to find a way to identify Friend or Foe and potentially make also a one hit kill for foes.