Go Back   Gamerz-Forum.Com > Maplestory > MS Hacks

MS Hacks Maplestory Hacking Discussion.

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 11-20-2008, 02:12 PM
blood101's Avatar
Regular (Got the Tee)
 
Join Date: Nov 2007
Location: California
Posts: 178
Credits: 706
Downloads: 0
Uploads: 0
blood101 has got alittle rep (5+)
Maple story hacks

[Only registered and activated users can see links. ](how to use these hacks)Table Of Contents

1. Introduction
2. Stuff You Will Need / Useful Links
3. Setup
4. Background Information
5. Example One - Finding The Accuracy of Monsters - Melee Godmode / Miss Godmode
The First Step - Obtaining Information
The Second Step - Finding What You Want To Search For/Modify
The Third Step - Finding Offsets
The Fourth Step - Editing Values
6. Example Two - No-Delay Box Breaker
The First Step - Obtaining Information
The Second Step - Finding What You Want To Search For/Modify
The Third Step - Finding Offsets
The Fourth Step - Editing Values
7. Example Three - Map Proof
The First Step - Obtaining Information
The Second Step - Finding What You Want To Search For/Modify
The Third Step - Finding Offsets
The Fourth Step - Editing Values
8. Contents of .Wz Files
9. Conclusion
10. Version History
Introduction

Hello hello. Welcome to my 6th tutorial on how to do stuff and things. Don't remember the previous ones? They were for other things, before your time. So, as few of you know, I refuse to publicly release anymore edited .wz files. The main reason is that it's time consuming and I don't know how to make an auto edit script in python to save me time. The other reason is that people ask very stupid questions / spam my inbox with requests / are asses and complain about it about releases not working, not including something, etc. So yes, instead I figured that instead of releasing things, it would be far more beneficial to write a tutorial so that all of you fine people can learn to make your own things Just what will you be making? I dunno. This is just a tutorial so that you can learn what you would need to know if you wanted to pursue editing .wz files to do a certain thing. So let's get write into it.

Stuff You Will Need / Useful Links

1. learnme.py + Config.txt - (link is at the bottom) Script written by Saludos in Python that unpacks .wz files to find offsets which we use to do things. This download is updated from the original to not dump .img files, making it a lot faster. I've renamed it learnme.py for those who want to keep the original learn.py intact.
2. Python - Used to run/write/read scripts in Python.
3. i.Hex - A hex editor used to edit values within .wz files. Any hex editor should work, but this one is the one I learned with, so let's keep it simple.
4. Notepad - My favorite text editor for taking notes on the fly. So under appreciated.
5. Adventure Island v2 - [Note - For the rest of this tutorial I will refer to this as MapleDump.] This nifty little thing allows you to view what's inside of those .wz files and dump them as well. This is extremely useful and essential for finding those offsets we so desperately need.
6. [Only registered and activated users can see links. ] - This website is extremely convenient for when you're trying to find the location of an item/skill/etc in your MapleStory folder as well as for determining what item/skill/etc the offsets printed by learnme.py are referring to. For example, if you want to find where the skill Endure is located in your maplestory folder, just search it up at that site and you'll see this [Only registered and activated users can see links. ]. The 4200001 is like a location ID. If you go search in your skills folder, in your MapleStory folder, in that folder number, you'll find all the information you need for Endure. In addition, this same number will refer to a particular offset after using learnme.py, so that you can match an offset with it's item/skill/etc.
7. [Only registered and activated users can see links. ] - A great tool. Bookmark it. Great for converting decimals to hexidecimal values and such.
8. Monster Offset List - A nice compilation of various monster offsets than can be fiddled with that DevilGoku was kind enough to make.

Setup

So first there's some stuff that has to be set up before we get into anything:
1. Install Python
2. Place learnme.py as well as the Config.txt in your maplestory folder/directory
3. Install i.Hex
4. Place MapleDump on your desktop, or somewhere easily accessible. That takes care of that.

