Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


What's up with Cheat Engine tutorials?

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
MGGA
Advanced Cheater
Reputation: 2

Joined: 10 Jan 2016
Posts: 54

PostPosted: Wed Jan 20, 2016 7:28 am    Post subject: What's up with Cheat Engine tutorials? Reply with quote

I'm trying to learn to use Cheat Engine from the built-in tutorial thing it has, btw using Cheat Engine 6.4. I have gotten to Step 6 of the tutorial it's trying to teach me about Pointers, but the description in the tutorial isn't very well written or very clear on how to do it properly.


Quote:

Step 6: Pointers:
In the previous step I explained how to use the Code finder to handle changing locations. But that method alone makes it difficult to find the address to set the values you want.
That's why there are pointers:

At the bottom you'll find 2 buttons. One will change the value, and the other changes the value AND the location of the value.
For this step you don't really need to know assembler, but it helps a lot if you do.

First find the address of the value. When you've found it use the function to find out what accesses this address.
Change the value again, and a item will show in the list. Double click that item. (or select and click on more info) and a new window will open with detailed information on what happened when the instruction ran.
If the assembler instruction doesn't have anything between a '[' and ']' then use another item in the list.
If it does it will say what it think will be the value of the pointer you need.
Go back to the main cheat engine window (you can keep this extra info window open if you want, but if you close it, remember what is between the [ and ] ) and do a 4 byte scan in hexadecimal for the value the extra info told you.
When done scanning it may return 1 or a few hundred addresses. Most of the time the address you need will be the smallest one. Now click on manually add and select the pointer checkbox.

The window will change and allow you to type in the address of a pointer and a offset.
Fill in as address the address you just found.
If the assembler instruction has a calculation (e.g: [esi+12]) at the end then type the value in that's at the end. else leave it 0. If it was a more complicated instruction look at the calculation.

example of a more complicated instruction:
[EAX*2+EDX+00000310] eax=4C and edx=00801234.
In this case EDX would be the value the pointer has, and EAX*2+00000310 the offset, so the offset you'd fill in would be 2*4C+00000310=3A8. (this is all in hex, use calc.exe from windows in scientific mode to calculate)

Back to the tutorial, click OK and the address will be added, If all went right the address will show P->xxxxxxx, with xxxxxxx being the address of the value you found. If thats not right, you've done something wrong.
Now, change the value using the pointer you added in 5000 and freeze it. Then click Change pointer, and if all went
right the next button will become visible.


extra:
And you could also use the pointer scanner to find the pointer to this address


A very poorly written tutorial about Pointers and adding a lot of confusing shit in there.

Would someone care to properly explain what this tutorial is trying to get the person to do, because I've read it a hundred times by now, and tried a hundred times but it never gets the results its suppose to get. It shouldn't be this difficult to figure out. Either that the instruction provided in THAT tutorial are incorrect and is not the right way of going about getting pointers, or this tutorial hasn't been updated since the earlier versions and doesn't work with this version of Cheat Engine anymore.


Every attempt I've done at trying to get pointers returns me with false addresses which changes nothing, or I get too many searched addresses to go through and can't filter them out because for some unknown reason.

You got the first value part that you need on the tutorial window, lets say for example the number is 220, I search it up I get the address, and boom! I get over 23456 results, I scan for another number after hitting the button I get 14, gets me 30 results, hit the button again and boom! I got 679, scan for that number and gives me 1 address for that. I do as what it says or suggests in the tutorial to "find out what accesses this address" I get the window for it opened up, it's blank, I hit the "Change value" button again on the tutorial window and it dumps me 5 different things in the list.

from there I take whatever address it's showing me on the Extra Info about one of those 5 addresses there, and search as new with the Hexadecimal value, I get that, then tutorial says to "Add Manually" …okay? I do that, and check that Pointers checkbox as it says, and all the things just display as ?????, the tutorial says to fill in the empty box with the address that I searched. I do that, but after hitting OK button I get ?? as the value.


