[Mini-Guide] Pake/Alissa Use

01/21/2012 23:14 Nosirrom#1
------------------------------------------------------------------------------------------------
---ABOUT---

Here's a tutorial on using pake/alissa so people can get a foothold and learn... and maybe even contribute.

First of all, this assumes you've got pake working. As in the release of pake for the current revision of the game, which is r100. So yeah you just need a working Pake for r100 of Mabinogi. Do those key words sound familiar? Like, the title of another thread here? Or maybe something you could type into google?



------------------------------------------------------------------------------------------------
---OVERVIEW---

Once Mabinogi's been launched, go into the "mod" folder inside Mabinogi's folder.
You'll see alissa analyzer there, that's the packet logger/modifier.
Run it as administrator if you're on Vista/7, otherwise it won't work properly.
Run it as administrator if you're on Vista/7, otherwise it won't work properly.
Run it as administrator if you're on Vista/7, otherwise it won't work properly.

Once it's run, you'll see the main window.

[Only registered and activated users can see links. Click Here To Register...]

We're concerned with four of the buttons.
Connect, Unconnect, ?????, and Clear.
  • Connect - Attaches/start the packet scanning. After clicking this mod_Alissa should show that it's connected and when shit in the game happens, you should see packets flowing.
  • Unconnect - Stops the scanning/logging. You don't want to constantly be scanning/logging, so feel free to only connect when needed to prevent the constant flow of packets from scrolling what you want right out of the window.
  • ????? - The packet building screen, which we'll get to later.
  • Clear - Clears the list.
So check it out. Connect and do shit, watch the packets fly in/out. Once you're comfortable with that, let's get onto analyzing packets.



------------------------------------------------------------------------------------------------
---PACKET ANALYZING / BUILDING---

When you do something you'll notice you send a packet. Walk? Sent a packet. Rest? Sent a packet. Told somebody to shove their hebona up their ass? Sent a packet. In the list, there's details for each packet.
  • Time - Self-explanatory.
  • Type - Packets you send (red) or packets you get (blue).
  • Code - OPcode, the "command" the packet has.
  • ID - Varies as to what the ID is of. For packets you send it's most often the character ID, but sometimes not.
  • Data - The "raw hex" of the parameters.
So. Go to some empty area, and make a party. Notice you sent a packet (in red in the screenshot). Double-click it to see the parameters (as seen in the upper screenshot). So, how to we fuck with this?

Click the ????? button to open the packet building window, then go back to the main Alissaanalyzer window. Right-click on the sent party packet.

[Only registered and activated users can see links. Click Here To Register...]

The two options we're concerned with are the ID and Code options. Click each of them to have the program automatically copy the OPcode and ID into the ????? window for you (or you can do it yourself, like you will be when forging packets anyways). Then copy-paste the parameters yourself, then click the "build packet" button. It should look something like this.

[Only registered and activated users can see links. Click Here To Register...]

Quit your party, then click the "SEND" button at the bottom of the ????? window to send the built packet. If it created the party correctly then you did it right. Those of you that know programming, finding and modifying this shit should come naturally and you're done here, go have fun. The rest of you keep reading.



------------------------------------------------------------------------------------------------
---PACKET MODIFICATION / PARAMETERS---

Well now that you know how to re-send/forge packets, let's look at modifying the parameters, since this is where a lot of the fun stuff lies (and what you'll need to know to find/make your own shit).

You'll notice that the parameters are on their own lines, and each has a "type" set to it. Let's go back to our party example...

00 T_INT : 1 [00000001]
01 T_STR : I like
02 T_STR : to eat
03 T_STR : apples
04 T_STR :
05 T_INT : 8 [00000008]
06 T_BYTE : 0 [00]
  • So the first parameter is an INT, "integer". This means a whole number. In this case it's 1. This appears to be the type of party.
  • The second, third, fourth, and fifth parameters are STR, that's "string". This means a sequence of text. This appears to be the party titles, with the last one being the password line (as no password was set for this example).
  • The last one is listed as BYTE, but I think it should be "bit" or "flag" instead since that's all I've seen it used for... anyways it means a simple ON/OFF or YES/NO or TRUE/FALSE . 0 being OFF/NO/FALSE, 1 being ON/YES/TRUE.
  • You may run across more, feel free to google to learn about various types of variables.
Well, let's try modifying it! Change one of the lines to be something longer than normally allowed, then quit your party, build the packet, and send it. Notice that it actually works.

[Only registered and activated users can see links. Click Here To Register...]

That brings up an important point to remember. The server trusts the client a hell of a lot more than it should.



------------------------------------------------------------------------------------------------
---ADVICE / HINTS---

The party name edit was a simple edit... for the strings, it's easy to see what they are for (name of NPC, player/NPC talking text, shit like that), but for the other values you may need to experiment.

For example by making various types of parties it looks like the first parameter is the type of party. 0 is a regular party, 1 is a dungeon party, and the others could be more types. This brings to light two questions.
  1. Do the other parameters change according to the type of party? For this, the answer is yes. For a dungeon party (as in the example) there's four string lines (three titles and a password), but with a regular party there's only two (title and password), so be careful.
  2. Could we change the values to things that aren't normally done in order to fuck with the game? That's your job! See what you can mess around with and find out. For example there's reports that there's actually up to 5 types of parties...
