Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Cash Shop tooltip fix

Newbie Spellweaver
Joined
Jan 31, 2019
Messages
20
Reaction score
6
My man, you need to hunker down and do some studying, cause you're posting a lot instead of figuring this stuff out on yourself.
Right above the spoiler, it says Random client edit dump. so yes of course it's in the client.

That doesn't go anywhere.
You have to go to memory address > 0x008339A1 + 2 < in the client and change it 0x2C.
You also have to go to memory address > 0x004B7379 + 3 < in the client and change that and the next 3 bytes to 0.
You should learn what an Int and Byte is if you don't and then go look in these forums for how to client edit.
Don't ask how to because the resources to learn are already available.
Here's a hint.
 
Newbie Spellweaver
Joined
Aug 31, 2013
Messages
33
Reaction score
4
You will need to learn what IDB is, what DLL is, and to some extent what C++ is.

If you are not willing to learn about them, you may want to give up on client modification and work on Java-related and Wz editing of the server source.
 
Newbie Spellweaver
Joined
Nov 19, 2023
Messages
36
Reaction score
1
My man, you need to hunker down and do some studying, cause you're posting a lot instead of figuring this stuff out on yourself.
Right above the spoiler, it says Random client edit dump. so yes of course it's in the client.

That doesn't go anywhere.
You have to go to memory address > 0x008339A1 + 2 < in the client and change it 0x2C.
You also have to go to memory address > 0x004B7379 + 3 < in the client and change that and the next 3 bytes to 0.
You should learn what an Int and Byte is if you don't and then go look in these forums for how to client edit.
Don't ask how to because the resources to learn are already available.
Here's a hint.
Thank you for your response first of all.
Secondly I am learning I'm also a 2nd year student in CS but haven't gotten to Assembly yet.
Thirdly why is there a + 1 and + 3?
Isn't this just equal to 0x008339A2
and 0x004B737C?
So I juat need to change these addresses:
0x008339A2
0x004B737C
Right?

You will need to learn what IDB is, what DLL is, and to some extent what C++ is.

If you are not willing to learn about them, you may want to give up on client modification and work on Java-related and Wz editing of the server source.
In my 1st year of the CS degree we learned oop on cpp so I'm familiar with the language. Don't know what IDB is, I'm learning right now.
I just want to know if there is a simple way to edit these addresses in ollydbg
Im asking to make sure,
Do I just go to these addresses in ollydbg and change them according to the guide? Seems very simple
 
Last edited:
Newbie Spellweaver
Joined
Nov 15, 2022
Messages
25
Reaction score
10
Thank you for your response first of all.
Secondly I am learning I'm also a 2nd year student in CS but haven't gotten to Assembly yet.
Thirdly why is there a + 1 and + 3?
Isn't this just equal to 0x008339A2
and 0x004B737C?
So I juat need to change these addresses:
0x008339A2
0x004B737C
Right?


In my 1st year of the CS degree we learned oop on cpp so I'm familiar with the language. Don't know what IDB is, I'm learning right now.
I just want to know if there is a simple way to edit these addresses in ollydbg
Im asking to make sure,
Do I just go to these addresses in ollydbg and change them according to the guide? Seems very simple
First of all, take it easy - modding a game is hard, and modding MapleStory is especially hard.

You are going to need to learn assembly. If you are modding a game, you need to be able to reverse engineer it and understand how it works. Since we don't have the source code of MapleStory, the best we have is the game's executable, which we can load into a reverse engineering program (most popular being IDA Pro, but there is also Ghidra and Binary Ninja), and look at the assembly instructions, or a decompiled estimate that the program gives us.

An IDB is the file format that IDA Pro generates when reverse engineering an application. You are going to need to learn IDA and reverse engineering to work on MapleStory modding.
There are a couple of posts in this forum which IDBs that people worked on, you should probably use them instead of starting from scratch.

Regarding your first question, usually when writing client patches you want to keep track of the address of the instruction you want to patch, but sometimes you only need to patch a portion of the instruction. For example, if I want to patch a call instruction, which takes 5 bytes, to make it call my function instead of the original function, I only need to override the last 4 bytes of the instruction. So when I write the patch, I'll put the address of the instruction + 1.

