Memory Hacking Software includes a real-time Hex Editor that allows you to view RAM in real-time and easily spot changes to RAM as you perform actions in your game. Changes are highlighted for ease in spotting.
Color codes tell you the properties of the RAM you are viewing. Blue is static, white is heap space, red is unreadable/unused, purple incidates pointers, and more. Mouse over pointers to see the value at the location where they point. Strings are automatically detected in both ASCII and Unicode formats.
Operate on both RAM and files. Files of any size can be opened and edited with virtually no load time or RAM consumption.
Many options: set to any font, customize colors, search, replace, add bookmarks, customized the widths (bytes per line), perform operations on the data, convert, and tons more.
The layout is clean, colorful, and informative.
The DoomŪ 3 cheat is an example of how powerful Memory
Hacking Software is as the engine for your cheats.
Because Memory Hacking Software allows you to assign your
own custom-made functions to breakpoints via a DLL plug-in, it is possible
to write any cheat for any game; in fact it actually opens
more potential to the user than previous methods of cheat-making,
Today, most cheats utilize code injection, which is the process
of modifying the existing code to jump to your own code. When
your code has been executed, you will jump back to the original
function and the game will continue, not knowing it ever executed
This has two main downsides. Firstly, the level of the hacker
needs to be sufficiently high—he or she needs to know assembly
and how to inject code properly. Secondly, detectability.
When you make a code pit, you change enough RAM that programs
utilizing checksums (such as Maple Story) will be instantly
alarmed at your efforts to modify their code.
Memory Hacking Software breakpoints give you every ounce of
flexibility you would have with code injection, but it also
gives you alternatives you can utilize if you wish that can
not be utilized with code injection.
Code injection IS still entirely possible with this breakpoint
method. When the debugger starts, it will send a notification
to the cheat plug-in which will allow it to make any injections
and acquire any resources it needs. In my cheat, this is where
I scan DoomŪ 3's code and create backups. It is also where
I initialize my information dialog.
From there, my cheat demonstrates multiple ways of activating/deactivating
cheats. Some parts of the cheat NOP specific instructions.
Some parts of the cheat take control of the game process at
the breakpoints and change its registers, without changing
All of today's current cheating methods are possible, but
with new additions.
So, how does it work?
When a breakpoint in Memory Hacking Software is hit, Memory
Hacking Software gains control over the target process. The
target process stops and Memory Hacking Software is then allowed
to do anything it wishes to the target process.
You can assign 3 functions to breakpoints in any order and
combination you like. These functions can even be functions
that you have written in a DLL!
With code injection, control is taken from the game and passed
to one of your custom functions which you would have to write
in assembly and inject into the target process. Once your
code is executed, control would be granted to the game to
continue on its way.
Breakpoints work in exactly the same way. When a breakpoint
is hit, control will be passed to the function(s) you have
assigned to the breakpoint being hit. If any of those functions
are yours, this means your code will be executed, just like
with code injection.
The primary difference is that you don't need to find space
for code caves, and you only need to know basic C++, instead
of advanced disassembly.
Another difference is that, because you are able to assign
multiple functions to breakpoints, it is easy to switch your
code on and off, and to assign functions to breakpoints that
load the disassembler or print a message. This helps greatly
with creating your cheat.
And, the largest difference of all, you don't have to create
a shell for your cheats. You don't have to spend hours setting
up a project whose job is to latch into the target process,
get its handles, and possibly create a debugging loop. All
of that is done for you.
Memory Hacking Software not only provides the tools that help
you find the information you need to make your cheat, it also
makes it easier than ever to actually construct your cheat.
It's so simple, it's almost like cheating at cheating!
The creation of the information dialog.
You can create a clean, easy-to-use interface for
your cheats in any language you like, as long as the
resulting DLL plug-in is compatible with Memory Hacking
Your cheat will receive the notifications it needs
to initialize any variables or dialogs, or make code
injections, and also the notifications it needs to
free the resources, close the dialogs, clean up code
injections, and shut down.
The cheat runs together with Memory
Individual breakpoints can be toggled on and off to
enable/disable any aspect of the cheat you desire
quickly. A good cheat has many options.
Just an example of how much information
about the game I was able to find in the first 3 hours
of hacking it, all using Memory Hacking Software.
|Real-Time Expression Evaluator
The Real-Time Expression Evaluator recognizes nearly all C/C++ operators, including bitwise and logical operators such as <<, &, &&, and ||.
New [ ] operators allow reading from the RAM of the target process, and results of expressions are shown in real-time in a colorful list.
Even extremely complicated expressions are easily parsed and shown in real-time. This image shows the first five enemy Z positions in Perfect Dark® running in Project64 1.6, along with other expressions.