mirror of
https://github.com/mamoe/mirai.git
synced 2025-02-21 00:40:22 +08:00
Common ssoVersion, thanks to @
wdvxdr1123 (for the previous commit)
This commit is contained in:
parent
c478f24db0
commit
9fc3bad9fe
@ -190,6 +190,7 @@ internal open class QQAndroidClient(
|
||||
internal fun nextHighwayDataTransSequenceIdForApplyUp(): Int = highwayDataTransSequenceIdForApplyUp.getAndAdd(2)
|
||||
|
||||
val appClientVersion: Int = 0
|
||||
val ssoVersion: Int = 13
|
||||
|
||||
var networkType: NetworkType = NetworkType.WIFI
|
||||
|
||||
|
@ -92,7 +92,8 @@ internal fun BytePacketBuilder.t106(
|
||||
tgtgtKey: ByteArray,
|
||||
isGuidAvailable: Boolean = true,
|
||||
guid: ByteArray?,
|
||||
loginType: LoginType
|
||||
loginType: LoginType,
|
||||
ssoVersion: Int,
|
||||
) {
|
||||
writeShort(0x106)
|
||||
passwordMd5.requireSize(16)
|
||||
@ -100,10 +101,11 @@ internal fun BytePacketBuilder.t106(
|
||||
guid?.requireSize(16)
|
||||
|
||||
writeShortLVPacket {
|
||||
encryptAndWrite(MiraiPlatformUtils.md5(passwordMd5 + ByteArray(4) + (salt.takeIf { it != 0L } ?: uin).toInt().toByteArray())) {
|
||||
encryptAndWrite(MiraiPlatformUtils.md5(passwordMd5 + ByteArray(4) + (salt.takeIf { it != 0L } ?: uin).toInt()
|
||||
.toByteArray())) {
|
||||
writeShort(4)//TGTGTVer
|
||||
writeInt(Random.nextInt())
|
||||
writeInt(13)//ssoVer
|
||||
writeInt(ssoVersion)//ssoVer
|
||||
writeInt(appId.toInt())
|
||||
writeInt(appClientVersion)
|
||||
|
||||
@ -159,12 +161,13 @@ internal fun BytePacketBuilder.t116(
|
||||
internal fun BytePacketBuilder.t100(
|
||||
appId: Long = 16,
|
||||
subAppId: Long,
|
||||
appClientVersion: Int
|
||||
appClientVersion: Int,
|
||||
ssoVersion: Int,
|
||||
) {
|
||||
writeShort(0x100)
|
||||
writeShortLVPacket {
|
||||
writeShort(1)//db_buf_ver
|
||||
writeInt(5)//sso_ver
|
||||
writeInt(ssoVersion)//sso_ver
|
||||
writeInt(appId.toInt())
|
||||
writeInt(subAppId.toInt())
|
||||
writeInt(appClientVersion)
|
||||
@ -702,4 +705,5 @@ private inline fun Boolean.toInt(): Int = if (this) 1 else 0
|
||||
// noinline: wrong exception stacktrace reported
|
||||
|
||||
private infix fun Int.shouldEqualsTo(int: Int) = check(this == int) { "Required $int, but found $this" }
|
||||
private infix fun ByteArray.requireSize(exactSize: Int) = check(this.size == exactSize) { "Required size $exactSize, but found ${this.size}" }
|
||||
private infix fun ByteArray.requireSize(exactSize: Int) =
|
||||
check(this.size == exactSize) { "Required size $exactSize, but found ${this.size}" }
|
||||
|
@ -145,7 +145,8 @@ internal class WtLogin {
|
||||
client.tgtgtKey,
|
||||
true,
|
||||
client.device.guid,
|
||||
LoginType.PASSWORD
|
||||
LoginType.PASSWORD,
|
||||
client.ssoVersion
|
||||
)
|
||||
|
||||
/* // from GetStWithPasswd
|
||||
@ -159,7 +160,7 @@ internal class WtLogin {
|
||||
if (ConfigManager.get_loginWithPicSt()) appIdList = longArrayOf(1600000226L)
|
||||
*/
|
||||
t116(client.miscBitMap, client.subSigMap)
|
||||
t100(appId, client.subAppId, client.appClientVersion)
|
||||
t100(appId, client.subAppId, client.appClientVersion, client.ssoVersion)
|
||||
t107(6)
|
||||
|
||||
// t108(byteArrayOf())
|
||||
|
Loading…
Reference in New Issue
Block a user