cooleko Grandmaster Cheater Reputation: 11
Joined: 04 May 2016 Posts: 717
|
Posted: Mon Jan 23, 2023 11:15 am Post subject: |
|
|
Odds are its a fairly simple endeavor. Since its an online game you cant get specific advice here. In the past I wrote a 3rd party map to show me everything in the entity structure.
I started first with finding player coordinates, went to some stairs, walked up and down then with increment and decrement searches. Once I had a few thousand similar addresses I wrote to the X or Y coordinates of the triplet value until I found the address that teleported me accordingly (or freeze the Z value you found to see which one lets you hover as you slightly step down the stairs).
From there I found out what writes this address and snapshot the entire memory region for future AOB building. Then I built the first AOB to always make it easy to start looking.
Next I backtraced that instruction until I found the base address and all the offsets in between. I was lucky, it was only 4 deep. Perform the same snapshotting and AOB generation for each offset and the base address. The base address AOB needs to wildcard the full base address and first offset. All offset AOBs need to wildcard the offset. As you step up the functions, make a note of the instruction's location in each function (both forward and backwards), sometimes that helps find the appropriate instructions in the future, because even if the AOB fails, its still the Nth instruction above the ret or below the header once you start over on the search
I grabbed the MAP id from the game, loaded the appropriate map, and then overlayed every address within X distance of the player. Including the direction it was facing and color coded to indicate agro type and shaped coded to indicate if it was on my level, above me, or below me.
When the game updates, load each AOB and deduce which values changed, update your offsets. If all the AOBs work, then you can program the software to search the AOB and auto update the offsets itself. You can literally make this as simple as displaying the byte(s) at the offsets location so when you ipen your table the offsets are in plain view with only having to opeb the table and run the script.
Every update, resnapshot every offsets memory location. When the AOB breaks you need to see what stayed the same between every version to make an update proof AOB for each.
Good luck.
|
|