Page 1 of 1

Updating Broken CE with changed AOB

Posted: Fri Mar 08, 2024 4:03 am
by Rubyelf
Trying to fix a broken CE table, the original author has not responded to messages or requests for help so I'm turning here. I managed to fix some of the table, but other parts it appears the AOB has changed as trying to find the original yields no result, while others codes did (which I was able to fix).

Image
The above is the original code.

Image
The above here is what I found sort of "works"

It works in the sense that it prevents items from decreasing (which is what I want it to do), but it also prevents from merging them. So if I was to split 2 away from 4, I retain 4, and gain 2, but then if I try to add that 2 to the 4, it adds to the 4 to make 6, but does not remove the 2 in my inventory (which is what the original code used to do). I have tried to figure it out myself for hours now, but I don't know what I am missing or looking at wrong.

Re: Updating Broken CE with changed AOB

Posted: Fri Mar 08, 2024 6:14 pm
by Paul44
^^ your found/updated opcode clearly differs from the original one.
My approach: search for 'cmp dword ptr [rsi+1C]' as follows: "83 7E * 00 75 * 48 8B 05 * * * * F6 ... 04 74"
=> basically, any potential offset change needs to become wildcard-ed. If above results in <100 entries, then just check them out for "near" exactness...

Re: Updating Broken CE with changed AOB

Posted: Sat Mar 09, 2024 4:34 am
by Rubyelf
Paul44 wrote:
Fri Mar 08, 2024 6:14 pm
^^ your found/updated opcode clearly differs from the original one.
My approach: search for 'cmp dword ptr [rsi+1C]' as follows: "83 7E * 00 75 * 48 8B 05 * * * * F6 ... 04 74"
=> basically, any potential offset change needs to become wildcard-ed. If above results in <100 entries, then just check them out for "near" exactness...
Yah, I attempted this, your one weilds 0 results, I cut it down a bit and found 5 that were close, but they were still too far off.

Re: Updating Broken CE with changed AOB

Posted: Sat Mar 09, 2024 12:37 pm
by Messy6666
^ i would start with what Paul44 said indeed
and if that's not helping try to make an AOB with just the instructions
cause registers used can be changed also.

like ( starting from mov ebx, [ rcx+1c ] ) :

Code: Select all

8B ?? ??	
48 ?? ?? ??
29 ?? ??
48 ?? ?? ?? ??
48 ?? ??
0F
if that give too many results, expand or change entry point.

also when you fixed the things you wanted
make sure to make a snapshot of current game version
and since it's an Unity game. make notes of the names of the method

ie. AOB's is the preferred way, but making personal notes of the method name can safe you a whole lot of time next time.

hope this helps
regards