Background Information
You may have noticed that you can't just double click a .wz file and see what's inside. Luckilly a bunch of incredibly smart people have developed the tools for us to do just that. They've made it so that we can "see" and modify values within .wz files. For our purposes, the method we rely on heavily is by using offsets. For those that know, offsets are useful because they tell you were in the code a particular item/value that you're interested in is. That's not exactly the definition, but it's simple enough to understand the concept. So basically, if we want to modify a value, we need to know where it is so that it can be modified.

Example 1 - Finding the Accuracy of Monsters
The First Step - Obtaining Information
It's certainly convenient when people post offsets for you, but you won't always be able to rely on other people, so I'll show you how to find various offsets. I will give three examples, so you can see what to do/look for when trying to get offsets. Let's say you wanted to find the accuracy of monsters, but you didn't know how to search for it. Here's how.
1. Open MapleDump. In the top left corner, click the icon "Browse". So far you know that you want to edit the accuracy of monsters. Well, most people would know that mob refers to the monsters in game. If you didn't you know now.
2. So open up Mob.wz. After doing so you'll get a big list of .img files. (If you don't see this look in the bottom left corner and make sure it's on the "Content" tab.) These hold the image of the monster as well as reference all the information we'll need to do this. [Note] - This would be a great time to use sauna.gibbed.us to focus on editing a small group or a single item. This is useful for when you want to test something, so you can choose what you want to test, instead of having to edit every single monster/thing that you're working on]
3. Okay, so let's try just a few monsters. Snails (0100100), Blue Snails (0100101) , and Red Snails (0130101). Remember to use sauna.gibbed.us to search for things, if you don't want to go clicking every single .img trying to find what you want. Well now we found our monsters, how do we get learn.py to search for accuracy?
4. To start, double click on 0100100.img. You should see the Green Snail picture.
5. Now on the bottom left of the window you should see a tab labeled "Data". Click it. This should make the list in the panel you were just on significantly smaller.
6. Tick the [+] sign next to the folder labeled 0100100.img. 5 more folders should appear, info move, stand, hit1, and die1. For the purposes of this tutorial, we'll focus on the "info" folder.
7. So tick the [+] sign on "info" and a bunch more folders should appear. From here most of the names of the folders should be pretty clear. Now you've found a wealth of things modifiable. But we are looking for accuracy of the monster. In the list you should see one labeled "acc". I think it would be safe to assume this is the value you want. If your unsure, check the value you see here with what sauna.gibbed.us, or what with hidden-street.net say the particular monster's accuracy (or any other attribute) is. Okay. So now we've found the number we want.
The Second Step - Finding What You Want To Search For/Modify

NOW HOW DO WE EDIT IT? This is where learn.py comes in. However before we use it, we have to close MapleDump. Why? Because all these programs freak out if you are looking/editing the same file at one time. But how do I keep this information for reference? You can either write it all down (time consuming), or you can highlight 0100100.img and click on "Save HTML" at the top. This will save an html version of all this information in a folder named "Output" in your MapleDump directory. So go ahead and do that and open the html file. It will open in your browser. Okay...we still haven't done anything yet, but we're getting closer.
1. In the html file, you'll see a bunch of stuff, most of it looking like gibberish. You don't need most of the information here. What you do need is accuracy. It'll say info.acc. Okay....so we're totally about to do this.
2. Go to your maplestory directory. Right click learnme.py. Click "Edit with IDLE". A new window should pop up, or possibly two.
3. In the window with the lots of code, click on Options > Configure IDLE. On the General Tab, tick the following "Open Edit Window", "Propt to Save". Save and close.
4. Now in the learn.py window, with all the code, scroll down to Line 240. The line number is displayed in the bottom right corner. You should see this line
if result.startswith('undead'):

THIS is the line that seaches for stuff. We want to look for accuracy. If you're remember from the mapledump, it was labeled "acc", so for this line of code, change the search parameter to "acc" so that it looks like this:

if result.startswith('acc'):

