Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Decrypt packets
#1
Всем привет! Хроники IT. Ядро самопал. Суть проблемы: не получаеться decrypt packets.
Код:
Exception in thread "Thread-0" java.lang.NegativeArraySizeException
Sad Help!!!!
Ответ
#2
NegativeArraySizeException - негативный размер массива, ошибка
Ответ
#3
А так Wink
Код:
public void read(ByteBuffer buffer) {
        int size =  buffer.getShort();
        
        int position = buffer.position();
        
        decrypt(buffer, position, size);
        
        int id = buffer.get();

        switch(id) {}
}

Код:
public void decrypt(ByteBuffer buffer,int offset,int size) {
        try { //LoginCrypt crypt
            crypt.decrypt(buffer.array(), offset, size);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
Ответ
#4
На Ваш вопрос нет однозначного ответа Smile Т.к. Вы даже не выложили полную трассировку стека при исключении. Начинайте лучше отлаживать приложение.
Пара советов. Следите за позицией и размером буфера. Так же уделите внимание тому, что в одном байт-буфере может быть несколько пакетов (если используется mmocore), так же у Вас может быть неполный пакет в буфере, а остальная часть может приходить со следующим пакетом Smile
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.
Ответ
#5
Не получаеться по дружить authserver c gameserverSad

Добавлено через 26 минут
Код:
private ByteBuffer buffer = ByteBuffer.allocate(65536).order(ByteOrder.LITTLE_ENDIAN);
    private Selector selector;

    public Controller() throws IOException {
        selector = Selector.open();
    }

    public void register(Selection selection) throws IOException {
        selection.setController(this);

        selection.register(this);
    }

    @Override
    public void run() {
        while (true) {
            int num = 0;

            try {
                num = selector.selectNow();
            } catch (IOException e) {
                e.printStackTrace();
                return;
            }

            if (num > 0) {
                Iterator<SelectionKey> keys = selector.selectedKeys().iterator();

                while (keys.hasNext()) {
                    SelectionKey key = keys.next();

                    Selection selection = (Selection) key.attachment();

                    keys.remove();

                    System.out.println((key.isAcceptable()?"OP_ACCEPT ":"") + (key.isConnectable()?"OP_CONNECT ":"") + (key.isReadable()?"OP_READ ":"") + (key.isWritable()?"OP_WRITE ":""));

                    switch (key.readyOps()) {
                        case SelectionKey.OP_ACCEPT: {
                            ((SelectionServer) selection).accept();

                            break;
                        }
                        case SelectionKey.OP_CONNECT: {
                            selection.connect();

                            break;
                        }
                        case SelectionKey.OP_WRITE: {
                            selection.tryWrite(buffer);

                            break;
                        }
                        case SelectionKey.OP_READ | SelectionKey.OP_WRITE: {
                            selection.tryWrite(buffer);

                            selection.tryRead(buffer);

                            break;
                        }    
                        case SelectionKey.OP_READ: {
                            selection.tryRead(buffer);

                            break;
                        }
                    }
                }
            }

            try {
                Thread.sleep(10);//TODO config
            } catch (InterruptedException e) {
            }
        }
    }
Controller Smile
Если нужно выложу другие части кода. Не буду засерать форум кодом.
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Cached Packets Id Zubastic 5 2,936 09-28-2015, 09:37 AM
Последний пост: Zubastic
  Хук функций Encrypt\Decrypt(558+) Mifesto 4 2,111 04-11-2015, 05:23 PM
Последний пост: Mifesto
  Server>Client Packets Astend 4 2,319 06-22-2013, 07:00 PM
Последний пост: Astend
  Clent packets elastic 2 1,968 10-21-2012, 04:33 PM
Последний пост: elastic
  packets.properties JFS 0 2,158 04-05-2011, 12:08 AM
Последний пост: JFS

Перейти к форуму:


Пользователи, просматривающие эту тему: 2 Гость(ей)