Code Monkey home page Code Monkey logo

mapleshark's Introduction

Interface
=========

Reserved.

Scripting
=========

The script engine used is called ScriptDotNet, also known as S#.
Information regarding the syntax of S# itself can be found at http://www.protsyk.com/scriptdotnet/

Functions defined below follow a simple syntax: <return type> <function name>(<parameters>)

Scripts have only one object exposed to them named ScriptAPI.
All of the following functions are called from the context of ScriptAPI, IE: ScriptAPI.AddByte("Example");


byte AddByte(string name)

  Adds unsigned byte as a field with given name to the structure view, and returns the value.
  
sbyte AddSByte(string name)

  Adds signed byte as a field with given name to the structure view, and returns the value.

ushort AddUShort(string name)

  Adds unsigned short as a field with given name to the structure view, and returns the value.

short AddShort(string name)

  Adds signed short as a field with given name to the structure view, and returns the value.

uint AddUInt(string name)

  Adds unsigned int as a field with given name to the structure view, and returns the value.

int AddInt(string name)

  Adds signed int as a field with given name to the structure view, and returns the value.

float AddFloat(string name)

  Adds 4 byte float as a field with given name to the structure view, and returns the value.

double AddDouble(string name)

  Adds 4 byte double as a field with given name to the structure view, and returns the value.

bool AddBool(string name)

  Adds 1 byte bool as a field with given name to the structure view, and returns the value (false when byte is 0, true when byte is 1).

long AddLong(string name)

  Adds signed long as a field with given name to the structure view, and returns the value.

double AddDouble(string name)

  Adds 8 byte double float as a field with given name to the structure view, and returns the value.

string AddPaddedString(string name, int length)

  Adds fixed length string as a field with given name and length to the structure view, and returns the value.

void AddField(string name, int length)

  Adds a field with given name and length to the structure view, and returns nothing.

void StartNode(string name)

  Adds a sub node with given name as the new parent until required matching EndNode, and returns nothing.

void EndNode(bool expand)

  Completes the last StartNode, expanding contents if expand is true, and returns nothing.

void Write(string file, string line)

  Appends the given line of text to the given file, and returns nothing.
  
int Remaining()

  Returns the number of bytes remaining unprocessed in the packet.

mapleshark's People

Contributors

diamondo25 avatar elwl avatar gilmatok avatar icelemon1314 avatar kochirasu avatar kururulabo avatar lankmasterflex avatar pungin avatar waty avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mapleshark's Issues

Load SendOpcode And RecvOpcode From Java

hey not everyone seems like be using the old properties files loading it is a hassle to load

LOGIN_PASSWORD(0x01),

was wondering you can read directly from java file and load it in MapleShark will help alot :P

How can i open MapleShark in cmd?

I wanted to debug it since it sometimes seems to randomly terminate connection, how can i see it in command line to see where it breaks connection?

Changed EMS locale and AES Key

Due to the upcoming merge with GMS the locale and AES key used by MapleStory Europe have changed to the following:

Locale: 8
AES Key: DBCB29147ED1D4500EC36ACD2AE38DF0D3FF3D53099A633F750B0B7C67D3C884

It is unknown if EMS will use the same key recycling procedure as GMS.

v183+ GMS incorrect outbound opcode

This issue has been happening since v183.1.

Unable to see the correct outbound opcode.
The packet structure seems fine.
The opcode changes each time upon channel change.
It seems to affect only the outbound opcodes that are used for the channels.
The login outbound opcodes are proper and don't change.

How to use?

I can't find any tutorials on how to use mapleshark if you could link me to something please. I can't find any packets at all

RealtimePacketProcessor missing

Severity Code Description Project File Line Suppression State
Error CS2001 Source file 'C:\Users\inume\Documents\GitHub\MapleShark\Tools\RealtimePacketProcessor.cs' could not be found. MapleShark C:\Users\inume\Documents\GitHub\MapleShark\CSC 1 Active

image

It doesn't show inbound packets.

_expectedDataSize is always greater than mCursor.

When receive inbound packet and read the inbound packet, the value of mCursor doesn't change.
_expectedDataSize: 8147
mCursor: 50??

How can I fix both variable?

Outbound is good.

Display the Encrypt & Decrypt IV

Perhaps add two column after "Name" for the Encrypt & Decrypt IVs. Preferably display as four bytes rather than as a little endian int.

Or, just one column for either Decrypt or Encrypt IV, depending on the direction. This is more compact, and I think this would not cause to much confusion/obfuscation.

@diamondo25 Thoughts?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.