When you try to do something you're not allowed to, much of the time the server will send a "Tell them NO" flag to the client, and when the client gets it, it'll give you some sort of error (like "you can't do that yet" or "that name is too long" or something). Well, try seeing how far you can get by forging requests and changing the "NO" to "YES". Remember, it's not just sent packets you should mess with!


Though much of the obvious stuff has been fixed (meaning the client isn't trusted with it anymore and it's done server-side), there's still a ton of things you can fuck with in the game.

Have fun... and try not to hurt people, okay? It may be "just a game", but people put actual work, time, and money into their characters. Don't be that douchebag that goes and kicks down the sandcastles on the beach, okay?
01/21/2012 23:30 cloudkiller2006#2
i'll just add in how to get the hex value of the letters to build up your strings, then. for the people not using fancy builders.


don't forget that it starts with 4 digits in which it states how much characters are in the string and ends with 2 zero's(i.e. if you have 15 a's in the string it'd be 000F61616161616161616161616161616100 (61 = a))
01/21/2012 23:38 lukinhas6197#3
Nice, good for begginers :3
01/21/2012 23:42 harrybong1#4
Nice guide :)
01/21/2012 23:55 jas161#5
It's a good guide for noobs but why help them for let them figure it out. :D
01/22/2012 02:10 a798456#6
It's really a good guide thanks!
01/22/2012 03:20 raizachi#7
Let's hope people actually learn from this, instead of just taking it as a 'how to unlimited party text' guide. I did enjoy the use of pictures, though. Being a visual learner I have to have something right in front of me to learn about it, and I see a lot of people like that these days who just get turned off by a giant ass wall of text. GJ.
01/22/2012 03:59 Nosirrom#8
Oh, I'm expecting one or two "Okay I can do party text now but how do I dupe?" posts...

A main reason for this guide is because there's little to no documentation on this, so even users like me who know technical crap had a hell of a time figuring out how to use the tools given.
01/22/2012 04:21 raizachi#9
Yeah, I agree. Unless you're using Alissa in Japanese locale it's hard to tell what you're doing without tinkering around a bit. As long as it's not blatantly spoonfeeding like saying type csend blah blah blah, it has some use. It's up to the user to make proper use of it though I guess, lol. Nice first post though.
01/22/2012 04:29 12201#10
Quote:
Originally Posted by Nosirrom View Post
-shortend-
woulda been nice to have a guide like this when I came back to the scene and was forced to learn how to use pake on my own lol. But to me the challenge was fun, you just spoon fed everyone whos to lazy to accept the challenge and experiment and have fun that way. but still a helpful guide lol
01/22/2012 05:33 Nogimule1#11
Yes! YES YES YES YES!

I was hoping someone would do this for me!! Only reason I kept blabbing about it around the forum. =)

Though, I do have one complaint. The "curse words." Guide would've been better without them. Not to mention, if ever a Mod' does come to these parts of the website, it'd be a pity to have a Thread this useful removed/edited at the will of the Moderator 'cause of something stupid

EDIT: Oh, and thanks again for taking a load off my shoulders. :)
01/22/2012 06:11 Nosirrom#12
Quote:
Originally Posted by 12201 View Post
But to me the challenge was fun, you just spoon fed everyone whos to lazy to accept the challenge and experiment and have fun that way. but still a helpful guide lol
It certainly feels nice to figure something out yourself, but the issue with figuring this out is it's mostly in-the-dark fumbling around... unlabeled tools with no documentation are an unreasonably harsh barrier.


Quote:
Originally Posted by Nogimule1 View Post
Yes! YES YES YES YES!

I was hoping someone would do this for me!! Only reason I kept blabbing about it around the forum. =)
Yeah I saw. :)

Quote:
Originally Posted by Nogimule1 View Post
Though, I do have one complaint. The "curse words." Guide would've been better without them. Not to mention, if ever a Mod' does come to these parts of the website, it'd be a pity to have a Thread this useful removed/edited at the will of the Moderator 'cause of something stupid
Really? I'm constantly seeing people trash talking each other's [mother / girlfriend / hacking skills / genitals] here and have never witnessed any mod action. I mean seriously it seems this forum can't go three threads without flaming.
01/22/2012 06:47 Nogimule1#13
Quote:
Originally Posted by Nosirrom View Post
Really? I'm constantly seeing people trash talking each other's [mother / girlfriend / hacking skills / genitals] here and have never witnessed any mod action. I mean seriously it seems this forum can't go three threads without flaming.

It certainly feels nice to figure something out yourself, but the issue with figuring this out is it's mostly in-the-dark fumbling around... unlabeled tools with no documentation are an unreasonably harsh barrier.
The Mabinogi Forum isn't the ePvP World. Not close to it. *Shrug* I Guess it depends on Moderator tolerance, but there was a time when "curse words" were flagged. In this case, there is no current moderator assigned to this forum, so for now it "won't matter." I guess it's just a thing of integrity, and "Thinking ahead."

Oh, and Alissa tools are labeled. Granted, not in English, but still labeled.`~
01/22/2012 07:04 Nosirrom#14
Well I'm not trying to post this on foreign forums. :P
01/22/2012 13:48 Nogimule1#15
Do as you want, while you can.`~ It's always been like that, I guess.

In any case, Props on a nice guide.