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 


(C# or C++) Please Help Making a debugger like ones in CE

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General programming
View previous topic :: View next topic  
Author Message
ProjectEz
Newbie cheater
Reputation: 0

Joined: 03 Dec 2011
Posts: 18
Location: Phlippines

PostPosted: Sun May 18, 2014 11:29 am    Post subject: (C# or C++) Please Help Making a debugger like ones in CE Reply with quote

Hello, ok i'm here asking desperately, for i am now on my dead end, Its been 2 weeks and i havent got any progress,
What I want to do is make a debugger (the one that's like in the "Find out what writes to this address")
And I don't even have any lead on where to start and what to use, I've been talking with google for days, but I can't seem to find it, maybe I found it but didn't know that it is what i am looking for...
Desperately, I will do it either on C# or C++,
Also one more problem is to read/write memory on a hidden process,
I've tried SSDT Hooking, but i think there is other way,
Please help me, This is my first time learning memory hacking thats why Im having a hard time, and I dont want my hard works go to waste. Thank you very much guys...
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: Sun May 18, 2014 2:06 pm    Post subject: Reply with quote

Cheat Engine is open source. While it is written in Delphi, the underlying API that it relies on can be used in [nearly] any language.
https://code.google.com/p/cheat-engine/

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

Joined: 03 Dec 2011
Posts: 18
Location: Phlippines

PostPosted: Tue May 20, 2014 10:33 am    Post subject: Reply with quote

@atom0s
just last quick questions sir, to be sure if what i am doing it wrong or write
I can see cheat engine can still Scan for Address even the process is hidden,
I saw the source codes and on the DBKKernel, i browsed through that and saw the ntddk.h, which is used to make Kernel Drivers,
Is that what cheat engine used to continue scanning through a hidden process(hidden by a rootkit)
And to be clear, it uses Kernel Mode to use read/write memory on hidden process right?
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 471

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

PostPosted: Tue May 20, 2014 11:23 am    Post subject: Reply with quote

Yes, kernelmode is used to access the process.
Also, to find the process you may have to register a process creation callback in kernelmode, or open every possible process id till you find the one you are looking for

_________________
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
ProjectEz
Newbie cheater
Reputation: 0

Joined: 03 Dec 2011
Posts: 18
Location: Phlippines

PostPosted: Tue May 20, 2014 11:37 am    Post subject: Reply with quote

wow. this is the first time Dark Byte replied to my thread, such privilege Smile

anyway, talking about opening every possible process id,
what can you say about this scenario:
I got the process name, got the process.id , that was before the rootkit attached to the process, but after the root kit attached, the process is now hidden, also preventing me to access its process id, in the opening every possible id, is there a chance that the hidden process will be on different process id?

and also just to clear things up, if i create a process in kernel mode, example the name of process is main.exe, then it hides, then if i create a process naming main.exe, will it be the hidden main.exe?
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 471

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

PostPosted: Tue May 20, 2014 12:46 pm    Post subject: Reply with quote

I doubt the ID will be different. And besides, you wish to get a EProcess address which is the actual process reference

I recommend getting the process handle from the ID as soon as you can. (again, a process creation callback in kernelmode would work great for that)

Also, if you create a new process called main.exe it will get a new processid.


Oh yes, what a LOT of protection systems fail to do is protecting the process' weird PID's
e.g if the PID is 1004, then you can also open it with 1005, 1006, and 1007

and try getting a 64-bit windows system. That makes things a bit easier as they shouldn't be able to hide the process in kernelmode (they can still block opening it, but hiding it will be a bit more difficult)

_________________
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
ProjectEz
Newbie cheater
Reputation: 0

Joined: 03 Dec 2011
Posts: 18
Location: Phlippines

PostPosted: Tue May 20, 2014 1:20 pm    Post subject: Reply with quote

oh! So that's where I will use the Process' handle.Thank you Im getting confused with what handle, Thread ID and process ID is for, only I know process ID can be used in replace with the process name.

and about the creation of new process, if i get the handle from ID, i can create a new process ID for the process? example if main.exe is hidden, got it's process ID, then its handle, then rootkit hides it, after I create a new process main.exe using the handle, what will happen to the hidden main.exe? or will I be able to access memory of the hidden main.exe from the created main.exe?

also, running in kernel mode will require something like a driver(system module) i have read about it in SSDT hooking, am I on the track?

speaking of 64bit, I am actually programming in 64bit environment, and wow. thank you again, why didn't I tested it on this system, i am actually coding for 32bit systems, which are most of the user of the trainer would be on 32bit environment. I still need to do kernel mode, and really thank you, I didn't know the problem is already solved on 64bit...
*edit: on the different version of game, different anticheat is used, it hides the process, so it will be on kernelmode right?

now, whats left is me getting the offsets and pointers of the address, coz its not static, will this also be solved with kernel mode?
and also just sharing. CE is detected on the game, and I can't find a way to bypass it, (but other UCEs are not detected) so I cant use the kernel debug mode, or the VEH Debugger to get these...
So i think I would just make a Debugger myself, since my trainer is not detected
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