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 


Suggestion: Pointer Scan Filtering
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
Rydian
Grandmaster Cheater Supreme
Reputation: 31

Joined: 17 Sep 2012
Posts: 1358

PostPosted: Tue Nov 06, 2012 1:18 pm    Post subject: Suggestion: Pointer Scan Filtering Reply with quote

Could it be possible to filter pointer scan results (after a (re)scan is done)? Sometimes the final offset for a multi-level pointer is obvious (shows up in the "what writes to" logger), so being able to filter out results that don't have that offset as the last one would make finding the right pointer path easier.

In addition, sometimes the base value is known, but not the offsets, so sorting by base would be good too (in addition to certain offsets).

Or, at the very least, sort the individual columns so we can find ones involving certain offsets easier?
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 470

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

PostPosted: Tue Nov 06, 2012 1:51 pm    Post subject: Reply with quote

check the checkbox "Must end with offsets" and fill in the offsets it should end with

base pointer must be in range... is supposed to filter that but I heard it'snot working

And I may add sorting of individual columns but understand that it will take a LOOONG time.
The time it takes to do one full rescan, multiplied by the number of pointers in the list
So, if it takes 1 minute for a rescan, and you have 2 million addresses, it will take 2 million minutes, roughly 3.8 years

_________________
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
Rydian
Grandmaster Cheater Supreme
Reputation: 31

Joined: 17 Sep 2012
Posts: 1358

PostPosted: Tue Nov 06, 2012 2:57 pm    Post subject: Reply with quote

I'm talking about sorting via columns like you would in an excel spreadsheet or something, clicking the headers to sort ascending/descending. The current form doesn't do that (at least not in 6.2).
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 470

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

PostPosted: Tue Nov 06, 2012 3:34 pm    Post subject: Reply with quote

Yes, that's what i'm talking about. Sorting the offsets will take a few years to finish
_________________
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
mgr.inz.Player
I post too much
Reputation: 222

Joined: 07 Nov 2008
Posts: 4438
Location: W kraju nad Wisla. UTC+01:00

PostPosted: Tue Nov 06, 2012 4:02 pm    Post subject: Reply with quote

OK, but sometimes we get only 200 pointers and rescan takes 0.1 seconds.
We can add sort option if there is maximum 200 pointers. It should take only 20 seconds.


Edit:
can we sort those pointers without rescanning?

Like this:
1) export all 1000'000 pointers to txt file

this format per line (e.g. for level 4):
module+offset, offset0, offset1, offset2, offset3


All offsets have fixed length; offset A should be 00A, if we are using "maximum offset value: 2048"

modulename+00000000,000,000,000,000

So it take 37bytes per line, file should have 37'000'000 bytes

2) we can sort lines inside this file with "sort" tool from "GNU Coreutils"

3) we can use "grep" from "GNU Coreutils" to cut all not needed offsets patterns (e.g. we don't want 123,456,123)
or to get only pointers with 123,456,123 in the middle.

4) import txt file and convert it back to PTR file.

_________________
Back to top
View user's profile Send private message MSN Messenger
jgoemat
Master Cheater
Reputation: 23

Joined: 25 Sep 2011
Posts: 264

PostPosted: Wed Nov 07, 2012 1:15 am    Post subject: Reply with quote

I'd like to be able to set the base address for each scan. Sometimes there's a static pointer I know from another scan, but sometimes I'd like to use a pointer I found with other methods. For instance Cargo Commander is JITcompiled and there isn't really a static pointer I can go back to but I can find one changing base pointer that has many other pointers in it.

Also XCOM has one array of about 400 structure pointers, I can find that relatively easy or by using a static pointer but by that time it is already 3 levels deep from the static base with many other results pointing to the same thing from other static bases or from other offsets than I use. If I could start with the static I know and only use 2-3 levels from there it would be very fast and more accurate.

Thanks!
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 470

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

PostPosted: Wed Nov 07, 2012 3:55 am    Post subject: Reply with quote

For that use the structure spider (that is basically a pointerscanner where it starts from the base address instead of the target)

In the base region enter the static address. (or better the address the static address points to, since it always does a structsize check from the base given)
Leave the compare to region empty if you don't care about that

Then tick "Pointer must be in range" and fill in twice the exact address

It will then scan and return all the paths to the specific pointer address

