View previous topic :: View next topic |
Author |
Message |
exploder2013 How do I cheat? Reputation: 0
Joined: 08 Apr 2018 Posts: 2
|
Posted: Sun Apr 08, 2018 1:27 pm Post subject: Cheat Engine Scanning |
|
|
Hello.
I've been recently remaking Cheat Engine in C# for educational purposes, but I've run into the problem that I'm trying to solve.
Basically, I am trying to replicate Cheat Engines value searching function mostly successfully, but I've run into a wall when trying to implement the scan for "Unknown initial value".
In practice what I'm doing is iterating through all memory regions of a process and resolving the type that I'm searching for (for example a float) and saving it to an array of Tuples that contain the base address and the value that was read at the time.
When doing this process for a bigger executable, the issue is that there are so many addresses to go through that I usually reach the limits of a single C# object size and it terminates with an OutOfMemory exception, which usually is above 1.5GBs.
While performing the same process on Cheat Engine, I only get about 500mbs of memory footprint.
So by this, I am assuming that Cheat Engine is using a smarter way to iterate through the memory regions and saving each value read, but since they are all unique I've been struggling to think of a method to achieve it.
One solution I could think of was to create a dictionary with unique keys of each value and just store the memory addresses that have that specific value in the value part of the dictionary, but I'm really unsure whether this could really help in reducing the memory impact my process has.
Could someone explain to me please, how Cheat Engine performs its value scanning for unknown values?
|
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 458
Joined: 09 May 2003 Posts: 25296 Location: The netherlands
|
Posted: Sun Apr 08, 2018 1:34 pm Post subject: |
|
|
CE copies the full content of the game in memory, it doesn't check the type at all until the first next scan, and then it first checks if the memory has been changed or not
_________________
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 |
|
|
exploder2013 How do I cheat? Reputation: 0
Joined: 08 Apr 2018 Posts: 2
|
Posted: Sun Apr 08, 2018 2:35 pm Post subject: |
|
|
Dark Byte wrote: | CE copies the full content of the game in memory, it doesn't check the type at all until the first next scan, and then it first checks if the memory has been changed or not |
It seems that I love to overcomplicate things that could be solved so much simpler. This seems to be the perfect solution.
Thank you.
|
|
Back to top |
|
|
|