so something in the tutorial is wrong if it's not doing it the way as it's explained. Everything searched as it's said was suppose to be 4 byte which I did. You need a better written tutorial because it shouldn't be that hard just to find a simple pointer in the tutorial. Even using the automatic Pointer search function is just as confusing as doing it manually, because that overturns far too many results that it should giving me over 2 million addresses to look through, and you can't exactly hit the Change value button and search again because that doesn't work.
Back to top
View user's profile Send private message
Gniarf
Grandmaster Cheater Supreme
Reputation: 43

Joined: 12 Mar 2012
Posts: 1285

PostPosted: Wed Jan 20, 2016 1:41 pm    Post subject: Reply with quote

That step was probably written before the pointerscanner, and the last line was just added afterward. Nowadays this tutor could be summed up as:
Quote:
Step 6: Pointers:
In the previous step I explained how to use the Code finder to handle changing locations. But that method alone makes it difficult to find the address to set the values you want.
That's why there are pointers:

At the bottom you'll find 2 buttons. One will change the value, and the other changes the value AND the location of the value.
For this step you don't really need to know assembler[...].

First find the address of the value. [Then] use the pointer scanner to find the pointer to this address.
When it's done scanning, change the pointer, find the new address of your value, do a rescan in the pointerscanner, and pick one result (doesn't matter which). Change the pointer again and normally the result you selected should "follow" the value to its new location. If not pick another or do a rescan.
It is normal and good to have many results, do not attempt to filter them down to one.

_________________
DO NOT PM me if you want help on making/fixing/using a hack.
Back to top
View user's profile Send private message
Rydian
Grandmaster Cheater Supreme
Reputation: 31

Joined: 17 Sep 2012
Posts: 1358

PostPosted: Wed Jan 20, 2016 5:46 pm    Post subject: Reply with quote

I think it's important to know at least the bare basics of pointers... but yeah for most cases the pointer scanner will get far more than the old manual method (which I tend to describe as outdated because it simply doesn't work in many modern setups).
_________________
Back to top
View user's profile Send private message
Gniarf
Grandmaster Cheater Supreme
Reputation: 43

Joined: 12 Mar 2012
Posts: 1285

PostPosted: Wed Jan 20, 2016 10:54 pm    Post subject: Reply with quote

@Rydian: Indeed telling them that a pointer is an integer that holds the address of another value won't hurt, but on the other hand I don't think they'll need that information until much later, when they start writing their own assembly code (or hack an emulator).

Also @OP: there is a steep bump in difficulty between steps 8 and 9. Steps 1-8 do not require any preliminary knowledge about programming/hacking, step 9 assumes you know how to code in assembly so that's for advanced hackers.

_________________
DO NOT PM me if you want help on making/fixing/using a hack.
Back to top
View user's profile Send private message
MGGA
Advanced Cheater
Reputation: 2

Joined: 10 Jan 2016
Posts: 54

PostPosted: Thu Jan 21, 2016 4:50 am    Post subject: Reply with quote

@Rydian - I do understand some of the basics of pointers though. A better and more updated method of finding those pointers should of been included in the tutorial, but there's not. Someone obviously thought it wasn't necessary even though it doesn't work the way as described in the tutorial.

- - -

@Gniarf - Yes, I expected as much, it did kind of mention it near the beginning of the tutorial steps. I know a fair amount of programming, but I haven't really dabbled in ASM programming before. Yet another first for me to learn something though so I doubt that will stop me.
Back to top
View user's profile Send private message
Rydian
Grandmaster Cheater Supreme
Reputation: 31

Joined: 17 Sep 2012
Posts: 1358

PostPosted: Thu Jan 21, 2016 6:49 am    Post subject: Reply with quote

Manual pointer finding by working backwards through the old ways just doesn't work with a lot of newer games. In fact many newer games don't actually have those types of pointers at all nowadays, what with stuff being more dynamic, or interpreted, or JIT or whatever.

So yeah that step should probably just be replaced with a short guide on why, and the pointer scanner. I personally default to using code edits nowadays because they're more powerful and less of a headache than pointers.

_________________
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
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


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites