From a8385bfe4d6fe32b793f77472aa960ce22f10bb6 Mon Sep 17 00:00:00 2001
From: Him188moe <Him188@mamoe.net>
Date: Sun, 18 Aug 2019 16:47:06 +0800
Subject: [PATCH] update

---
 ...ServerSessionKeyResponsePacketEncrypted.kt | 27 +++++++++----------
 1 file changed, 12 insertions(+), 15 deletions(-)

diff --git a/mirai-core/src/main/java/net/mamoe/mirai/network/packet/server/security/ServerSessionKeyResponsePacketEncrypted.kt b/mirai-core/src/main/java/net/mamoe/mirai/network/packet/server/security/ServerSessionKeyResponsePacketEncrypted.kt
index 7a7c20e0a..2dee5b468 100644
--- a/mirai-core/src/main/java/net/mamoe/mirai/network/packet/server/security/ServerSessionKeyResponsePacketEncrypted.kt
+++ b/mirai-core/src/main/java/net/mamoe/mirai/network/packet/server/security/ServerSessionKeyResponsePacketEncrypted.kt
@@ -11,30 +11,27 @@ import java.io.DataInputStream
  * @author Him188moe @ Mirai Project
  */
 class ServerSessionKeyResponsePacket(inputStream: DataInputStream) : ServerPacket(inputStream) {
+    lateinit var sessionKey: ByteArray
+    lateinit var tlv0105: ByteArray
     override fun decode() {
         var data = this.input.readAllBytes();
-        when (data.size) {
+        val input = data.dataInputStream()
+
+        sessionKey = when (data.size) {
             407 -> {
+                input.skip(25)
+                input.readNBytes(16)
             }
 
-            439 -> {
-
+            439, 527 -> {
+                input.skip(63)
+                input.readNBytes(16)
             }
 
-            527 -> {
-
-            }
-            else -> {
-            }
+            else -> throw IllegalStateException()
         }
 
-                .判断开始(length = 407)
-        g_sessionKey = 取文本中间 (data, 76, 47)
-        .判断(length = 439)
-        g_sessionKey = 取文本中间 (data, 190, 47)
-        .判断(length = 527)
-        g_sessionKey = 取文本中间 (data, 190, 47)
-        g_tlv0105 = “01 05 00 88 00 01 01 02 ” + “00 40 02 01 03 3C 01 03 00 00 ” + 取文本中间 (data, 取文本长度 (data) - 367, 167) + “ 00 40 02 02 03 3C 01 03 00 00 ” + 取文本中间 (data, 取文本长度 (data) - 166, 167)
+        tlv0105 = "01 05 00 88 00 01 01 02 00 40 02 01 03 3C 01 03 00 00" + 取文本中间(data, 取文本长度(data) - 367, 167) + “00 40 02 02 03 3C 01 03 00 00 ” + 取文本中间 (data, 取文本长度 (data) - 166, 167)
 
     }
 }