View previous topic :: View next topic |
Author |
Message |
Dark Byte Site Admin Reputation: 458
Joined: 09 May 2003 Posts: 25288 Location: The netherlands
|
Posted: Fri Jan 16, 2004 12:47 pm Post subject: What are pointers? |
|
|
Pointers are 4 byte values that hold the the address of a memorylocation instead of a normal value.
That address is used by the game to find out where to store and look for it's data. E.g: 10 bytes after the pointer to the start of the player data is health, 14 bytes after the start of the player data is armor, 18 bytes after the player is ammo etc....
I've drawn a little sketch trying to show how pointers work. (And how to implement them in CE)
Last edited by Dark Byte on Fri Oct 01, 2004 1:55 pm; edited 2 times in total |
|
Back to top |
|
|
emperor Master Cheater Reputation: 0
Joined: 16 May 2003 Posts: 470 Location: Germany
|
Posted: Wed Jan 21, 2004 2:43 pm Post subject: |
|
|
Looks like the solution to all address recalculation problems?
|
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 458
Joined: 09 May 2003 Posts: 25288 Location: The netherlands
|
Posted: Thu Jan 22, 2004 2:33 am Post subject: |
|
|
Not always...
They will propably not work or are extremely hard to find when the program uses a pointer list and finds the needed pointer by querying the class what it is. (I believe IExplore does that)
But most of the times this will solve the recalculate problem yes. (And also works in trainers you make with CE)
Oh yes,the last step of the tutorial is a pointer tutorial
|
|
Back to top |
|
|
emperor Master Cheater Reputation: 0
Joined: 16 May 2003 Posts: 470 Location: Germany
|
Posted: Thu Jan 22, 2004 9:58 am Post subject: |
|
|
You already wrote the tutorial changes in the changelog so that's no news to me. Oh yeah there's a small typo ...you wrote "evrything" . .
edit: And it's "which" and not "wich".
edit: I didn't understand everything in the tut because...well somehow CE didn't act like the tut said it would...and suddendly without having followed the last steps CE freezes but magically the next button becomes available. Maybe I'm 2 1337 for the tut? (j/k)
|
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 458
Joined: 09 May 2003 Posts: 25288 Location: The netherlands
|
Posted: Thu Jan 22, 2004 3:34 pm Post subject: |
|
|
You did it right.
When pressing that button the tutorial changes the address where it stores the value, and then set a random value between 0 and 1000 at the new location. It then waits for 3 seconds (and tries to update the screen with a timer) and checks if the new value is 5000
You would never be able to find and change that value to 5000 in those 3 seconds without using pointers.
So, you did find the pointer to the address, and did freeze it to 5000
Also, that part of the tutorial doesn't require you to follow all steps. The rest is just me trying to explain why it worked, and that this value is actually pointed to by a pointer to a pointer, but that it isn't necesary to find the 2nd one (actually the first one) for the tutorial to let you go. (you managed to cheat on it , and thats what counts)
And about the tutorial not being exactly what it should be is because I changed a few things on the pointer part after writing the tutorial. (especially the part where you type in the pointer info)
|
|
Back to top |
|
|
emperor. Guest
|
Posted: Fri Jan 23, 2004 10:47 am Post subject: |
|
|
I see...i thought it was weird that although there are steps left CE seemed to have completely frozen and i was unable to do a thing.
|
|
Back to top |
|
|
Yugo_Prowers Newbie cheater Reputation: 0
Joined: 08 May 2004 Posts: 10 Location: U.S.A.
|
Posted: Sat May 08, 2004 12:38 pm Post subject: ??? |
|
|
Ok so this is what keeps changing the addresses I get that part. But I still don't think I get how to find them... Also what do you change the value to when you find them?
|
|
Back to top |
|
|
emperor Master Cheater Reputation: 0
Joined: 16 May 2003 Posts: 470 Location: Germany
|
Posted: Sat May 08, 2004 5:30 pm Post subject: |
|
|
Somehow i think the second you add them they'll be replaced with useless code...
this should for example be able to stop a game from reducing your health ...i think..
|
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 458
Joined: 09 May 2003 Posts: 25288 Location: The netherlands
|
Posted: Sat May 08, 2004 6:31 pm Post subject: |
|
|
I think you're thinking about the option to replace code with code that does nothing.
When you add a pointer it will use the values you enter to calculate the address of the variable you want.
Because it is continuesly calculating the address it should always point to the right address, even if the address changes during play. (or when you restart the game)
Also, when adding a pointer you'll have to read from the bottom to top
first the first pointer address
that address contains a 4 byte value pointing to a address.
The following offset tells ce with how much ce must increase that value to get to the new address. (You can add even a pointer to a pointer to a ..... , till you're out of memory, or your cpu stops responding)
Check out some of the tables I've put up (Assuming you've got those games) There's some information telling you what it reads and what the final address will be. (clicking on change address)
|
|
Back to top |
|
|
Yugo_Prowers Newbie cheater Reputation: 0
Joined: 08 May 2004 Posts: 10 Location: U.S.A.
|
Posted: Sun May 09, 2004 4:48 am Post subject: Very happy cheater... |
|
|
Cool I just tried it and it worked thanks alot guys...
|
|
Back to top |
|
|
emperor Master Cheater Reputation: 0
Joined: 16 May 2003 Posts: 470 Location: Germany
|
Posted: Wed Oct 06, 2004 2:23 pm Post subject: |
|
|
Question~ If there is something like [EDX+EDI*4],eax then in the [] there are quiet a lot of things, so...what would be the offset? EDI*4? If yes then it's just the game's fault...if it's my fault please tell me what to enter.
|
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 458
Joined: 09 May 2003 Posts: 25288 Location: The netherlands
|
Posted: Wed Oct 06, 2004 3:57 pm Post subject: |
|
|
the pointer will propably be edx
the offset will propably be edi*4
for example if it's a record or array where each element has 4 bytes:
pointer to record=00801000 (so in this case edx)
to access the first element in this record (or array) give edi=0 so it return
00801000+0*4=00801000
to access the 2nd element give edi=1:
00801000+1*4=00801004
and the 12th will be
00801000+0c*4=00801030
---
This method can be used in games where money (or someother things) of each player is actually stored in the same array.
money[0] , money[1],money[2],money[3] (for a 4 player array)
_________________
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
Last edited by Dark Byte on Sat Oct 23, 2004 8:10 am; edited 1 time in total |
|
Back to top |
|
|
Snow1337 Catastrophic Cheatah Reputation: 1
Joined: 12 Oct 2004 Posts: 183 Location: Your, Computer
|
Posted: Fri Oct 22, 2004 5:24 pm Post subject: |
|
|
Very nice explanation of pointers.
_________________
|
|
Back to top |
|
|
me Grandmaster Cheater Reputation: 2
Joined: 24 Jun 2004 Posts: 733 Location: location location
|
Posted: Sat Oct 23, 2004 2:22 am Post subject: |
|
|
and the 12th will be
00801000+0c*4=008010c0 ??????
is it 00801000+0c*4=00801030
just wondered if I got it wrong or you made a typo
my brain hurts sometimes
|
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 458
Joined: 09 May 2003 Posts: 25288 Location: The netherlands
|
Posted: Sat Oct 23, 2004 8:11 am Post subject: |
|
|
yes, it should be 00801030
no idea why I made it c0
_________________
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 |
|
|
|