How to block Map Crash in v83?

Results 1 to 6 of 6
  1. #1
    Member DragonNC is offline
    MemberRank
    Jun 2010 Join Date
    71Posts

    How to block Map Crash in v83?


    RaGEZONE Recommends

    RaGEZONE Recommends

    I've tried doing this, not sure if i'm doing it right or not. Also, how can i find out the packets that causes Map/Server crash?

    Here is what i did for one. Found it in RZ
    Spoiler:

    package net.channel.handler;

    import client.MapleCharacter;
    import client.MapleClient;
    import java.rmi.RemoteException;
    import net.AbstractMaplePacketHandler;
    import tools.MaplePacketCreator;
    import tools.data.input.SeekableLittleEndianAccessor;

    public final class PetChatHandler extends AbstractMaplePacketHandler {

    public final void handlePacket(SeekableLittleEndianAccessor slea, MapleClient c) {
    MapleCharacter player = c.getPlayer();
    byte mode = slea.readByte();

    if (slea.toString().contains("A8 00 DF 00 00 00 00 00 00 00 01 0D 01 00 31") || slea.toString().contains("A8 00 DF 00 00 00 00 00 00 00 01 0D 01 00 32") ) {
    try {
    player.getClient().getChannelServer().getWorldInterface().broadcastMessage(null, MaplePacketCreator.serverNotice(6, player.getName() + " tried to use packet edit").getBytes());
    } catch (RemoteException e) {
    c.getChannelServer().reconnectWorld();
    }
    player.getClient().disconnect();
    } else { //.. do the regular stuff.
    int petId = slea.readInt();
    slea.readInt();
    slea.readByte();
    int act = slea.readByte();
    if (act > 0x15) {
    return;
    }
    String text = slea.readMapleAsciiString();
    c.getPlayer().getMap().broadcastMessage(c.getPlayer(), MaplePacketCreator.petChat(c.getPlayer().getId(), c.getPlayer().getPetIndex(petId), act, text), true);
    }
    }
    }


  2. #2
    Hardcore Member Modify is offline
    MemberRank
    Dec 2013 Join Date
    636f6f6b696573Location
    130Posts

    Re: How to block Map Crash in v83?

    Greetings! That is done correctly.

    To block 'map crashes' you need not only the packet, but you need to know where it's handled as well in order to block it. You can use the same method as the one you posted

    Good luck!

  3. #3
    Member Imperative is offline
    MemberRank
    Dec 2013 Join Date
    Everywhere.Location
    56Posts

    Re: How to block Map Crash in v83?

    @Modify
    That's a bad way of doing it.
    For example I can just change [DF 00 00 00] to [E0 00 00 00] (which is the pet id) or anything else in the packet (while avoiding that specific packet check) and still be able to crash everyone in the map.

    @DragonNC
    I suggest you read every post in this thread (Also compare the handlers since yours is incorrect) for pet crash and knowledge on how to patch future crashes:
    Packet Block

  4. #4
    CSG sunnyboy is offline
    The OmegaRank
    Mar 2010 Join Date
    6,188Posts

    Re: How to block Map Crash in v83?

    I suggest you break down the packet to see what it's made of and then manually fix it (which would universally fix any other variation of that packet aka changing id)

  5. #5
    Member DragonNC is offline
    MemberRank
    Jun 2010 Join Date
    71Posts

    Re: How to block Map Crash in v83?

    Alright, thanks for the replies, anyways, how do i read 7B 00 04 B7 50 00 00 00 00 ?
    i only know 7B 00 is player interaction. i'm not sure how to read the others

  6. #6
    CSG sunnyboy is offline
    The OmegaRank
    Mar 2010 Join Date
    6,188Posts

    Re: How to block Map Crash in v83?

    Quote Originally Posted by DragonNC View Post
    Alright, thanks for the replies, anyways, how do i read 7B 00 04 B7 50 00 00 00 00 ?
    i only know 7B 00 is player interaction. i'm not sure how to read the others
    Follow the structure of the handler for that piece of recv.




Advertisement