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 


ReadProcessMemory C++

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

Joined: 01 Nov 2013
Posts: 9

PostPosted: Sun Nov 03, 2013 1:54 am    Post subject: ReadProcessMemory C++ Reply with quote

I just wanted to know if you send packets to games by only reading memory. Can they detect me reading packets or just writing to them.
Back to top
View user's profile Send private message
DELETED_USER
Newbie cheater
Reputation: 1

Joined: 02 Oct 2013
Posts: 24
Location: Venezuela

PostPosted: Sun Nov 03, 2013 2:24 pm    Post subject: Reply with quote

In programming, almost everything can be done.

Read this.
Back to top
View user's profile Send private message Send e-mail
atom0s
Moderator
Reputation: 205

Joined: 25 Jan 2006
Posts: 8587
Location: 127.0.0.1

PostPosted: Sun Nov 10, 2013 2:16 am    Post subject: Re: ReadProcessMemory C++ Reply with quote

zShacktar wrote:
In programming, almost everything can be done.

Read this.


Kinda didn't answer his question lol..

voidaccess wrote:
I just wanted to know if you send packets to games by only reading memory. Can they detect me reading packets or just writing to them.


Depends on the game overall and what (if any) protections that they use. In most cases reading from memory wont have any detection at all. Assuming you are able to attach onto the process and read its memory without issue. Writing to memory on the other hand is where things get tricky. In a lot of cases memory modifications will be detected on certain pages of memory that are monitored, scanned, checksumed, etc.

But this really depends on the protection the game is using, if any as I mentioned. There is no sure-fire way to say yes/no since it varies per-game and per-protection.

_________________
- Retired.
Back to top
View user's profile Send private message Visit poster's website
DELETED_USER
Newbie cheater
Reputation: 1

Joined: 02 Oct 2013
Posts: 24
Location: Venezuela

PostPosted: Sun Nov 10, 2013 2:52 am    Post subject: Re: ReadProcessMemory C++ Reply with quote

Wiccaan wrote:
zShacktar wrote:
In programming, almost everything can be done.

Read this.


Kinda didn't answer his question lol..


Seriously? You? Are you trying to prove your superiority in any way or something?, Hey... just relax, I only tried to help, with sarcasm you won't get nothing...

You are the moderator of this site. Assume your position with maturity. If I didn't help him with the article that I've posted, he could say it, but he didn't, perhaps it help him in some way.

Do not act rude with me, I'm not looking harming in any way. Not here.

Regards.
Back to top
View user's profile Send private message Send e-mail
atom0s
Moderator
Reputation: 205

Joined: 25 Jan 2006
Posts: 8587
Location: 127.0.0.1

PostPosted: Sun Nov 10, 2013 2:54 am    Post subject: Re: ReadProcessMemory C++ Reply with quote

zShacktar wrote:

Seriously? You? Are you trying to prove your superiority in any way or something?, Hey... just relax, I only tried to help, with sarcasm you won't get nothing...

You are the moderator of this site. Assume your position with maturity. If I didn't help him with the article that I've posted, he could say it, but he didn't, perhaps it help him in some way.

Do not act rude with me, I'm not looking harming in any way. Not here.

Regards.


Jumping to conclusions much..? I just said your post didn't really answer his actual question. Calm down champ.

_________________
- Retired.
Back to top
View user's profile Send private message Visit poster's website
DELETED_USER
Newbie cheater
Reputation: 1

Joined: 02 Oct 2013
Posts: 24
Location: Venezuela

PostPosted: Sun Nov 10, 2013 3:44 am    Post subject: Re: ReadProcessMemory C++ Reply with quote

Wiccaan wrote:
zShacktar wrote:

Seriously? You? Are you trying to prove your superiority in any way or something?, Hey... just relax, I only tried to help, with sarcasm you won't get nothing...

You are the moderator of this site. Assume your position with maturity. If I didn't help him with the article that I've posted, he could say it, but he didn't, perhaps it help him in some way.

Do not act rude with me, I'm not looking harming in any way. Not here.

Regards.


Jumping to conclusions much..? I just said your post didn't really answer his actual question. Calm down champ.


I'm calm bro'. but nevermind... maybe I'm getting this too far.

Sorry by the offtopic.
Back to top
View user's profile Send private message Send e-mail
manc
Grandmaster Cheater
Reputation: 1

Joined: 16 Jun 2006
Posts: 551

PostPosted: Mon Nov 18, 2013 3:02 am    Post subject: Reply with quote

Do you guys know any good sources for learning about how games (or any processes I guess) protect their process space? And also how those things are typically circumvented? I'm not even sure what to ask for specifically, but are there any other sites tailored specifically to this, or are there any good materials you guys know of? I dont have alot of experience with Win32 API (been in a linux environment mostly), is there anything I should know/read/learn specifically?
_________________
Back to top
View user's profile Send private message
DELETED_USER
Newbie cheater
Reputation: 1

Joined: 02 Oct 2013
Posts: 24
Location: Venezuela

PostPosted: Mon Nov 18, 2013 6:19 am    Post subject: Reply with quote

