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 


Help with "groups of data"

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

Joined: 22 May 2015
Posts: 5

PostPosted: Fri May 22, 2015 10:03 am    Post subject: Help with "groups of data" Reply with quote

I am not sure how to ask what I need, and I am not even sure where to start looking for it, and my english is not good at all, so I will do my best to describe my problem.

I am looking for methods of finding "groups of data". If Im looking for a player position, I find it quite quick, and after 5-10 restarts and pointer scans, I have valid pointer for it. Lets say I am looking for "stuff to shoot at". I have list of 10 valid targets, and I want to find the position of all of them. By really weird ways, painfully and slowly I find the position of one of the objects in the group. But I have no idea how to list the complete set of objects.

Ofcourse, sometimes I get lucky. Everything in array, one after another in the memory. But sometimes its not. And becouse I need to know, what object is closer, so I can aim at it... I need to list all objects in this group of data.

I know it all differs from one to another, but can you tell me , what to look for? At least some basics, for finding the whole group, if I have the location of only one object?

(The example with position is totally hypothetical, please dont ask me for the game, Im looking for information so I can learn to do it myself, instead of someone to it for me every time)
Back to top
View user's profile Send private message
aikoncwd
Grandmaster Cheater
Reputation: 23

Joined: 21 Dec 2012
Posts: 591
Location: Spain (Barcelona)

PostPosted: Fri May 22, 2015 10:22 am    Post subject: Re: Help with "groups of data" Reply with quote

leningrad wrote:
I am not sure how to ask what I need, and I am not even sure where to start looking for it, and my english is not good at all, so I will do my best to describe my problem.

I am looking for methods of finding "groups of data". If Im looking for a player position, I find it quite quick, and after 5-10 restarts and pointer scans, I have valid pointer for it. Lets say I am looking for "stuff to shoot at". I have list of 10 valid targets, and I want to find the position of all of them. By really weird ways, painfully and slowly I find the position of one of the objects in the group. But I have no idea how to list the complete set of objects.

Ofcourse, sometimes I get lucky. Everything in array, one after another in the memory. But sometimes its not. And becouse I need to know, what object is closer, so I can aim at it... I need to list all objects in this group of data.

I know it all differs from one to another, but can you tell me , what to look for? At least some basics, for finding the whole group, if I have the location of only one object?

(The example with position is totally hypothetical, please dont ask me for the game, Im looking for information so I can learn to do it myself, instead of someone to it for me every time)


As you said, it's depend on the game and how developers coded their game...

But, 90% of the games, you only need to "see what addresses access this address" to get that "gorup of data". Imagine the next scenario...

You have a game with 5 enemies, every enemy will be a copy (a instance) of the same structure (enemy structure player). You need to find the health for one enemy, then "see what addresses access this address" and you will find a opcode that access every HP of every address for the same structure (enemy structure). Then you only need to code a Auto-Assemble script to dump every address for that opcode (sharedcode).

It's more easy to show a real example than trying to explain this here, haha.

_________________
Hey Hitler
Test here your skill with CheatEngine, I coded a challenge for you. Try to beat it!
HERE
Back to top
View user's profile Send private message
leningrad
How do I cheat?
Reputation: 0

Joined: 22 May 2015
Posts: 5

PostPosted: Fri May 22, 2015 10:56 am    Post subject: Re: Help with "groups of data" Reply with quote

AikonCWD wrote:
leningrad wrote:
I am not sure how to ask what I need, and I am not even sure where to start looking for it, and my english is not good at all, so I will do my best to describe my problem.

I am looking for methods of finding "groups of data". If Im looking for a player position, I find it quite quick, and after 5-10 restarts and pointer scans, I have valid pointer for it. Lets say I am looking for "stuff to shoot at". I have list of 10 valid targets, and I want to find the position of all of them. By really weird ways, painfully and slowly I find the position of one of the objects in the group. But I have no idea how to list the complete set of objects.

Ofcourse, sometimes I get lucky. Everything in array, one after another in the memory. But sometimes its not. And becouse I need to know, what object is closer, so I can aim at it... I need to list all objects in this group of data.

I know it all differs from one to another, but can you tell me , what to look for? At least some basics, for finding the whole group, if I have the location of only one object?

(The example with position is totally hypothetical, please dont ask me for the game, Im looking for information so I can learn to do it myself, instead of someone to it for me every time)


As you said, it's depend on the game and how developers coded their game...

But, 90% of the games, you only need to "see what addresses access this address" to get that "gorup of data". Imagine the next scenario...

You have a game with 5 enemies, every enemy will be a copy (a instance) of the same structure (enemy structure player). You need to find the health for one enemy, then "see what addresses access this address" and you will find a opcode that access every HP of every address for the same structure (enemy structure). Then you only need to code a Auto-Assemble script to dump every address for that opcode (sharedcode).

It's more easy to show a real example than trying to explain this here, haha.


Will this work, if I have 3 groups, like red enemy players, green enemy players, blue enemy players. And when I find the address of red player, I need to link all red players. Like pointer to >>> Group of red players. I will have 3 lists, I want the entries from the red list only, and if I know more of the structure of the red list, it will be good, like how many elements the red list have.

And if you know a way, without attaching debuger or writing a script, just by looking for something...
Back to top
View user's profile Send private message
vng21092
Grandmaster Cheater
Reputation: 15

Joined: 05 Apr 2013
Posts: 644

PostPosted: Fri May 22, 2015 2:49 pm    Post subject: Reply with quote

dissect data structures between the three groups, say grab 2 objects from each and compare them, maybe you could find some sort of filter.
Back to top
View user's profile Send private message
leningrad
How do I cheat?
Reputation: 0

Joined: 22 May 2015
Posts: 5

