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 


Questions...

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

Joined: 15 May 2005
Posts: 4

PostPosted: Sat Jul 23, 2005 1:17 am    Post subject: Questions... Reply with quote

How does CE or any other debugger find out what's in the (main) registers like EAX, ECX, etc?

What functions does CE hook to get User Mode Stealth?
And for Kernel Mode Stealth?
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 470

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

PostPosted: Sat Jul 23, 2005 2:42 am    Post subject: Reply with quote

to show the registers can be done in 2 ways.
1: Look at the stackframe when interrupt 1 or 3 fires
2: Use getthreadcontext to get the registers

and the apis I hook are mainly some windows and process functions where just filter out cheat engine's window and proces

same for kernel, some ntUserxxx functions

_________________
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
bahblahblahbah
How do I cheat?
Reputation: 0

Joined: 15 May 2005
Posts: 4

PostPosted: Sat Jul 23, 2005 11:30 pm    Post subject: Reply with quote

Thx, but I forgot to ask...how does a read/write trace work (or in your program "Find out what accesses this address", and the others)?

Thx again DarkByte for the help Very Happy
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 470

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

PostPosted: Sun Jul 24, 2005 1:26 pm    Post subject: Reply with quote

there are also 2 methods (or more...)

These are the 2 methods ce uses
1: (exceptions)
Make the memory inaccessible. When the program tries to read or write to it it raises an exception that the debugger receives. If it isn't a exception caused by cheat engine just continue with unhandled exception code. But if it is, make the memory accessible, do a single step in the code (using the single stef eflag bit) then make the memory inaccessible again. (and of course record the registers like eip, and the other regs

2: Debug registers
With debug registers you can set up to 4 breakpoints of dfferent types. (access, write and execute)
You just set the debug registers in every thread of the process to the address(es) you want to watch and then wait for debug events.
One problem with debug registers is that the state of the registers is always AFTER the instruction has been executed (except for the execute debugreg type) So you'll have to do some disassembling to find the real address that caused the break. But the good part is that it's incredibly fast and you're not changing any memory.

(check out the debugregister part in this file: http://podgoretsky.com/ftp/Docs/Hardware/Processors/Intel/24547211.pdf )

_________________
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 -> Cheat Engine 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