 |
Cheat Engine The Official Site of Cheat Engine
|
| View previous topic :: View next topic |
| Author |
Message |
CodeRipper Newbie cheater
Reputation: 0
Joined: 07 Apr 2023 Posts: 13
|
Posted: Sat Apr 08, 2023 12:06 am Post subject: What I doing wrong? All opcodes have same address and code. |
|
|
Firstly let me start out by saying I am a noob at this! I have been watching a couple of great game hacking series on YouTube but when it comes to applying the same steps to my own game (Jaws of Extinction) I am hitting an issue...all the values I save have the same address, and command
The Address column in the YT videos all showed the game title followed by a code (e.g. GTA5.exe+102F2F9) and this changes for each entry in his list, and so does the entries in the Name column; but in my list all of the values are the same other than for the names I game them like so...
Address: Name:
VCRUNTIME140.dll+140C Energy :mov [rax],ecx
VCRUNTIME140.dll+140C Health :mov [rax],ecx
VCRUNTIME140.dll+140C Stamina :mov [rax],ecx
VCRUNTIME140.dll+140C 9mmAmmo :mov [rax],ecx
VCRUNTIME140.dll+140C CommonArrows :mov [rax],ecx
VCRUNTIME140.dll+140C 9mmAmmo2 :mov [rax],ecx <-- from second scan after reloading the gamesave.
All but the last entry above were from the first scan, then reloaded the game and noticed the issue with 9mmAmmo2.
What, if anything, am I doing wrong. I have confirmed that the entries do alter/freeze the correct assets/attributes in the game but I cannot create a pointermap to easily find those entries again upon reloading the game.
|
|
| Back to top |
|
 |
ParkourPenguin I post too much
Reputation: 152
Joined: 06 Jul 2014 Posts: 4717
|
Posted: Sat Apr 08, 2023 10:09 am Post subject: |
|
|
The values don't have the same address. It's the instruction accessing the values that's the same.
I have no idea what you think the issue is with 9mmAmmo2 or why you think it's any different from the first one.
What you're doing wrong depends on what you're trying to do. If you're trying to find a pointer, use the pointer scanner:
https://www.youtube.com/watch?v=3dyIrcx8Z8g
If you're doing something with code injection, see step 9 of the CE tutorial. That step concerns instructions that access multiple addresses.
_________________
I don't know where I'm going, but I'll figure it out when I get there. |
|
| Back to top |
|
 |
Dark Byte Site Admin
Reputation: 471
Joined: 09 May 2003 Posts: 25831 Location: The netherlands
|
Posted: Sat Apr 08, 2023 11:47 am Post subject: |
|
|
also are you sure the address is correct?
does changing it have any effect in the game without it resetting back? (e.g display values)
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.
Like my help? Join me on Patreon so i can keep helping |
|
| Back to top |
|
 |
CodeRipper Newbie cheater
Reputation: 0
Joined: 07 Apr 2023 Posts: 13
|
Posted: Sat Apr 08, 2023 6:35 pm Post subject: |
|
|
Firstly, thank you both for responding.
| ParkourPenguin wrote: | | What you're doing wrong depends on what you're trying to do. |
At the moment I am just trying to find a reliable way to consistently locate the new addresses for values like Health, Stamina and so on after a saved game reload. And to clarify, I was not saying the 2nd scan for 9mmAmmo is wrong, just that I expected it to have a different address all together from the first game load.
| ParkourPenguin wrote: | | The values don't have the same address. It's the instruction accessing the values that's the same. |
Now knowing that this is the address to an instruction that is shared by all of the attributes (health, stamina, etc.) above, it makes more sense.
So how do I look beyond this to find the real address for a value that is using the shared code?
And do you have an example of how to do this?
| ParkourPenguin wrote: | | If you're trying to find a pointer, use the pointer scanner |
Using the point scanner returned many, many millions, if not billions of addresses, it was BIG!
So how do I narrow this down?
Is the answer to generate more scans, so I have like 4 or 5 pointermaps for say Health to compare with vs just the 2 I tried already? If so then this is why I really need to find a faster way to relocate the addresses for things like health and so on, because the scans took a long time for each value/attribute, and while some like stamina were easy to find, others like Wellness were found through a lot of scan iterations. I had to leave the computer running over night to complete one scan as it was still processing the prior scan results.
So am I going about this all wrong?
What is the most efficient way to find the new addresses when the addresses are not immediately available in the code list window?
Is there a better (faster) way to find the addresses after a reload without having to rescan for each of the values after every savegame reload? I don't expect it to be a simple one-click search and done to find reliable pointers, but to filter out millions would take me months if not years. So how can I get my pointer candidates pool to a much smaller set?
As for Dark Byte's questions... | Dark Byte wrote: | | are you sure the address is correct? |
Yes changing the value for health, for example, to 1,000 does change it in the game, and I can take increased amounts of damage. A fall that would have killed me at the official full health of 100 only makes a dent when I set the health value to 1,000, or higher. Same for Energy and Stamina, if I place an X in the corresponding box to prevent the value being overwritten by the game I can keep running forever without staming out; without the X health defaults back to 100, but only if greater than 100 (values <=100 remain unchanged.) This tells me the game has some code that is checking to ensure the health value is never greater than 100 as it is show as a percentage in the game, and if it is greater, the game brings the health value back down to 100%. But like I said putting an X in the box next to Health maintains the higher value in game...does this indicate to you that I may not have the correct/best address?
Do you have any examples of how I can digg deeper, beyond the 'VCRUNTIME140.dll+140C Health :mov [rax],ecx' to find a good address to use in order to find my way back to the Health address after a reload.
Again, thank you both for taking the time to respond, I will watch the video clip posted above.
Edit: Also, there are other addresses that have the same value which changes along with say health in the game but if I change any of these entries it does not update the rest of them, nor show in the game unlike the value I was editing which updates all of the other addresses and also is reflected in the game.
Edit #2: As for the shared code, this would explain why the game crashes when I tried to NOP past taking damage.
|
|
| Back to top |
|
 |
