Advertisement
Guest User

Untitled

a guest
Jun 12th, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.52 KB | None | 0 0
  1. package org.kyle.orcus.net.codec;
  2.  
  3. import org.jboss.netty.buffer.ChannelBuffer;
  4. import org.jboss.netty.buffer.ChannelBuffers;
  5. import org.jboss.netty.channel.Channel;
  6. import org.jboss.netty.channel.ChannelHandlerContext;
  7. import org.jboss.netty.handler.codec.frame.FrameDecoder;
  8.  
  9. import java.util.logging.Logger;
  10.  
  11. /**
  12.  * Created by IntelliJ IDEA.
  13.  * User: kyle
  14.  * Date: 27-Aug-2010
  15.  * Time: 01:08:08
  16.  * To change this template use File | Settings | File Templates.
  17.  */
  18. public class LoginDecoder extends FrameDecoder {
  19.  
  20.     private Logger logger = Logger.getLogger(this.getClass().getName());
  21.  
  22.     @Override
  23.     protected Object decode(ChannelHandlerContext channelHandlerContext, Channel channel, ChannelBuffer channelBuffer) throws Exception {
  24.         int opcode = channelBuffer.readByte() & 0xFF;
  25.         switch (opcode) {
  26.             case 16:
  27.             case 18:
  28.                 int returnCode = 2;
  29.                 int packet_size = channelBuffer.readUnsignedByte();
  30.                 logger.info("packet_size="+packet_size);
  31.                 int magic_id = channelBuffer.readUnsignedByte();
  32.                 logger.info("magic_id="+magic_id);
  33.                 int version = channelBuffer.readUnsignedShort();
  34.                 logger.info("version="+version);
  35.                 int detail = channelBuffer.readUnsignedByte();
  36.                 logger.info("detail="+detail);
  37.                 for (int i = 0; i < 9; i++) {
  38.                     int archive_crc = channelBuffer.readInt();
  39.                 }
  40.                 int encrypted = channelBuffer.readUnsignedByte(); //NOT SURE ABOUT NAMING
  41.                 logger.info("encrypted="+encrypted); //NOT SURE ABOUT NAMING
  42.                 long client_key = channelBuffer.readLong();
  43.                 logger.info("client_key="+client_key);
  44.                 long server_key = channelBuffer.readLong();
  45.                 logger.info("server_key="+server_key);
  46.                 int uid = channelBuffer.readInt();
  47.                 logger.info("uid="+uid);
  48.                 String username = "K";
  49.                 logger.info("username="+username);
  50.                 String password = "A";
  51.                 logger.info("password="+password);
  52.                 ChannelBuffer out = ChannelBuffers.dynamicBuffer();
  53.                 out.writeByte(returnCode);
  54.                 out.writeByte(0);
  55.                 out.writeByte(0);
  56.                 channel.write(out);
  57.                 break;
  58.         }
  59.         return null;  //To change body of implemented methods use File | Settings | File Templates.
  60.     }
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement