This commit is contained in:
Him188moe 2019-08-18 16:49:12 +08:00
parent a8385bfe4d
commit 8937239e40
2 changed files with 1 additions and 118 deletions

View File

@ -69,7 +69,7 @@ open class ClientLoginResendPacket(val qq: Int, val password: String, val loginT
}
@ExperimentalUnsignedTypes
@PacketId("08 28 04 34")//todo
@PacketId("08 28 04 34")
class ClientLoginSucceedConfirmationPacket(
private val qq: Int,
private val serverIp: String,

View File

@ -1,117 +0,0 @@
# ServerLoginResendResponsePacket
## Dispose_0836 (RESEND)
data TeaDecrypt (取文本中间 (data, 43, 取文本长度 (data) 45), #shareKey)
data TeaDecrypt (data, m_tgtgtKey)
.如果真 (data ≠ “”)
_0836_tlv0006_encr 取文本中间 (data, 76, 359)
token 选择 (flag “08 36 31 03”, 取文本中间 (data, 460, 167), m_00BaToken) ' token
m_tgtgtKey 取文本中间 (data, 16, 47) ' tgtgtKey
SetTips (“正在获取帐号信息...”, 9)
.如果 (flag “08 36 31 03”)
SendUdp (Construct_0836_686 (“31 04”, 假, token, _0836_tlv0006_encr)) ' 正常发送
.否则
SendUdp (Construct_0836_686 (“31 06”, 假, token, _0836_tlv0006_encr)) ' 第二次发送
.如果结束
.如果真结束
## Construct_0836_686(
.参数 seq, 文本型
.参数 isVerify, 逻辑型, , 是否需要验证码登录
.参数 token, 文本型
.参数 tlv_0006_encr, 文本型, 可空)
fix1 “03 00 00 00 01 01 01 00 00 68 20 00 00 00 00 00 01 01 03 00 19 ”
fix2 “00 15 00 30 00 01 01 27 9B C7 F5 00 10 65 03 FD 8B 00 00 00 00 00 00 00 00 00 00 00 00 02 90 49 55 33 00 10 15 74 C4 89 85 7A 19 F5 5E A9 C9 A3 5E 8A 5A 9B ”
qd “00 32 00 63 3E 00 63 02 04 03 06 02 00 04 00 52 D9 00 00 00 00 A9 58 3E 6D 6D 49 AA F6 A6 D9 33 0A E7 7E 36 84 03 01 00 00 68 20 15 8B 00 00 01 02 00 00 03 00 07 DF 00 0A 00 0C 00 01 00 04 00 03 00 04 20 5C 00 ” MD5_32 “68 ” ' 修改
_0836key1 “EF 4A 36 6A 16 A8 E6 3D 2E EA BD 1F 98 C1 3C DA ”
PCName BytesToStr (Ansi转Utf8 (取主机名 ()))
PCName 取文本左边 (PCName, 取文本长度 (PCName) 3)
MD51 删尾空 (StrSplit (取数据摘要 (到字节集 (g_pass))))
MD52 删尾空 (StrSplit (取数据摘要 (HexToBytes (MD51 “ 00 00 00 00 ” g_QQ))))
crc32_code GetRandomKey (16)
crc32_data 取Crc32 (crc32_code)
.如果真 (isVerify)
tlv_0006_encr Get_tlv_0006 ()
.如果真结束
pack.Empty ()
pack.PutTag (“01 12”)
pack.PutLength (“00 38”)
pack.PutValue (m_0825token)
pack.PutTag (“03 0F”)
pack.putDwordLength (GetDataLength (PCName) 2)
pack.putDwordLength (GetDataLength (PCName))
pack.PutValue (PCName)
pack.PutFix (“00 05 00 06 00 02”)
pack.PutQQ ()
pack.PutTag (“00 06”)
pack.PutLength (“00 78”)
pack.PutValue (tlv_0006_encr)
pack.PutKey (fix2)
pack.PutTag (“00 1A”)
pack.PutLength (“00 40”)
pack.PutValue (TeaEncrypt (fix2, m_tgtgtKey))
pack.PutValue (#_0825data0)
pack.PutValue (#_0825date2)
pack.PutQQ ()
pack.PutZero (4)
pack.PutTag (“01 03”)
pack.PutLength (“00 14”)
pack.PutTag (“00 01”)
pack.PutLength (“00 10”)
pack.PutKey (“60 C9 5D A7 45 70 04 7F 21 7D 84 50 5C 66 A5 C6”)
' ****************
' 多出来的167字节
pack.PutTag (“01 10”)
pack.PutLength (“00 3C”)
pack.PutTag (“00 01”)
pack.PutLength (“00 38”)
pack.PutValue (token)
' ****************
pack.PutTag (“03 12”)
pack.PutLength (“00 05”)
pack.PutValue (“01 00 00 00 01”)
pack.PutTag (“05 08”)
pack.PutLength (“00 05”)
pack.PutValue (“01 00 00 00 00”)
pack.PutTag (“03 13”)
pack.PutLength (“00 19”)
pack.PutByte (“01”)
pack.PutTag (“01 02”)
pack.PutLength (“00 10”)
pack.PutKey (“04 EA 78 D1 A4 FF CD CC 7C B8 D4 12 7D BB 03 AA”) ' 两次0836包相同
pack.PutZero (3)
pack.PutByte (“00”) ' 可能为00,0F,1F
pack.PutTag (“01 02”)
pack.PutLength (“00 62”)
pack.PutWord (“00 01”)
pack.PutKey (“04 EB B7 C1 86 F9 08 96 ED 56 84 AB 50 85 2E 48”) ' 两次0836包不同
pack.PutLength (“00 38”)
pack.PutValue (“E9 AA 2B 4D 26 4C 76 18 FE 59 D5 A9 82 6A 0C 04 B4 49 50 D7 9B B1 FE 5D 97 54 8D 82 F3 22 C2 48 B9 C9 22 69 CA 78 AD 3E 2D E9 C9 DF A8 9E 7D 8C 8D 6B DF 4C D7 34 D0 D3”)
pack.PutLength (“00 14”)
pack.PutKey (crc32_code)
pack.PutDword (crc32_data)
调试输出 (pack.GetPacket ())
ret #head “37 13 08 36 ” seq “ ” g_QQ fix1 #publicKey “ 00 00 00 10 ” _0836key1 TeaEncrypt (pack.GetPacket (), #shareKey) #tail
返回 (ret)
## Dispose_0836 (VERIFICATION CODE)
data 取文本中间 (data, 43, 取文本长度 (data) 45)
data TeaDecrypt (data, #shareKey)
verifyCode_length HexToDec (取文本中间 (data, 235, 5))
g_verifyCode 取文本中间 (data, 241, verifyCode_length × 3 1)
m_bool 取文本中间 (data, 245 verifyCode_length × 3 1, 2) “01”
m_00BaToken 取文本中间 (data, 取文本长度 (data) 178, 119)
.如果真 (m_bool)
g_sequence 1
SendUdp (#head #ver “00 BA 31 01 ” g_QQ #fixVer #_00BaKey “ ” TeaEncrypt (“00 02 00 00 08 04 01 E0 ” #_0825date2 “00 00 38 ” m_0825token “ 01 03 00 19 ” #publicKey “ 13 00 05 00 00 00 00 ” DecToHex (g_sequence) “ 00 28 ” m_00BaToken “ 00 10 ” #_00BaFixKey, #_00BaKey) #tail)
.如果真结束
返回 ()