 |
Cheat Engine The Official Site of Cheat Engine
|
| View previous topic :: View next topic |
| Author |
Message |
Goat Engine Cheater
Reputation: 0
Joined: 13 Aug 2018 Posts: 44
|
Posted: Wed Apr 20, 2022 10:34 pm Post subject: Frz=OK,AA=Crash?Not sure how to sum this up in a small title |
|
|
Quick side request: Any chance of letting thread titles be a bit longer? Any title I came up with that would have made sense for this post wouldn't fit. lol
Anyway I'm hoping someone can help with my current issue. I have 2 static addresses that I can freeze a value to using the basic addresslist freeze... but when I use any type of AA script to simply do the same thing, it crashes. I've spent around 24 hours on this one and gone through dozens of various AA script attempts, guesses, etc...
Here's the latest version I've tried that crashes it... I'm pretty much just guessing out of thin air at this point after not being able to find anything to solve this in my searches.
| Code: | [ENABLE]
alloc(newmem,2048,"WWE2K19_x64.exe"+19B3F3F)
label(returnhere)
label(originalcode)
label(exit)
newmem:
originalcode:
mov [r15],eax
mov edx,00000002
mov dword ptr [1425C1210],#5000
mov dword ptr [141E95670],#5000
exit:
jmp returnhere
"WWE2K19_x64.exe"+19B3F3F:
jmp newmem
nop 3
returnhere:
[DISABLE]
dealloc(newmem)
"WWE2K19_x64.exe"+19B3F3F:
mov [r15],eax
mov edx,00000002
//Alt: db 41 89 07 BA 02 00 00 00 |
The static addresses are 1425C1210 and 141E95670. Both of them normally have 3000 value, but I want it to be 5000. Freezing works flawlessly but any script attempts seem to "corrupt" the data/value or something. I've tried dword, word, float, various mov styles I've seen, putting a # before the number, etc... just totally lost at this point and not sure why I can't figure out what configuration of "moving" the value will work correctly here. I feel like I've gone backwards a couple years in progress, this is so baffling.
When I get a variation that doesn't crash the game, it glitches various features in the game. How come I can manually apply this value with no problem ever but no matter what I try for AA it's either a crash or visual glitches?
Thanks for your time
|
|
| Back to top |
|
 |
ParkourPenguin I post too much
Reputation: 152
Joined: 06 Jul 2014 Posts: 4711
|
Posted: Wed Apr 20, 2022 11:44 pm Post subject: |
|
|
1425C1210 and 141E95670 aren't static addresses. Use `game.exe+offset` notation.
Use the full injection template for assert statements that make enabling the script safer. i.e. the injection point actually has the code you expect it to have
If CE can't find a memory region within 2GiB of the specified address, I don't know if it silently fails or if it just allocates memory anyway and uses a 14 byte jump. Suspend the process first (advanced options menu), enable the script, and look at what happens at the injection point.
_________________
I don't know where I'm going, but I'll figure it out when I get there. |
|
| Back to top |
|
 |
Goat Engine Cheater
Reputation: 0
Joined: 13 Aug 2018 Posts: 44
|
Posted: Thu Apr 21, 2022 11:02 am Post subject: |
|
|
| ParkourPenguin wrote: | 1425C1210 and 141E95670 aren't static addresses. Use `game.exe+offset` notation.
|
Am I using the wrong terminology? They are addresses that are green in CE and will always be used for the same value, so a pointer doesn't need to be found. My understanding was that those types of trusted addresses are static without needing a pointer, while "dynamic" addresses would be the addresses that require a pointer because they change each game load? Please clarify a little further what you mean so I have a better understanding aka why aren't these static and why shouldn't I trust them as such if they don't change?
|
|
| Back to top |
|
 |
ParkourPenguin I post too much
Reputation: 152
Joined: 06 Jul 2014 Posts: 4711
|
Posted: Thu Apr 21, 2022 11:25 am Post subject: |
|
|
The OS could change the memory location the exe gets loaded at. e.g. one time, it may load the exe at 142500000, another time (maybe on another computer) it may load it somewhere else entirely (e.g. 2C7500000).
Literal addresses will stop working if the exe gets loaded at a different address. Use game.exe+offset instead so CE can account for where the exe got loaded at.
_________________
I don't know where I'm going, but I'll figure it out when I get there. |
|
| Back to top |
|
 |
Goat Engine Cheater
Reputation: 0
Joined: 13 Aug 2018 Posts: 44
|
Posted: Thu Apr 21, 2022 11:33 am Post subject: |
|
|
| ParkourPenguin wrote: | The OS could change the memory location the exe gets loaded at. e.g. one time, it may load the exe at 142500000, another time (maybe on another computer) it may load it somewhere else entirely (e.g. 2C7500000).
Literal addresses will stop working if the exe gets loaded at a different address. Use game.exe+offset instead so CE can account for where the exe got loaded at. |
Ah, that makes perfect sense. Especially if I share a code with a friend this could happen to them versus my machine. I hadn't understood it that way before but this will actually help me with a few things so thanks.
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
|
|