Now click on File > Save
The Third Step - Finding Offsets
Now then, we've told it WHAT we want to search for. (Keep this window open for the time being) Now we have to tell it WHERE we want it to search. If you remember from the MapleDump, we were looking under Mob.wz. Open up Config.txt This file is what learnme.py references for the directory.
1. To tell it where to search, make all the numbers next to the item 0, EXCEPT for the one that deals with what you're looking for (Leave ForceDump at 1). So in this case, we want to search in Mob.wz, so change the 0 to a 1 for Mob. Save and close. 2. OKAY NOW WE ARE READY. Go back to the learnme.py window (which you hopefully kept open). Now. Hit F5.
3. At this point a window should've popped up spewing out data like crazy. You should see something like this: Code:
1:787 Mob/0100100.img
acc 21451 0
2:787 Mob/0100101.img // Green Snail
acc 33091 0
3:787 Mob/0120100.img // Blue Snail
acc 39919 0
4:787 Mob/0130100.img
acc 47044 0
5:787 Mob/0130101.img
acc 56273 0
6:787 Mob/0210100.img
acc 63121 0
7:787 Mob/1110100.img
acc 85619 0
8:787 Mob/1110101.img
acc 99476 0
9:787 Mob/1120100.img
acc 108668 0
10:787 Mob/1130100.img // Red Snail

4. If you see this, you've done good. If not, you effed up something. As I was doing this, I still had MapleDump open, so I got an error. Make sure to close mapledump. Now then, we must make sense of this gibberish. Let's look at it closely:
1:787 Mob/0100100.img acc 21451 0
0100100.img!? That sounds familiar. Like the name of the Green Snails directory. Now you know that this particular portion deals with snails. And what's that "acc"?! Zomg, This has something to do with accuracy. But this 21451? What is this number? This is what you want. This is called an offset and tells you where the value for a Green Snail's accuracy is stored in the Mob.wz file for you to modify. Huh?...Don't worry, it'll make sense (hopefully) in a bit.

The Fourth Step - Editing Values
Okay so now we have all the tools necessary for this modifiying business. Now then. Open up i.Hex. Click Open in the top left corner. Navigate to the Mob.wz file in your Maplestory directory. When you find it, open it. You should be greeted by the most frightening combination of numbers and letters you've ever seen. Sooo...let's get started. First off, on the top part, make sure not to mess with stuff. UNCHECK Hex and Signed, CHECK LittleEndian.
1. Okay sooo, remember that 21451? It's an offset. There happens to be a box at the top of the window labeled Offset. Try putting the number in there and hitting enter. This will cause the giant mass of matrix looking code to shift. It should place the cursor at the offset you're looking for. Just stare hard enough till you see it. Or move the arrow keys left and right till you notice where it's moving. 2. The offset should be at 03. If you're lost it looks lke 03 14 00 FD CF...
3. Now then, we wanted to modify Green Snail's accuracy. If you'll recall, a Green Snail has 20 accuracy. If you don't recall, look back on the html thing you dumped, or check hidden-street. But those numbers are in decimal numbers. This has letters in it!!! These are called hexidecimal numbers. The system we're used to is base10 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9), hex is base16 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F). Basically it's another counting system. Think about it how after we reach 9 we go to 2 digits to represent bigger numbers. In this system after you hit F (15) you go to two digits as well. Anywho, nobody wants to learn a new counting system, so that's why the link above to a hex converter is included. (Note: The calculator included in Windows can do this too.)
4. Okay, so you have 20 accuracy, but that's a decimial, and you need it as a hex value. Stick it in the convertor and you'll get this value (14) So 14(hex) = 20?(dec). Now look back at the array you have in i.Hex. OH MY GOOD LORD. It says 03 14!! That must be the number we want!!
5. Okay so, first off, let me remind you that numbers you enter here must be HEX numbers. So before you change anything make sure that you made a back up of your mob.wz, for if you screw up. Now then, lets say we want to reduce the accuracy to 0 so that they always miss. Change the 14 to 00. Now File > Save. Success! Congrats. The end. No really, you're done....
6. Okay so we want to do the same thing with the blue snails as well as red snails. Good thing we looked up their img ID thing at the beginning.
1:787 Mob/0100100.img
acc 21451 0
2:787 Mob/0100101.img // Green Snail
acc 33091 0
3:787 Mob/0120100.img // Blue Snail
acc 39919 0
4:787 Mob/0130100.img
acc 47044 0
5:787 Mob/0130101.img
acc 56273 0
6:787 Mob/0210100.img
acc 63121 0
7:787 Mob/1110100.img
acc 85619 0
8:787 Mob/1110101.img
acc 99476 0
9:787 Mob/1120100.img
acc 108668 0
10:787 Mob/1130100.img // Red Snail

