Use random key

This commit is contained in:
Him188 2020-01-25 21:54:19 +08:00
parent f2878e14ec
commit 1998d8fdc1
2 changed files with 6 additions and 12 deletions

View File

@ -9,10 +9,7 @@ import net.mamoe.mirai.data.OnlineStatus
import net.mamoe.mirai.qqandroid.QQAndroidBot
import net.mamoe.mirai.qqandroid.network.protocol.packet.PacketLogger
import net.mamoe.mirai.qqandroid.network.protocol.packet.Tlv
import net.mamoe.mirai.qqandroid.utils.Context
import net.mamoe.mirai.qqandroid.utils.DeviceInfo
import net.mamoe.mirai.qqandroid.utils.NetworkType
import net.mamoe.mirai.qqandroid.utils.SystemDeviceInfo
import net.mamoe.mirai.qqandroid.utils.*
import net.mamoe.mirai.utils.MiraiExperimentalAPI
import net.mamoe.mirai.utils.MiraiInternalAPI
import net.mamoe.mirai.utils.cryptor.ECDH
@ -20,10 +17,7 @@ import net.mamoe.mirai.utils.cryptor.contentToString
import net.mamoe.mirai.utils.cryptor.decryptBy
import net.mamoe.mirai.utils.cryptor.initialPublicKey
import net.mamoe.mirai.utils.getValue
import net.mamoe.mirai.utils.io.hexToBytes
import net.mamoe.mirai.utils.io.read
import net.mamoe.mirai.utils.io.readUShortLVByteArray
import net.mamoe.mirai.utils.io.readUShortLVString
import net.mamoe.mirai.utils.io.*
import net.mamoe.mirai.utils.unsafeWeakRef
/*
@ -85,8 +79,8 @@ internal open class QQAndroidClient(
val context: Context by context.unsafeWeakRef()
val bot: QQAndroidBot by bot.unsafeWeakRef()
var tgtgtKey: ByteArray = ByteArray(16) // generateTgtgtKey(device.guid)
val randomKey: ByteArray = ByteArray(16) // 加密使用
var tgtgtKey: ByteArray = generateTgtgtKey(device.guid)
val randomKey: ByteArray = getRandomByteArray(16)
var miscBitMap: Int = 184024956 // 也可能是 150470524 ?
var mainSigMap: Int = 16724722

View File

@ -236,8 +236,8 @@ internal object LoginPacket : PacketFactory<LoginPacket.LoginPacketResponse>("wt
// val ret = tlvMap[0x104]?.let { println(it.toUHexString()) }
println()
val question = tlvMap[0x165] ?: error("CAPTCHA QUESTION UNKNOWN")
when (question[18].toUHexString()) {
"36" -> {
when (question[18].toInt()) {
0x36 -> {
//图片验证
DebugLogger.debug("是一个图片验证码")
val imageData = tlvMap[0x105]!!.toReadPacket()