Anyways, I don't recommend you starting out with MapleStory - It is a hard game to crack and mod.
If you want to learn game modding/hacking, I recommend you do so with a game that (somehow) supports it, like Minecraft or GMod. You should also do some reverse engineering challenges to get comfortable.
After that you should learn about hooking, DLL injection, and take a look at existing MapleStory related projects (mainly AuthHook and some Launcher).
 
Newbie Spellweaver
Joined
Aug 31, 2013
Messages
33
Reaction score
4
If you don't use the DLL, you can edit it by rewriting the client directly.

Before I used the DLL, I used to update the resolution to 1980x1080p by rewriting the client directly.

The IDB is simply a way to see what is being done in what part of the client.

By utilizing the IDB, you can easily make UI changes, add skills, add professions, etc.
It is also possible to change the behavior by rewriting the code.
 
Newbie Spellweaver
Joined
Nov 19, 2023
Messages
36
Reaction score
1
First of all, take it easy - modding a game is hard, and modding MapleStory is especially hard.

You are going to need to learn assembly. If you are modding a game, you need to be able to reverse engineer it and understand how it works. Since we don't have the source code of MapleStory, the best we have is the game's executable, which we can load into a reverse engineering program (most popular being IDA Pro, but there is also Ghidra and Binary Ninja), and look at the assembly instructions, or a decompiled estimate that the program gives us.

An IDB is the file format that IDA Pro generates when reverse engineering an application. You are going to need to learn IDA and reverse engineering to work on MapleStory modding.
There are a couple of posts in this forum which IDBs that people worked on, you should probably use them instead of starting from scratch.

Regarding your first question, usually when writing client patches you want to keep track of the address of the instruction you want to patch, but sometimes you only need to patch a portion of the instruction. For example, if I want to patch a call instruction, which takes 5 bytes, to make it call my function instead of the original function, I only need to override the last 4 bytes of the instruction. So when I write the patch, I'll put the address of the instruction + 1.

Anyways, I don't recommend you starting out with MapleStory - It is a hard game to crack and mod.
If you want to learn game modding/hacking, I recommend you do so with a game that (somehow) supports it, like Minecraft or GMod. You should also do some reverse engineering challenges to get comfortable.
After that you should learn about hooking, DLL injection, and take a look at existing MapleStory related projects (mainly AuthHook and some Launcher).
Thank you for your reply.
Look all I want to do is play my PS with a few friends. I already made some custom edits like creating new items and manipulated the code a bit. I'm just asking, technically, how to modify that specific address for the smooth cash shop hovering.
Do I just change the address to 0 in ollydbg?
 
Newbie Spellweaver
Joined
Nov 15, 2022
Messages
25
Reaction score
10
Thank you for your reply.
Look all I want to do is play my PS with a few friends. I already made some custom edits like creating new items and manipulated the code a bit. I'm just asking, technically, how to modify that specific address for the smooth cash shop hovering.
Do I just change the address to 0 in ollydbg?
Looking at the patches:
C++:
WriteByte(0x008339A1 + 2, 0x2C); //Keyboard
WriteInt(0x004B7379 + 3, 0); //Cash Shop

WriteByte means writing a single byte, and WriteInt means writing a 4 byte integer.
Figure it out from there :)
 
Newbie Spellweaver
Joined
Nov 19, 2023
Messages
36
Reaction score
1
Looking at the patches:
C++:
WriteByte(0x008339A1 + 2, 0x2C); //Keyboard
WriteInt(0x004B7379 + 3, 0); //Cash Shop

WriteByte means writing a single byte, and WriteInt means writing a 4 byte integer.
Figure it out from there :)
Well I just went to the address 004B7379 and added 3 which is
And filled it with 00s and it worked. This was so simple you guys could've just said so, instead you explain how the Big Bang happened. It was this easy this is only what I asked
 
