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# Memory Manipulator

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

Joined: 11 Jul 2011
Posts: 2
Location: Singapore

PostPosted: Thu Jul 14, 2011 9:51 am    Post subject: C# Memory Manipulator Reply with quote

[P.S : Sorry for the bad english]
[P.S : Sorry for posting in the wrong section if i did]

The memory manipulator class allows manipulation of memories of other processes.

It supports the following :
-Memory Scanning for Byte Arrays, Int16 values, Int32 values, Int64 values
-Byte Array Injection (Injects an array of bytes)
-Allocation and deallocation of "Code Caves"
-Reading and Writing of Byte Arrays, Int16 values, Int32 values, Int64 values
-Replacement of bytes within a range of addresses
-Replacement of all occurrences of byte arrays with a user-specified byte array

To create a new instance of the memory manipulator class, a target process is required. The instance can then be created by using one of the following :
- new memoryManipulator(String TargetProcessName)
- new memoryManipulator(System.Diagnostics.Process TargetProcess)
- new memoryManipulator(int TargetProcessID)

Download :
www[DOT]mediafire[DOT]com/?k45jydrb5i77kt0

Mod edit: (working link) - Wiccaan
http://www.mediafire.com/?k45jydrb5i77kt0
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
atom0s
Moderator
Reputation: 205

Joined: 25 Jan 2006
Posts: 8587
Location: 127.0.0.1

PostPosted: Thu Jul 14, 2011 1:47 pm    Post subject: Reply with quote

I fixed the link for you in your post since you only have 1 post. Some suggestions for your dll though:

I suggest you post the source with your release. Most people making trainers wont want to have to include other things (dlls and such) with their release, or pack it into the executable.

You use OpenProcess in your ProcessMemoryReader class, you don't need to use it in .NET as the Process namespace exposes .Handle which is a fully accessible handle to the process.

You redefine API in multiple spots, instead you should just create a class/namespace to hold all imports so you don't have multiple definitions across your source. It will be easier to alter/update/edit the source later on if things are confined to a single area.

You personally define your own 'ReadProcessMemory' as:
Code:
public byte[] ReadProcessMemory(IntPtr MemoryAddress, uint bytesToRead, out int bytesRead)


While this is fine, you wrote wrappers around this that make no use of bytesRead. If you have no intentions on using the param, you shouldn't really include it then. You don't expose your personal RPM publicly so the only access is through the wrappers. Just a thought.

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