net.sf.jqql.packets.in
Class LoginReplyPacket
java.lang.Object
net.sf.jqql.packets.Packet
net.sf.jqql.packets.InPacket
net.sf.jqql.packets.BasicInPacket
net.sf.jqql.packets.in.LoginReplyPacket
public class LoginReplyPacket
- extends BasicInPacket
reply packet of login
1. header
2. reply code, 1 byte
part2 if is 0x00
3. session key, 16 byte
4. user QQ number, 4 byte
5. my Internet IP, 4 byte
6. my Internet IP, 2 byte
7. server IP, 4 byte
8. server port, 2 byte
9. times of this login, 4 byte, is 1970-1-1 / 1000
10. unknown 2 byte
11. user authentication token, 24 byte
12. unknown server 1 ip, 4 byte
13. unknown server 1 port, 2 byte
14. unknown server 2 ip, 4 byte
15. unknown server 2 port, 2 byte
16. unknown 2 byte
17. unknown 2 byte
18. clent key , 32 byte, this key use in place such login QQ homestead
19. unknown 12 byte
20. last login ip, 4 byte
21. last login times, 4 byte
22. unknown 39 byte
part 2 if is 0x01, means redirect
3. QQ user number, 4 byte
4. server IP redirect to, 4 byte
5. server port redirect to, 2 byte
part 2 if is 0x05, means lonin fail
3. a error info
QQ登陆应ç”包
1. 头部
2. 回å¤ç , 1å—节
2部分如果是0x00
3. session key, 16å—节
4. 用户QQå·ï¼Œ4å—节
5. 我的外部IP,4å—节
6. 我的外部端å£ï¼Œ2å—节
7. æœåС噍IP,4å—节
8. æœåŠ¡å™¨ç«¯å£ï¼Œ2å—节
9. 本次登录时间,4å—节,为从1970-1-1开始的毫秒数除1000
10. 未知的2å—节
11. 用户认è¯ä»¤ç‰Œ,24å—节
12. 一个未知æœåС噍1çš„ip,4å—节
13. 一个未知æœåС噍1的端å£ï¼Œ2å—节
14. 一个未知æœåС噍2çš„ip,4å—节
15. 一个未知æœåС噍2的端å£ï¼Œ2å—节
16. 两个未知å—节
17. 两个未知å—节
18. client key,32å—节,这个key用在比如登录QQå®¶å›ä¹‹ç±»çš„地方
19. 12个未知å—节
20. 上次登陆的ip,4å—节
21. 上次登陆的时间,4å—节
22. 39个未知å—节
2部分如果是0x01,表示é‡å®šå‘
3. 用户QQå·ï¼Œ4å—节
4. é‡å®šå‘到的æœåС噍IP,4å—节
5. é‡å®šå‘到的æœåŠ¡å™¨çš„ç«¯å£ï¼Œ2å—节
2部分如果是0x05,表示登录失败
3. 一个错误消æ¯
- 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.BasicInPacket |
decryptBody, encryptBody, getBodyBytes, getCryptographStart, getFamily, getHeadLength, getLength, getTailLength, parseHeader, parseTail, putBody, putHead, putTail, toString |
Methods inherited from class net.sf.jqql.packets.Packet |
dump, equals, getCommand, getHeader, getSequence, getSource, hash, hashCode, isDuplicated, setDuplicated, setHeader, setSequence |
sessionKey
public byte[] sessionKey
ip
public byte[] ip
serverIp
public byte[] serverIp
lastLoginIp
public byte[] lastLoginIp
redirectIp
public byte[] redirectIp
port
public int port
serverPort
public int serverPort
redirectPort
public int redirectPort
loginTime
public long loginTime
lastLoginTime
public long lastLoginTime
replyCode
public byte replyCode
replyMessage
public String replyMessage
clientKey
public byte[] clientKey
authToken
public byte[] authToken
LoginReplyPacket
public LoginReplyPacket(ByteBuffer buf,
int length,
QQUser user)
throws PacketParseException
- constructed function
æž„é€ å‡½æ•°
- Parameters:
buf
- 缓冲区 // bufferlength
- 包长度 // packet length
- Throws:
PacketParseException
- è§£æžé”™è¯¯ // parse error
getPacketName
public String getPacketName()
- Overrides:
getPacketName
in class BasicInPacket
- Returns:
- descriptive name of packet
包的æè¿°æ€§åç§°
parseBody
protected void parseBody(ByteBuffer buf)
throws PacketParseException
- Description copied from class:
Packet
- parse packet body, from begin position of buf
è§£æžåŒ…体,从buf的开头ä½ç½®è§£æžèµ·
- Specified by:
parseBody
in class Packet
- Parameters:
buf
- ByteBuffer
- Throws:
PacketParseException
- if parse error
如果解æžå‡ºé”™