(Rescan can be a bit buggy though, I'll need to fix that)

_________________
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
mgr.inz.Player
I post too much
Reputation: 222

Joined: 07 Nov 2008
Posts: 4438
Location: W kraju nad Wisla. UTC+01:00

PostPosted: Wed Nov 07, 2012 3:26 pm    Post subject: Reply with quote

@Dark Byte,
So, the "exporting and importing pointers txt files" idea isn't such great? (fifth post)

_________________
Back to top
View user's profile Send private message MSN Messenger
Dark Byte
Site Admin
Reputation: 470

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

PostPosted: Wed Nov 07, 2012 8:19 pm    Post subject: Reply with quote

I don't think so.
First going through the whole list converting every offset to a string and write that to a textfile will already take a considerable amount of time

And then sorting using a secondary sorter will take about the same time as previously mentioned if I did it inside ce itself, with the added overhead of parsing the wanted column strings from a line, and converting that to an integer and then compare if it's bigger then a previous line

It's better to keep it binary for best efficiency

_________________
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
Csimbi
I post too much
Reputation: 97

Joined: 14 Jul 2007
Posts: 3325

PostPosted: Wed Nov 07, 2012 8:42 pm    Post subject: Reply with quote

mgr.inz.Player wrote:
We can add sort option if there is maximum 200 pointers. It should take only 20 seconds.
...
2) we can sort lines inside this file with "sort" tool from "GNU Coreutils"


20 seconds for 200 pointers sounds VERY slow (qsort is your friend), especially when threaded; you're comparing integers, not strings.

No need to install anything. In windows command line you can use this on text files:
Code:
sort < infile > outfile

It's buffered, so it should yield fairly decent speeds.

As a last resort, I could add sorting to the pointer filter I posted earlier (it reads through all pointers anyway) - though it would be still limited. Anyway, I'd prefer sorting on the UI.
If someone's dumb enough to attempt sorting them when there are 200+ entries, they deserve to wait.
Back to top
View user's profile Send private message
mgr.inz.Player
I post too much
Reputation: 222

Joined: 07 Nov 2008
Posts: 4438
Location: W kraju nad Wisla. UTC+01:00

PostPosted: Wed Nov 07, 2012 9:09 pm    Post subject: Reply with quote

Quote:
And then sorting using a secondary sorter will take about the same time

On my PC 230MB txt file with 6'006'216 lines is sorted within 1minute and 40 seconds.

One line with 4level pointer has 37bytes
230MB txt file with 6'006'216 lines -> about 38 bytes per line


1minute 40seconds versus 6 million minutes (11,3 years) Shocked



@Csimbi, sort from win or sort from unix. Both work fast.
I'm using GNU because of other tools: grep, sed, gawk, bash, xargs,...

_________________
Back to top
View user's profile Send private message MSN Messenger
Rydian
Grandmaster Cheater Supreme
Reputation: 31

Joined: 17 Sep 2012
Posts: 1358

PostPosted: Wed Nov 07, 2012 10:53 pm    Post subject: Reply with quote

Dark Byte wrote:
Yes, that's what i'm talking about. Sorting the offsets will take a few years to finish
Well I'm not meaning this for when the offsets go off the visible spectrum (as looking through them manually isn't an option then anyways), it'd be used when the results are within a human-sortable range, like mgr said ~200 or less.
Back to top
View user's profile Send private message
Csimbi
I post too much
Reputation: 97

Joined: 14 Jul 2007
Posts: 3325

PostPosted: Wed Nov 07, 2012 11:18 pm    Post subject: Reply with quote

mgr.inz.Player wrote:
1minute 40seconds versus 6 million minutes (11,3 years) Shocked
...
@Csimbi, sort from win or sort from unix. Both work fast.
I'm using GNU because of other tools: grep, sed, gawk, bash, xargs,...

Is that an SSD drive or a regular HDD?
Imagine how fast it would be if all that was done in the memory.
...
Makes sense, I am merely pointing out that just to use sort there is no need to install those.
Back to top
View user's profile Send private message
mgr.inz.Player
I post too much
Reputation: 222

Joined: 07 Nov 2008
Posts: 4438
Location: W kraju nad Wisla. UTC+01:00

PostPosted: Thu Nov 08, 2012 8:03 am    Post subject: Reply with quote

Csimbi wrote:
Is that an SSD drive or a regular HDD?

Regular SATA Hdd.

Csimbi wrote:
Imagine how fast it would be if all that was done in the memory.

Probably. But, exporting to txt file could be handy not only for sorting.
We can use txt files with other tools like grep gawk etc..

_________________
Back to top
View user's profile Send private message MSN Messenger
creamlapine
How do I cheat?
Reputation: 0

Joined: 05 Jan 2017
Posts: 1

PostPosted: Thu Jan 05, 2017 12:10 pm    Post subject: Filtering Results Reply with quote

Would it be possible to filter the results of a pointer scan to a specific application(s)? Like the specific game you are playing. Cause I get a lot of useless results from Adobe Air.
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
Goto page 1, 2  Next
Page 1 of 2

 
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