forked from mamoe/mirai
-
Notifications
You must be signed in to change notification settings - Fork 0
/
MiraiProtocolInternal.kt
98 lines (93 loc) · 3.28 KB
/
MiraiProtocolInternal.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
/*
* Copyright 2019-2022 Mamoe Technologies and contributors.
*
* 此源代码的使用受 GNU AFFERO GENERAL PUBLIC LICENSE version 3 许可证的约束, 可以在以下链接找到该许可证.
* Use of this source code is governed by the GNU AGPLv3 license that can be found through the following link.
*
* https://github.com/mamoe/mirai/blob/dev/LICENSE
*/
package net.mamoe.mirai.internal.utils
import net.mamoe.mirai.utils.BotConfiguration.MiraiProtocol
import net.mamoe.mirai.utils.EnumMap
import net.mamoe.mirai.utils.toUHexString
import kotlin.jvm.JvmField
internal class MiraiProtocolInternal(
@JvmField internal val apkId: String,
@JvmField internal val id: Long,
@JvmField internal val ver: String,
@JvmField internal val sdkVer: String,
@JvmField internal val miscBitMap: Int,
@JvmField internal val subSigMap: Int,
@JvmField internal val mainSigMap: Int,
@JvmField internal val sign: String,
@JvmField internal val buildTime: Long,
@JvmField internal val ssoVersion: Int,
) {
internal companion object {
internal val protocols = EnumMap<MiraiProtocol, MiraiProtocolInternal>(MiraiProtocol::class)
operator fun get(protocol: MiraiProtocol): MiraiProtocolInternal =
protocols[protocol] ?: error("Internal Error: Missing protocol $protocol")
init {
protocols[MiraiProtocol.ANDROID_PHONE] = MiraiProtocolInternal(
"com.tencent.mobileqq",
537066978,
"8.5.5",
"6.0.0.2463",
150470524,
0x10400,
16724722,
"A6 B7 45 BF 24 A2 C2 77 52 77 16 F6 F3 6E B6 8D",
1609322643L,
15,
)
protocols[MiraiProtocol.ANDROID_PAD] = MiraiProtocolInternal(
"com.tencent.mobileqq",
537062409,
"8.4.18",
"6.0.0.2454",
184024956,
0x10400,
34869472,
"A6 B7 45 BF 24 A2 C2 77 52 77 16 F6 F3 6E B6 8D",
1604580615L,
15,
)
protocols[MiraiProtocol.ANDROID_WATCH] = MiraiProtocolInternal(
"com.tencent.qqlite",
537064446,
"2.0.5",
"6.0.0.236",
184024956,
0x10400,
34869472,
"A6 B7 45 BF 24 A2 C2 77 52 77 16 F6 F3 6E B6 8D",
1559564731L,
5,
)
protocols[MiraiProtocol.IPAD] = MiraiProtocolInternal(
"com.tencent.minihd.qq",
537065739,
"5.8.9",
"6.0.0.2433",
150470524,
66560,
1970400,
"AA 39 78 F4 1F D9 6F F9 91 4A 66 9E 18 64 74 C7",
1595836208L,
12,
)
protocols[MiraiProtocol.MACOS] = MiraiProtocolInternal(
"com.tencent.qq",
0x2003ca32,
"6.7.9",
"6.2.0.1023",
0x7ffc,
66560,
1970400,
"com.tencent.qq".encodeToByteArray().toUHexString(" "),
0L,
7,
)
}
}
}