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 


Multiple Dynamic Addresses?

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
Nomad
How do I cheat?
Reputation: 0

Joined: 25 May 2006
Posts: 7

PostPosted: Thu May 25, 2006 2:52 am    Post subject: Multiple Dynamic Addresses? Reply with quote

I am attempting to find the static address which controls the current amount of health on a character. I do a scan in 4 bytes for the exact amount of health I have. Then I change my health by removing an item which adds to health and do the next scan for the new amount of health.

Now there are 3 addresses shown, and no matter how much I change my health, all 3 of them change to the same value. If I leave the game and come back these addresses are different though (usually), but I always have 3 with the same value.

I've tried the injected scanner to try and find pointers, but have never found anything with it. I've tried it the manual way as instructed in the forums here, but I never find anything when I search for the probable pointer from any of the 3 dynamic addresses, unless I search in 2 bytes. When I search in 2 bytes I get anywhere from 50-100 addresses with no way of knowing how to reduce the number of occurances.

I assume that this game is using Dynamic Memory Allocation. So, how would I get a static address in this situation? I do not want to write to any of the addresses, as this is likely not possible on the client side for this game. I only need to read the addresses so that a program I am writing can use memory reading functions to get the values from these addresses and take the actions necessary at the given time.

Explain in NOOB terms if you can, since I am a NOOB when it comes to using this engine. I did not see any posts on this situation, and I searched for hours.

Thanks for any assistance,

Nomad
Back to top
View user's profile Send private message Visit poster's website
Turtle
Advanced Cheater
Reputation: 7

Joined: 25 Jul 2004
Posts: 85

PostPosted: Thu May 25, 2006 9:32 pm    Post subject: Reply with quote

Have you tried the pointer scanner in the latest compile? I think that May 7th is the latest one, and I think there are some improvements to the pointer scanner. http://www.cheatengine.org/weeklycompile/

For the structure size I think you can leave it as 1024, for "max level" try 3 or 4, if that doesn't work try 5 or more.

A "max level" of 1 or 2 might not be enough sometimes.
Back to top
View user's profile Send private message
Nomad
How do I cheat?
Reputation: 0

Joined: 25 May 2006
Posts: 7

PostPosted: Thu May 25, 2006 10:16 pm    Post subject: Reply with quote

Turtle wrote:
Have you tried the pointer scanner in the latest compile? I think that May 7th is the latest one, and I think there are some improvements to the pointer scanner. http://www.cheatengine.org/weeklycompile/

For the structure size I think you can leave it as 1024, for "max level" try 3 or 4, if that doesn't work try 5 or more.

A "max level" of 1 or 2 might not be enough sometimes.


I downloaded Cheat Engine 3 days ago from www.cheatengine.org. Is this not the most up to date compile, or do I need the compile at the link you posted?

Anyway, here is a screenshot that might help anyone to see what the situation is:



1) These 3 addresses all change value together and are always equal, so there is no way to eliminate any more by cross-checking the value. The address also changes for them each time I leave the game and come back, or make a new game.

2) This is what writes to Dynamic Addy 1. Out of all of the addresses I have checked, addresses that are very close to Dynamic Addy 1 and 2 are always writtin to by this address. Addresses that are very close to Dynamic Addy 3 are always written to by 6fd5c959 and also has [eax + 04]. (When I say "very close" I mean that the addresses are nearly identical, they always start and end with the same values eg.. Dynamic Addy 1 always starts with 041 and ends with 02D)

Also, I'm curious if there is some way to locate or monitor 6fd5b024 or 6fd5c959 since these are always the addresses which write to the Dynamic Addresses?

3) This is the Probable Pointer for Dynamic Addy 1 in Hex format.

4) When I search for it in Hex format with the Hex box checked, or in Decimal format without the box checked, I get nothing when searching in 4 bytes. I get 50-100 found if I search in 2 bytes. (I know the value in the pic is in hex format without the hex box checked, it was merely placed there like that for instructional purposes)


This is where I keep hitting the wall. I've also tried it Zhoul's way, located here:

http://forum.cheatengine.org/viewtopic.php?p=27398#27398

But I think the game has some security measures or something that detect when something has attached itself to it's processes. A lot of the functions on Cheat Engine make the game instantly close. The game also cannot be paused and stepped through, as Zhoul demonstrated. It automatically closes when it hits the breakpoint.

I only need a static address which will give me the correct value of the health everytime, so I can read the address from a program I have written. The program already uses pixel recognition to monitor the health, but I want a more concrete method of getting this value. Thanks for any help.

Nomad
Back to top
View user's profile Send private message Visit poster's website
Nomad
How do I cheat?
Reputation: 0

Joined: 25 May 2006
Posts: 7

PostPosted: Fri May 26, 2006 11:14 pm    Post subject: Reply with quote

So I guess that nobody has any suggestions of any kind?

I've been using SoftIce on the game with a little more success.
(As far as the game not locking up or closing)

Any ideas or suggestions to try will be greatly appreciated.
I don't know much about Assembly Language Programming,
but am catching on quick.
Back to top
View user's profile Send private message Visit poster's website
Dark Byte
Site Admin
Reputation: 470

Joined: 09 May 2003
Posts: 25812
Location: The netherlands

PostPosted: Sat May 27, 2006 3:17 am    Post subject: Reply with quote

assuming that piece of code is used by only your own player and not the others: (otherwise find a different one, e.g one that displays the value to you)

try a autoassemble script at 6fd5b024 (or whatever address it becomes, use the modulename+offsetm,ethod to pinpoint it in a script)

allocate 4bytes of memory, use registeraddress on that allocated memory so you can ue it in cheat tables, and at 6fd5b024 do a code cave that saves the value of eax+4 to your allocated memory

you can then use the registered address as a pointer with offset 0 and it'll point to the address you want.

Check out the autoassembler tutorial subsection in ce tutorials

_________________
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
View user's profile Send private message MSN Messenger
Nomad
How do I cheat?
Reputation: 0

Joined: 25 May 2006
Posts: 7

PostPosted: Sun May 28, 2006 7:39 am    Post subject: Reply with quote

Thanks for the tip, I appreciate the attempt at trying to help.

This idea will not work for me because any manipulation of the game code will be detected
by battle.net. This means that anyone who uses my program if I do this will end up
getting their cd-key banned. I have been using Ollydbg with a lot of success in finding
pointers. However the pointers themself are dynamic in this game from what I have found
so far.

Example:

MOV EAX,DWORD PTR SS:[ESP+4]

Then if you go to this address there will be a pointer there with a similar expression.
There has to be a logical pattern which will allow me to identify and follow the pointers as
they move within the program, I just have to figure it out. I have no problem getting
the current life while I'm in the game, the trick is to get it to repeat no matter what when
I leave the game and come back. Wink
All the character information is stored on the game server and sent to the game when you
log on, but there has to be a static receiving address or something to receive the
information. At least I would think so.

I'll post back when I've made some progress.

Thanks again,

Nomad
Back to top
View user's profile Send private message Visit poster's website
Dark Byte
Site Admin
Reputation: 470

Joined: 09 May 2003
Posts: 25812
Location: The netherlands

PostPosted: Sun May 28, 2006 8:29 am    Post subject: Reply with quote

try hooking recv
_________________
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
View user's profile Send private message MSN Messenger
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