net.sf.jqql.packets.out
Class LoginPacket
java.lang.Object
net.sf.jqql.packets.Packet
net.sf.jqql.packets.OutPacket
net.sf.jqql.packets.BasicOutPacket
net.sf.jqql.packets.out.LoginPacket
public class LoginPacket
- extends BasicOutPacket
QQ login request packet, format:
1. head
2. initial key, 16 byte
3. 16 byte content made by encoding " " using user's key
4 36 byte fixed content, unknown meaning
5. login status, like invisible login and etc, 1 byte
6. 16 byte fixed content, unknown meaning
7. login token length, 1 byte
8. login token
9. login mode, 1 byte, support normal at present
10. unknown 1 byte, 0x40
11. segment count behind, 1 byte, 1 segment uses 9 byte(I guess)
12. segment, basic fixed content everytime, unknown meaning
13. If not long enough, fill 0 till reach the login packet length.
14. tail
QQ登录请求包,格式为
1. 头部
2. 初始密钥,16字节
3. 用户的密码密钥加密一个空串得到的16字节
4. 36字节的固定内容,未知含义
5. 登录状态,隐身登录还是什么,1字节
6. 16字节固定内容,未知含义
7. 登录令牌长度,1字节
8. 登录令牌
9. 登录模式,1字节,目前只支持普通模式
10. 未知1字节,0x40
11. 后面段的个数,1字节,1个段9字节(猜测)
12. 段,每次基本都是固定内容,未知含义
13. 长度不足则全部填0知道符合登录包长度
14. 尾部
- Author:
- luma
| Fields inherited from class net.sf.jqql.packets.Packet |
bodyBuf, bodyDecrypted, command, crypter, ds, duplicated, header, log, sequence, source, user |
| Methods inherited from class net.sf.jqql.packets.BasicOutPacket |
decryptBody, encryptBody, getBodyBytes, getCryptographStart, getFamily, getHeadLength, getLength, getTailLength, parseHeader, parseTail, postFill, putHead, putTail, toString, validateHeader |
| Methods inherited from class net.sf.jqql.packets.OutPacket |
dump, fill, getKey, getNextSeq, getSendCount, getTimeout, needAck, needResend, parseBody, setKey, setSendCount, setTimeout |
| Methods inherited from class net.sf.jqql.packets.Packet |
equals, getCommand, getHeader, getSequence, getSource, hash, hashCode, isDuplicated, setDuplicated, setHeader, setSequence |
LoginPacket
public LoginPacket(QQUser user)
- constructor
构造函数
LoginPacket
public LoginPacket(ByteBuffer buf,
int length,
QQUser user)
throws PacketParseException
- Parameters:
buf - length -
- Throws:
PacketParseException
getPacketName
public String getPacketName()
- Overrides:
getPacketName in class BasicOutPacket
- Returns:
- descriptive name of packet
包的描述性名称
putBody
protected void putBody(ByteBuffer buf)
- Description copied from class:
Packet
- initialize packet body
初始化包体
- Specified by:
putBody in class Packet
- Parameters:
buf - ByteBuffer