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 


Visual Studio [VB] read static address

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

Joined: 06 Jun 2013
Posts: 20

PostPosted: Thu Jun 06, 2013 12:48 pm    Post subject: Visual Studio [VB] read static address Reply with quote

Hello everyone. I am not really a very good programmer, but so far with some search in Google, I managed to make a small application that can read a specific memory value.. (wasn't that hard Razz), Anyways, my problem is that I searched for this value in Cheat Engine and it appears as Engine.dll+<some address here>, and I am wondering how can I make my application search for that address and read its value? To give you an idea on what I am trying to achieve, I am trying to make a small anti-cheat software. However in order to "force" the user run the anti-cheat, I made the application send player's username to the server before the server allow the player to connect, something like that, because usually client protections are easy to bypass.. If someone can help me out it would be appriciated, Thanks in advance.

EDIT: I left out some part, the reason I want to send the player's username is to ensure the anti-cheat is working, in the right computer (because someone can run the anti-cheat software in another computer, in the same network)
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: Thu Jun 06, 2013 6:19 pm    Post subject: Reply with quote

Use the Process class to obtain the process itself. From that Process has a property, Modules, which you can use to find Engine.dll and use its base address + the offset to get the address you need. Then use ReadProcessMemory to read the value.

Keep in mind, you are writing an anti-cheat in a managed language. It will be EXTREMELY easy to bypass your system.

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

Joined: 06 Jun 2013
Posts: 20

PostPosted: Sat Jun 08, 2013 6:38 am    Post subject: Reply with quote

Wiccaan wrote:
Use the Process class to obtain the process itself. From that Process has a property, Modules, which you can use to find Engine.dll and use its base address + the offset to get the address you need. Then use ReadProcessMemory to read the value.

Keep in mind, you are writing an anti-cheat in a managed language. It will be EXTREMELY easy to bypass your system.


Thanks for the answer. I thought about that, but I am not really experienced in C++ Language.. Do you think making 2 processes checking each other if they are running, would be a better protection? And in one of them write a code to check for hacking software? Although Its for a game server, I don't think there will be many people who will be able to bypass this system..
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: Sat Jun 08, 2013 7:46 am    Post subject: Reply with quote

DjSt3rios wrote:
Wiccaan wrote:
Use the Process class to obtain the process itself. From that Process has a property, Modules, which you can use to find Engine.dll and use its base address + the offset to get the address you need. Then use ReadProcessMemory to read the value.

Keep in mind, you are writing an anti-cheat in a managed language. It will be EXTREMELY easy to bypass your system.


Thanks for the answer. I thought about that, but I am not really experienced in C++ Language.. Do you think making 2 processes checking each other if they are running, would be a better protection? And in one of them write a code to check for hacking software? Although Its for a game server, I don't think there will be many people who will be able to bypass this system..


Checking for what process then? If you are hosting your anti-cheat on the server, what is there to look for process wise?

Also scanning for processes is easily bypassed too just by changing the process name etc.

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

Joined: 06 Jun 2013
Posts: 20

PostPosted: Sat Jun 08, 2013 8:32 am    Post subject: Reply with quote

The anti-cheat will be in client's computer. Well I was thinking of checking all processes, even if they change name, most of the cheats, packets editors etc for this game do not work if you rename them... although, indeed its not a very good way of protecting it, but at least its some basic protection.. then I just have to find a way to force them to use the anti-cheat or block the connection... as i said in the first topic... I am not sure what I should do, but I guess I will keep on that plan, first make the anti-cheat send player's username to ensure the anti-cheat is running, otherwise the server will kick the player...
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: Sat Jun 08, 2013 8:35 pm    Post subject: Reply with quote

DjSt3rios wrote:
The anti-cheat will be in client's computer. Well I was thinking of checking all processes, even if they change name, most of the cheats, packets editors etc for this game do not work if you rename them... although, indeed its not a very good way of protecting it, but at least its some basic protection.. then I just have to find a way to force them to use the anti-cheat or block the connection... as i said in the first topic... I am not sure what I should do, but I guess I will keep on that plan, first make the anti-cheat send player's username to ensure the anti-cheat is running, otherwise the server will kick the player...


I suggest you start learning a different language, such as C/C++ if you really want to get into anti-cheat development. Using a managed language like VB.NET will never suffice to creating a good anti-cheat. The code can be easily reversed and obtained, then bypassed since managed languages can be decompiled back to the source.

All public protectors for .NET have been beaten as well. There is only one form of protection for .NET that works and even then reverses can still understand the source code after decompiling.

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

Joined: 06 Jun 2013
Posts: 20

PostPosted: Sun Jun 09, 2013 3:30 am    Post subject: Reply with quote

Okay thanks... I think I might give it a try in C++
Back to top
View user's profile Send private message
DjSt3rios
Newbie cheater
Reputation: 0

Joined: 06 Jun 2013
Posts: 20

PostPosted: Wed Jun 12, 2013 9:09 am    Post subject: Reply with quote

Sorry to bump this up, I needed to ask one more thing, if I make it in Visual C++, it's still easy to bypass the protection, right?
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: Wed Jun 12, 2013 9:14 am    Post subject: Reply with quote

DjSt3rios wrote:
Sorry to bump this up, I needed to ask one more thing, if I make it in Visual C++, it's still easy to bypass the protection, right?


If you mean managed C++ yes, it can be decompiled just like VB.NET/C#.
You will want to code specifically in C/C++ itself.

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

Joined: 06 Jun 2013
Posts: 20

PostPosted: Wed Jun 12, 2013 9:17 am    Post subject: Reply with quote

Hmm, Okay thanks... makes it harder but I should try it..
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: Wed Jun 12, 2013 3:32 pm    Post subject: Reply with quote

DjSt3rios wrote:
Hmm, Okay thanks... makes it harder but I should try it..


Coding an effective and efficient anti-cheat is not for the light hearted. It is something companies spend thousands on for commercial protections and still are dealing with hackers / cheaters.

It is not something you will make overnight and have a golden product that will be unhackable. Everything you create will have flaws and vulnerabilities that will be figured out and defeated.

Handling hackers is an ongoing battle and an everyday challenge.

_________________
- Retired.
Back to top
View user's profile Send private message Visit poster's website
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