Author Topic: [N/A] Memory Hacking Software (2004-11-30)  (Read 9189 times)

L. Spiro

  • *
  • Posts: 797
    • View Profile
[N/A] Memory Hacking Software (2004-11-30)
« on: 2004-11-30 09:01:14 »
With Terence Fergusson and his poor Windows® ‘98 machine in mind, I decided to make a compatible Memory Hacking Software.

Memory Hacking Software (Compatible)
Tutorial for using Templates

I have not been able to test it on an actual Windows® ‘98 machine yet, however.

As far as I know, the only reason it did not work before is because it loaded process icons as its own, which required psapi.dll.
Right now I just removed that feature from the build but it makes some things a little ugly.
My general assumption is that this is acceptible since people on Windows® ‘98 don’t care about appearances anyway.

For those of you who are new and have never heard of this before, it is my own memory hacking software, called Memory Hacking Software.

It works similarly to GameHack, but it has many many more features, and some that bring into a more professional level of use (new users do not NEED to use the professional features; it can be used at any skill level).

You can use it to search for and lock values in RAM, like a GameShark®.
It can search for ints, floats, shorts, longs, bytes, chars, unsigned longs, unsigned shorts, doubles, strings, and pointers.
It also has dynamic searches to sniff for data patterns (for example, if you have a series of three bytes, and all you know is that the second byte is the same as the first byte, and the third byte is greater than the second byte).

It has a very useful hex viewer with many features, including size options, template options, and data type options.

The colored display of the hex viewer tells you if an area is executable, unreadable, or if it is just data.  It also shows you chunk boundaries.

Templates are a very large feature of this program and I can not even begin to exlain them here (well, maybe I can BEGIN).
Okay, well, consider this.
All data structures in RAM have a specific order and alignment.  Each instance of the structure is ordered the same as every other instance.

Code: [Select]
struct CAT {
    int age, height, weight, speed;
    bool isalive;

In RAM, we would know that the first four bytes make an integer representing the age.
The next four make the height, then the weight, and then the speed.
Then the next single byte makes a bool determining whether the cat is alive or not.
Every instance of this structure in RAM will have this same order, the same number of bytes, etc.

In my program, templates are exactly the same as structures.
You can basically declare a template where the first item is an int named “age”, the second item is an int named “height”, the third “weight”, the fourth “speed”, and the fifth item to be a byte named “isalive”.
The template can be “pasted” over RAM in real time and show you clearly where each type of data is and what its name is.

This basically makes it a breeze to map all types of data in RAM, including all the data types used in Final Fantasy® VII.

I am only mentioning the basics of templates.  Templates can go as far as you can take them, into arrays, dynamic arrays, pointers, pads, conditional breaks, etc.
As well, they can be exported and shared between us all, so anyone who creates a template should be urged to share it.

This is why I am quite eager to see what Terence Fergusson (and maybe Qhimm too?  mirex?) can do.

I am also open to suggestions on making the software better.
I have stopped working on it for a while but I may start again soon.

L. Spiro
« Last Edit: 2014-07-17 20:53:46 by Covarr »


  • *
  • Posts: 1645
    • View Profile
Memory Hacking Software (Compatible)
« Reply #1 on: 2004-11-30 11:53:30 »
This looks like a great piece of software, but i wont use it probably. I'm decoding files directly from file data y'know, I dont use debuggers. ;)