PostPosted: Mon May 25, 2015 3:07 am    Post subject: Reply with quote

vng21092 wrote:
dissect data structures between the three groups, say grab 2 objects from each and compare them, maybe you could find some sort of filter.


As I said, I can verry, verry, verry hard find one object. Basicly anyone , but one at a time. Without debuggind, just by that memory segment of that object, I want to look for others.

Should I look for pointer for the parrent?
Or look for pointer for the next object?
Or for pointer for previous object?

Usually, I manage to find all items, if I have something like:
Array[20]. I find Array[x], go back find the start of the array, and obtain a pointer for it. Then my list of object is the pointer +size*1 , the pointer +size*2, the pointer + size*3.

Sometimes, I find groups of data, that are not like that. I find Data[X], and there is nothing around it. Not even a slightest clue, what to look for in the memory. If I can find Data[x], Data[y] , Data[z], it might be helpful, but I cant. One object of the group is all I have.

I dissected the structure like you suggested, pointers, ints, floats. What to do with them now?
Back to top
View user's profile Send private message
vng21092
Grandmaster Cheater
Reputation: 15

Joined: 05 Apr 2013
Posts: 644

PostPosted: Mon May 25, 2015 9:24 am    Post subject: Reply with quote

look for a filter, you don't need to attach the debugger to dissect a data structure. C.E Tutorial 9 covers this I believe.
Back to top
View user's profile Send private message
leningrad
How do I cheat?
Reputation: 0

Joined: 22 May 2015
Posts: 5

PostPosted: Tue May 26, 2015 2:50 am    Post subject: Reply with quote

vng21092 wrote:
look for a filter, you don't need to attach the debugger to dissect a data structure. C.E Tutorial 9 covers this I believe.


Thank you for trying to help, but I am not sure I am explaining my problem well. I said few times that I can find only one object of specific structure, for one running of the game. And there are many different groups.

ListA, ListB, ListC... ListX.

I have one object at XXXXXXX, found by PAINFUL SLOW SCANNING FOR value at XXXXXXX+XX.

Now, EVERYTHING I HAVE, and I can use is the object at XXXXXXXX, disecting it I get pointer, pointer, pointer ..... float float float.....int int int.... then more pointers, If I print this I will need alot paper.

I have 9999999999999999999999 such objects , scattered and separated in groups.

There wont be one ListAllObjects, that will have groupId:x, for determinating who belongs where.

As for tutorial 9, I dont have different items for comparison, and even If I had, the differences will be ALOT. And even If I check the differences one by one, (again wont find groupId), I will not know that I found what Im looking for, becouse I have no idea whatsoever what it is.
Back to top
View user's profile Send private message
vng21092
Grandmaster Cheater
Reputation: 15

Joined: 05 Apr 2013
Posts: 644

PostPosted: Tue May 26, 2015 8:20 am    Post subject: Reply with quote

sorry to say but, TECHNICALLY it's impossible to have only ONE object to work with if the game includes multiple objects. If you can find yourself, why can't you find objects on opposing teams? If you don't mind me asking, whats the game in question?
Back to top
View user's profile Send private message
leningrad
How do I cheat?
Reputation: 0

Joined: 22 May 2015
Posts: 5

PostPosted: Tue May 26, 2015 9:00 am    Post subject: Reply with quote

vng21092 wrote:
sorry to say but, TECHNICALLY it's impossible to have only ONE object to work with if the game includes multiple objects. If you can find yourself, why can't you find objects on opposing teams? If you don't mind me asking, whats the game in question?


The game is irrelevant. I can have one object and thats it.
Why isnt important, its the way the situation is.

Now what can you recommend?
Back to top
View user's profile Send private message
vng21092
Grandmaster Cheater
Reputation: 15

Joined: 05 Apr 2013
Posts: 644

PostPosted: Tue May 26, 2015 10:28 am    Post subject: Reply with quote

nothing I'm afraid Confused I mean if you have only one object to play with, how will you be able to tell the difference between you and others without comparing? You really can't, sorry bud.
Back to top
View user's profile Send private message
Rissorr
Master Cheater
Reputation: 3

Joined: 17 Sep 2013
Posts: 273
Location: Israel!

PostPosted: Mon Jun 01, 2015 4:45 pm    Post subject: Reply with quote

I hope i understand what you mean,
in your situation i would recommend you to search for a different OPCODE, for example:

lets say you have 3 groups of objects:
1. you
2. enemies
3. npc's

and you can see that all the three groups using a shared code:
example: mov [eax+04],ebx

now you try to find the "filter" (as vng21092 said),
but you cant, because the group "you" have only 1 object!

so i suggest:
you need to look what accesses the "you" object
and find an unique opcode which only accesses "you" object.

This method usually works, and its not so hard so try it!
Back to top
View user's profile Send private message
vng21092
Grandmaster Cheater
Reputation: 15

Joined: 05 Apr 2013
Posts: 644

PostPosted: Mon Jun 01, 2015 9:25 pm    Post subject: Reply with quote

leningrad wrote:
Without debuggind, just by that memory segment of that object, I want to look for others.
leningrad wrote:
And if you know a way, without attaching debuger or writing a script, just by looking for something...
DogeMan wrote:
so i suggest:
you need to look what accesses the "you" object
and find an unique opcode which only accesses "you" object.

This method usually works, and its not so hard so try it!
can't see how that's gonna work out Rolling Eyes
Back to top
View user's profile Send private message
Rissorr
Master Cheater
Reputation: 3

Joined: 17 Sep 2013
Posts: 273
Location: Israel!

PostPosted: Fri Jun 05, 2015 8:07 am    Post subject: Reply with quote

What is the problem with the debugger?
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking 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