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 


MEMORY.TMP

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General programming
View previous topic :: View next topic  
Author Message
iPromise
Grandmaster Cheater
Reputation: -1

Joined: 27 Jun 2009
Posts: 529
Location: Canada

PostPosted: Thu May 12, 2011 10:37 am    Post subject: MEMORY.TMP Reply with quote

I noticed that CE writes to a disc file for its scans. I was testing CE and its how it preformed its unknown initial value scans. It preformed them simularly to mine, I write to a disc file to record my results and then I check those results to see if any values have changed. (Check out my other topic to get a further elaboration on how I do my UIV scans and what my problem is).

I attached CE to itself, and did a UIV scan, CE recorded more than 23,000,000+ results in just half a second. How? How does CE do that, how does CE write to the buffer so fast? My problem is that the buffer becomes too big and records to much results.

I am trying to read the source code but I don't undestand delphi so i'm having trouble there.

Please, any help on how it writes that fast can fix my problems so I can finally release a final good copy of my memory engine.
Back to top
View user's profile Send private message MSN Messenger
Krähne
Expert Cheater
Reputation: 0

Joined: 06 Jun 2010
Posts: 108
Location: Inside of my Kernel

PostPosted: Thu May 12, 2011 11:57 am    Post subject: Reply with quote

Why did you not make it virtual?... i mean, without the temp file.

I guess, in the virtual memory would be more faster. (by the garbage collector (?)).

_________________
Excuse me if you don't understand what I just said, but "english" isn't my native language.
Back to top
View user's profile Send private message MSN Messenger
NoMercy
Master Cheater
Reputation: 1

Joined: 09 Feb 2009
Posts: 289

PostPosted: Thu May 12, 2011 12:35 pm    Post subject: Reply with quote

DaasCook wrote:
Why did you not make it virtual?... i mean, without the temp file.

I guess, in the virtual memory would be more faster. (by the garbage collector (?)).


The array will be huge = lags.
Back to top
View user's profile Send private message
Krähne
Expert Cheater
Reputation: 0

Joined: 06 Jun 2010
Posts: 108
Location: Inside of my Kernel

PostPosted: Thu May 12, 2011 2:02 pm    Post subject: Reply with quote

NoMercy wrote:
DaasCook wrote:
Why did you not make it virtual?... i mean, without the temp file.

I guess, in the virtual memory would be more faster. (by the garbage collector (?)).


The array will be huge = lags.


If do the job with multithreading?

_________________
Excuse me if you don't understand what I just said, but "english" isn't my native language.
Back to top
View user's profile Send private message MSN Messenger
Dark Byte
Site Admin
Reputation: 471

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

PostPosted: Thu May 12, 2011 3:20 pm    Post subject: Reply with quote

Ce doesn't write the memory to disk immediately, it first copies the target process's memory to it's own region, and then returns control to the user telling it's done.

Then it starts a low priority thread that saves that memory to disk so it can be used with "same as first scan" later on.
The user then goes to the game and does stuff, and then comes back and does a next scan. That will then increase the priority of the saving thread, wait for it, and then does the next scan (and usually the time between the first scan and next scan is long enough to not get noticed, except on a few slower systems)

(In short, I cheat! The scan isn't really complete when it's done, but it's done enough as in, the memory changes won't make an effect)

Also, ce doesn't save it as address1-memory1, address2-memory2, but as:
address-size
address-size

and another file containing the raw copy of the memory
It's best to write a few big chunks instead of a million small chunks

_________________
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
iPromise
Grandmaster Cheater
Reputation: -1

Joined: 27 Jun 2009
Posts: 529
Location: Canada

PostPosted: Fri May 13, 2011 10:45 am    Post subject: Reply with quote

Quote:

Also, ce doesn't save it as address1-memory1, address2-memory2, but as:
address-size
address-size

and another file containing the raw copy of the memory
It's best to write a few big chunks instead of a million small chunks


So if CE was handling address 0x00400000, and the 4 byte value was 1 CE wouldn't write the information to MEMORY.TMP as:

00400000 1

But rather

00400000 + sizeof ( DWORD ) // 4

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

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

PostPosted: Fri May 13, 2011 12:01 pm    Post subject: Reply with quote

Memory.tmp would just hold a direct copy of the target process's memory and wouldn't even know what type was used. Only for next scan

addresses.tmp holds the description of the memory regions so a next scan can read through the memory file and if it encounters something, use addresses.tmp to look up what the virtual address for it is

_________________
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 -> General programming 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