Newbie Spellweaver
Joined
Jan 31, 2019
Messages
20
Reaction score
6
Secondly I am learning I'm also a 2nd year student in CS but haven't gotten to Assembly yet.
You don't really need to know assembly. Hell iirc in 1st assembly class you don't even really learn to read assembly like in the idb, it's kinda just a repeat of your intro to computer science but well in assembly instead of whatever language you first learned.
Thirdly why is there a + 1 and + 3?
Isn't this just equal to 0x008339A2
and 0x004B737C?
So I juat need to change these addresses:
0x008339A2
0x004B737C
Right?
Technically. I don't really know why the 1st they bothered to write it that way since you're only changing one byte so you might as well just write what the address is. But it's written like that I think because of alignment reasons. If you "goto" 0x004B7379 you'll visually see instructions that make sense. If you directly "goto" 0x004B737C what you'll see won't make any sense because you're not aligned right. (depending on what tool you're using). This doesn't matter if you're just following instructions/guide but if you're trying to do a new client edit yourself, it wouldn't be possible if what you're looking at is nonsense.
In my 1st year of the CS degree we learned oop on cpp so I'm familiar with the language. Don't know what IDB is, I'm learning right now.
My advice is stop messing with maplestory (at least the non cosmetic stuff, such as client editing and fixing server issues), if you're serious about going into computer science. It's basically like you're rushing ahead and you're gonna scramble your mind until you learn a good way to program and understand programming decently. This stuff is a bit much if you've only finished your 1st year of CS and that's all your experience.
Better to come back once you've got some experience under your belt and you can understand what is going on.
 
Newbie Spellweaver
Joined
Nov 15, 2022
Messages
25
Reaction score
10
Well I just went to the address 004B7379 and added 3 which is

And filled it with 00s and it worked. This was so simple you guys could've just said so, instead you explain how the Big Bang happened. It was this easy this is only what I asked
you could have also just tried it out instead of asking for help.
no one is going to baby feed you solutions all the time, if you aren't willing to mess around and do your own trial and error, you are in the wrong place
 
Newbie Spellweaver
Joined
Nov 19, 2023
Messages
36
Reaction score
1
you could have also just tried it out instead of asking for help.
no one is going to baby feed you solutions all the time, if you aren't willing to mess around and do your own trial and error, you are in the wrong place
You can either answer the question, reply with 3 messages without giving the answer, or ignore.
For some reason you chose to explain stuff I didn't ask for instead of saying "change the address to X in a debugger" / ignore the post and go about your day.
You can keep commenting on why I need to figure it out myself instead of giving a 6 words solution for the initial problem, it's your time.

You don't really need to know assembly. Hell iirc in 1st assembly class you don't even really learn to read assembly like in the idb, it's kinda just a repeat of your intro to computer science but well in assembly instead of whatever language you first learned.

Technically. I don't really know why the 1st they bothered to write it that way since you're only changing one byte so you might as well just write what the address is. But it's written like that I think because of alignment reasons. If you "goto" 0x004B7379 you'll visually see instructions that make sense. If you directly "goto" 0x004B737C what you'll see won't make any sense because you're not aligned right. (depending on what tool you're using). This doesn't matter if you're just following instructions/guide but if you're trying to do a new client edit yourself, it wouldn't be possible if what you're looking at is nonsense.

My advice is stop messing with maplestory (at least the non cosmetic stuff, such as client editing and fixing server issues), if you're serious about going into computer science. It's basically like you're rushing ahead and you're gonna scramble your mind until you learn a good way to program and understand programming decently. This stuff is a bit much if you've only finished your 1st year of CS and that's all your experience.
Better to come back once you've got some experience under your belt and you can understand what is going on.
I love playing MS, it's not like I chose this game just so I can learn. It's the other way around. I'm already learning CS, and was playing MS when I was a kid. I decided to play again in my PS with friends, only now I can really know what I'm doing in the source code side and it's more fun. Just there are a few bugs that annoy me and idk yet how to fix them so I'm looking for blind solutions online (do that do this kidna guides without knowing what it means, but I know how to follow steps when they're thoroughly explained)
 
Back
Top