mirror of
https://github.com/mamoe/mirai.git
synced 2025-03-24 06:10:09 +08:00
update
This commit is contained in:
parent
3e451344b4
commit
a6959672d7
@ -10,7 +10,7 @@ import java.io.IOException
|
||||
* @author Him188moe @ Mirai Project
|
||||
*/
|
||||
@ExperimentalUnsignedTypes
|
||||
@PacketId(0x08_25_31_02)
|
||||
@PacketId("08 25 31 02")
|
||||
class Client0825ResponsePacket(private val serverIP: String, private val qq: Int) : ClientPacket() {
|
||||
@ExperimentalUnsignedTypes
|
||||
override fun encode() {
|
||||
|
@ -14,10 +14,15 @@ import java.net.InetAddress
|
||||
*/
|
||||
@PacketId("08 36")
|
||||
@ExperimentalUnsignedTypes
|
||||
class Client0836_622Packet(private val qq: Int, private val password: String, private val tgtgtKey: ByteArray, private val seq: String, private val token0825: ByteArray) : ClientPacket() {
|
||||
class Client0836_622Packet(private val qq: Int, private val password: String, private val loginTime: ByteArray, private val loginIP: ByteArray, private val tgtgtKey: ByteArray, private val seq: String, private val token0825: ByteArray) : ClientPacket() {
|
||||
@ExperimentalUnsignedTypes
|
||||
override fun encode() {
|
||||
|
||||
this.writeHex(seq)
|
||||
this.writeQQ(qq)
|
||||
this.writeHex(Protocol._0836_622_fix1)
|
||||
this.writeHex(Protocol.publicKey)
|
||||
this.writeHex("00 00 00 10")
|
||||
this.writeHex(Protocol._0836key1)
|
||||
|
||||
//TEA 加密
|
||||
this.write(TEACryptor.encrypt(object : ClientPacket() {
|
||||
@ -37,7 +42,7 @@ class Client0836_622Packet(private val qq: Int, private val password: String, pr
|
||||
this.writeQQ(qq)
|
||||
this.writeHex("00 06")//tag
|
||||
this.writeHex("00 78")//length
|
||||
this.writeTLV0006(qq, password)
|
||||
this.writeTLV0006(qq, password, loginTime, loginIP, tgtgtKey)
|
||||
//fix
|
||||
this.writeHex(Protocol._0836_622_fix2)
|
||||
this.writeHex("00 1A")//tag
|
||||
@ -88,7 +93,7 @@ class Client0836_622Packet(private val qq: Int, private val password: String, pr
|
||||
writeLong(getCrc32(it))//todo may be int? check that.
|
||||
}
|
||||
}
|
||||
}.encodeToByteArray(), Protocol.redirectionKey.hexToBytes()))
|
||||
}.encodeToByteArray(), Protocol.shareKey.hexToBytes()))
|
||||
}
|
||||
|
||||
|
||||
|
@ -8,7 +8,8 @@ import java.io.IOException
|
||||
/**
|
||||
* @author Him188moe @ Mirai Project
|
||||
*/
|
||||
@PacketId(0x00_58)
|
||||
@ExperimentalUnsignedTypes
|
||||
@PacketId("00 58")
|
||||
class ClientHeartbeatPacket : ClientPacket() {
|
||||
var qq: Int = 0
|
||||
var sessionKey: ByteArray? = null//登录后获得
|
||||
|
@ -11,7 +11,7 @@ import java.io.IOException
|
||||
* @author Him188moe @ Mirai Project
|
||||
*/
|
||||
@ExperimentalUnsignedTypes
|
||||
@PacketId(0x08_25_31_01)
|
||||
@PacketId("08 25 31 01")
|
||||
class ClientLoginPacket : ClientPacket() {
|
||||
var qq: Int = 0
|
||||
|
||||
|
@ -85,11 +85,10 @@ fun DataOutputStream.writeTLV0006(qq: Int, password: String, loginTime: ByteArra
|
||||
it.writeHex(Protocol._0825data2)
|
||||
it.writeHex("00 00 01")
|
||||
|
||||
val md5_1: ByteArray = md5(password);
|
||||
|
||||
val md5_1 = md5(password);
|
||||
val md5_2 = md5(md5_1 + "00 00 00 00".hexToBytes() + qq.toBytes())
|
||||
it.write(md5_1)
|
||||
it.write(loginTime)//FIXED 12(maybe 11???) bytes
|
||||
it.write(loginTime)//todo FIXED 12(maybe 11???) bytes??? check that
|
||||
it.writeByte(0);
|
||||
it.writeZero(4 * 3)
|
||||
it.write(loginIP)
|
||||
|
Loading…
Reference in New Issue
Block a user