manc wrote:
Do you guys know any good sources for learning about how games (or any processes I guess) protect their process space? And also how those things are typically circumvented? I'm not even sure what to ask for specifically, but are there any other sites tailored specifically to this, or are there any good materials you guys know of? I dont have alot of experience with Win32 API (been in a linux environment mostly), is there anything I should know/read/learn specifically?


Search for Windows Internals, both editions.
Back to top
View user's profile Send private message Send e-mail
atom0s
Moderator
Reputation: 205

Joined: 25 Jan 2006
Posts: 8587
Location: 127.0.0.1

PostPosted: Tue Nov 19, 2013 12:02 am    Post subject: Reply with quote

manc wrote:
Do you guys know any good sources for learning about how games (or any processes I guess) protect their process space? And also how those things are typically circumvented? I'm not even sure what to ask for specifically, but are there any other sites tailored specifically to this, or are there any good materials you guys know of? I dont have alot of experience with Win32 API (been in a linux environment mostly), is there anything I should know/read/learn specifically?


Stuff like detecting debuggers:
http://pferrie.host22.com/papers/antidebug.pdf
http://en.wikibooks.org/wiki/X86_Disassembly/Debugger_Detectors
http://www.symantec.com/connect/articles/windows-anti-debug-reference
http://www.veracode.com/blog/2008/12/anti-debugging-series-part-i/
http://www.codeproject.com/Articles/670193/Csharp-Detect-if-Debugger-is-Attached
http://thelegendofrandom.com/blog/archives/2100
(Search for anti-debug techniques to find more.)

As for more in-depth manners, most cheat protections are done at a kernel level now as user-mode protections are all easily bypassed.

Driver based protections that are open source or have in-depth articles about them are few and far between though.

_________________
- Retired.
Back to top
View user's profile Send private message Visit poster's website
manc
Grandmaster Cheater
Reputation: 1

Joined: 16 Jun 2006
Posts: 551

PostPosted: Tue Nov 19, 2013 1:43 am    Post subject: Reply with quote

All these links mention anti-debugging - is that only relevant to finding exploits in static offline applications (for cracking paid apps, etc), or am I totally off on that? What I'm wondering is, if I try and OpenProcess() and then ReadProcessMemory() from a modern server-sided game that has protection, what methods are used to detect that I've read its memory?

Or is your point that knowing how to get around anti-debuggers lets you debug, and therefore allows you to expose vulnerabilities that could allow you to read/write without restriction?

Please correct anything that sounds totally wrong, I'm just trying to piece things together and get some context here. Thanks for the links by the way.

_________________
Back to top
View user's profile Send private message
atom0s
Moderator
Reputation: 205

Joined: 25 Jan 2006
Posts: 8587
Location: 127.0.0.1

PostPosted: Tue Nov 19, 2013 3:56 am    Post subject: Reply with quote

The first layer of protection most (if not all) anti-cheats have is an anti-debug layer. The biggest threat to an application is the ability to debug and disassemble it. Static analysis can only get so much done when the application involves non-static data from a remote source.

Being able to actively block a debugger is going to be the first step to protection.

After that you need to take into consideration there are applications and system settings that could trigger any extended anti-cheat mechanisms.

For example, if you want to block/ban for dll injection you have to be mindful there are harmless applications that inject without a users knowledge. Such applications like:
- XFire
- TeamViewer
- Steam's in-game overlay

A user could load your game through Steam and get themselves banned.

The same goes for reading memory. Reading is generally not something anti-cheats look for. They may block some API to allow ease of memory reading like OpenProcess and ReadProcessMemory but generally anti-cheats don't trigger a ban or anything for reading memory.

At most, they typically only look for modifications to the process like:
- Memory editing.
- Binary alterations.
- Anti-cheat not running / disabled. (Usually with a packet heartbeat or similar.)
- Lack of important service(s) running.

manc wrote:
All these links mention anti-debugging - is that only relevant to finding exploits in static offline applications (for cracking paid apps, etc), or am I totally off on that? What I'm wondering is, if I try and OpenProcess() and then ReadProcessMemory() from a modern server-sided game that has protection, what methods are used to detect that I've read its memory?


All of this can be used against online applications / commercial products as well. Most anti-cheats use the same methods as others. There isn't much uniqueness between them. Once you can figure out how to bypass one of the major named anti-cheats it's typically easy to get around most of the others.

The method of being detected in your case is probably not reading the memory, but attaching to the process. Or by obtaining a handle to its memory.

manc wrote:
Or is your point that knowing how to get around anti-debuggers lets you debug, and therefore allows you to expose vulnerabilities that could allow you to read/write without restriction?


In some cases yes. Bypassing the anti-debug methods will let you read/write to the memory at will. It all depends on the anti-cheat you are dealing with though.

_________________
- Retired.
Back to top
View user's profile Send private message Visit poster's website
pellik
Advanced Cheater
Reputation: 0

Joined: 14 Jun 2013
Posts: 93

PostPosted: Mon Jan 27, 2014 10:17 pm    Post subject: Reply with quote

I was just reading that one of the anti-cheats banned people using an ESP hack that just did readprocessmemory and then drew to the screen without otherwise ever touching the protected process. (Scanning all processes maybe? Or a SSDT hook? Lots of possibilities.)

In these games the attacker always wins. You can always find a way to beat their scans, and they can always devise a method specifically to catch you. The only way to win is to stay off their radar.
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 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