Some Info on Memory Hacking
Before we start it is best if you have some basic knowledge on Memory Hacking (please say if you find any bits that are wrong - as I am still learning my self.)
When MapleStory is started, it is programmed - like most programs are - to store things in the memory (your RAM). In this space, information is stored on the fly for example; the amount of attacks your character has done, the channel you are on, the position of your character, etc... The memory also holds commands in assembly (but we don't need to know much of that for this tutorial) now because this is stored on your memory we can access this using a program, ie 'Cheat Engine'. Cheat engine allows us to read the information from the allocated space of memory which MapleStory has got. So as long as you have bypassed HackShield you are able to view everything the game reads/writes from the memory.
However CheatEngine is alot more powerful than that though as CheatEngine lets us scan/read/write and even inject code into the memory MapleStory reads, and thats how most hacks are made.
Take the simple PinTyper script (v0.55)
This script works in CheatEngine and allows you to type your pin. The Code underneath '[Enable]' tells us what to do with the memory when the hack is ticked and the code under '[Disable]' tells us what to do when we uncheck the hack (basically undoes everything we did before).Code:[Enable] 004A8B18: db 0f 83 [Disable] 004A8B18: db 0f 86
The '004A8B18' is the address which holds the information about what to do with the pin, and the 'db 0f 83' tells the memory what to do at this address (which I think is skip a few bytes? tbh I am not that sure but it doesn't really matter) and the same goes for the disable part.
So what is a Pointer & Offset?
Well a pointer and offset are a static address and offset (meaning they don’t move, unlike the address they are pointing too) that point to a specific address that shows information about the game.
So why would I need to know how to find them?
Pointers and Offsets are vital when wanting to make trainers for a start. You can use them to update hacks like UA or Demi and many, many others. You could also use them to create your own hacks/scripts, really the possibilities are endless. So if you do want to actually learn to hack then you should know how to do this.
Ok, lets start with the Tutorial - Finding the Address.
Ok first of all open Maplestory, bypass it, log in and go to a quiet map and open up and attach cheatengine to the MapleStory process by clicking on the top icon that looks like a computer with a magnifying glass, then selecting MapleStory.
Should look like this:
Ok we are going to find the UA Pointer and Offset. This displays how many attacks you char has done. So to find this we will have to attack then scan for that amount of attacks. Tip: make sure you don’t move you character as this resets the attack count.
To start all you have to do is attack twice. What this does is the first attack enables the counter and the next attack starts counting, so once you have attacked twice go on to you cheat engine and scan for '1'. To do that type 1 in the value box and click on 'First Scan'.
should look like this when you have scanned:
as you can see on the right it shows that it has found 901375 different addresses with the value of '1'. So this means you will have to narrow down that search.
So the next step is to: Attack one more time then scan for '2' by pressing 'Next Scan' (next scan scans the address already found therefore narrowing the search down).
It should look like this:
as you can see there now is only 37 results left so keep narrowing it down to you have 1 result left.
To do this just attack 1 more time and scan for '3' and if that returns more that one result do it again by attacking 1 more time and scanning for '4' and keep following this trend to you have one address.
Once you have one address it should look like this:
As you can see in the right we have one address that shows how many attacks we have done so far. So now you might think you are done but you are not. As this address is not static meaning everytime you start maplestory this address will change. So we have to find the Pointer and Offset that doesn't change, that points to this current address. This brings me to the next part of my tutorial.
Part two - finding the Pointer and Offset.
Ok this is where it is going to get complicated so try and follow closely. As I explained before we have to find the static Pointer and Offset that points to the address.
Now there are various methods to do this, but this method is the fastest way I have tried so far.
The first thing you will have to do is download this which is a software similar to CheatEngine. I use this because it has a pointer scanner that is far better than the one on CheatEngine.
Once that has downloaded open MHS.exe and File > Open Process > MapleStory.
Once that has done click on Search > Pointer Search.
Should look like this:
As you can see the pointer search box looks pretty complex but you dont have to worry about most of the settings. Just make sure 'Evaluation Type' is 'Range' and 'Find Only Static Pointers' is Checked.
The next thing you have to do is copy the address you found in CheatEngine into the 'Target from' and 'to:' box.
The next thing you have to do is remove the last 4 numbers from the address in the 'Target From' box and replace them with 0's.
Then click ok.
Once you have done that you should find only one address (you may find more but look for the top one) If you find 0 addresses then replace another number with 0 and try again. If you find 100's then try removing a 0 and putting the proper number there. This part is all about testing.
your screen should look similar to this:
As you can see you have 'Address' which is the static Address. You have the 'Value' which is what the address points too without an offset and the others you don't really need to know.
Now you have the static address you need to find the Offset. This is pretty simple and only takes some basic math.
All you have to do is open up calculator.
Put in in Scientific mode and click on HEX. You then have to type in your (original) address you found on cheatengine and the takeaway the value which is in the 'Value' column in MHS.
So finally you should get 00998EDC as the pointer and 2250 as the Offset.
so if you put that into Cheat Engine:
you should get the same value as what the address displays.
I will then advise you to restart MapleStory a few times to check the Pointer is correct and if for some reason it doesn't work try again.
Congratz, if you followed everything correctly you should have got the right Pointer and Offset and it should show your attacks for v0.56. This method should work for most things. IE. Char X & Y, channel, server, etc... good luck