I've labeled them already for convience. Sooo...take the offsets. Stick them in i.hex. Change the values from 03 XX to 03 00, or whatever value you want. You can do this selectively for each individual mosnter, or take that giant list that you got and do it for all monsters! Before you go about doing this for all monsters, it would be a good time to save and actually test it. So do that. Go in game, if these monsters can't seem to hit you, you've succeeded. You've just made your own Godmode!

[Notes of importance] Through other peoples testing, you will encounter the following problems.

1. If you stand in a large mob of monsters and they miss you 25 times, you will disconnect. However this was reported with a different form of godmode, in which collision detection was set to never occur. This is likely a check from the server when it sees that you're character is on a monster but not getting hit. I'm not sure if this form of godmode would do the same. I would suggest you make the accuracy not 0, but low...like 10 (0A in hex). You will get hit, but not as often.
2. At some point you will run into monsters with very high accuracy that are larger than two hex digits. Like...if a monster has 350 accuracy, that's 3 digits in decimal form and 15E in hex. Unfortunately you can't have 3 digits because there's only two bytes XX for you to modify. To overcome this, the way .wz files are packed is to put things in this form (03 80 XX). The 80 is what Saludo's calls a "packed integer" and it's basically a place holder for 256(decimal) in hex. This tells it to take the 80 (256) and add it with the byte that follows. So if you see 03 80 5E, convert 5E to decimal and you get 94. Add 94 + 256(the 80 placeholder) and you get 350. If that all confuses you, just note that if the offset leads you to this (03 80 XX), you're modifying whatever XX is.
__________________
Reply With Quote
  #2 (permalink)  
Old 11-22-2008, 02:20 PM
Oninuva's Avatar
Ownage
 
Join Date: Jun 2006
Location: The US & A.
Posts: 3,059
Downloads: 0
Uploads: 0
Oninuva is a glorious beacon of light (75+)
make some screenshot to prove you it work =]
__________________
Check us out at our new website; [Only registered and activated users can see links. ]
"Forever changing the Gaming Community
Reply With Quote
  #3 (permalink)  
Old 11-22-2008, 10:13 PM
whitelight3r's Avatar
Infamous +1.
 
Join Date: Aug 2006
Location: Surrey, BC
Posts: 1,012
Credits: 5,346
Downloads: 0
Uploads: 0
whitelight3r is just nice (60+)
This guide's a little confusing.. lol.

Before you copy and paste something, always dumb it down a bit, so the noobier people can understand it.

And what Oni. said, always post screenshots.
__________________


- whitelight3r
Reply With Quote
  #4 (permalink)  
Old 12-26-2008, 10:32 AM
Wannabe (Getting around)
 
Join Date: Dec 2008
Posts: 34
Credits: 34
Downloads: 0
Uploads: 0
loveuhen has got alittle rep (5+)
8thgame,this is our website
You will find wonderful things in this area. Every page every picture is what you want to see .when you feel tired in game .sitting down here .and open this page. Maybe you will find something exciting. Or just an easy click. But l want you could have a try. Remember the logo l mean the coffee.
Reply With Quote
Reply

Bookmarks



Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


All times are GMT -4. The time now is 10:21 PM.


Powered by vBulletin® Version 3.7.0
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.0.1 ©2007, Crawlability, Inc.
Template-Modifikationen durch TMS
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios