 |
Cheat Engine The Official Site of Cheat Engine
|
| View previous topic :: View next topic |
| Author |
Message |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Tue Jan 28, 2014 1:07 pm Post subject: |
|
|
You need (for each pointer):
| Code: |
label(pShieldcharge)
registersymbol(pShieldcharge)
///////
pShieldcharge:
dd 0 |
Really, you can do whatever you like. Adapt your own style. Just because there is no need to allocate for those, doesn't necessarily mean that your approach will not work. As long as we continue to learn, that is what matters.
|
|
| Back to top |
|
 |
Codcat Advanced Cheater
Reputation: 0
Joined: 21 Aug 2007 Posts: 62
|
Posted: Tue Jan 28, 2014 8:11 pm Post subject: |
|
|
Thanks Methos you've helped me learn a lot about code injection for pointers, I used to do it back when CE didn't support labels and it was all done manually with offsets. It's much easier now.
I'm still getting crashes when using filters in the script with any possible offset and/or combination. The larger the offset the quicker the game will crash. I'll let you know when/if I find success and what the solution was.
|
|
| Back to top |
|
 |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Tue Jan 28, 2014 8:44 pm Post subject: |
|
|
Unfortunately, some targets can be very stubborn, making it extremely tedious and frustrating to do what we want. What's worse is having an offline, single-player target that was intentionally designed to deter cheaters with anti-cheat systems and anti-debugging techniques, etc.. The good thing is, if we keep at it and keep learning, we can always return to those targets later on to defeat them, if we choose to do so.
Even if you do not solve this particular puzzle, you can still claim victory because it taught you new things so that you can be better-equipped to tackle the next puzzle. Just keep at it and keep learning.
Remember, the structure(s) that CE auto-creates for you may or may not be correct:
1. You can continually shift offsets by 1 byte to find values that may be hidden from you.
2. You can change value type to compare against values that are more or less specific to fine-tune your filtering; after all, the value type that CE shows you may not even be correct.
3. Same as #2, sometimes changing the element of an offset can uncover hidden pointer trees, giving you much more to work with.
4. As you already discovered, the structure base isn't always the end of the line; sometimes comparing a register with a negative offset can prove quite useful.
Good luck.
|
|
| 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
|
|