ParkourPenguin I post too much
Reputation: 152
Joined: 06 Jul 2014 Posts: 4717
|
Posted: Sat Apr 08, 2023 8:14 pm Post subject: |
|
|
There is no "real" address. A value's address is its address. `VCRUNTIME140.dll+140C` is the address of the instruction that accesses the values' addresses.
Did you follow the video I linked where it shows how to generate and use multiple pointer maps? Remember to restart the game: using multiple pointer maps generated in the same game instance won't help much.
You shouldn't have that many results- probably a few thousand, maybe a few million at most. Keep rescanning at different points in the game, then pick whichever one you want.
Decrease the max offset and/or max level and use "max different offsets per node" if the scan is taking too long. You might lose valid results.
The code list window isn't particularly useful for values...
What's "most efficient" depends on how much you know. Code injection (search "injection copy") is good, but shared instructions are a pain to deal with (see step 9 of the CE tutorial). Personally, I know how to read assembly well enough to track down the exact pointer path the game is using by looking up the callstack from an access to the value, but that's due to years of experience. You could also combine the two: use code injection to get a node in a pointer path to the value, but that's uncommon.
If you really want to learn more, you should start learning assembly, but that's going to take a while. You can try asking someone else to do it for you on a third party site:
https://forum.cheatengine.org/thirdparty.php
_________________
I don't know where I'm going, but I'll figure it out when I get there. |
|
| Back to top |
|
 |
CodeRipper Newbie cheater
Reputation: 0
Joined: 07 Apr 2023 Posts: 13
|
Posted: Sat Apr 08, 2023 9:46 pm Post subject: |
|
|
Thank you again, I can create pointer maps and yes I am closing out of the game entirely between searching for the values and then created new mappings, but thank you for making sure I did this. Had I know known to I could imagine I would be finding myself even more frustrated!
| ParkourPenguin wrote: | | The code list window isn't particularly useful for values... |
So are you telling me that I can/should just forget about VCRUNTIME140.dll+140C. Is there some other way to rediscover the new addresses other than going through the more lengthy memory scans for each attributes value so that I can then generate enough pointer maps for to hopefully then find good pointers?
|
|
| Back to top |
|
 |
ParkourPenguin I post too much
Reputation: 152
Joined: 06 Jul 2014 Posts: 4717
|
Posted: Sat Apr 08, 2023 10:03 pm Post subject: |
|
|
The pointer scanner is the closest thing to a magic button that does all the work for you.
Code injection (search "injection copy") can get the address, but again, shared instructions are annoying.
Everything else would require an understanding of assembly that goes beyond the basic AA scripts used in the CE tutorial.
_________________
I don't know where I'm going, but I'll figure it out when I get there. |
|
| Back to top |
|
 |
CodeRipper Newbie cheater
Reputation: 0
Joined: 07 Apr 2023 Posts: 13
|
Posted: Sat Apr 08, 2023 10:08 pm Post subject: |
|
|
| Thank you so much for taking the time to help me get my feet wet.
|
|
| 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
|
|