I don’t know whether you know about Memory Editor (or some people call it Memory Scanner) or not. It is an application that usually used when playing PC games.
Using Memory Editor, you can modify your character HP (Hit Point), money, and else. And if you are very good in memory editing, you might also review the secret items, secret characters.
I like to use Memory Editor. Because, I don’t like to waste too much time to level up my character. I feel that doing this is wasting my life. However, I like story of the games, that is why I modify a bit which will not destroy the fun of the game play, such as modify the experience of the characters.
Besides, that, I just like to search those address that stores the data. So that I can see how the programmers of the game design the data structure.
I used GameMaster before. During that time, it was really good. Because it provides very usable interface, especially in version 8.0. Furthermore, it provides some easy to use function which can sequencely modify a block of memory. For example, all the items of an RPG game can just appear using one command. Great! However, it is not a freeware. But you could still download GameMaster 8.0 somewhere else (I don’t know you can find it or not, because it is quite a few years matter).
After GameMaster, I swap to ArtMoney, which is freeware. Why I want freeware? Because I can just download new version when it is released. ArtMoney, though not usable as GameMaster and cannot modify a block of memory with one command, it provides more advanced function than GameMaster. ArtMoney is able to search many types of data, including 4-byte float, 8-byte float, search the memory for Flash game, search the memory of several emulators. Besides that, another powerful, but I not often use, because it is too hard to use, is to search the pointer. This is because, some of the game, for instance Warcraft 3, the memory is dynamically allocated, memory address will change from time to time. However, the pointer is always same, therefore, using this function, you can always target the memory address. However, for the usability aspect, it lose a lot compared with GameMaster.
So, since I learnt programming language, why don’t I just create my own Memory Editor, with the ArtMoney powerful searching method and GameMaster easy to use interface? So, I searched quite a lot of information. The followings are some very good websites describe how to create a Memory Editor:
This is chinese one. Provides the idea.
This is a forum, which discuss some important point, such as VirtualQueryEx.
This one, is the best one. However, it is written in VB. I prefer C++, so, I need to translate it into C++. If you prefer VB, go ahead.
Chinese one. This one is not very good, but it uses MASM (assembly language) to describe. For me, it is too be translated to C++.
This one is quite good, and if you have the account, you can download the source code.
I had tried to create the program, by following the VB source code. However I failed. I don’t know why. I thought I had done something wrong about ReadProcessMemory(). Finally, I found the solution. It is not ReadProcessMemory() that made me failed. It is because, my searching method using C++ is wrong. So, the conclusion is, follow the descriptions, you surely can ReadProcessMemory(), only the searching method, you might need to figure it out your own method.